I’ve got the day to make a game, and I’ve got an idea I hope I can complete in that time. I’m making V-Robot! A robot vacuum game that I intend to be playable by a 3 year old, but interesting enough for any ages.
Player helps (minimally) to guide a vacuum robot around a room to clean up the floors.
- Controls: The robot is mostly autonomous, but kind of stupid. It uses semi-random movements to bump around the room collecting garbage to clean the floors. The player can use a “nudge” on any of the 4 sides of the robot to persuade it to change direction. This too will be semi random, so multiple nudges to change direction will possibly be required.
- Playfield: The field of play will start with one room. Depending on time and scope, I would like to expand this to a minimum of 3 rooms. A Dining room, Living room, and a Bedroom. But I will start with the Dining room with the easiest furnishings (table, chairs, etc…)
- Objective: Clear the floor of all garbage. A score will be provided based on Time to completion, minus nudges modifier. Given time/scope, I can add “upgrades” to the robot to make it quicker and a little smarter perhaps (more obedient to nudges).
During development (today) I am of course open to suggestions and feedback. And I will be updating this post with random progress along the way.
After some discussions over lunch with my wife, I’ve determined that doing a sort of “snake” style gameplay where there are randomly spawning “garbage piles” for the robot to gather will be a good mechanic. This changes the gameplay to a style where the vacuum robot is now guided to the garbage with nudges and random bumping off items.
Another change in strategy is that the robot will have a battery level and a charge limit. So when the robot’s battery gets low, it will automatically go to the charger (either by rapid spawn, or if I’m smart enough, some sort of traversal logic) and then the player will simply button mash to bring the charge level back up quickly to resume the cleaning process.
Getting some groundwork in place now. The grid is the basis for the movement. Imagine “snake” except with a robot that instead of growing larger, begins to fill its vacuum cartridge and has a battery that needs charging. The video demonstrates the robot on the charger, buttons smashing arrows to charge, and then begins its duties once full. There will be randomly spawning trash that will begin to accumulate and fill the garbage cartridge in the robot. A similar mechanic to charging will be used to help the robot empty the garbage before returning to work.
Definitely not making rapid progress on this. But progress still is made.
I now have a collectable Trash heap that randomly spawns after collection. Raising the fill meter, and the robot will auto go to the empty zone (bottom right) to be cleared (smashing A or B) before returning to work.
Now the nudge mechanic actually sends the robot (by attempt) in the direction you are trying to point it. I can imagine some serious frustration in hitting a direction and the robot is like “nah, I’m going over here”. So… I canned that idea and just made it move where you point. This is supposed to be fun for youngsters, not drive them to throwing the Pokitto heh…
I know it isn’t much to look at on the surface, since I only added 2 sprites (the initial sprites for the charger and another type of trash), but I did a pretty nice overhaul on the movement mechanics, and some code reordering to make it much easier to extend
- Added some code for structuring the project (Shop and Start views)
- Added SaveManager with Coin, Battery and Cartridge values for saving progress. (doesn’t currently save anything)
Basic idea of gameplay now: Player controls the robot much like snake, collecting trash off the floor (I do want different “rooms” eventually, but will see how far I get.) each trash provides some currency to purchase upgrades and prizes. Upgrades are for duration of run (battery) and cartridge size.
Besides the shop and main menu, I think the biggest pieces missing now are just assets. So, some better art and some nice music