Time for a 2.0 Progress Update
Circuitry is mostly working well. There are some corner cases which still need to be sorted out.
I haven't been working on this update full time. The 6 months leading up to the release of 1.92 were so all consuming both time wise and energy wise, I put almost all of my real life responsibilities to one side. So the last month or so I have been catching up with or dealing with those responsibilities. I've also just tried to spend some time with my wife and daughter who I hardly saw at all during those 6 months.
Saying that, I have still managed to get quite a bit done during the last month. The games save system was a problem. Every time something new was added to the game, more code had to be written to build and write the save data. This was time consuming, bug prone and just a chore. It also increases the amount of RAM needed to save. So I've redesigned it to use a more formalized serialization technique, where all the data that must be saved is kept separate from all the other general game data, and when a Save is executed, the separated data is just serialized (dumped to disk) automatically. This means I don't have to keep writing new code for the save system when a new feature is added and it keeps RAM usage to a minimum when saving. This change has actually required fairly extensive changes throughout a lot of the program. It is still not finished, probably about half complete.
I've also redesigned the Special Block system. This is the code that handles any block that requires extra data, like Chests, Sentry Turrets, Spawner Blocks, etc. Any Block that has options or data and is not just a normal block. The previous system was quite inconsistent, bug prone and used much more RAM than necessary (e.g. chests being opened in multiplayer and then no one else can open it even when the original player closes it). The new system should be much less bug prone and use much less RAM (always a good thing).
I've also added another fairly significant feature which has been frequently requested and is quite important for a sandbox survival game. I'm pretty excited about it. No one else is though because no one else knows what it is yet
(Not even our testers know yet).
Another change is now everything is craftable or smeltable or cookable except whitewool, the color blocks, keys and natural rocks/ores/minerals/plants. Furnaces now also use blueprints (they didn't before) so that makes everything more consistent, makes adding new smeltable items easier for me, and allowed me to add a Easy Smelt list to the Furnace screen (like the Easy Craft list).
I've also rebalanced prices for every item in the game. I wrote some diagnostic code to analyze what every block/item cost and how much the raw materials cost to craft it (if it is craftable). So now every item crafted can be sold for a profit (in the system shops at least). This goes for every craftable item. The profits are generally smaller than before, but a lot more consistent. No such thing as massive profits for one item and either none or small profit for something else. It's all fairly consistent across the board. Obviously the more expensive the item (and materials) the more profit.
Every items price has changed as a result, some now cost more, some cost less, but in general it's not going to be as easy to get rich quick, unless you're prepared to get underground to find those valuable ores and rares. Every craftable items price is now founded on the cost of the materials needed to craft it. This also required rebalancing of some items utility stats to make them more consistent with their price.
Every mineral/ore deposit has been rebalanced. This will hopefully be closer to how it was pre 1.8 and just generally make mining more rewarding and enjoyable.
The Scripts and particularly the Script Blocks working together with circuitry are truly amazing, Can't wait to see what players come up with here.
So far this update has 12 new blocks and 55 (yes that is FIFTY FIVE) new items.
A release time frame is too hard to calculate at the moment. My wife is from Ukraine and she left her home, family and friends to settle with me in NZ. That was 3 years ago and she is home sick. She is very close to her family and misses them terribly, and her friends there. So we are going to her home for a couple of months starting early August. There are still many things we need to organize for that, so it is impossible to finish the update before we leave. I will be working on the update while we are there but I can't realistically expect to get more than 3-4 days a week to work while we are there.
There is still quite a lot of work left to finish the update. Nothing new will be added, but the changes I've already made, particularly to the Special Block system and Save system, still need a lot of work to complete and test because they affected most of the program. So I can't yet make a reasonable estimate for when 2.0 will be complete.