Metroidvania Month 7 Day 3
Don't worry, there's no Metroidvania Month 7 Day 1 or 2. It would have just been me telling you that I'm still working on a title. I wish I could just start creating something, but GitHub wants me to name my repositories first before starting on my project. I guess I could have created the files on my computer, but I hate the idea that my work could be lost without backups or commits that I can roll back in case I mess something up. I could have also given this game a "Project Name", but I feel like I might accidentally create one that is better than the end product (see Project Scorpio and Project Revolution for example).
Anyway, I came up with thirteen names for the game and ended up settling on Daemon.
The game is about a robot that has gained sentience in a lab and now has to collect power-ups to help it escape. Daemon, in computing, means a computer program that runs as a background process. I felt the name could be fitting as the robot is basically running around in the background of the lab collecting power-ups while trying to escape. I might throw in a conflict between the scientists that made the protagonist and a group of people trying to free the experiments in the lab; both groups not really caring about what happens to our protagonist. Plus, I really liked the one word title.
This is going to be my first Metroidvania game. I'm a bit nervous, but I got a pretty good idea on how to setup the "levels" or areas of my game. My other games all took place in one area, and this type of game requires multiple areas. So I came up with this way to store and load these areas:
The Area (like Metroid's Brinstar, Norfair, etc.) is a two-dimensional array of pointers to Rooms that make up the explore-able sections of that Area. Each Room could be stored as a JSON in a file somewhere that stores height & width, door locations, power-up location, enemy spawn points, spawn points for walls, etc. When you exit a Room, that will set your "previous Room" value, and then we can check which door in the new Room goes with the "previous Room". For example, if I left Room d to enter Room b, then I should spawn at the bottom-left corner of Room b.
I haven't made any progress with the code, but feel free to check out the repository for Daemon.
Anyway, I came up with thirteen names for the game and ended up settling on Daemon.
The game is about a robot that has gained sentience in a lab and now has to collect power-ups to help it escape. Daemon, in computing, means a computer program that runs as a background process. I felt the name could be fitting as the robot is basically running around in the background of the lab collecting power-ups while trying to escape. I might throw in a conflict between the scientists that made the protagonist and a group of people trying to free the experiments in the lab; both groups not really caring about what happens to our protagonist. Plus, I really liked the one word title.
This is going to be my first Metroidvania game. I'm a bit nervous, but I got a pretty good idea on how to setup the "levels" or areas of my game. My other games all took place in one area, and this type of game requires multiple areas. So I came up with this way to store and load these areas:
The Area (like Metroid's Brinstar, Norfair, etc.) is a two-dimensional array of pointers to Rooms that make up the explore-able sections of that Area. Each Room could be stored as a JSON in a file somewhere that stores height & width, door locations, power-up location, enemy spawn points, spawn points for walls, etc. When you exit a Room, that will set your "previous Room" value, and then we can check which door in the new Room goes with the "previous Room". For example, if I left Room d to enter Room b, then I should spawn at the bottom-left corner of Room b.
I haven't made any progress with the code, but feel free to check out the repository for Daemon.
Comments
Post a Comment