[WIP] V-Robot

[devlog]

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.

Source: github

Concept:

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.

Edit 1:

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.

Edit 2:


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.

Edit 3:


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…

Edit 4:


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 :partying_face:

Edit 5:

  • 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 :laughing:

8 Likes

My 2.5yr old son shall put it to the test. Always looking for more great games for him to play with. Sounds like a great concept so far.

1 Like

Great! More testers the better :smiley:

For some reason, despite the gameplay being quite a bit different, this reminds me of the hamster puzzles from Professor Layton and Pandora’s Box.

PL2Hamster6403

2 Likes

Had to look that up as I haven’t heard of that before. That looks super cute and fun!

The direction for this game though is definitely different, being a stripped down version of Snake basically :sweat_smile:

2 Likes

Well, running out of time as the kiddos are demanding I intervene on their afternoon. I don’t think I’ll be able to completely finish this today, but I’m switching gears to think about the UI and the overall graphics. Which means I may need some pretty serious feedback as that has always been a tough zone for me.

Remembering the aesthetic needs to appeal to the very young crowd.
I was thinking of fun sort of things that could be on the edges of the screen. Sort of like how in Stack Shift there are those wavy banners (I really liked those). And try to make more fun bubbly looking icons for things like the power/trash meters and the robot itself. The trash I am planning to make a few different random sprites for. Right now it is just a gross looking cheese hunk.

(attached github to the main post)

Do you mind if I add this to the “upcoming games” list?

1 Like

I do not mind at all! Thank you :smiley:

Been thinking about more ways I can make this fun for youngsters, and I’m guessing I’ll just have to, you know, get my youngster to get in on some testing :wink:

A few things I want to do before I do that:

  • add an animation for the charging scene. This would just be like a gigantic battery in the middle of the view that will fill up and be fun while they smash the arrow keys.
  • similarly add an animation for the trash dumping. So like a big old trash cartridge being dumped into a bin while it empties.

So that shouldn’t be too hard, as long as I don’t get stuck in trying to make the art look good :laughing:

Some ideas I’ve had about a sort of “win” mechanic or a way to make continued play interesting, would be a prize system based on how much has been cleaned. So, two options, which I could do both:

  • Collectable items based on some sort of currency system.
  • Robot upgrades. (different trash cartridges. For example, larger or smaller, depending on how quickly one wants to dump it out) and Battery upgrades for longer cycles of cleaning.

The second one can make more sense as well if I give the robot different speeds based on how full the cartridges get :thinking:

I don’t want to over engineer this, which is something I badly get into the habit of doing :sweat_smile:

3 Likes

I’m sure my little Xavier will happily playtest it when it’s ready. Though there might be some feedback lost in translation as my toddler speak is a bit rusty :laughing:

So far your artwork has a great simplistic look to it (which could be good for this project). Once finalized you could always let people know you’d be open to someone making better artwork :wink:

If you find any tricks I’d like to know. Asking for a friend :wink: as I myself wouldn’t have such issues :wink::wink::laughing:.

1 Like

Well the best I can think of is whenever I think to myself “wow it would be cool if X”, I need to just not do that. Lol which is hard. Maybe

Well the artwork right now is place holder lol not at all final in any way. I think this time I will definitely be willing to open to any willing participation :smiley: so if I can kind of set the tone and direction, I’m sure many of the skilled folks here could make it hundred times better.

I was actually referring to your artwork on previous titles, often times we’re our own worst critic.

Really the main things needed:

  • Tone Style (cartoony, gothic, fantasy, bright, dark, etc.)
  • Sprite formatting (resolution, bit depth, specific palette if you want)
  • Demo graphics (mostly to help convey the overall tone and style)

Since this is something my son might very well enjoy here very soon (he’s almost there with learning to game) I myself might be tempted to contribute some nice pixel art (apparently I’m good at it, or at least so I’m told).

1 Like

You definitely have skills in pixel art dude!

Well I’m playing with the CastPixel16 palette right now. I really like the bright vibrancy of it so it is kind of my goto lol. Especially after seeing this game on pv8: https://pixelvision8.itch.io/reaper-boy-ld42

I got FemtoIDE working back to where it was again! This includes audio :smiley: so… hopefully this weekend I can kick butt and get some good progress on this. Then pick up where I left off on some other projects too (pet-robo ;o)

5 Likes

My daughter play tested what I’ve got so far in the emulator. She played for a good 10 minutes which is pretty surprising since I don’t really have anything “gamelike” yet in it. But she enjoyed directing the robot and charging lol. So I must be on a good track here. 10 minutes for a 3 year old is quite impressive.

4 Likes

Did a lot of rework of the code today. Finalized the scope too I believe.

Game play is as follows:
Title screen -> into Cleaning the room. If the player has prizes, they may place them in the room as decorations. These will cause the Robot to bounce off of them and reduce the number of tiles where trash can spawn.
Trash spawns and the player nudges the robot to guide it to clean up trash. When the battery is low, the screen will shift to a charging mini game of sorts. Where the battery icon bounces back and forth and the player smashes A when it is in the charge zone to fill it up. Then back to cleaning.
When the trash cart fills up, the screen shifts to the emptying mini game. This one is less a game and more a button mash to bang the trash out of the trash cartridge. So there will be debris falling from a trash cartridge into a bin until it is empty. Then back to cleaning.
The player at any time may visit the shop by pressing C. They get coin by cleaning and can use that to purchase prizes for their room.

And so on and so forth goes the game :slight_smile: It will be accompanied by cute graphics, simple sfx and some less than annoying music. If things work out, I might add, unoriginal, a way to shift audio tracks.

What’s done so far:

  • Title scene: Needs a fun logo and graphics of some sort. Maybe an intro title song and a cool transition sound.
  • Cleaning screen: Needs a better looking carpet, but is “playable”. The robot currently can move around cleaning up spawning trash (only 2 types right now). The charger is in the top left, a trash square in the corner. I think I’ll remove them though since it now shifts to new scenes all together. But I like them as spawn points and you know where they are. So I need a trash bin sprite. Needs music and sounds. Needs functionality to actually place prizes. Which… There needs to be prizes xD
  • Battery charging scene: Not very beautiful. Just a giant yellow charge zone and the battery icon. Needs music, sounds, and definitely more enticing graphics. But is workable.
  • Trash dump scene: Currently just a line that goes smaller as you smash A. Needs all the graphics and fun sounds.
  • Shop: Is there, but doesn’t do much except save your current coin on exit. Needs prizes, graphics and sounds.
  • Extra: I’d like music shifting functionality I think. Or I’ll just make it randomly select when you leave the shop.
6 Likes