Living Planet
Project Summary
Living Planet is a platforming game built from scratch using my own engine, art, animation, music, and level design format. This game only ever reached the demo phase for my high school final project but I always saw myself coming back to this game as there was so much potential and storytelling I wanted to do with it.
What makes me especially proud of this project, despite only being a demo, is that everything from the engine, to the way the levels are rendered, to the lighting all came from my brain. I didn't follow a single tutorial, start from a partially made game, or use an external engine. It was all thought up and developed by me with some occasional help from a classmate or my teacher.
I was heavily inspired to make this game after hearing an album by Kid2Will on Spotify by the same name as this game. The album sparked my creativity so hard that I actually reached out to Kid2Will to ask for permission to use his tracks in the game to which he agreed.
In the current previews of the game (available via my google drive link) two of his songs can be heard. One on the title screen, the other on the test level shown in one of the game play videos. The other song in the game, used for the first level, was made by me.
Now, the game stands as a reminder to me of what I am capable of when given room to explore my creativity and relate my other passions in life in a way that helps me fully realize the world in my head.
- LANGUAGES USED:
- Python []
- ENGINE: Built from Scratch
- GENRE:
- Platformer,
- Space/Sci-fi
- PLATFORMS:
- PC,
- Mac
- ART:
- Riley Underwood (Pixel Art),
- Riley Underwood (Animations)
- MUSIC:
- Kid2Will (Spotify),
- Riley Underwood

My Custom EngineSince this game was created from scratch that means I had to build the engine for this game from the ground up. Things like collision on walls, floors and ceilings, how levels load in, how the lighting works and how the background renders in were all coded by me from scratch.
Lighting SimulationThis game uses a system for lighting by my design which plays a role in gameplay. Light sources light up caves and dark structures, but if an area is too dark, the light won't illuminate everything. This creates a mechanic where the player can see that there is light in the distance, but must get closer to see what the light covers.


My AnimationsFun fact: This is only a placeholder character, but it's modeled after me. Since I'm not exactly an artist I used photo references of me and videos of me running to better capture the animations for the player character. I found it particularly fun tweaking the small details of the animation frames to make as smooth of an animation as possible, such as how before the running animation loop starts playing there is a frame where the character leans forward. Unfortunately, the running animation came near the very end of the project so it was rather rushed.
New File TypeThe maps in this game use a text file format I invented which means I can create levels in any text editor if necessary. If you look closely at the text file, you'll see it's made up of tons of bracket squares '[ ]' that make up a grid. The filled in grid spaces make up an image of the stage.


Level GenerationThe game reads this file to know how to construct each level of the game. Each different character that occupies a space correlates to a different block sprite to render in that space. The game first reads the file to know where to place each block and what kind. To save resources, the game creates a new, temporary image composed of all needed blocks that becomes the stage we see. This image shows how the same part of the level looks both in the map file and in game.