Full Disclosure

Well, a lot has happened over the last couple of days so I’ll just post this first-up before I go on a rant.



So the first thing I did the other day was upload a trailer to YouTube but leave it “unlisted”. I posted a link to it on twitter and publicly said the name of the game for the first time. The tweet went absolutely crazy instantly with re-tweets allover the world from so many amazing people.

Then, I posted the trailer on Facebook and started responding to twitter comments that were flooding in. I then posted on reddit with an amazing result over there. I clicked “Publish” on the YouTube video so it aggregated a little automatic post to all my social media connections there and pushed to all the subscribers. Then I posted the blog post here which automatically pushed to Facebook and Twitter.

After that was all publicly revealed, I spent some time talking to people about the game all-over the internet, and I sent a quick link to Simon Roth over Skype, which he seemed to think was pretty cool.

A few particular media people had asked me to keep them in the loop in the past, so I sent them a quick bit of contact to let them know I’d pushed out some new info. They seemed happy with that. The day pottered on with lots of excited people talking about how much they loved the trailer, and I sat at the top of /r/gamedev on reddit until I went to bed.

I woke up in the morning to see a post on Rock Paper Shotgun and I was shaking with amazement. Simon had sent the trailer to them and they seemed to really like it. A few other media-mentions popped up the next day, and things have just been crazy busy since. I’ve received some really interesting emails from lots of different people and everyone overall seems really excited about Black Annex.

So, with that, BlackAnnex.net launched the next evening to give me a central place just to gather the media for the game so I can keep this blog just for my normal ranty updates.

It’s been an amazing few days and now I’ve got a huge amount of expectations to live up to. Still gotta finish the PAX demo.

Year two, day one or: Introducing…

One year ago today I sat down in front of a blank QBASIC document having gotten sick of working on a 2D adventure-game engine for DOS which had constantly run into memory limitations. I made an isometric tile editor, a sprite editor, a spritesheet builder, and a little game engine that put them all together and made them move around. Then I made a post  on this website about it to show it off.

Lots of people found my work really interesting and paid lots of attention to what I wrote every few days about my adventures in a struggle to make a game in QBASIC. Many months later I visited a site called reddit.com for the first time, made a post there called “I’m making a game in QBASIC”, and showed people some screenshots of it. I thought everyone would think it was a really stupid idea, but lots of people really encouraged me to keep working hard and had lots of positive things to say about the work I had done so far.

Since then, people talk to me about my game and ask me for updates. Sometimes a person knows who I am even though I’ve never interacted with them. I even got mentioned on a real video game website! People who I care about actually follow me on twitter and they listen to what I have to say. Hundreds of people talk to me and online and actually sit down to read the often nonsensical things I write on this website just to keep up with what I’m struggling through at the time to keep working on making a game in such a limited environment.

It’s been a year of nights staying up until 3am with 9am starts the next morning. A year of missing time at the gym because a door keeps randomly opening the third time you visit a certain level. A year of missing time with my wife and daughters because half the chair legs on all the desks are the wrong shade of grey and tomorrow is screenshotsaturday.

But most of all, it’s been a year of amazing encouragement from a huge online community of people who really actually care about the effort I’m putting into making a game that they might get to play some day.

I’d like to show you a game I’ve been making; I’d like to show you Black Annex.

March to PAXAus – Day 27: A UI Grind

Overhauling the UI elements is a really tedious task of constantly adjusting values by tiny amounts, recompiling and testing it in-game. It takes hours to just relocate a bunch of icons and make them draggable.

grinding on the UII’ve got the “Available Staff” window and the “Current Solution” window where I want them to be now as far as the Beta product goes. The Abilities menu is really taking a long time as I need to make a sensible and easy-to-understand way to explain to the player that they’ve got two classes of agents and two sets of abilities that need to be assigned accordingly.

At the moment it’s a total mess, but it always is when it’s halfway finished. It’s function, but just horribly ugly. Still a ton of work to do.

Oh, I also fixed a bug. It turned out that if you removed all your agents from the current solution, you were totally unable to add any new ones to the list. That had me stumped for a good hour or two.

