Hello Guest  /  Join  /  Sign In  /  Get Desura

Project Zomboid is an open-ended zombie-infested sandbox. It asks one simple question – how will you die? Whether surviving in Knox County free-roam or controlling Indie Stone mascot Baldspot in his quest to save his injured wife Kate – death is always a certainty. Quite how long you manage to put it off is another matter…

RSS Feed The Coding of the Living Dead

If it’s Monday, then it must be time to open the curtains, take down the barricade and worriedly scan the horizon. Yes, survivors of Muldraugh – it’s time for an update on The Indie Stone’s slow, yet relentless and inevitable, march to the front door of your safe house.

Posted by Batsphinx on Oct 22nd, 2012


This week we’re chatting with Chris ‘Lemmy’ Simpson about all manner of mischief – including streaming, NPCs and how to care for whippet puppies. Before he gets his moment in the sun, however, we should say that things are still coming together. It’s likely, for example, that the code and map deliveries will coincide for the update – although we still need to play with item distribution, create a new tutorial house and get RingoD transplanting the action into K&B’s new home.

We know that people are chomping at the bit for the new update, and we know that reading about the new stuff we’re introducing is a bit of a tease when people have gone without for so long. We’re aware that stuff like the improved NPCS sound a bit feature-creepy, but assure you that the work spent in fiddling around with them is a necessity brought on by the necessity of introducing map streaming. There's a lot of necessary stuff going down, basically.

In terms of polish, too, at the moment we're systematically going through the game and trying to fix and polish as many of PZ’s gaping holes as possible. NPCs and the UI were two of the biggest holes that needed quickly barricading shut ASAP. Lemmy will explain a little bit more about all this, and our plans for thicker and faster future updates, after we plaster a picture of his big stupid face all over your computer screen.

First things first, how's Cally the Wonder-Dog?
 
She's doing great! Though she's teething so is leaving nice sharp presents for us to stand on along with nice soft smelly squishy presents - though she's finally getting the hang of doing the latter outside. That's a clever nickname you came up with for her there, because we certainly do wonder about her.
 
Huzzah! So, anyway, how has the recently-added map streaming changed the game, and the way you code it?

Well the main difference is obviously there's a lack of any loading screens when walking around the map. The impact this has is on the immersion – you never see that black border and you’re never aware of, say, being in the 'top left corner' of here or the 'bottom end' of there. It's just one big seamless world. From a coding perspective it's saved a ton of memory since we've been able to go back to only having the 0.1.5d map-size loaded into memory. That memory save is what made the streaming a necessity - many people would have struggled with the code in its former state. It's also brought a few challenges with it - but they’ve been welcome ones really. We now need to think about how to deal with NPCs in a more meaningful way, for instance.
 
So what are you currently doing with those hardy Muldraugh NPC-types?

This has been the subject of many a four-way Skype design chat, and even more latte-supping with Binky. Will (who is the one asking these questions, but never mind let’s not confuse things) has written a mountain of NPC chat that's yet to go into the game, and we want to use that to its fullest. The thing is, with streaming potentially making the ultimate persistence of the NPCs more difficult, we had to rethink how they work on a fundamental level.

As such, we've been looking at quick design ways to get most 'bang for your buck' with NPCs. Trying to make them the HAL 9000 of zombie survival seems to be a fool’s errand, especially when one day in the far-flung future only 1/1000th of the map will be loaded into memory. So right now I'm working on a 'meta-game' that extends across the entire map that has virtual survivor groups moving between buildings, looting and surviving according to statistics that’ll let us trigger infinitely more interesting NPC encounters. I'm also implementing more information to the player on NPC survivors, including traits in the form of 'observations' and a few more group commands for them.

Here’s a screenshot from the current build, where I'm printing out a debug overview of the world with survivor groups (red = aggressive, green = friendly, white = mixed) to see how the survivors get on. With the new meta-game survivor groups can now last for weeks, even months, without dying.


When people play the update, what will they notice as being different about fellow survivors?

NPC meetings should be infinitely more interesting. Instead of running around from one vague X, Y coordinate to another - and telling you to 'fuck off' – they could be say… running to their safehouse and invite you to come along. Alternatively they may be ambushing you at your safehouse to steal your stuff, or perhaps be in the middle of an altercation with one of their teammates.

NPC meetings will still be driven by a sandbox environment, but will be more like story points when you meet them. Also they’ll be massively more useful since you can tell them (or they might decide independently) to go on looting missions. You’ll be able to ask them to go get food, and then see them wander off for a day or so. They may come back, they turn into a shambling corpse somewhere, they may bring those supplies – and if they do return they might’ve taken a bite in the process.

