Project in Review, Part 3: 2D or not 2D?

[cross-posted from my blog here!]

This is a continuation of a multi-part blog series focusing on the development of Archimedean Assault. Go read part 1 and part 2. It’s good!

Once the scope of our game was reasonably well defined, we set forth like good little game jammers and started hammering out code, 2D art assets and music.

Not far into this process, we realized the multiplicative nature our scope had on our art assets. A robot. Alright, he has to walk around and shoot. But, also, he has to transform! A transforming robot. Okay, that doubles the number of art assets for our robot’s actions. We need assets for both versions of the robot. And, we also need a transition animation going from one form to another. Okay, fine. A free-roaming game world in which the player can move 8 directions.

So, we need at least number of actions * number of forms * number of directions (x * 32 for those keeping score at home!) frames for any given action, and that’s before we get into animation. That means, if we want the robot to fire a gun and have muzzle flash, we need to get the muzzle flash from each direction in each form. When we start talking about animation and number of frames per animation, hand-drawn art assets quickly balloon out of control.

That’s before we start talking about the environment assets in which the game will actually take place.

Being the newbs that we are, we don’t have a dedicated pixel artist. We’ve got nguyenn1, who is by my estimation, about 10% of a dedicated artist. It takes us a few weekends to discover that we wrote a check for art assets that our group couldn’t cash. At least, not within a reasonable timeframe, and not within a reasonable quality.

We mitigated our dependency on pixel art by borrowing heavily from anywhere we could. danc’s sprite sheets on Lost Garden quickly became an invaluable asset that we leaned on.

Of course, this restricts us to assets that fit into the kind of game we’re trying to build, and art decisions became something to the effect of “Well, what’ve we got that kind of works?” That strategy doesn’t work when you have very specific demands, like “floating citadel” or “a robot that transforms from 8 different angles.”

After realizing that there was no way we’d effectively deliver on our artistic demands, I started looking at alternatives. 3D models are readily accessible at comparably low costs from sites like TurboSquid. After several months, the art assets for the player weren’t yet complete, and environmental art assets were still quirky and buggy. But, we could buy a 3D model that matched up pretty well with our vision for $5.

If $5 can save months of artist time, it certainly seems like money well spent. However, working with 3D assets requires time elsewhere. It requires non-trivial developer time and ramp-up time on tools and techniques across the team. Once I have a $5 model for the player, then what? The landscape of 3D modeling software isn’t terribly friendly (importers for fixed content, exporters to proprietary formats that either didn’t support our content pipeline or munged content beyond recognition, rigging models and animating them in-game…), and animation seems to be a mess across the board.

So, $5 doesn’t seem to save us time, but does distribute the load across the team a bit more evenly. But, how can we be sure that we aren’t wasting our time chasing something because we think it’s fun?


Project in Review, Part 2: Archimedean Assault

[cross-posted from my blog. Click here to read the original.]

In this episode, we’ll focus on the team makeup going into the development of the currently-stalled Archimedean Assault. For a general overview of the project, go read Part 1 in this series.

I mentioned we had about a half a dozen people that thought this was a great idea for some reason. For a hobbyist, “Hey, who else wants to go get stuff done this weekend?” project, we ended up with an all-star cast of game development awesome.

The Game Designer

nguyenn1 leveraged some awesome connections from a local Soul Calibur Game Night and roped in an honest-to-goodness, gainfully employed game designer from a local game studio.

This was awesome, and we were quickly shaping up to be a legit operation (!!!).

Having a designer on-board for the first time, one thing we quickly learned was that an hour of game designer time could quickly translate to hundreds of hours of development time.

Even though we settled on a general design early on in the project, gameplay evolved as soon as people got their hands on something playable. Evolving design meant more requirements during development, which equated to more time producing art/audio assets and development.

On the plus side, having a game designer allowed others to focus on their work. I could fire up a build of the game, enthusiastically shout “This isn’t fun! Who cares, not my job!” and then toss it over the wall like a good and/or bad engineer is prone to do. Being able to lean on the game designer was certainly handy for maintaining focus in the face of a game that wasn’t immediately fun.

Of course, in order to be able to toss it over the wall, we had to expose a bunch of levers to allow the game designer to tweak core gameplay mechanics. Keep in mind that we started with the game jam format, which roughly translates to producing code that only looks like it works by Sunday.

Letting the designer muck with game mechanics is a data-driven concept, and the game jam schedule is on the opposite end of that particular spectrum. That got us in a bind where virtually everything was hard coded and needed to… not be.

Exposing gameplay mechanics for the game designer ended up taking just as long as the original game jam schedule. Whoops.

Lesson learned. All roads lead to data-driven content. Got it.

Project in Review, Part 1: Archimedean Assault

[Crossposted from my blog. See the original here.]

As nguyenn1 alluded to, we’ve been working on a game (!). What started as a weekend long GameJam entry into October’s LudumDare competition is… well, still going. We’re clearly over every imaginable budget at this point, so let’s take some time to look back and see what went well and what could have gone better. But, before that, let’s set some context!

Archimedean Assault is a single-player, arcade-inspired shooter featuring a transforming protagonist. Development efforts were borne out of a love for games and a coinciding LudumDare competition.

