COS426 Final Project
Color Maze — Writeup

Jump to: Color Maze


Introduction


Project Links

Our project's code and resources can be found in the project GitHub repo, located here: https://github.com/Kattusite/colormaze.
A playable version of our project is hosted on GitHub pages here:here: https://kattusite.github.io/colormaze/.
The project can be run locally in the same way as course assignments, by starting a local http server (e.g. using Python). For windows users, the file start.bat automates this.


Goal

Inspired by some of the work we have been doing towards the latter half of this course, as well as the role-playing action-adventure games of our past, we decided to design the initial levels of a game. We also wanted the game to emulate (to a certain extent) the process of creating a video game – from a basic 2D design, to the initial colorization, to the addition of a third dimension. This formed our desire to create a ‘meta’ role-playing game of sorts, where the user’s objectives are to essentially better their experience of the game itself. With each ‘objective’ completed, an element of the game improves, thereby mimicking a part of the game development process.

As with most video games, Color Maze is beneficial for any user looking to find a way to relax and have a fun, enjoyable experience. In addition, we created it with the hopes that the user also learns a little bit more about the bottom-up game design and development process, and gets to peek under the hood of how games like this are built. Ideally, with each improvement the user unlocks, they feel the same satisfaction as we felt adding each feature ourselves!


Previous Work

This project is inspired by a lot of the first-generation games that we have been exposed to, from the user experience of the 2D Mario games, to the level design of Pacman. We realized that the best of these games made efficient use of a minimalistic design, with a simple set-up and clear objectives, whereas some of our less-preferred games had a user experience that was bogged down by unnecessary features and overcomplicated plots.

The main inspiration for the gradual improvement of game feature elements in Color Maze came from the 2013 game Evoland. In Evoland, players begin their journey in a soundless, colorless, pixelated world. As they progress through the game, they encounter various treasure chests that provide them with features that one would normally take for granted, such as camera scrolling, color, background music, and non-axis-aligned movement.

Approach



Methodology


Implemented Features

This video clip demonstrates the transitions between key features that we have Implemented for this project:



This video clip demonstrates some of the interesting effects we were able to achieve by making some areas only passable if you could see them in 3d.



This video clip demonstrates the particle effects in our game, as well as how these effects are tied to player health. Note that the particle chain shortens as the player takes damage, the cube darkens, and its heartbeat quickens.




Challenges



Results


Measuring Success

We measured our success by first playtesting our own game, then verifying that what we as game creators saw as an acceptable product was sufficient for a wider audience. We wanted to ensure that our game was both entertaining and visually pleasing enough to appeal to people that would not have seen the work that had gone into the project. In order to do this, we shared our game with other students that we knew through classes, extracurriculars, etc., to see if they enjoyed playing the game. In general, we received a positive reception -- players liked the clean graphics of the game and enjoyed the novelty of having to unlock the game's graphical features. Players that we did not explain the game objective to were initially underwhelmed at the 2D grayscale world that we introduced, but seemed to warm up to the game when they realized that there was more to the project.

One piece of feedback that we received was that the game was a bit too difficult, and that it was nearly impossible to avoid getting hit by enemy projectiles. However, we felt that this was a relatively minor issue because we had disabled game loss, and because decreasing health would highlight the visual changes that come with being damaged.

All in all, our results through playtesting and sharing our game with our peers indicated that our project was a success.


Discussion


The approaches that we took were promising, and proved to be the correct ones.

In general, the approaches that we took to designing and building our game turned out to be very effective. We learned to maximize our product's quality by using the bulk of our time to polish what users would see as the 'point' of the game. We also gained some valuable experience in designing basic games, writing in JavaScript and utilizing three.js, and splitting goals.


Conclusion


We found this project extremely enjoyable to complete. Although we would have liked more time to create an even better finished product, we are satisfied with the game that we have managed to produce by the Dean's Date deadline. In addition, because creating games was new to most of us, Color Maze proved to be a novel experience. While there are some things that we could have done differently, such as spending less time on features that ended up not working out in the end or meeting more often to discuss project checkpoints, as a whole, the approach that we took to creating Color Maze proved to be highly effective. This final COS426 project proved to be a valuable experience in coding, collaboration, and prioritizing achievable goals.


Sources


We would like to acknowledge the following sources for their contributions to our final product:

Libraries used: