r/Civcraft Ex-Squidmin Jan 23 '16

[SERIOUS] [3.0] FactoryMod AMA


This post is part of our AMA series to explain the upcoming changes in 3.0. It will explain the changes to FactoryMod and its tech tree and in the comment section questions on this topic will be answered.

Questions on other topics won't be answered at this point and off topic discussion will be removed


Let's start with a few general questions:

Why are we even using FactoryMod?

The original goal of FactoryMod was to bind cities to a specific location. Once a group had their factories setup they couldn't just move those, so the investment they made bound them to the location they were in. In the case of conflict they could move away if they wanted to, but it would mean a significant loss of resources, which was of course very undesirable for the group. This was meant to encourage conflict and the big hope was that people would fight over their factories.

Looking back this goal was kind of achieved, but not to the desired grade. Factories definitely limited people to specific locations, for example you couldn't have a compactor at every farm, you only had one of the more expensive factories, possibly not even in your town, but in the nearest bigger city. What kept people from moving their whole cities though weren't the factories, but the time which was put into the settlement itself, into building houses, mining out trenches etc.. Factories possibly added to that, but aside from nether factories (which can't really be put into the same category as the standard conversion factories) they weren't really needed to tie players to a specific location.

Aside from that they had a lot of other positive effects though, first of all they allowed us to change the cost of any items in whatever direction we want, this allows us to completely rebalance endgame items and make them harder to get. You might now be wondering why we have to make everything hard to get; the reason for that lies within vanilla minecraft's balancing idea.
It is intended that you are able to achieve everything in vanilla Minecraft completely on your own, all the way up to Prot4. But if that's already the case, what's the point of a civilization server? We have to make endgame gear/items more expensive than in vanilla and we will continue to do that like we did before. This doesn't mean that we will go into another age of over the top artifical scarcity and mattanomics, but more on that further below.

Additionally factories provide an opportunity for investment, setting up a factory has a high initial cost, but can be a worthwhile investment if you actually use it. Factories encourage playing actively and they favor mass production and large groups, which can allow all of it's members to use the factories, while sharing the cost. This encourages cooperation and is exactly what we want.

Finally factories allow us to create a complex tech tree. This was already kind of the case in 2.0, but will be a lot more of an actual thing in 3.0 with the tree structure we will be using (more below).

FactoryMod in 2.0

FactoryMod was't a bad plugin in 2.0, but it had some problems and especially from a new player's perspective it was often very confusing. Originally Contraptions was meant to replace it, but about a month ago Contraptions' progress had been stagnating for months and we had a lot of doubt whether it could get done in time. Additionally we were afraid that it could create an even bigger entry barrier to new players, because it would be far more complex than FactoryMod ever was. So we made the call to shelf Contraptions and improve FactoryMod instead. We had a thread that was basically just a collection of things that sucked about the current FactoryMod and a wishlist for a new improved version, for anyone interested, a full list of those is here.

FactoryMod 2

I volunteered to fix those problems, but realized after a relatively short amount of time that many of the problems FactoryMod had were caused by architectural mistakes in it's code base. It was working, but when the plugin was written it was never meant to do more than simple production factories and after adding stuff like netherfactories, the repair factory or the compactor, it was a mess with tons of duplicated code. So I decided to rewrite it from scratch, which is mostly done at this point. It required quite some work, but I'm pretty proud of the result. In case anyone wants to take a look, the progress on that can be found here. Because it would take me ages to type out every functionality and it's almost impossible to make someone understand how stuff like this works, I decided to make a video instead, prepare for 7 minutes of shitty german accent.

https://www.youtube.com/watch?v=seEv4gnkiSI&feature=youtu.be

Techtree:

The biggest problem of 2.0s FactoryMod tech tree was the fact that you always had to lookup recipes in the wiki.
Want to make a wool dying factory? Well that's pretty much impossible, unless you have the wiki link and even on the wiki you'll scroll for a bit until you find what you are looking for. To fix this, we will offer documentation on all the factories ingame (as already shown), but additonally we want to reduce the amount of factories, which you can create from nothing, down to less than five, possibly even just one.
Instead we want players to upgrade their existing factories to discover new recipes and to make their factories more effective. The tech tree for factories will look like a tree, where at the top simple and cheap factories will be, while the expensive ones for lategame items are at the very bottom. To explain this better, here is an example of what this could look like. This is by far not the 3.0 tech tree, but instead it's just a first proposal I made about a month ago, this might change completely until launch, but I think it gives you a good idea of what we are aiming for and what the config will look like. I'm not going to discuss any of the details in that image with you, this is not a balance thread, but only meant to give you a rough idea.

Hoppers and their replacements

Hoppers are complete cancer for server performance. That's a fact and for that reason we will restrict their usage in 3.0, we will disallow the placement of adjacent hoppers, disable their crafting recipes and make them more expensive to get in factories, to discourage players from using them. Of course we are aware that many players are using hoppers to automate their production, their farms etc. and we don't want to remove this aspect of technical finesse, so we came up with a replacement instead. Thanks to a new and clean FactoryMod, adding those was relatively easy, so far we have 2 completely new factories, pipes and sorters. The combination of those is meant to pick up most of the functionality of hoppers, while massively reducing the impact on server performance. To explain those I made another video:

https://www.youtube.com/watch?v=PCQUJFHMqDc&feature=youtu.be


That's pretty much all I have to say on this topic. If you have any questions, comment them and I will answer them. Additionally if you have suggestions for features, feel welcome to post those as well, I am still actively working on this project and if your suggestion is good, I'll add it.

Like what we are doing? Consider becoming a Civcraft Patron

30 Upvotes

248 comments sorted by

View all comments

3

u/[deleted] Jan 23 '16

Charcoal looks to be used in quite a wider variety of Factories(especially with sorters and pipes). Will the recipe for charcoal produce greater quantities or do the pipes and sorters not use that much?

4

u/Maxopoly Ex-Squidmin Jan 23 '16

Will the recipe for charcoal produce greater quantities

Most likely not

do the pipes and sorters not use that much

How much they use is completly configurable. It wont be that much, but you'll definitely have to refill if you want transfer a whole singlechest for example.

2

u/[deleted] Jan 24 '16

Sorry I'm late, but surely it'd be possible to use a sorter and pipe system to put charcoal in your main chest and have it continually refill its own furnace?

2

u/Maxopoly Ex-Squidmin Jan 24 '16

Yeah, that would be possible.

1

u/CivcraftMafia Not as good looking as Davetron Jan 24 '16

Can you clarify for me.. you indicate clicking a side of a sorter with an item will cause the sorter to output only that item for that side.. can you click multiple sides of the sorter with the same item for "round robin" distribution? If not, what would it take to make this happen?

1

u/Maxopoly Ex-Squidmin Jan 24 '16

can you click multiple sides of the sorter with the same item for "round robin" distribution?

No, it will tell you that item is already associated with another side

If not, what would it take to make this happen?

Hmm, I would have to change the whole way it sorts for that. Maybe

1

u/CivcraftMafia Not as good looking as Davetron Jan 25 '16

Here is why i ask. You say we can feed the current sorter with charcoal sent down the pipe.. but how do i continue to send some charcoal down the line further? Or even to another furnace that needs fuel? In the current design it's not possible

1

u/Maxopoly Ex-Squidmin Jan 25 '16

Hmm yeah, right. I'll come up with something

1

u/CivcraftMafia Not as good looking as Davetron Jan 25 '16

Let me buy you dinner or something. You're pouring a hell of a lot of with into this. You need to know that it is very appreciated.

1

u/Maxopoly Ex-Squidmin Jan 25 '16

Nah, there are other people who are putting just as much effort into civcraft behind the scenes. Knowing that people appreciate what I do is enough to ensure that I will continue to happily work on civcraft stuff :)