March to PAXAus – Day 26: A Little Class

I sat down with Photoshop and made some little icons to denote character “Class”. The game has two classes of (playable) characters. Enforcers and Deceivers. They each do a different thing when you right-click (enforcers fire a gun, deceivers throw a distraction) and they each have unique abilities that they have access to. Anyway, there was a real lack of persons screenindication in the game regarding which agents where of which class, so I’ve beefed up the “Solution” window to show a tiny icon regarding each class, and I’ve added a bunch more information to the “Persons” window for when you’re actually building up your team.

I’ve pretty much got the “Persons” screen to where it needs to be to ship the beta at the moment; it still has some bugs where you click on a certain areas, but nothing that actually breaks, it’s just a little animation glitch. It seems to deliver the info you need to know and it’s fairly easy to drag the icons around and assign agents to your solution.

I’ve got to really overhaul the “Abilities” screen next because it’s a barely usable mess as far as design goes. It’s feature-complete but it’s just confusing and barely explains what you’re doing. The whole UI needs a fair bit of work really.

March to PAXAus – Day 25: Movement

Only a few little changes today with some tweaks to the hub area map layout and a big of messing around with the camera. It has a very very slight jitter because it’s locked to the isometric shaped tiles (it moves along the X axis two pixels at a time and the Y axis one pixel at a time) and I fiddled around with some logic to try to get around that without much luck.

lots of little adjustmentsAfter that slight failure, I sat down and just played one of the campaigns a few times over and fiddled with the controls a little. It was kinda confusing when you’d click on some tiles and your agent wouldn’t move there because it had something blocking that tile. I fixed that, now the agent just walks up-to the tile and bumps into it; I don’t know why I thought the alternative would have ever been remotely acceptable.

Fixed two bugs as well today. HAYWIRE! was infinitely overpowered when used on PCs instead of actually taking into account your ability level, and creatures remembered which doors were locked and unlocked even if you left a campaign and restarted it from scratch. Two easy ones to knock off the list.

Chugging along, almost time to deliver a product to someone somewhere.

March to PAXAus – Day 24: All The Small Things

I spent hours today just playing maps and fixing little things that either went totally wrong, or felt bad enough to really affect the gameplay experience. There’s way too many small things to list, but there’s some fairly large improvements that have been made which I’ve had in mind for a few days.

Now, when you go to an object which can be HAYWIRE!ed, the camera will shift focus to highlight what you’re going to have an effect on if you choose to. You can see in the screenshot that the only selected character and the mouse cursor are in one part of the world, but the camera has shifted to show the player what they’re going to affect if they use the HAYWIRE! ability here. Previously you had to move the mouse around to find what it was going to do.

plethora of fixesI’ve changed the camera/mouse behavior a little bit so the mouse almost always stays hovering over the same tile no matter what happens. The only way to have the mouse move to a different tile is if the player physically moves it; camera movements never effect it now. I’ve changed the way the camera behaves before the players spawn-in as well to help highlight who the player is actually controlling.

A few other fixes include a bunch of balance changes to how “loud” a lot of things in the game are. Previously, if you set off one alarm, almost the entire level would go crazy looking for you. I’ve tweaked it to be a lot more about small-scale battle and problems so setting off an alarm will usually only cause an alert across maybe the two adjacent rooms at most and won’t mean the entire mission is a write-off.

Something I had to change was the way guns make noise. Now that they’re a lot quieter, it was possible to shoot people really far away and they wouldn’t hear the noise so they wouldn’t “react” (they weren’t programmed to react to pain, just gunshot sounds). I’ve made it so bullets make a “bang” sound when they hit walls or entities now. It’s a quieter sound than an actual gunshot going off, quite literally like the sound of a bullet hitting a wall. I added a little particle spatter when they hit walls, too.

The game really slows down when you get five people all shooting eachother with blood, bullets, shell casing, and little bits of debris flying around. I’m not too concerned with it at this point, though.

Oh, another thing I changed was the way your agents behave when you control more than one. They no longer all try to go to the same tile and start arguing with each-other when someone else gets there first. They now all go to their own tile (after a moment of thinking).

