All Hail the Master Feature List

Perhaps certainly we are young and naïve, but we never thought our lives could be this controlled by a single Excel sheet. And by “our lives” I mostly mean Rich’s life. About a month ago in an attempt to improve our organization, we formalized our dev master feature list into a series of Bitbucket tickets along with an Excel tracking sheet. We then semi-strategically selected several of those features and declared that these features to be our dev production target for the next month.

Well, that month has come and gone, so I want to give you a brief update on what we accomplished. We will be continuing with this monthly internal release strategy – we like having solid shorter term goals in order to make consistent progress. I plan to write an update blog post after every one of these internal releases going forward. While these releases are obviously very dev-centric, I will provide a brief update about where everyone on the team is at in their own work.

Dev Update (Rich)

Most of the dev features that Rich completed in this release were focused on fleshing out AOTW’s RPG system. He completed a lot of essential foundational features. The game now supports tank customization prior to each level and also allows you to add equippable parts that modify player stats. Beyond that, Rich added a feature that every good RPG needs – a mission timer. Rich also completed a more specific custom tank ability. I’ve heard that you’re supposed to build suspense for things like this – so I’m not going to go into too much detail, but let’s just say it involves things with weapons hovering in the air. Boom, suspense built.

I know what you’re thinking – “man, sounds like things are going awesome and super easily for Rich and he encountered no problems whatsoever in this dev iteration.” Sadly, this is not quite the case. While I do think Rich has made great progress on the dev front, it would be remiss of me not to mention a bit about his suffering. While working on this release, Rich encountered one of his first major AOTW bugs. My eyes may have glassed over a bit while he explained the finer points, but long story short – this bug causes all tank stats to re-set to default at random times. While this does lead to some amusing hypotheticals (imagine your stats re-setting to default in the middle of a battle), it is definitely something that needs to be fixed before dev progresses much further. So, fixing this bug will be one of Rich’s first priorities in next month’s internal release. After that, he’s got all kinds of crazy sci-fi tank weaponry to create.

Story (Austin)

It’s hard to provide really in depth story updates without throwing up spoilers left and right. So, for now this update section will be short. But trust me, Austin has been working – a lot. The story of AOTW takes place in three acts, and Austin is nearly done with Act II. Besides the sheer volume of writing required of him, the biggest challenge for Austin right now is that the character development arcs of many of the main characters are about to reach climactic points. So, basically, this next week of writing is going to be a very emotionally stressful time for Austin. He needs to unleash some heart wrenching fate on these carefully crafted characters, and he needs to do it in a believable way. I don’t envy that task.

Art (Wu-Gene)

You’ve heard a lot about things on the art front recently, but Wu-Gene continues to work away. He’s finished up concept tank art for most of the primary factions. He’s also experimented with some sweet character concept art. The next big step for Wu-Gene is going to be figuring out how to efficiently convert concept art to 2-D sprites that can actually be used in game. We need the sprites because by the time of our next internal release, we want to have real screenshots so that we can start giving people a sense of what things are going to look like in game. I don’t think the conversion process itself will be very challenging, but the real trick will be to set it up in an efficient, scalable way because there will be a ton of sprites to create once we are in the art production phase

Business Stuff (Mike)

Most of my time has been spent dreaming of being an international businessman. I have also done a few things related to AOTW though. Outside of meetings and helping with our long term planning, most of my time in the last month has been devoted to writing blog posts and improving our website. I recently made some pretty big changes to the site, and I definitely think it is improved. However, there is still a lot to do. I have a long list of site features that I want to add. WordPress has been very helpful with pre-built themes and a lot of editing features. However, to really take things to the next level I’m going to need to do some of the CSS editing myself. This week, I learned what CSS stands for, so I think I’m off to a strong start.

The Future

In conclusion, we are kicking ass and taking names. I think we are starting to hit our stride and enter that project phase where you really start cranking things out – “steamrolling” as Austin puts it.

However, there is a long long long long way to go. It’s always a bit overwhelming to think about the big picture. So, after posting this, I’m going to put my head down and start working on next month’s tasks. Cascading Style Sheets, here I come.

Lasers. Enough Said.

Rich Bio Pics

Rich Knieriem, Lead Developer


 

This week’s entry is about lasers.  That’s right, lasers.  Why? Because SPOILER ALERT, lasers are in our game…and why wouldn’t they be?  Sci-Fi without lasers is like sex without the other person.  It just isn’t the same.  Also it’s a lot quicker, but that’s not really relevant to this analogy.  If our little sci-fi game is ever going to make it big, it’ll need its very own lasers.

Movies and video games have featured laser beams, laser blasters, and — well actually, maybe there’s really only those two types of lasers to begin with: the spitting, rapid-fire blasters that go “PEW PEW!” and the constant beam of energy that goes “NERRRRRRRRRRRRRR”.  For my first attempt at lasers in Armour on the Wastes, I opted to implement the “PEW PEW!” blaster-type laser.

Why you ask?

Because! This basically turned the laser into just green fucking bullets, and also because I’m lazy as fuck.  However, the lead designer was not happy with this choice, claiming that our “laser” was just a re-skinned machine gun.  Not willing to argue my point, I decided to try his style out and implement the “constant beam” type laser into our game.

This is the story of that hell.

In programming, there are two types of developers: those that refuse to use other people’s code, and those with jobs.  If you haven’t figured it out by now, I’m the latter.  So before attempting to make my own lasers, I first searched the internet for a helpful guru who could do my work for me.

