Advertisement

Robot Programming Game

Started by February 06, 2012 03:23 AM
9 comments, last by ChrisBrowne 12 years, 11 months ago
I'm creating a game where the players write a script that controls robot(s) on screen that battle against other robot(s) with programs written by other players. I've only just started it and I would like some suggestions regarding things the players can have the robots do.

The game will have a 2D, top-down view. The robots themselves will be constructed by the players. Players will decide on the weapon(s), cooling device, cpu, memory, etc... that the robot(s) will have. The question I have for you is, if you were a player, what would you like to have control over? This will be heavily inspired from the Playstation game Carnage Heart. The main difference is that Carnage Heart programs were built using only a series of if/else statements whereas the programs in this game will be built using a C++ based interpreted language. The purpose of this project is so that I can learn how to write a parser. The game will simply be a bi-product of my learning experience.

Obviously I will need to give the players the ability to control movement of the robot(s). Different types of robots(if I get that far) will be able to move in different ways. What types of functions would you expect to have access to for controlling the robot if you were playing my game?
You don't need to ask people what type of actions they would like to have access to as a player. A player adheres to the rules set by the designer as long as the challenge is interesting. You must decide on the actions yourself and balance the gameplay accordingly, because only you have the idea of what the game is supposed to be like and where the fun in playing it comes from.
Advertisement
The purpose of this project is so that I can learn how to write a parser[/quote]
Oh, and making a whole game for that reason alone seems like an overkill.
The minimum functions I would want control over are obviously turning, moving forward/backward and shooting. If you add a cooling system, actions should obviously generate heat you could decrease with a separate function. You should have a look at the "Robo Rally" boardgame for some more inspiration and extra weapons.
A few ideas:
*scanner (set arc, and direction, return range to target if one is found to get robots to actually have to search for their targets, possibly allow other actions to get more information about detected targets (such as current movement vector, damage, etc)
*radio/communication for team matches (So that robots can, for example broadcast enemy positions to their teammates or simply notify eachother of their own position, position of minefields, or similar things)
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

The purpose of this project is so that I can learn how to write a parser

Oh, and making a whole game for that reason alone seems like an overkill.
[/quote]

This is true. I guess it isn't for that reason alone. I just figured I might as well have some fun along the way. Plus, I've been wanting a decent programming game for awhile now. I've been playing Robozzle on my phone and Carnage Heart on the Playstation, but they get boring after awhile.


radio/communication for team matches (So that robots can, for example broadcast enemy positions to their teammates or simply notify eachother of their own position, position of minefields, or similar things)
[/quote]
This is an excellent idea. Thanks!


You should have a look at the "Robo Rally" boardgame for some more inspiration and extra weapons
[/quote]
I'll look into it. Thanks!

Advertisement
Another game you should look at is robot wars, for the PS2 iirc, rearly nice construction system, somewhat like spore in a way.

But I dont understand what you want the player to do, obviously design the robots, but then you say you want them to script control, as in automated movement / herd / predator / packs behaviours, or do you mean simply input for motor control like PCB layout or what im not sure.
I remember an old game on the Amiga were you could program your robots to react to the virtual world around them, like "If your health is lower than x, Then do this" or "If the enemy is in sight AND his weapon is weaker than your shields, THEN shoot your laser at him".

There is a programming games section over at MobyGames which includes some other games like that.
Allow getting all kinds of sensors like motion sensors and such. There could be advanced ones which could simply give the relative position of the enemy and simple ones which could just detect the distance (but allow placing these to different spots around the robot?)

However, the advanced ones would produce more heat so it might make sence to use simpler ones and do math to get the enemy position. Paying more for them would make them more accurate, produce less heat and use less electricity if you add something like that.

I think you should allow very precise control over very little things, but also make basic parts that you can attach to the bot to get easier control over it (with the cost of some heat, weight and other fancy stuff)
That would also allow making better movement code if you already have the best control module and think it fails.

What would be interesting, is if you had only movement, visual, heat, sound and other such sensors, as this would allow for creating devices which try to distract the enemy by throwing moving items around and stuff, and people could make algorithms to deal with that stuff. Works better if theres proper physics.

o3o

One thing I'd suggest looking at is an old Microsoft project called Terrarium. They provided a GUI and an API for creating creatures. You could program how they acted and submit your DLL for simulation. The creatures would feed/breed/die accordingly, and it did at times become quite competitive. Obviously not all will apply to robots, but I recall it as being a nicely designed system that might provide some inspiration. I believe it's available on codeplex now.

This topic is closed to new replies.

Advertisement