There’s a bunch of other changes made but I really can’t even think of most of them now, I’m not sure if I mentioned yesterday but I’ve made a new “popup” that happens if you try to go through a locked door. Previously there was no on-screen indication that the door was locked; people would just refuse to use the door. Now when they try, it shows a little animation of the “padlock down” floating above the door.

March to PAXAus – Day 23: Campaigns

It’s really getting to the point where I have to make the demo campaigns for the game – I can’t keep running around in placeholder test areas with gaping holes and out-of-place assets from different tile-sets dropped around at random.

working on demo mapsAt the moment I have maybe three campaigns started that are intended to eventually evolve into complete, playable ones. I’ve grabbed one of them and started fleshing it out into a full-sized area and playtesting it using different approaches to make sure it’s able to demonstrate most of the features and options that the player has at this point in the game. To do this I need to give opportunities for the player to either complete objectives using violence, deception, or a mixture of both. I also need to show opportunities where upgrading your abilities will give you different options and approaches to the situations. At the moment you’re not able to collect certain items along the way without setting off alarms unless you’ve upgraded HAYWIRE! to a certain level where it can knock cameras out of commission.

It’s nice to be able to spend a day working on improving the game without having to actually develop new features and systems. Just taking advantage of the game that’s already done and giving the player content to enjoy.

March to PAXAus – Day 22: Bug Smash

The last 24 hours have just been all about getting rid of the many tiny little bugs that plague the overall game-play experience. I just have to go into campaigns and try to play the game and see what goes wrong. It takes such a long time to play test like this because you’re constantly recompiling and replaying the campaigns from the start.

working on AI bugsA short list of things I’ve fixes would include a bug where every door in the hub area changes into a controllable entity after returning from a mission with more than one agent. Creatures that hear a gunshot while trying to fix a computer were glitching out and warping through walls. Creatures that hear a computer needing repairs would go repair it even if they were busy running away scared from an enemy. It was possible to embark on a campaign with no one in your solution so there were no controllable agents. The list goes on and on and it’s been a frustrating experience.

Other than that, I added a couple more tracks to the soundtrack and a lot more lines of “Hint” dialogue text to the NPCs.

Slowly turning this into a game you can “play”.

March to PAXAus – Day 21: Lights, Camera.

I managed to finally fix a fairly massive bug that had been present for months. The way the camera positioned itself relative to the mouse cursor and all your selected units was totally broken where it would get pulled way to close to the units and the mouse wouldn’t be able to move very far at all. This made it really difficult to handle controlling multiple units at a time. Along with that, the camera would jitter like crazy whenever your units would move if you had more than one selected at a time.

lightingI fixed it by totally re-writing the camera locating code using some methods I thought-up while in bed and scribbled down before trying them out the next day. It’s had a really great result and the camera is basically a carbon-copy of the one from Cannon Fodder now which is exactly what I was after.

The other major thing I finished off today was the need to set different lighting strength (lighting is what is drawn when line-of-sight is rendered or bullet tracers) appropriate to each “Company” you can visit in the game. Because the company you see in the screenshot has quite a light coloured floor tileset, it was really hard to see that vision cones. I’ve made it so each company file now has a setting for lighting strength to fix this.

I’ve just been smashing out as many small bugs and missing features as I can in the meantime as well. Getting there slowly. Need to start making a few more campaigns for the PAXAus demo soon.

March to PAXAus – Day 20: Resources and Hints

I spent most of the day learning how to embed icons into Windows executables. It turns out it’s actually pretty complicated. I had to argue with these “resource” and “object” files and embed them into the compile process and it was a totally huge headache. It’s in there now, but that took way longer than it felt like it should have. No more generic QBASIC logo anymore, though.

chat hintsAfter that, I went and re-worked the NPC conversations to actually allow random chatter from a list of available dialogue when you talk them. It’s now geared much more towards explaining what that particular NPC can do for to help you.

Now I’m trying to fix a bug where popup boxes glitch-out and become unresponsive if you try to open them about 100 times in a short period of time.

These are the things that keep me up past midnight on a weeknight.