cs 1666 Game Design and Implementation
CS 1666 is a game development class for computer science majors at the University of Pittsburgh. The class focuses on teaching students the development of game engines using SDL and C++. The semester course has students work in 10-12 student teams and make a game for a semester. Each team had two to three subgroups that had a focus on more CS oriented topics. Each subgroup on the team also had to present a their topic as a full class lecture.
My team made a game called Europa. The subgroup I was on focused on procedural generation. For the presentation I talked mainly about maze algorithms and their uses in video games.
Here are a few slides from that presentation.
Total Dev Time:
Europa is a 2D dungeon crawler where an astronaut must collect artifacts and dodge slimes as they descend deeper in an alien space station.
Space Dungeon Crawler
Made in a 10 person programming team
Coded in C++ and SDL
Game Engine Development | Procedural Generation
Having had previous experience in Java building a game engine, I helped construct the basic architecture for this game in C++ using things like a game state manager, and room interfaces.
Here is a dependency map drawn for our game, outlining part of its base architecture.
I also served as a subgroup leader for procedural generation. This meant making sure as a subgroup, we would design, implement, and test to make sure our mazes worked in game. We decided to test differing methods of generation and see which one would work best. I implemented a simple maze algorithm using Depth-First Search.
Here are some examples of the maze algorithm in game.
We ultimately found out later that Rectangle Packing worked better for our game's design and had to cut this algorithm.
I also worked on the pause menu. I made randomly generated artifacts by tinting stock photos different colors and randomizing artifact descriptions during runtime.
Spritework | Animation
The majority of the game's art was done during my free time in class. All of the work is made in Paint.net.
The Title and Logo
Artifact Supply Chest
The Main Character
The Artifact UI
As a joke, we wanted the main character to be our professor under the mask. I made an animation of the character taking off the mask.
Here is a video of our professor reacting to it.