Professional Game Development

I was the sole developer on every single project except where noted. The art and animations were created by another individual.

L Project

This was the first product. As the sole developer I created the game loop and methods for switching between content, the content being the menu system and the levels. This product exposed some limitations with Flash AS2. That limitation are with the scripting engine where it is unable to handle processing large datasets and the other is when you load a swf, the new swf overwrites the stage with the swf's content. This makes it difficult to have code in the swf's for the graphics. This product took two months of development time.

B Project

This product was a refinement from lessons learned from the first project. This product implemented a new design where it loads all assets from xml files. So I created an xml loading class. These xmls contained information, which is the location of the swf to be loaded, the name of the asset, the location for the asset, the type of the asset, and the actions the asset can perform. The code structure had a main, which contained the game loop and the xml loader. The class structure for the assets; the first class is the State, which is the menu or the play state or levels, etc. Then there is the base class for all the objects, backgrounds, player, enemy, etc. All of these have a base class called Display. The Display class loads the xml and manages the asset by storing the location and the name of the asset. This work took about 2 months. This project was put on hold for the creation of the C project. Then when I came back to it, I had discovered a new limitation in flash which is that flash can only handle one keyboard input at a time, sort of. The sort of is that flash can recognize two key inputs at the same time only with certain keys. This was unreliable so I made the decision to move to java and create B2.

C Project

Most of this work was refinement of the game engine from the B project. Since that one wasn't completed when I started this project I still had to complete some of the design of the core engine. This included the keyboard class to handle input. But once that was complete all I had to do was create the xml files and derive classes for the menu state, play state, the win/lose state, and the player and enemy types. The AI in this game was a simpler version of the previous where it uses statistics to generate a response. This AI only had two actions it could perform and they were based on a success failure percentage. This work took about 1 month to complete. This product was shipped.

B2 Project

This was a re-implementation of the B project in java. The reasoning was due to the fact that this game needed better keyboard inputs to be able to play the game properly. Most of the code ported nicely with little or no work needed. The xml stuff needed most of the rewrite but I had to create my own 2d rendering engine. This rendering engine added an xml file for the frames of the animation. Also, I had to create a display list for managing depth of the art for rendering. For the AI on this game, I implemented a statistical based on percentage of chance as to which action will be chosen. Also, AI had a reaction to the player that would be based on a percentage of chance to succeed or fail. This part of the product took about 2 months to complete and was shipped.

SI Project

This worked off the java game engine, so the work load was light. I had to do some tweaks of the engine. The biggest addition to the game engine was a proper collision detection system. This created a bounding box that was used for the detection. This bounding box was defined in the xml. The rest of the work was creating the code to support the assets. This game had an AI component and it was fairly simple with only one action that was based on percentage and duration. This game only took 2 weeks and was shipped.

JME Project

This was a port of another developer’s game. His game was developed in flash and they wanted it ported to a mobile device. The mobile device only supported Java Mobile Edition. I first ported the game to my java game engine to make sure it would work in java. Then I worked at converting the java game engine implementation over to mobile edition. This didn't require much work the most significant work was ME doesn't have an xml loader. I had to create one. Also, I had to change the 2d render engine to support how it was done on JME. The biggest setback on this project was the size limitation of the graphics and a decision was made to stop work because they initially assumed it would be easy to port over but when we said it could take a couple of weeks to rework the art, they decided to move on to the next project. This work took about 1 week and about 2 weeks’ worth of testing due to security concerns.

BG Project

This project was driven by another worker which his primary role is as an artist. He pushed for the creation of this product and wanted to write the code for it as well. So, while I was working on JME he would work this project. Come to find out he's not a very strong coder. I tried to help as much as I could while working the JME project. So, I created a simple based in flash for him to start working. Alas he could only create the art and none of the code was created. But since I started some of the code I decided to work from there. This product had one of the most sophisticated AI's to date for our work. This AI had several moves it could choose from and so I developed a system that would create a list of available moves and then an algorithm to determine the best move to make. This game was also the first one I created that used the mouse as an input device. The mouse presented an interesting problem. The game needed to move an object on the screen from one mouse click to another and this movement needed to simulate 3 dimensions. So I created an algorithm to calculation the scaling and moving of this object in 3d space. This project took about a week and a half to create and it was shipped.

On a final note I recreated the java game engine and it is hosted at Mario.

wiki/ideas/notes.txt · Last modified: 2020/11/19 14:21 by 127.0.0.1
Back to top
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0