AppliedEnergistics / Applied-Energistics-2

A Minecraft Mod about Matter, Energy and using them to conquer the world..
https://appliedenergistics.github.io/
Other
1.41k stars 647 forks source link

[Feature Request] Whitelist/Blacklist for the Annihilation Plane #2208

Closed Sorbe closed 8 years ago

Sorbe commented 8 years ago

I know you can pair up an Annihilation Plane with a "backward" ME Storage Bus to use the SB's whitelist, but that's clearly a hack to get a whitelist.

Please consider adding a proper whitelist & blacklist functionality to the Annihilation Plane, players are confused by this missing support and some reject the Annihilation plane in favor of "Vacuum Hoppers" and other mod solutions that include white/black listing.

wlhlm commented 8 years ago

671

Sorbe commented 8 years ago

That's a shame. If users keep bringing up features and devs keep rejecting them, that's a bad sign. The customer is always right and professional developers should know better than to reject feedback.

mindforger commented 8 years ago

The customer is always right and professional developers... @Sorbe work on this is done by free will and mostly people with learned knowledge .. you are no customer, there is no contract or anything and people do not neccesarily have to be "professional" ... people like you make devs drop their projects because of countless demands on free products (and indirect insult) ... you are free to use the mod, but you are also free to NOT use it ... and furthermore they do not owe you anything, you owe them a thank you for their spent time! .. (i am sure i heavn't seen a thank you in any of your recent reports yet)

Sorbe commented 8 years ago

Look, I am a professional developer and dev manager with 35+ years of experience. The ONLY reason these projects exist is because they have customers that like and use them. Whether you are paid or volunteer, you are doing so for the users. If the users are not happy, you've failed.

Sure devs deserve thanks when they do a good job, they also need to listen to their users or they fail in their primary role of providing value and making happy customers.

Sorbe commented 8 years ago

Btw: Since you've contributed to Botania, you should be familiar with the whole Daybloom decaying fiasco as a prime example of this. The failure of the dev was not in "giving in", but rather in spending months denying user requests to control this unwanted behavior. The correct answer was to give them what they all wanted without drama MUCH sooner.

Sorbe commented 8 years ago

As for an actual "Thanks", I agree. I think AE2 is a very, very cool mod that clearly has a lot of hard work and thought behind it. I believe everyone, including me, that uses this mod both loves it and silently thanks the devs who've worked on it for all the time saved and many days of fun had. So, unsilently, I do indeed sincerely thank every dev that's worked on this and all the other mods that I enjoy and use.

mindforger commented 8 years ago

i agree from your point of view, but i personally think this point of view does not suit for this kind of projects and i won't discuss this as this is defined as "personal opinion" which can not be argued about :P , i'll leave this to them who have been talked about

(PS i don't get where you suppose i had worked on botania .. i may have forked it sometime to test a bug i had found which i can't remember but i do not make _public _mods because of this public demands which i will not keep up with until i get payed :P )

Sorbe commented 8 years ago

Actually, it's a professional point of view -- explicitly. You must listen to and respect your customers. Customers come first, last and always in successful software development.

As for Botania, your profile says:

Repositories contributed to Vazkii/Botania 361 A magic mod for Minecraft based on nature and plant life

VT-14 commented 8 years ago

By submitting an issue (or maybe even just commenting on one), you contribute to a repository.

You also aren't a customer. AE2 is free and made by volunteers. What you are trying to claim is that if someone came in with free cupcakes, and you thought that they would be slightly better with sprinkles on them, that they are obligated to add sprinkles; and you clearly have the right to complain loudly that your free cupcake doesn't have sprinkles.

Don't be a jerk. If you really want sprinkles, then get your own. To make the analogy crystal clear; make your own AE2 add-on. Judging from the long list of suggestions your made recently, you clearly have enough ideas for one.

ghost commented 8 years ago

1449

ghost commented 8 years ago

And to VT-14's point they still probably won't add it, you can already make your own Blacklist whitelist with modded blocks , redstone contraption , detectors , opencomputers , computercraft , Pneumaticraft a lot of mods which are usually in the pack. if you are playing pure Ae your only way is a redstone contraption with the channel block..

ghost commented 8 years ago

2208 #1565 #1449 #1386 #692 #671

ghost commented 8 years ago

Still want to test your luck on this ?

Sorbe commented 8 years ago

It shouldn't be "luck", it should be done as a popularly requested fix. If enough people ask for this and it's still rejected, then that just sucks.

XFactHD commented 8 years ago

Also, most MC modders are not making mods for the public, they are doing it for themselves and then publish the mod because they think someone else could find it interesting to use.

yueh commented 8 years ago

I cannot comment on your about your experience but I assume for now it is true.

With this experience you should know that even in a professional environment, you will not fullfil every customer request you encounter. Which is also common for many other professional software businesses. Go to Microsoft and request them to port Office or the Win GUI to Linux, or to Redhat to add Windows support to Spacewalk. As normal consumer you can probably be happy, should you get an automated "No" as response. Or even on smaller scale, say one of your customer requests that you fire your best two developers, because they do not like their name. Which you will most likely deny and recommend them to find another contractor, maybe a bit more polite. (Otherwise I would recommend their employees to immediately look for a new job). Maybe not directly, but for example by overstate the costs enough that the client will decide on their side, they will no longer want instead of you having to explain them it is a bad idea.

One important key for success is also to stop working with certain customers, your business will always have a finite amount of resources available and if a very small amount of your customers occupy the majority of them, but not provide a equal amount of your income. Stopping the work with them will actually allow you better service your other customers as well as aquire more customers fitting your business model, potentially with a better revenue than before.

Also unhappy developers means they will look for new jobs and probably start things like "work-to-rule". Even if you think you can replace everyone. Each developer you lose means lost knowledge about your own product. Some might be recovered by training new ones, but it will take time. Some might even be lost forever and cause issues in the future. Everything of it will finally lead to a worse customer satisfaction and most likely losing them, too. Something pretty common to mod developers due to the community pressure. Until they finally quit and everybody loses. Which for example happened to Algo. thatsIch and I also have currently really limited time due to our jobs. To be honest I doubt putting more pressure on us will be positive at all. More likely that we just quit at some point.

But AE is still an open source project and provided for free and nobody forces you to use it or sign some contract for it. Therefore you are not a customer in the common sense. But we still have to dedicate our (free) time. Thus how should bill your for it? The only way is really to just accept, that we have goals in mind on how to balance the mod and stick to them. Instead of always following the one shouting the loudest. For example one goal is to keep most parts simple and not duplicate any functionality and allow you to mix and match them to fit your requirements (basically Unix philosophy). Adding a whitelist to the planes would therefore violate it, as this is already provided by the storage bus.

Of course we could handle it more like a business with customers. But then it is only fair, if we start to bill feature request accordlingly. Maybe like a bounty system. Which would require us to prepare the requirements for the specific feature ("must have"/"should have"), list estimated hours for creating the concepts (gameplay, usability, design), development, QA, etc, and finally put a quote on it. Including change request management and update the costs accordingly when necessary. All main developers of AE2 are actually professional software developers, which is not really common. Would we consider the average hourly rates for self-employed developers, we are talking about $70/h. But then we could talk about fullfilling every customer request, if they pay enough (maybe as standalone addon or proprietary licensed AE2 release for personal use) Which would just be stupid for a minecraft mod and nothing we will actually ever want.

Sorbe commented 8 years ago

If you want want to get paid for developing mods... add a paypal link or advertising -- this is entirely your call.

If you want to succeed at software development (anyplace including Microsoft, Amazon, Google, Valve Software, Intel, etc.) you must be responsive to customer requests -- whether you like a feature or not. There are about 1M apps on each of the various app stores that fail because they don't listen, iterate and evolve. While you are free to set whatever direction you like for "your" software, at some point it needs to be about the customers, not your own personal preferences. It is a mistake for devs to think they are elite and know better than their users.

Like it or not, the customer is always right. The only question is whether you can listen and act on the feedback egolessly.

bookerthegeek commented 8 years ago

@Sorbe I got a question for you... you really remind me of somebody I use to know who posted something along the lines of thought you have been going on. Did you post this?

https://40greenharmony.wordpress.com/2015/08/28/the-flipside-to-modpack-permissions-a-modders-agreement/

Sorbe commented 8 years ago

I'll assume you're asking a serious question. The answer is "No".

Software is very democratic. It might have been about "you" and your wishes to start with, but it becomes about the community very quickly if your software is good. Users vote with their feet. If you don't respect their communal wishes as a dev, you fail.

I don't actually care if you reject a particular suggestion, but when it's comes up over and over again that's a big fat clue to those in charge.

VT-14 commented 8 years ago

Would a whitelist/blacklist be convenient? Yes. Would I use it if it was added? Probably.

However, what you want is entirely possible to do with AE2 (and Vanilla Minecraft) as it currently stands. All your suggestion does is undercut the intricacies of the mod. In order to make one of these systems yourself, you have to understand how these items work and adjust accordingly. It makes such automation a fascinating puzzle. Figuring out how to set up an effective ME system is a large portion of the mod. Heck, complexity is one of the major balancing mechanics of the mod. Because of this, you and all the others who asked for such simplification features have been told "No." Unless the "No" was rather rudely given, I suspect that most of them would still turn to AE2 for storage and logistical needs on a new Minecraft world.

As you have obviously not realized, the users here are respecting and standing by the developers decision.

yueh commented 8 years ago

What you fail to understand is that "customer is always right" is mostly an american point of view. In europe it is fairly more limited and pushing this argument too much, will usually cause you to get barred/banned from this place. As most business will decide, it would be too much trouble to deal with this kind of customers.

Nevertheless your arguments appear like you have nearly no experience with game development. While application development will highly respect any feature request for convenience and most likely be implemented, game development is still something completely different. Some inconvenience is clearly be design to make it more difficult for the player. A specific userbase likes to have to think outside the box or have to solve some obstacles.

What you suggest is to dump these together with this userbase, because they no longer enjoy a dumped down mod. In other words you request is to no longer respect our current customers in favour of a new and unknown userbase. Which might be even smaller. Considering that there are like 10 request over 2 years while probably having a few hundred thousands unique players during this time, which is a really negligible amount of request. To be honest this is also a userbase I would not like, as they would constantly request to further dump down as it is still to difficult for them.

If we even look from a business point of view at it. There are really no comparable inventory/crafting mods to AE2. Similar mods like Logistic Pipes have their own difficulty scaling and are not really easier. So no modder really consider this playerbase as potentially target. Either because the playerbase actually does not exist or is too small to drive a mod. Or they miss an opportunity. If so, maybe it is a great start for you to get into modding yourself and exploit it.

Sorbe commented 8 years ago

You know I already closed this feature request a while ago. And I was going to walk away since you don't WANT to do what your customers are asking for. But you two REALLY want to argue some more, so we'll argue some more.

Luckily for us all, this is not Europe or China or anywhere else with a fascist or totalitarian political system. It's the INTERNET, and the internet thrives on open discussion, debate and almost no censorship. I will say that I have no respect for people who resort to suppressing opinions they disagree with, have insufficient will/intellect to discuss new solutions and who cannot stand to hear stuff they didn't say themselves.

You may ignore me and all of your other mod users input as much you like, AND do whatever you want with your time and your code, but you don't get to silence dissenting opinions. Stop replying and ignore me & everyone if you don't want to discuss topics and possible solutions. If you want to talk / debate / solve problems, then do that.

It's always fun to conjecture about what other devs may or may not know about and have worked on. You have NO IDEA how many Platforms, Hardware solution, Industrial Systems, Commercial Applications, major OSes, AAA game titles, major game consoles, audio/video architectures, device drivers, content distribution systems, real time software and game distribution systems I may have designed & architected & developed. You have no idea how many 100s, 1000s, millions or even billions of customers use my shipping software. I won't tell you, other than to say you're incorrect.

I like AE2, for the most part. Like some of the better Minecraft mods, it has a lot of staying power and utility. I think it serves an awesome purpose in the middle/end game of letting you build more quickly and deal with massive types and amounts of resources. But nothing is perfect and developers know that software is never "done".

Most developer are lucky to get feedback from something like 1 in 10,000 users. This ratio is true for feedback in general for any product and even political feedback. When you see multiple requests for the same thing from many different users, you are likely hearing what a larger number of people want. (you had 10 requests and 100k users, you do the math). You can, of course, ignore all of that feedback and do whatever you want instead since you are volunteering. Nobody is going to make you do the right thing for your users or force you to do anything you don't want to do on this.

If you want to talk about what "fun" is, we can do that too. Fun is really hard to "design". Fun defies easy description; I would be impressed if you could even define "fun" clearly. What is fun to one person is not to another. I suspect that most AE2 users want to use just AE2 in their AE2 solutions. If I'm correct, then making AE2 self-reliant is good thing. Beyond that, fun is very hard to engineer.

For example, you can certainly collect only the the completed crystals from something besides an annihilation plane and thus never care about blacklists/whitelists on the AE2 device designed to collect items. There are several other mods have solutions that solve this particular problem (Vacuum Hoppers, Advanced Item Collectors, ...). The problem is you may not have those mods your modpack and even if you do, they may have other side effect that you don't need or want. They will also likely make your "machine" much larger than AE2 would have.

Growing and collecting the 4 types of crystals that AE2 builds onrequires a way to not pick up the seeds before they're grown. You have forced all of your users to solve this problem / have this particular fun to progress in AE2. But the tool provided BY AE2 to do this cannot whitelist or blacklist. Sure, you may discover that there is a way to work around this annihilation plane limitation by pairing it with backward facing storage bus (which only gets you a whitelist) -or- you may give up and resort to using a non-AE2 device to get your filtering -or- you may attempt to grow all of your crystals manually for every AE2 device you make. The last option runs counter your stated goal of making a crafting automation mod.

I don't see that making one of your AE2 components better is equal to 'dumbing it down'. That reminds me of that ancient software notion that "if it was hard to write, it should be hard to understand". Software is about empowering users to do "more". While you can certainly claim that the annihilation plane is "complete", it is probably underused because of the limitation I mentioned. IMO this is a design flaw, not a "fun" thing. But my opinion alone is not particularly important. Why don't we just pretend that everyone is happy and I never added to the requests you've already received on this matter.

I'm sure you can find a large number of AE2 users to rally behind your current design AND the no support for whitelists / blacklists policy that you've set. You can even claim that it's not important since there is a workaround to make it do what the users NEED it to do. Further, I don't actually need this fix myself since I did do the backwards ME storage bus solution for my own purposes.

But I can find a lot of examples of videos where people are using "something else" because it works better. Now, perhaps that's what you wanted and what they should do. If so, congratulations, you've achieved your goal and can now happily move onto another topic that you care about.

However, if I'm right, and you actually want to give customers stuff they like and let them solve key AE2 problems using AE2 components in a clear way, then you have something to think about.

I've had more than my say. And this isn't about me. It's about whether developers and users both get what they need. I think you've done a great job on AE2 -- but don't kid yourself that it's because you ALWAYS know best and you don't have to listen to user feedback on features. That what the other non-successful mod builders did and that why most software and mods are not well used or regarded.

One last thing, making mods IS pretty thankless work -- and I was sincere about thanking you and all the other mod makers who devote your time to making mods be great. I'm not sure that I have the fortitude for that activity myself -- I'm already engaged in other non-computer gaming pursuits that I care about more.

VT-14 commented 8 years ago

So, you make shipping software. I'll even go as far as assuming that you are outstandingly successful at it too. That does NOT make you a game or mod development expert.

A tool should always make something easier. Whatever shipping software you make should always be improved to make it as easy for the customer to use as possible. I see no flaw with your argument in that case.

This is not a tool. This is a game mod. It is designed to be fun. Part of the fun is figuring out how to do what you want to do. As you obviously don't find that fun, you are not the intended userbase. If all game developers decided to please all 'make it easier' requests, then we would be left with movies.

Looking at Curse Voice, I find that Applied Energistics 2 is the 9th most popular 1.7 mod they host. AE2 made their decision to make Applied Energistics harder when they went from 1 to 2. AE2 came out about 2 years ago. They have had this policy for 2 years and are still one of the top 10 mods.

Unless you somehow have remained a completely anonymous head developer for one of the top 6 mods (2 of those top 8 are required core mods for others in the top) or another hugely successful mod not on Curse, then the AE2 developers have way more experience and success in the field of Minecraft mods.

yueh commented 8 years ago

I really agree with your point of view in terms of common development.

My problem is mostly that people request stuff, but do not think about what implication this might cause. Like will it really be an improvment? Or could it potentially damage more than it will improve? But then they are upset because we reject it. I really wished I would have the time to write a detailed explanation each time. But that is sadly not feasible... Thus sometimes it is a simple "no" without further explanation about the reasons behind it.

Adding a whitelist will only improve one single use case. Which is using exactly one plane. Once you use more, it will get worse. You have to define the whitelist/blacklist for each and every plane. Just imagine you have a 10x10 field for ore generation and you have to update all of them for a new ore type. Or add some new type of stone it should not destroy before it turned into an ore block. Even with using a memory card, players will start complaining about it sucks to update 100 or more planes manually. If they even discover, that they can use the memory card to copy settings around and instead do it manually through every GUI. Just because they never discovered that it is possible to use a storage bus to filter an infinite amount of planes.

The next request then will be "but I need to filter more than 63 different types", so we have to deal with this and change the GUI again, etc. Current solution: Add a second storage bus => twice the amount of items to filter.

Or you want to use a white and black list together. Store X in network 1 and everything expect X+Y in 2. Next level in overly complicated GUI to add. Probably more confusing to players than it helps. Currently use 2 storage buses, one normal as whitelist, one with an inverter card as blacklist.

By having simple parts, which ideally only do one job and allowing the player to mix and match them to whatever they need, is ultimately a way more open system than trying to stick all functionality into the gui for every part. Want something that accepts the output from a quarry, store valuables in network 1 and trash the cobble&dirt once network 2 is full with it? Combine an interface + 3 storagebuses attached to network 1 for valuables, network 2 for cobble&dirt with a higher priority and a storage bus for cobble&dirt on a condenser with a lower priority. Everything inside the same block, I doubt many other mods this flexible as well as being instant and a near infinite throughput. The same applies to filtered annihilation planes. You want to break blocks? Add a annihilation plane. You want it to filter? Add a storage bus. Should it get power without joining another network? Add a quartz fiber to it. And so on.

AE2 is some strange hybrid between guiless (mix and match the functionality) and gui based (configure the functionality). Like using cable anchor or colours to phyiscal disconnect cables instead of GUI clicking or having a magical wrench changing states. I personally would like to have it completely guiless. But that is pretty much impossible, while still being convenient in all cases. But this might be one of the issue that most players do not really understand AE2 completely. Most expect a magic block doing everything for them and maybe need to click some buttons to fit their needs with a very limited range of options. Instead of knowing what they want to achieve and build their own magic block to match it.

Honestly the whole annihilation/formation plane does not really fit into the theme for the rest of the parts. It is really a specialised storage bus to store blocks "in world" and simultaneously being split into two parts to store and retrieve. While a storage bus is bidirectional. (If we ignore importing entities and just look at blocks). Thus it probably should be a single plane to place and break the blocks once they are stored or retrieved from the network. But this has so many issues with random drop rates, colliding entities are still not handled or would be stupidly expensive in terms of performance, etc. Therefore they sit somewhere between storage buses and import/export buses. It inherits the functionality from storage buses, which only filter what they store, but not what the make available/retrieve, while annihilation planes are also similar to import buses as they import automatically adjacent blocks and entities into the network, instead of on request like storage buses.

That most of the popular youtubers are also pretty incompetent and advocate the worst possible and overcomplicated build instead of an simple and elegant solution is probably also not ideal. Having someone who could make same really good learning videos about some basic concepts would probably solve many issues. But there is sadly nobody.

The list goes on with some commonly rejected requests like allowing inscribers to have a stacksize > 1. Which is actually a pretty ingenious decision as it allows them to be ridiculous easy to be parallelised. Without any hassle related to channel management. Or needing some other mod. A single channel/interface on your main network is enough to chain a nearly infinite number of inscribers together and distribute the request evenly between all.

Having 64 inscribers and requesting 64 processors => 64 will be crafted in parallel. Requesting 256 => each one will craft 4.

Using machines which will allow the input to stack to 64? Requesting 64 items and using 64 furnaces? => Everything dumped into 1 furnace, no parallel crafting. To have it work in parallel each of them need their own interface => 63 channels wasted. Or you have to another pipe mod, which then usually is not instant and only distributes 1 item every couple of ticks or so.

In terms of using other mods. I personally think this is something good. It shows that players can solve problems on their own, while simultaneously discover new mods. If they find something they like more, find easier or being more fun for them? Why should we prevent them from doing so? Ultimately would it not suppress other opinions?

The options for Crystal purification just with AE2 already cover so many different options. From manually dropping them into a puddle of water. Over easy automations using an annihilation plane/storage bus and a static water block. Which is slower than a flowing water channel as the plane will block for a few seconds any input, if it cannot store the item (to prevent performance issues). But this also requires more power. And finally a build using SpatialIO to grow up to 8k crystals every 20 seconds or so, which of course requires some good control via redstone or similar. Should we really try compete with every other mod and occupy their niche by undercutting it somehow?

Modded minecraft is really an ecosystem which benefits from its diversity and interaction between the different mods. Would it not be way more boring, if we would funnel all players into a few streamlined mods and spoon-fed them "streamlined" content? One of the reasons why some players like indie games, as it is not the linear level design of most current AAA titles?

H8Craft commented 6 years ago

It's so funny to see someone so wrong defending point of view just because they want to be right. The annihilation plane needs fix stop arguing it doesn't. It's never should be about what we ask for tho, I'll agree with you on that. Sure only 10 people asked ROFL how many just walked away and found something else to do the job. Everyone almost. They're being so few request doesn't any way shape or form give you an idea of how many people want it the majority just don't care enough about the mods development or welfare to even bother posting a suggestion they just find another mod to do the job they want. I like ae2 for it's complexity and don't understand how your trying to say this feature has anything to do with that for that giving us what we asked for would it anyway dumptown the mod. The alternative mods being used to do this are simpler and less complicated this never was about player bases you didn't even consider them when you made your argument they were finding other mods to do what ae2 couldn't because that's what they wanted more then anything else is just something that worked and as it is now the annialation plane doesn't, it doesn't do much of anything we want other then make inefficient cobblestone and sugarcane Farms.

H8Craft commented 6 years ago

Also, I found this thread because I wrongly assumed the annihilation plane was broken in some way,because it was missing a UI , and was looking for a fix. Now I know it's uselessness was by design. At least I know now.

Sorbe commented 6 years ago

The answer from the devs is clear -- use another mod instead. Might I suggest Refined Storage.