top of page

The Rights & Wrong (The post-mortem of a game that's still alive)

This will be a post-mortem for the current build of the game. At this point in time it is really at the Pre-Alpha Demo part of the process, but I will keep a running “journal” on the future builds of the game. My guess will be that it will be less verbose, but I will treat this like a blog of sorts to basically talk about the game.

In this first entry, I will talk about what went right and what went wrong leading up to this current build. I will also include anything, and everything, that I used as inspiration for this game. If any, this will include things I have carried over from prior classes, or anything else that sparked my motivation in developing this game. I will try not to run on too long (as I doubt that a lot of people have time to sit through a 3-5 page article), but I will do my best to tell the story of this game in a very succient manner.

A “Boom” and a “Clash”

(The start of Champion’s Flight)

The start of this game idea actually happened due to some unforeen circumstances. It was in my Studio Game Development class. I had the dubious destinction of taking three Game Development classes in one semester (the others being; Serious Game Development and Application and Scripting) and one Math class.

So, with that already known, I decided that, regardless of class, I was going to try to team up in all of those classes (except for Math). The specific reason for that is that it would be less stressful to work as a team than go at it alone. So, on the first day of class, after the professor’s opening lecture, he mentions for us to converse and try to find partners. What he may have forgot to tell us is that the Studio class is mixed in with the Capstone class.

This meant that I had to; find someone also in my Studio class, and also is willing to team up with me. Well, after finding out that maybe five people were in the same boat as I am, I talked to them, and was also rejected. It seems that programmers tend to be a little (very) introverted. The others were Capstone, and they didn’t want me in on something they’ve developed and carried over from their Studio classes.

So, I basically had to come up with something, on the fly, and make a design document from it. Luckily I recalled this video:

Cleared and Ready for Take-off

(My inspiration!)

This was actually an awesome set of tutorials on how to make a “Star Fox” clone with Unity. I always loved the Star Fox games. In fact if I needed a “boost” I would usually play the awesome theme song from the original “Star Fox” (SNES version). Despite the awesomeness as someone who is a fan of the gameplay, as a developer, I actually loved the simple, arcadey, handling of the space craft. Although I wanted that, I didn’t want to make the game “on-rails”. I liked the “All-Range Mode” “Star Fox 64” had, where you weren’t just locked into a “box” and couldn’t actually fly around, that instead you had actual control of your ship.

Speaking of “boost”, that reminds me of the other game I spent a lot of my time on as a kid, “F-Zero”. I loved the frantic action, and in the “GX” variant, they included a cool twist to the story, the actual feeling of being in an equally crazy competition. I also loved the worlds they created in the game. Mind you, being that I had to create this game on my own and the time restraints of the class, obviously I can’t make the worlds as awesone as that game, but I could use this as the “spirit” of the game.

At the start, I was thinking more around the tutorials linked above, an “on-rails” sort of “death race”, I also thought of taking a more “Nitronic Rush” towards the game. But then I realized that it would be difficult to implement that. But, again, it gave another clue as to where to go with the game I am creating.

The one thing that “Nitronic Rush” and a “on-rails, deathrace” was that it was a point-to-point deal. It brought back memories of how I like watching a downhill skiing competition. That was the final “spark” I needed to piece the game together.

“The game has the controls of “Star Fox”, with the“competition” vibe of “F-Zero GX”, and it will be point to point, like Downhill Skiing.”

Of course, that would be the normal summary for the game at the start of the developing process. But, for some reason, I kept coming back to “Beetle Racing Adventure” (if you couldn’t tell, I loved the games developed by Nintendo), I loved the idea of progression. In that game, you would start with really slow cars, then through progression, you would end up with extremely fast cars. This added the final piece to the game, the idea of progressing “classes” of racing. So, I figured four would work, so I came up with the “Rookie Cup”, the “Tourist Cup”, the “Master Cup”, and finally the “Champion’s Cup”. All with accompanying ships that will become faster, and faster, as the player progresses in the game. This now leads to this as the new summary being:

“The game has the controls of “Star Fox”, with the“competition” vibe of “F-Zero GX”, and it will be point to point, like Downhill Skiing. With the progression of “Beetle Racing Adventure”.

Trials and Tribulations

(Damn you Unreal)

I’d like to put a disclaimer out about Unreal before I begin. I really, really, wanted to use that gane engine for this game. I really love what they did with the game engine. It’s a huge difference from UE4 to UDK. This includes actual documentation, and if anyone had ever used UDK, could attest to the fact that UDK was a royal pain to use due to the lack of documentation.

But, at the time of the beginning of the Studio class, I had a subscription to UE4 (4.6, I believe), and I guess they still had some debilitating bugs for developers. One of those bugs would be the corruption of the projects. I was unlucky enough to be hit with this about three times. After the third time (and numerous Engine crashes), I just had enough of it, and reverted back to Unity (free variation at the time).

Awesomely, at this year’s Game Development Conference (GDC), Unreal made their development software free. This, in turn, pushed Unity into allowing for their next game engine (Unity5) to go free as well. So, I ended up switch from UE4 to Unity4, then switched from Unity4 to Unity5 for this project.

Off and Away!

(Now down to business)

With all of this, I am surprised I gotten this far by myself. Here is a breakdown of what I did in all facets of the game. It will also explain my methodology through the development of this game. In all the game still has some ways to go, but I like the fact that I’ve found the right “note” for this game.

Art and Design:

Art-wise, it is very much a mix between neon/”Tron” and cartoon. I initally wanted to go full tron with the game with lighted edges for the ships. But after finding out that Unity has a shader that gives a cartoon look with an outline. I loved it, so much so that I’ve stuck with that shader for the ships and parts of the map.

The ships are blocky, and was done intentionally. I had done some awesome blueprints for more intricate ships. But after finding out how difficult it was to get those done right and with the fact that I can’t take the whole semester on ship creation, I decided to take the ship blueprints and break it down to basic shapes. I would guess this goes into a New Media Arts class I took. More specifically, Picasso, I always liked his artwork, “Cubisim”, and the breaking down of objects into simpler forms. So, I thought “what if I took those inital designs and broke them down”, and these ships were the result. They are easy to design/build for me, and they actually turned out looking great.

The main issue in the art department was getting a first level down that I was content with. This proved to be more of an issue than I had hoped. I wanted to go with a more free-roam feel. So, that meant that I needed to make levels that were “freer” to the player, where you could control the plane around the track. This sort of reminded me of my Fundamentals of Game Design class. It was something that has been drilled into my head in my Application and Scripting and Digital Media and Interaction classes. A good game design document always helps out in guiding the developer. If I didn’t have a good Game Design Document here, I would’ve been “chasing my tail” on a number of issues I ran across in this game.

Needless to say, the first design was a mess. I had to redesign this map four times before I got it right with this design. This was after presenting in the Studio class and people complaining about how awkward it was. There was also an issue with giving too much freedom in the map, and that led to more headaches on the implimintation of the map from me. I decided to “corridor” the map instead, and after multiple trails and errors, got a track that looks sleek and was just closed in enough that the player could still fly around freely.

Just to confirm, I did design and model every piece of art in the game. This included the designs and artwork for the menu systems. The menu systems were designed to be futuristic. I think I’ve pulled this off pretty well, always room for improvement, but it’s simple, futuristic, and it accomplishes the feel I was going for in this game. I believed that some of the skills I learned in my Foundations of Graphics class came in really helpful here. In a way so did my Foundations Design for the Web. I had to match the correct color pallette with the correct font-type to achieve the look for the menu systems in this game. Having a good understanding of color theory and font choices did help in figuring this out.

Gameplay and Mechanics:

The ship’s controls were a little difficult to implement to begin with. Like I stated, the idea was to have arcade-like flight controls. This is actually the third “generation” of flight controls for this game. I had initally tried to go with Unity’s built-in physics engine.

But after issues with the plane flying too “floaty”, I had to reprogram the controls. I tried to implement a force back onto the space craft. I hoped would have tightened up the turning radius. At this point I also was working with the rolling of the space craft. This was due to the fact that in Unreal, I was using the Flying Template. This template came with an awesome ship, it had controls that was exactly what I was looking for, when turning left or right, the ship would roll automatically.

After finding out that a force applied back onto the ship didn’t really give me the results I was looking for, I had to reprogram the ship again. This was how I got to this current variation (and the one I have stuck with). I had looked/asked around Unity forums about this, and after talking and looking at some inspiration, I created this code off an off-shoot of an idea that someone gave on a Unity forum question. This was the main part of the game, and it ended off really well for me and this game.

After this was taken care of, I had to try to figure out the obstacles. Sadly, this was something I’m still having issues with. I had an idea for three obstacles for this level, a “Blocker” ship that would be two ships and they would be moving two blocks vertically, basically, it would crush the player. The second was a “Spawner” ship, this would spawn blocks either vertically, or horizontally, and the player would have to avoid the blocks. I had the original script, and prefab, for it but for some odd reason it didn’t work, I am still trying to debug the issue. The final was a “Sticker” ship, that would spawn blocks that would “stick” to the walls of map. Due to running out of time for the class and trying to get the afore mention obstacles working, this will have to be something I will add into the game on future builds.

Outside of that, I was able to implement a lot of what I wanted. The player can fly through a level, go through repairs in a mid-level, and redo the level. Now that the basic groundwork has been completed, I can now go through with keeping track of player times, soft-AI, and limiting the amount of runs. Still some work, but the more important parts were just getting things set up to begin with. Now that’s good to go, everything else is just me smoothing it out.

Truthfully, I took a lot in from my Programming and Problem Solving classes (self-studied the second variation of this class), as I’m glad I know how to program in C#. I was abusing the use of Arrays throughout this game, it even led me to look up adding Linq and Lambda libraries to parts of my game. The Linq library helped a lot in sorting queries for the outputting the ship’s attributes and making sure the correct ship showed up during gameplay. But the most useful class I’ve taken was my Application and Scripting class. This class focused wholely on using Unity, and that helped a ton of understanding how this game engine works. One future installment will be the use of a cool trick from my Degital Media and Interaction class, the use a Beizer curve system for NPC ship’s movements.

That's All...For Now...

All, in all, I am happy with the work I’ve turned out. I will continue to update this as I get further along in building this game. If you have gotten this far, thanks for reading, and I hope that it helps you underestand how this game came to exsistance. If you like what you’ve read, feel free to leave a message and bookmark this site! I will have more news up as they become available!


Recent Posts
Archive
Search By Tags
No tags yet.
bottom of page