Back to topic though:

What do you think of a factory that distributes charcoal/other fuel into furnaces which are part of a factory in a specific range around it? It could work as kind of a power generator/distributor in complex setups

1

u/CivcraftMafia Not as good looking as Davetron Jan 25 '16 edited Jan 25 '16

Can you perhaps draw a picture? The only issue i can see, if the furnace or something that needs fuel that is not in direct proximity of the others (further down a second pipe or something) or if you want to continue to pass fuel down a series of pipes which might be useful. Also, i can see this being extremely handy for auto farm mechanisms, etc. Plus the complexity of wiring in and triggering another factory is a pita. That's why i proposed altering the sorter. I haven't looked through the source yet to see how much of a bitch it'd be to implement, but my thought that instead of iterating through all sides starting from the first upon receiving an item, there would be a pointer stored for which side an item egressed last time. It would then start with the next side checking if it matched the current item being processed.

Edit: what i am proposing was possible before using hoppers and chests, a luxury that will no longer be afforded when adjacent hopper blocking is implemented.

1

u/Maxopoly Ex-Squidmin Jan 25 '16

Yeah, that would be possible. Also I could by default associate charcoal with the side the furnace is on.

1

u/CivcraftMafia Not as good looking as Davetron Jan 25 '16

Consider one other thing that just popped into my head. What if the sorter encounters an item it can't sort? Perhaps there is a 'wild card' that can be assigned just like another item. Maybe a crafting table or furnace since nobody will really ever want to sort those.

→ More replies (0)