The player pilots a Gundam-style mech that can switch between a maneuverable aerial form and a heavy-hitting ground assault tank. While airborne, the player has exceptional maneuverability through a constant speed bonus and afterburners for an extra boost. In contrast, the player’s ground form is a slow-moving, armored behemoth with much more firepower. Expert players will strike a balance between air superiority and ground assault modes to destroy opposing forces and complete objectives scattered through a free-roaming game world.

In retrospect, I’m not sure how any sane individual could read that last paragraph and say, “Hey, we can totally hammer that out in a weekend!” Yet, we had about a half a dozen people on-board with the idea that we could.

Stay tuned for the gory technical details!

Game Theory: Making the Game

Does anything ever work the first time?

I have always loved video games. I can’t think of a time where there wasn’t a video game in my life when I was growing up. I remember looking through catalogs (remember those?) to Witmark (!!!) wishing I could buy the Turbographix 16 or the original Nintendo Entertainment System (NES). Point of fact though, I think a lot of guys my age had similar experiences, but most of them never do it. I don’t know why that is; it’s probably just like most things we dream of as children – wonderful fantasies we cherish that we don’t have the time, or opportunity, or the ambition to ever accomplish. So naturally, when I was presented a chance to make a game with some friends from work, we never did anything beyond basic talk.

OK, this time is for realz guys

Fast forward just about 1 year, and the some of the same guys, some new guys, and you know what? We started talking about making a game, and this time we actually started working on something! What follows is a little snapshot and history of our game. Right now it looks pretty crappy, and it IS pretty crappy. But it works, and it uses assets that are not cribbed (well, entirely cribbed) from other sources. It even has box art and an official story!

Now, before I go any further, sometime after we started making the game Gabe and I talked about documenting our experiences making (still making as of the writing of this post!) our 2nd game together. That’s right, I said Gabe and I! Gabe will be a guest blogger who will be contributing his own thoughts and insights into what we’ve been working on. Some of the material will be the same, but he’s going to focus on the things he likes aka coding, and I’ll focus on a few pieces that I know well. I hope you guys enjoy what we have to say. But that’s getting ahead of things. Let’s go back to the 2nd beginning…

So in the beginning there was Gabe. And Gabe had this idea that we could do an unofficial “game jam”. A game jam is a weekend dedicated to conceiving, designing, programming, creating, testing and releasing a game. It’s meant to encapsulate the entire experience of game creating into a single weekend. By this time, I’d felt like I learned some lessons from the first time we tried to make a game, and when he asked me, I jumped at the chance.

Now around this time, it became pretty apparent to us that we needed more skills than just what Gabe and I could bring to bear. Sure, we had the help of 2 of the previous participants (Brett and Michael), but that was pretty much the same group of guys who failed the first time. Fortunately for us, I’d managed to make a few new friends who would prove very helpful to us. My friend Bryan was/is a game designer, and his brother Bruce (or Brewski as I like to call him Smile ) studied sound design at school. I felt with Bryan’s previous experience, he could help us design a better game and Bruce filled in a much need gap in our skill set. We still lacked an artist, but having realized this from the last time we tried to make a game, I decided to bit the bullet and make the art for the game.

The Usual Suspects

Friday after work, we all gathered at Gabe’s house and started to powow. The original gang consisted of Gabe, Jaison, Bryan, Bruce, and myself. Brett and Michael had agreed to work as guns for hire and bang out the code we needed once the game design had been settled down. The game I 🙂 had in my mind looked a lot like an old arcade shooter called Cybattler

Cybattler google images:

I wasn’t able to articulate this at first since I had forgotten the name of the game, but eventually everyone got the idea. At this point, each person had some input, but Bryan really took a large role here. From the initial game concept (i.e. clone cybattler) he envisioned a much more free-form concept that involved the same pieces: transforming robot, space, waves of enemies but instead revolved around exploring the map searching for those enemies. We all agreed to this concept and started working! The whole process definitely took a bit of time, and Bryan was to spend A LOT more time fleshing out many of the specifics that we never even got to.

At this point, the 4 of us split apart and starting playing around with each of our assigned roles. Gabe is a much stronger coder than I, with more experience, so I started working on the concept art and actual art of the game. I don’t have a Wacom tablet or anything, so when we started doing the initial conceptual art of the robot, we did it with paper and pencil first. As a child of the 80’s, all things anime had a big influence on me, but Robotech and Battle Tech in particular had a really strong grip on my imagination as a child. Below are the sketches I did to get an initial idea of what kind of aesthetic we wanted the robot to have:

Archimedean Assault Robot concept art 1Archimedean Assault Robot concept art 2

The robot had to be able to transform from plane to robot and back again, so you can see the elements of the plane in the robot design. The feet were meant to contain the primary thrusters. The shield in the second picture formed the wings of the plane and the backpack looking thing was the plasma thruster unit which was meant to be the afterburner in plane mode, and a kind of beam weapon in robot form. The pictured gun was originally a kind of machine gun in my own head, and was also the primary attack cannon of the plane mode. The primary thrusters of the jet mount onto the back of the robot and provide the movement and flight capability in space. There are no hardpoints for missiles – in typical anime style they are internally stored. Smile In our robot’s case, they are stored within the legs so that means the robot is actually more heavily armed in robot mode than in plane mode! The tradeoff is that the plane is much faster.

My next post will talk about the tools we used to create the art assets and hopefully the source control software. But the next post you should see will be from Gabe!