After a few beers I came across a tutorial showing how to easily do hit scan lasers – in other words, how to make a laser that would emit from a source gun and instantly hit a wall or target without any projectile travel time.

“PERFECT,” I thought to myself, tempting fate.  “Let’s toss this into the engine and see what happens.”   When the green laser shot out of my tank and connected with the wall instantaneously, I was ecstatic.  “IT WORKS! I’m amazing…wait…what?…60%?!”  Of course, there was a downside to the code I had retrieved from the depths of the internet.  The mystery code had managed to jump my processor from 6% to 60% usage.  With all of the other content we need to implement into the game, this kind of resource usage was obviously unfeasible.  So with the easy option out of the picture, I was now forced to design my own laser logic.

After a few afternoons of work, I managed to get my new laser system working.  It functioned similarly to the solution I had found online, but didn’t require as many constant checks on where the laser was supposed to be or what it was supposed to hit, saving a boatload of processor power.  Better yet, I ended up adding a few new features that help set Armour on the Wastes apart.

Performance was great, the new laser looked amazing, and most importantly it was also fun to use, but I still had one problem.  The laser only worked for the player. For the full game, computer driven players would also need to be able to shoot laser weapons.  I figured, “how hard could that be?”  “Let’s just give all of the computer tanks lasers and see what happens.”

There are no words for what took place next on my screen…it haunts me to this day. Chaos and mayhem don’t even begin to describe the horror. It was many days before the lasers were up to our exacting standards.*  After all this, I’m confident that people can now use lasers in AOTW without breaking the game or breaking their spirits, which is a definite plus.

The dark days of the Laser Project ™ © ® may now be behind us, but we must never forget what kind of struggle it took to get us to where our game is at today.  In truth, the struggle was only about a week, bust still…it was mildly annoying.  Now I just have to finish the AI…

* Defined by “meh…looks good enough for now.”

HTML5 – What is this Black Magic?

Editor’s Note: I know by now you’ve fallen madly in love with Mike’s narrative style, but this week we’re switching things up. It’s time to kick the business major out and get a bit more technical. To that end, this week’s post is written by our lead (and only) developer, Rich Knieriem. Enjoy!

Last week you heard about some of the exciting progress we’ve made on the game thus far, including a fully playable tech-demo level. I want to talk a little bit about the types of tools I’ve used so far in creating that level and why I think they’re part of the wave of the future.

As the team’s leading “expert” in software development, I was put in charge of creating the game’s engine.  After a few laughable attempts at building my own I went in search of a ready-made one.  It didn’t take long before I started running into engines built on HTML5.  I decided to give one of them, Construct 2, a try. And believe me, after a few Hop Czar fueled learning sessions, I was firmly on the HTML5 bandwagon.

HTML5 is a relative newcomer to the coding arena, but it’s far from obscure. Popular video services like YouTube and Vimeo have already switched to HTML5.  Even the vaunted Netflix has begun to supplement its Silverlight video player with an HTML5 player.  HTML5 is quickly gaining ground and it’s not hard to see why.  Barring minor differences between modern browsers, HTML5 offers a truly platform independent experience. I mean really, your code can run on anything. What other language offers that?

I realize that some people may dare to disagree. So, for your benefit, I’ve listed a comprehensive summary and refutation of any possible arguments against HTML5:

            Q: “What about flash?”

            A: Who the fuck still uses flash?

            Q: “Silverlight?”

            A: Hahahahaha, no.

            Q: “Oh…So you’re just making a web game?”

            A: Not quite.

Frameworks like PhoneGap or Construct 2 allow users to create something in HTML5 and port it to any type of device they choose; this is why I chose an HTML5 based engine.  With a simple click of the mouse, I can build the game to any device I want.  Anything from a PC to an Iphone is fair game.  Hell, I could probably get it onto one of those smart fridges if I really wanted.  Our game is a desktop game, but it could be a phone game later, or a web game, or pretty much anything we want. And even if we never try to expand it beyond a desktop game, it will be easily portable across Windows, IOS, and Linux operating systems. That alone is enough reason to use HTML5 for a time strapped indie developer.

I may not be a AAA title developer, yet. But, don’t let the detractors fool you. HTML5 does have enough power to make it onto the big stage. Seriously, it isn’t just for angry bird clones.  Full 3d graphics, offline asset storage, and socket based networking are all possible with HTML5.  It won’t be long until AAA titles begin to hop on the bandwagon. In fact, I’m so confident in HTML5 that I’m willing to defend this claim in trial by combat against any AAA executive that disagrees, especially if said executive is from EA.

However, leaving aside any potential duels with industry leaders, the question remains – how should indie developers prepare themselves for HTML5’s imminent world domination? Once again, I’ve prepared some exhaustive guidelines:

            Q: “How should we prepare for our new HTML5 overlord?”

            A: Uninstall IE8. Seriously guys, that shit is pure evil.

            Q: “Are you just using HTML5 because you don’t want to learn a new programming language?”

            A: …well…yes….but HTML5 is fucking black magic. You can’t beat that.

You may think that “black magic” is a bit of an overstatement. But I have my reasons. When I had to explain why this language was good to Mike, this was the phrase that came most naturally. And it seems to have gotten the point across. This may have something to do with the excessive amounts of time he’s dedicated to reading fantasy books, but it works.

Until my next developer post, I want to leave you readers with one final comprehensive insight – my steps to becoming a filthy rich developer.

Step 1: HTML5

Step 2: ?

Step 3: Profit

You’re welcome.