Sunny To Final Project CSC 471 - Spring 2009 Introduction My final project is modeled after a Nintendo DS game called 'Electroplankton'. I really like music games, and decided to implement my own version of Luminaria, a gameplay mode in Electroplankton. The premise of Luminaria is simple. Luminaria consists of four colored luminaria (smiley faces) that start from opposing corners of a 6x6 grid of arrows. When the user taps on a luminaria, it is set in motion and follows the path set out by the arrows. The luminaria can move in eight directions. When a luminaria arrives at an arrow, it plays a note. Each luminaria represents a different instrumental sound, and each arrow represents a different note. Also, luminaria move at different speeds, creating a rhymic effect. The player has only the ability to start a luminaria, and to change the directions of the arrows on the grid. Once the luminaria have started moving, it gets pretty difficult to predict their movement and what music would result. Because of this, music played with luminaria sounds chaotic and is difficult to reproduce during another game session. For the most part, every performance can be a unique experience. To keep my implementation of Electroplankton as close to the
original, these are the properties of each sun:
Yellow - 180 Beats/Minute Celesta Green - 90 Beats/Minute Bell Blue - 60 Beats/Minute Celesta Here's a download link to a working executable of my game: Download! Controls
|
|
Mouse Actions:
|
Keyboard Actions:
|
Cel Shading I realized that, originally, my project had almost no graphical component to it. To make up for that, I decided to render my blender models with cel shading. Essentially what I did was first turn off openGL's lighting. Then, I specified a light vector. For every face on my models, I would find the dot product of the face's normal and the light vector. With a 1D texture, I would use the dot product to determine how bright or dark I should color that face. I used a three-shade approach so faces not really facing the light source would be dark, faces kinda facing the light source would be kind of dark, and faces directly or almost directly facing the light source would be bright. Under 'Resources', I've included links to more visually and mathematically explain all this.
Cel Shading in Action Screen Shots: |
|
Plain old smooth shading. | |
Flat shading(bleh) with orthographic projection. | |
Flat shading(still bleh) with perspective projection. | |
To Be Added: I'm still interested working on this project on my own free time, even after this class is finished. There were so many more features that I wish I could have implemented before the due date. I would have liked to implement:
References
|