Skip to content

nelltov/15-466-f23-base1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The A-Maze-ing Bee

Author: Nellie Tonev

Design: In The A-Maze-ing Bee, you play as a bee wandering through a maze looking for flowers to pollinate. However, flowers in the maze are not immediately visible - you first need to find helpful light items scattered around that will illuminate part of the maze and guide you toward your goal.

Screen Shot:

Screen Shot


How Your Asset Pipeline Works:

All PNG images in the game were created by me, using Aesprite. Individual tiles and sprites are loaded from pngs and processed into PPU466 tiles during startup of the game.

The background tiles are the ground and 9 unique maze tiles stored in and processed from a spritesheet. Meanwhile, the currently implemented foreground sprites are the player's bee character and the light object.

The functions I wrote to process the individual 8x8 png images and spritesheet into tiles (with more details and restrictions for their use) can be found here.

Additionally, I created a palette table reference png with 8 rows of 4 colors, which represents and visually maps to the palette table used during runtime. I read from this file to populate the palette table before processing any other tiles/sprites and then, since I know which palette each sprite will use, I am able to use the converted palette table data to find the color indices of each bit in the tiles.

As for the data used to set up the maze layout, this gets processed as part of the authoring process (before runtime) from a simple png file mapping out where the maze walls will be located to a binary file storing chunks of data that indicate, for each quadrant of the screen, where there is a maze wall vs. regular ground. This function is also described in the asset_pipeline file. Then, during runtime, after processing all the unique tiles, I use this binary data to populate the background with tiles to match the layout drawing. For each maze wall tile, I also take into consideration the surrounding tiles, in order to determine which of the 9 sprites to draw (e.g. if it is a corner of the wall).


How To Play:

Move your bee character around using the arrow keys. If you are close enough to a light object, click 'E' to interact with it. This will "illuminate" its corresponding quadrant of the screen, changing the color of the maze wall. Click 'Q' to quit the game at any point.

If I had more time to implement the game mechanics, the illumination step would have also revealed locations of any flowers in that quadrant. Then, you would be able to interact with the flowers and move pollen from one to another. Additionally, I would like for the light objects to only reveal themselves to the player when you move closer to them, so it's not extremely obvious exactly where you need to go right from the start.

Thanks for playing :)


This game was built with NEST.

Releases

No releases published

Packages

No packages published

Languages

  • C 66.4%
  • C++ 28.4%
  • JavaScript 4.5%
  • Python 0.7%