Game Engineering 2 Assignment 13

Controls

Left and right arrow keys move left and right. Forward arrow starts the car moving. Back stops the car.

The ‘1’ key toggles debug. Press it quickly to see Christmas lights! Create your own light show!

"Almost Christmas" is a game about final projects, tedium and long nights.  The game has a Christmas theme and is a tunnel where players can't reach the end, but they can enjoy the light show by pressing the '1' key rhythmically.  In the end it is "Almost Christmas".
“Almost Christmas” is a game about final projects, tedium and long nights. In the end it is “Almost Christmas”.

Abstract

The scope of assignment 13 was a to make a game with the engine. The game I built is called “Almost Christmas”. “Almost Christmas” is a game about not being able to reach Christmas break. The experience is meant to inspire tedium in the player. The player is presented with an artificial choice of left and right. Moving forward moves the player closer to christmas, but before the player reaches Christmas they are warped back to the beginning. Here’s a picture of the game

Aims

My aim for the assignment was to built a more automatic asset process. I also wanted to update my scene file format. Both goals were met. The game was supposed to be an AI racing game where the player and an AI opponent navigate a grid and whoever reaches the goal first wins. With the asset and scene modifications I wanted to make the scope of the game was too large. I decided to make a game about my current emotional state. I long for Christmas. Capturing that in a game led to “Almost Christmas”, a game about the tedium of trying to reach Christmas break and getting set back.

Implementation

The bulk of my implementation time was spent on making the reloader. The reloader is a process that runs in the background and monitors the assets folder. When a change is made to the assets folder the asset that changed is determined. That asset is added to a list which is piped into the asset pipeline. The asset build process is ran and builds the edited assets. Here are examples:

The Reloader is loaded.  I have not made any modifications to files yet.
The Reloader is loaded. I have not made any modifications to files yet.
The Reloader is up and I have made edits to a scene, mesh, material, shader and texture file.  There are even errors that are being printed due to copying and pasting a fragment shader and then renaming it to be a vertex shader.  The not found error is due to the Reloader copying the copy file from Windows into AssetsToBuild.  Definitely some kinks in the reloader, but I do not need to touch AssetsToBuild very frequently.
The Reloader is up and I have made edits to a scene, mesh, material, shader and texture file. There are even errors that are being printed due to copying and pasting a fragment shader and then renaming it to be a vertex shader. The not found error is due to the Reloader copying the copy file from Windows into AssetsToBuild. Definitely some kinks in the reloader, but I do not need to touch AssetsToBuild very frequently.

The 2D UI element is the level. If another scene were made that scene would have the number 1 on it. I initially planned to have multiple racing maps, but had to make some concessions.

Overall, the asset builder has been the best tool from the class. I have been excited to expand the capabilities. My Reloader reduces the number of times I have to manually edit AssetsToBuild and execute AssetBuilder. Paired with a scene system that uses key value pairs and controllers I do not need to touch actual source code as frequently as I otherwise would allowing my engine to be more generic.

Issues

I ran into time constraints which required me to reduce the scope of my game. Building better tools took most of the time allotted for the assignment. I am happy with my choice to build better tools. I am going to continue to extend my tools, but tool development takes a lot of time.

I would like to thank JP for explaining asset build processes. I am going to refine the process since it saves time. Sophisticated tools take time to build, but save time if used with enough frequency.

Time Estimate

The workload for the project was about 50 hours plus or minus 15. I spent a lot of time on tools. The game was maybe a 4 hour endeavor after building tools.  I am tired.  I am going to sleep and enjoy Christmas.

Activity Time Spent
Reloader Tool 20 hours
Editting Scene Format 20 hours
Scoping the Game and Freaking Out 4 hours
Building the Game 4 hours
Write up 2 hour
Total 50 hours

Leave a Reply