News & Dev

State of the PZ Nation (and Carpentry!)

January 14, 2013

Hello everybody! It’s Monday blog time once again, and this week we’re going to look at the new construction system Romain has been working on, as well as some information on where we are going beyond RC3 and how we’re planning on plugging up a few of the cracks in the development and release process.

Firstly a little team update: Andy and Mash continue their urban development project in Muldraugh, expanding the core fully developed inner-town to 4 cells, as well as providing some interesting areas to discover in the outskirts of town to reward those explorer types out there. RingoD continues on his mission to scriptify the mountain of dialogue that Will has written, and Chris continues to integrate these into the meta-game. Clue: What would you do if you discovered a spot of blood on a fellow survivor’s arm?

Carpentry

Romain’s new carpentry system integrates building fortresses into the new UI system, as well as fixes some of the fundamental issues with the old system and expands it with some tasty extras. We’ll let his video do the talking.

The most fundamental change is that now the player’s carpentry skill vastly affects the quality of what is built. Level 0 walls are full of gaps, not only making them weak, but meaning zombies are more likely to attempt to walk through them. Even top level wall construction will not be completely zombie proof, balancing the safety player built fortresses provide and avoiding situations where the player is completely safe from zombies. And who knows, perhaps sky bridges will be a little more dangerous too.