Here’s the unfinished 'send characters on looting mission' selection screen, where you can choose (by observing the character's personalities and traits) who to send to get supplies (or die horribly in the attempt). Please note a stupid illiterate programmer wrote those descriptions as placeholders, and not our resident writer…


And here’s the WIP character info screen:


So, if an NPCs is capable of bringing in more food than he/she can eat, then they could well suddenly prove to be an asset and not a liability. Finding tough, survivable NPCs will be a big help to surviving longer. Since the NPCs will have such relevance now – you’ll be able to check a character sheet of sorts which will describe observations that you've picked up from them. In fact Will has just sent these over, so you can have a sneak peek.


Lastly, to make survival harder and to make NPCs ever more necessary we’re going to be a lot stricter with item distribution. You can expect it to be a lot tougher to scavenge food and resources to survive - since the high loot area will be mid-town where all the zombies are. So a lone wolf without good survivalist skills will find it tough, so might need to look to others for support.

Sweet. We’ll probably expand on all that the NPC stuff when Will (who’s me) gets his slot in the spotlight next week. Is there anything else you've added that would interest the PZ community?

Well primarily all the new NPC stuff, from the UI to the meta-game, is completely written in Lua. As such it's fully moddable, expandable or even replaceable.
 
Speaking of which uou were posting enthusiastically on the forums about the work of one EasyPickins. Who is he, what's he done and what does it mean for the PZ community?

We approached EasyPickins a month or so ago because, quite frankly, even with his awesome awesome improvements to TileZed, our map production was just way too slow. We came with a few ideas and some rough prototypes we'd put together and he quickly transformed them into WorldEd (which he'd actually been working on for the existing map system), and made some exciting improvements to TileZed on top of what we’ve already shown off in our recent video.

He's also made TileZed about a hundred times more polished and nicer to use. He’s made a mechanism for converting a big BMP (say 3000x3000 for 10x10 cells) into grass, trees, sand, gravel and so it’s all blended together with intermediate tiles, and then spits it out 0_0 to 9_9.tmx. So then you’re ready to start creating buildings with BuildingEd, and to simply drag them into place in WorldEd or TileZed. A click of ‘Export’ will then create files to simply drag into a new Maps folder, meaning that your new map will be selectable as a new game along in the new front-end.

EasyPickins has been astoundingly fast, and everything he produces is really polished and professional. He's continuing working with us and we're very excited at what the future will bring with map production speeds to both us and the modders.
 
Over on the Desura boards you recently explained why we couldn't release early versions of what we're currently working on. You used quite a good Scrapheap Challenge analogy. Could you possibly cut and paste that here for a wider audience?

"If anyone's seen Scrapheap Challenge or a 3 day time-limit DIY show or something. That's alpha funded dev. You have a pile of garbage for weeks, then it all comes together within the last few minutes. We can't just arbitrarily 'release something'."

It's completely understandable, but frustrating to read 'just release it damn it!' when what you’ve currently got is a version of the game where all the zombies are zipping around at 1000mph (Romaaaain!) or there's only food getting spawned in the map (meeeeeeee!). You just know that releasing what you’ve got in front of you is the worst thing you could possibly do!

We've often ended up releasing earlier than we planned to just because we were worried it'd been too long, and we reached a point where we felt we could 'just release something damnit!' and thought, well our community want it, we'll give it to them. Sadly this has resulted in a lot of our community still playing an older release of the game, and people elsewhere who perhaps weren't aware of their 'test release status' who assume Zomboid is shoddy buggy stuff.

This is the last thing the game, or the community need. So all of us made a pact this time that the next version of the game would be ‘right’. A few quick patch bugs aside, we're just going to remain steadfast and release the best version of Zomboid there has been since day one. And also, finally, get those poor (yet awesome) souls at Desura an auto-updating version of the game.
 
What's it like working with our new recruit Romain? What's he beavering away on? Will all his work be present when we update?

Romain has been great! After getting the new weather system in, he's currently implementing farming, after which he'll be looking to implement the campfire stuff (since, as the Starks say, ‘Winter is Coming’). It's such a massive relief to me to know that if I'm ever stuck guts-deep in something that the game's code isn't at a standstill, and that someone is still getting stuff in there. I'm sure people have noticed a sharp drop in the number of stressed coding tweets since he joined! I'm sure farming will be in the next update. We'll see about campfires after that.
 
Something else that it sounds Romain has brought to the Indie Stone’s table is a potential new approach to bug-fix builds. Could you elaborate?

It's the system Romain uses where he works, and basically involves maintaining two concurrent builds of the game. There’s one that’s frozen from the last update, and one development build that new features are implemented into. This means that if a bug is reported, we can fix it in the development build and them merge the changes across to the frozen build. Once we've fixed enough, we can simply release that frozen build as a bug fix release - without people needing to wait for the development work to get to completion. It should have a dramatic effect on both our ability to approach bigger development tasks freely, as well as our ability to quickly fix problems with the game after an update - and to speed up the frequency of the updates.
 
Anything else that you'd like to mention?

XCOM!
 
Can we have a photo of Cally the Wonder Dog please?

Yes!


Oh, and while we’re at it here’s a quick screen of the new map cultivated from Binky’s work-station. We’ll be back mid-week with the next instalment of Community of the Dead. Thanks all!


Comments
Roh
Roh Oct 22 2012, 2:50pm said:

