Monday 14th March 2016.
We don’t start our day here at NotGames until 11am. Our day runs 11-7 for a number of reasons, mainly because none of us like mornings. Or at least, it should do. There are far too many days at the moment when it runs midday until five in the morning. But that’s another tale, about which, I should imagine, you care not one jot. Today’s blog is more apocalyptic in tone.
Let’s talk about Zombies. We’re currently bolting in the last of the major pieces of NotCoD – multiplayer split-screen zombies. As the main (only) coder on the project this is a major stress for me. Although we’re working on the same engine there are all sorts of new mechanics, including scores, pay-gates, power-ups, and perks to put in – even the enemies have to behave differently, pulling down barricades and only using melee attacks. Our game isn’t really a melee game – it’s mainly about the guns – but now it’s essential that melee works.
Also, this is the moment I have to work out why headshot detection is erratic. Sometimes, with some enemies (worst type of bug – doesn’t always apply, hard to replicate/track), bodyshots are being counted as headshots. While this isn’t a high priority game breaking bug in the campaign as its only effect is to bump the players stats a bit, in Zombies it’s an absolute disaster! Because Zombies have a cash system. And the more cash you have, the more doors you can unlock/weapons you can buy. And a headshot gives more cash than a body shot. So it has to work. 100% of the time. No excuses. Otherwise players won’t enjoy the experience because it’s not fair.
I have yet to write a single line of code. Instead, we’ve been capturing footage and snipping it for the current set of teasers. We tried some live action teasers but they haven’t really been picked up on, so now we’re trying a new approach… Tiny snippets from the game to introduce the three main characters. Difficult to choose because we don’t want to spoiler, or show the best jokes (I hate it when movies do that) but we need to find gags that work out of context, in locations that we’re prepared to show. One of the ones we’ve chosen, for Kenneth, crops up at random so I’ve just spent thirty very pleasant minutes listening while almost every speech except the one I wanted played. Some of them twice. Fortunately, they’re all pretty good so there’s been ripples of laughter around the office and no-one quit. 🙂
On a Monday, we watch John Oliver. We download it and watch it at lunchtime. It’s one of the best sources of honest news from the states and with the long term plot of NotCoD having a transatlantic twist it’s very important that we stay up to date. Problem is, the machine we use to do the downloading is dying. And, because we’re totally broke at the moment, we can’t do much to fix it. The fan is literally hanging off the chip and the little plastic things that hold it on the motherboard seem to have rotted away. We’ve lain it on its side and left it open so now gravity is at least working in our favour. But the cat is moulting at the moment so soon we’re going to have fur in the chip-fan. Rick Grimes never had to deal with this sh*t.
The network lead that is shared between Nick’s machine and the TV download machine is, at best, temperamental, and, at worst, f*cked. After fifteen minutes of fiddling we seem to have a stable enough connection to get John Oliver down. Provided no-one in the office in any way moves, speaks, or breathes near the lead. Been at work 3hrs now. Have yet to write a single line of code. This does not bode well for a functional Zombie Apocalypse. If a Zombie Apocalypse can be called functional, that is.
John Oliver was, as ever, insightful, interesting, and beautifully researched. Lunch was not. Time to get back to work. Or at least get started. If this were a real zombie apocalypse then I’d be a pile of guts on the floor by now. I could use a nap.
So… the “simple” job of adding player knockdown and revive has turned into a living hell. When the player goes down they are in a state between dead and alive – frozen in terms of movement but still able to shoot. Trouble is, the entire engine requires a player to be either dead or alive. This new half state is having an effect on EVERYTHING! There’s a very clever joke to be made here about this half-state being like a zombie and causing a coding apocalypse but I don’t have time to craft it because I’m starting to worry that the whole campaign might be about to fall over…
Zombies are a metaphor for death. They are slow, always behind you, and inevitable. That’s one of the reasons they fascinate us. Bugs in the code can be a bit like that too. You know there are inevitably always some there, and that, because you’ve dealt with all of the obvious noisy ones, they’re slowly working away in the background, waiting for that perfect combination of circumstances which will cause them to strike at the game and bite its f*cking arm off. Bloody zombies. Wish I had some Z-Weed.
Tuesday 15th March.
Day Two. I kinda forgot to finish the blog yesterday because I actually had to do some work on the game. Fortunately my player characters now fall down without dying, and all relevant arrows and markers appear correctly. The only thing missing is the ability to revive your companion. It’s essential that that goes in as soon as possible. But before it can it’s time to get this zombie economy working…
There are some very big issues with this whole currency. I fear they risk damaging the players ability to suspend their disbelief. Why does every Zombie have exactly £10 which conveniently falls from their pocket whenever they get shot? And how come they have £70 on them if you shoot them in the chest, but £130 if you melee them in the head? I’m pretty sure when Rick and the gang come across a small herd they’re not bringing Michonne along for her book-keeping skills.
I mentioned this to the team yesterday and they pointed out that I was fine with an Ice-Cream based Zombie Apocalypse so should probably worry less about the whole Zombies with Money angle and a little bit more about MAKING THE BLOODY GAME WORK.
They’re probably right. They usually are. It’s very frustrating.
The player needs to know a few things – what weapons they have, how many grenades they have, and, most importantly, how much cash they have. In the real Zombies (in the real CoD) there’s a lovely HUD (heads up display) tucked down at the bottom right. It’s chunky but gives you all the info and even fades out when not really needed. When you’re working in 3D this area of the screen isn’t key to play experience so it’s a great place to put player info. In 2D, not so much! This is one of the perennial problems of the NotGames process. In order to parody the target game without being accused of “passing off” (a legal term for where you sell your product by pretending it’s actually a much better known (and usually higher quality) product) we take it out of 3D. The juxtaposition of the viciousness with the cartoon look also helps give the darker points of the satire more zing. This technique is used in much the same way by using puppets for Spitting Image, a crude art style for South Park, or (if you can find a copy) throughout Mark Millar’s incredible work The Unfunnies. In fact, go and find a copy of the Unfunnies and read it. Do it now. Someone must be selling it on Amazon or E-Bay. Four issues. You’re gonna need them all. By the time you’re done with that I might have the HUD worked out…
Bugs keep breaking out all round me. There are four of us here full time these days and we’re all working simultaneously on Zombies, hoping to have it all working by Friday. Trouble with this is that no sooner have I written a piece of code it’s being stress tested via level design so bugs are coming up faster than I can fix them and I can’t move forward with my block of code because I keep having to stop and fix problems with the code I wrote at the weekend. The barriers are now crashing in a way that they weren’t yesterday. I don’t know why. Arrrrrrghhhhh!!!!
The players are now dying correctly. The most major of the bugs are fixed, and, best of all… The cash system is set up! Although the entire conceit remains ludicrous there’s something immediately satisfying about seeing that tiny, poorly placed, number as it slowly climbs upwards. It reminds me of Carol’s list, only less personable.
It’s hard to know whether the lead characters on The Walking Dead are even heroes any more. Their actions of late (and I’m trying hard to avoid spoilers but be warned, some may lurk in the next paragraph) are hard to condone. Killing people in their sleep as if they were zombies… using the same techniques as are used to kill off the undead. It’s the same trick Breaking Bad used. For me, it happened with Jesse’s girlfriend. That was the first time I was deeply uncomfortable with Walt’s actions. And now it’s happening again in TWD. And the more it happens, the more compelling I find the drama. We are sucked in by the grey areas where life happens. The CoD games present a series of worlds with comfortably defined good and bad guys. They are carnage engines designed to give the player a guilt free environment. But should they be? Should it be okay to kill hundreds of humans and grow more “heroic”? This is one of the questions we are asking with NotCoD where our “bad guys” may leave players feeling uncomfortable. It probably should.
Why do we revel in games with human fodder to kill? Why is Far Cry III or GTAV so satisfying? And, come to that, is it any more satisfying than Left for Dead, or CoD Zombies, where the player feels no latent guilt because the baddies are already dead? What is it in our wiring that so enjoys dishing out destruction? How long will it take us to out-evolve this need?
Hmm… I seem to have wandered there a little bit.
In more trivial matters it was my birthday a few days back and a very good friend made me this cake:
FYI, it was lovely.
Quite a successful day, all in all. Revive now works, as does scoring system, and barriers. Not too shabby! The beginnings of the GUI are in too. Everyone has gone home. The office (which is also my house) is silent. I have about 45 minutes until Anna (our sound gnome) turns up to record vocals on the title track with me. That’ll take me through to 11ish. Then, if I have any energy left, I’ll scribble some more code and get back to this incredibly disjointed blog. It’s an early start tomorrow shooting a show-reel for our Marketing Whizz Sarah. If I work very very late tonight I might even pull off a passable zombie impersonation in the morning without needing any make up. Although, this would be a shame, as I’m supposed to be playing a very much alive geography teacher…
It all works!! And we re-recorded the lead vocals on both opening title songs (much to the frustration of the neighbours who probably thought 11:00 should be cut-off time for screaming into a microphone. My neighbours are amazing. Or maybe the walls are. Or maybe the neighbours are polite but secretly forming into a collective to have us all expelled from my house. Can they do that? Anyway, it’s late, and I must rest or I really won’t be ready for this filming in the morning.
Zombies is well on the way. By the time it’s my turn to do another dev-blog i’m pretty certain it’ll be finished. I hope so. It’s Rezzed in three weeks and I want to play-test it there.
I’m so tired. My eyes feel like they’re bleeding. In Z-Nation recently many zombies were killed by an enormous rolling block of cheese. Don’t tell the others. They’ll make me put it in the random weapon box….