Also, new item types are now constructable, such as tables and chairs (NPCs and players alike will be able to sit in the next build, to provide more natural behaviours when ‘waiting around in safehouse’ than standing there looking at a wall for 12 hours straight. This will factor into gameplay more heavily in future, with players sitting down to read a book or listen to the radio. It’s uncertain whether these will make it into RC3 however.

And of course, with new features such as plaster and paint, it allows you to decorate your safehouse so you’re no longer looking at wooden planks the whole time!

It’s vital to point out at this point, that all Romain’s work is running concurrently to the crucial work that’s actually holding RC3 back. Since a lot of that work would be much too difficult to share between two coders working remotely in separate countries, it is specifically picked to play to Romain’s strengths in game system design, to be modular and exciting improvements and features that do not impact the areas of the game under heavy restructuring, and in no way is impacting the release date of RC3.

It’s a way of making RC3 as feature rich as possible during this delay, but any incompleted features could be easily taken out and completed in a post-RC3 version should we complete the necessary work in the meantime. We do not want anyone to misunderstand this as wanton feature creep pushing the release back or taking development time off work that’s required for the release.

Now for some more updates on what is going on, as well as our future plans, all of which have been addressed at great length on the forums in the past month or so, but we wanted to reiterate on the blog here for those who do not delve into the forums.

Multiplayer Plans

We’ve finally gone and done it, and are publicly committing to starting development on multiplayer as soon as RC3 is out the door. Yes, it’s official.

That all said, the work involved in getting multiplayer working is by no means trivial, especially considering we’re committed to single player and will not allow multiplayer development to deprive the single player experience of the time and attention it deserves. Don’t expect it any time soon, but be comforted in the knowledge that it’s very much on its way. You can read more on what’s involved here, and if you like, have a look at this speculative thread where Lemmy gets all overexcited about what multiplayer could bring to Zomboid in the far future.

Development / Release Process Changes

This is of huge importance, and although we’ve mentioned it in previous blogs it seems the implications have not been as clear as they might be.

Once RC3 finally ships, we’ll be radically changing the development process to take advantage of two concurrent versions of the game. A development project where all development of Zomboid will be undertaken, and a release project that all completed additions and fixes are merged into after they are completed. While this will add a non-trivial amount of extra work for everything we do, it will mean we can commit to releasing weekly snapshots of the game. ‘Yes, we’ve heard all this before’, I’m sure you’re all saying.

Well it’s true. Since in the past delays have been in a large part caused by large-scale changes breaking the development build of the game, rendering it unplayable until the work is completed, now since we maintain two versions of the game and only transfer completed work across to the second, it means that second build will always remain completely functional and ready for release. From map additions, extra NPC meta-game scenes, to critical bug fixes, there will never be a circumstance where we need to wait on a release until things are fixed or completed, so delays will be at worst a case of days, and not the frankly ridiculous delays you lovely people have had to endure.

Bugs can be fixed and released in the next snapshot, regardless of how disruptive any current development work may be. We should have done this much earlier, and that’s entirely our fault. However, unfortunately this system cannot come into action until RC3 is out the door. It does mean we can say the following, and mean it sincerely with solid plans to back it up:

After this release, we can promise, you will never, ever, ever have to put up with months of waiting for a new version of the game ever again.

Sadly, the above in no way helps with the wait for the current build. The fact of the matter is, the old cell system, where 300×300 maps were loaded in in entirety, as well as the windows version of the game requiring using the 32bit version of Java at the time, meant in some cases even people with 2gb machines were unable to play the game properly because of out of memory crashes when changing cells. This needed to be sorted. And the changes and consequences were massive and far-reaching.

The streaming system that went in, and as well as improving the immersion of the world dramatically, means the memory used by the game is now much lower. Unfortunately this fundamentally broke the NPC and zombies completely, since they could not function only knowing about the area of the world around the player. The need to fix this gave birth to the meta-game, which was designed to give the world back its solidity and persistence despite the limited load distance.

After last week’s blog, hopefully everyone’s in agreement that the meta-game may turn out to be one of the best things we ever added to the game. It has come at a cost though, and that is the delay in this version. Nothing can be released until all of this has been dealt with, as until it’s all dealt with there isn’t really a game to release. Of course, if we’d implemented the new release system prior to this, the delay may not have had to be so severe, but hindsight is 20/20.

As well as this, and in some respects more importantly, we have been gutting out the tangled roots of the game’s source code. The fact of the matter is that with the horrible events of late 2011, the fog of depression and the panicked rush to get back on track and get enough features in there to justify the wait people had had, and the aggressive efforts to optimize the game to run on lower spec computers, all took its toll on the stability of the game. It had gotten bad to the point that fixing one thing led to breaking 5 others.

We released test build after test build, all broken in some unique way, and this had begun to take its toll on the reputation of the game. Instead of positive comments about pillows and hordes spilling in to rip people limb from limb, comments instead focused on the bugginess of the builds and this was damaging the prospects of Zomboid surviving in the long term.

Especially after getting Greenlit, it became clear we need to get back on track, fundamentally fix all the big gaping issues with the game. Despite the many extra features the 0.2.0 builds had, they had lost something fundamental that 0.1.5d had that led to a lot of the positive attention we received in the first place, and the feedback around the internet reflected this.

We understand people are frustrated at the delays, and many feel let down that the game no longer feels an alpha-funded title where the community get to test versions and feel involved with the development process. This is not permanent. Hopefully our planned development changes detailed above show we are committed to fixing this, and know the wait people have had is not acceptable.

This last delay is for the best of reasons though, and we’re steadfast in our belief it’s not only the best thing for the game’s long term future, but necessary to avoid Zomboid’s reputation going down the toilet as a buggy mess. Especially with Steam on the horizon, Zomboid has to grow up and become a solid, polished game, with no gaping holes signposted with ‘stuff will go here’ and big ugly cracks signposted with ‘mind the gap’. We need to stop using the word ‘alpha’ as a crutch and provide a polished and fun game, but also one that can be updated frequently and safely without introducing additional problems. Recent history has shown the perils of releasing too early, and we want to get this right.

The release will be as soon as humanly possible, and we want it out as much as, if not more than, everyone else. But of paramount importance is that RC3 will not surface until we know it to be the best version of Project Zomboid to date, in terms of fun, atmosphere, polish and stability. Especially with the delays we’ve had, releasing anything less would not only be letting people down, but damaging Zomboid’s name irreparably. Once that release hits, we’ll have a stable foundation to build from, and a new release system that allows us to build on it with no significant delays, and the ability to address bugs quickly.

We will announce when RC3 goes into closed small scale testing (extra long to weed out the biggest issues, and a longer period more critical for this version than it will be in versions after that) and it will likely remain in testing for a couple of weeks. For those who are frustrated at the lack of an ETAs can use this as an indicator. It’s apparent that the worst part of not knowing when it’ll be is the assumption it might be tomorrow, or the day after. We’ll make sure everyone is informed when the game goes into testing, which means you can be secure in the knowledge that it’s not in the next couple of weeks until that happens. Apologies we cannot be more specific than that, but there are way too many factors that would throw any ETA guess out the window, so it’s better not to offer one we’ll likely miss and frustrate our community any further.

In short though, we love and live for our community and our game, and want this next version out more than anything in the world. Everything we do, or don’t, has been carefully considered to give Zomboid the best shot possible of being all we hope it will be. Thanks for your patience, and we promise we’ll never need to ask this again once we finally deliver RC3. But until then, we hope people understand our reasons.