Very interesting stuff! I have only two comments.

1. xcom is watered down and sad...

2. And Cally looks cute as hell!

+6 votes     reply to
James009
James009 Oct 22 2012, 3:56pm said:

Awesome. The NPC enhancements sound fantastic, can't wait to see it in action.

Also, X-COM is fantastic (if a bit simplified and streamlined) and Cally does look very cute.

+9 votes     reply to
keruD
keruD Oct 22 2012, 4:32pm buried:

(buried)

I feel bad for the people who paid for this game already. Yes, im aware its in alpha or w/e, but the fact that people have been waiting months for simple fixes is out of hand. btw tldr. Should be f2p until you figure out whats going on.

Just cause minecraft did it, doesnt mean every indie developer has to do it now...

-13 votes     reply to
Roh
Roh Oct 22 2012, 7:03pm replied:

As broke as I am I have no complaints about this game. Even in it's current state I've already gotten my movies worth of enjoyment out of it.

While I hope to enjoy it even more in the future and have expressed some pains at the waiting involved.. It seems a bit unfair to talk as though what they have already isn't worth less than 10$.

+9 votes     reply to
Roh
Roh Oct 22 2012, 8:13pm replied:

Er monies worth that is. Damn typos...

+3 votes     reply to
keruD
keruD Oct 22 2012, 11:11pm buried:

(buried)

For $15 I can get GO....a working, fully multi player experience from valve with almost weekly updates. Again, this game hasnt been updated since I was in Russian (August). So its not fair to the people who have supported this mod.Have I bought it? No. But ive talked to MANY people who have and followed the mod cause I was curious about it. Needless to say, with the lack of updates and contact with the developer, i will not be purchasing this game (atleast until there is a better version).

-9 votes     reply to
Darthlex
Darthlex Oct 23 2012, 5:30am replied:

So.. For 15 dollars you get a pretty generic, although wildly succesful, Multiplayer FPS. Now, I'm sure you're likely to be an ignorant person altogether, but I'm having a hard time seeing how you are benefiting from comparing a AAA MFPS to an indie game with a ton more features, not nearly as many developers and most importantly: not nearly the budget of a Valve production.

+9 votes     reply to
keruD
keruD Oct 24 2012, 12:22pm buried:

(buried)

If you dont have the budget for it or the time, dont charge anything at first...And ive played this game, its buggy and as i stated before, updates are few and far between.

-7 votes     reply to
Chad51
Chad51 Oct 23 2012, 10:38am replied:

Of course you'd feel bad for them, you don't own the game so you don't know how great it is! if I was waiting on minecraft or GO with this kind of wait i'd get angry but this game has better potential than minecraft ever had, and GO is just a waste IMHO and your cheating yourself by not buying this game.

+4 votes     reply to
OniKoneko
OniKoneko Oct 27 2012, 8:08pm replied:

1) This is not a mod. I don't understand why you call it this.
2) You haven't purchased the game. The demo is PRE-ALPHA as stated right below the button. So, in actuality, you're not even playing the current version.
3) Go back to shooting people online. This isn't Call of Duty zombies, so it's obviously not for you.

0 votes     reply to
keruD
keruD Oct 27 2012, 11:58pm replied:

Wrote mod, my bad.
My friend owns it, thats how I know about it and the poor update process
No Object this isnt an fps, i dont care about genre. Im talking about the poor updates and overall handling of the game.
You kids get mad when everyone doesnt blow these indie developers. "Oh, they're working with a tight budget and their free time." Thats fantastic, but if you're going to half Object it, dont charge; thats the moral of this story.

-4 votes     reply to
explorer13
explorer13 Oct 22 2012, 5:11pm said:

I'm glad you guys have kept with the updates. Lets me know you haven't been eaten by zombies yourself, also lets me know about all the cool stuff you're doing. Which I love. Did I mention I love this game? Because I do. A lot.

+8 votes     reply to
roman814
roman814 Oct 24 2012, 2:58am said:

Will Desura update the game automatically once the update is released?

+3 votes     reply to
Pancakez54
Pancakez54 Oct 27 2012, 12:04pm replied:

Most likely because, I remember reading somewhere that they will give us poor desura sods an automatic updating.

+1 vote     reply to
michael_somnes
michael_somnes Oct 24 2012, 6:19pm said:

I'm mostly glad I always, ALWAYS have something to look forward to. Not bad for less than $10.
I don't see how comparing a shooter is fair considering this is a very niché type of game.
Firstly it's sandbox, secondly it's very complex, thirdly, they dare do something different.

There is no equivalent and I am willing to wait for it.

Also, love the fact that you keep us posted.

+4 votes     reply to
Andrebas
Andrebas Nov 7 2012, 2:06pm said:

My cpu is so sad it cant play this game... (one core 1.40 ghz lol)

+1 vote     reply to
Andrebas
Andrebas Nov 7 2012, 2:06pm said:

My cpu is so sad it cant play this game... (one core 1.40 ghz lol)

+1 vote     reply to
Post a Comment
click to sign in and comment

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.