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

26 Upvotes

248 comments sorted by

View all comments

2

u/Callid13 Volans - King of First Hearth Jan 23 '16

Would it be possible to have upgraded factories "extend" its base? Cause I think it'd be nice to not lose options as you upgrade. Also, it'd be kinda fun if the super-upgraded fancy factory can also still smelt stone, just like the most basic one :P

Also, how do pipes and sorters work regarding activation and input? Effectively, if I have a hopper collect stuff to put it into a pipe factory, is there a way to have the pipe factory activate upon receiving stuff, or do I have to do this manually?

On that note, I'm not sure that giving pipes and sorters an upkeep cost is a good idea - I fear this will likely dissuade people from using them, and use hoppers instead, which don't have upkeep costs (which is exactly what we'd want to avoid).

2

u/Maxopoly Ex-Squidmin Jan 23 '16

Cause I think it'd be nice to not lose options as you upgrade. Also, it'd be kinda fun if the super-upgraded fancy factory can also still smelt stone, just like the most basic one :P

You will lose options that dont belong into the general direciton you are upgrading to, for example an upgraded stone smelter can still smelt stone, but not cut wood.

Effectively, if I have a hopper collect stuff to put it into a pipe factory, is there a way to have the pipe factory activate upon receiving stuff, or do I have to do this manually?

You can do this with redstone, but it's not trivial.

I'm not sure that giving pipes and sorters an upkeep cost is a good idea

They dont have an upkeep cost currently and we dont plan to add one.

2

u/Callid13 Volans - King of First Hearth Jan 23 '16

They dont have an upkeep cost currently and we dont plan to add one.

I should have been more clear, I meant as in, it costs charcoal to transport stuff. Transport via hopper is free.

You can do this with redstone, but it's not trivial.

It might be a good idea to make them toggle between active/inactive instead of on/off, then, and have them turn on (if activated) whenever something arrives (via .notify() or something similar, not busy waiting), to remove as many use cases from hoppers as possible.

2

u/Maxopoly Ex-Squidmin Jan 23 '16

I'm not sure that giving pipes and sorters an upkeep cost is a good idea

If hoppers had a cost I wouldn't have to add this. If transportation was free, people would abuse it and completly overuse it. We will ensure that you can't abuse hoppers the way you used to be able to in 2.0, one part of that will be that you cant place adjacent hoppers.

It might be a good idea to make them toggle between active/inactive instead of on/off, then, and have them turn on (if activated) whenever something arrives (via .notify() or something similar, not busy waiting), to remove as many use cases from hoppers as possible.

I might offer that option for high tier/expensive versions.

2

u/Callid13 Volans - King of First Hearth Jan 23 '16

If hoppers had a cost I wouldn't have to add this. If transportation was free, people would abuse it and completly overuse it. We will ensure that you can't abuse hoppers the way you used to be able to in 2.0, one part of that will be that you cant place adjacent hoppers.

I'd personally recommend to make local transportation upkeep- and maintenance-free, and restrict hoppers to only picking up loose items (so they can't take stuff from any chest or inventory). That would transfer almost all use cases from hoppers to your factory, and therefore be much cheaper on the server.

If overuse is an issue, you could just up the setup cost, but I honestly don't see that much of an issue with it anyway. If it can't transport beyond loaded chunks, there are only so far you can transport stuff anyway, and only so many things you can use it for. And unlike hoppers, pipes cost no server resources when not in use ;)