Robot v Robot: Design
PREFACE
This is a tribute to both CC and Soldat, going for the fast paced feel of the latter but with the wackiness of the former. It's in development now.
MAPS
Same text-based format as Pocket Skirmish, using the same tech as a starting point.
I'd like to get one really solid demo map down for deathmatch to show off what the game can do. I've got the basic geometry drafted, but it needs more graphical interest, which can happen later with decorations and sceneobjects.
This is a concept image to get some idea of how decor might work. Note that vegetation and the like would be able to be placed close to each other, rotated, tinted etc to breathe some life into the game.
GAMEPLAY
I'd really like to play a mix of CC and soldat, with the fast paced deathmatch feel of the latter with the rts aspects and more interesting goals of the former. So, that's the plan for what I'm making here.
I'll have to playtest it, but I think having two overarching objectives would be a good idea - kill all the enemy units or kill the brain/controller. I'm not sure whether to have the ability to call in orders or not, as it voids the first goal and means games will be a lot longer. Those are both good and bad, so we'll see. I suppose it might come down to time anyway.
Switching actors is very likely a yes. It makes you care less about your actor, sure but it also lets you play the tactics game a lot more.
FACTIONS
The game should have two factions with unique weapons and therefore play style. I might add more factions later, but two factions with a small amount of polished content is a lot better than five with one actor and a handful of botched guns each.
Crash Test Dummies
Garish and loud, they stand out from the backdrop more and use energy based weapons. I think it'd be fun to throw lots of sparks off these guys, so I'm thinking about giving them energy shielding.
Actors
- Light: CTD barebones - A flimsy bot, fast and takes little fall damage.
- Heavy: CTD dreadnought - Four legs and a small jetpack, slow and beefy.
Guns
- CQC: Plasma Spike - Gibs the hell out of stuff, long turnaround.
- Light Arms: Nail SMG - Hot iron inyourface, low velocity rounds.
- Medium: Plasma GL - M79 in the future. Love bub's Dummy GL.
- Heavy: Laser RL - Long reload, shoots a ball that shoots lasers.
Scrapbots
Angry mutes that rely on sneakiness and brutal, if ramshack machinations for victory. Mostly ballistic stuff, with lots of smoke and evil clanking. Maybe some horror elements, maybe not.
Actors
- Light: SB binbot - small and stealthy, hard to pick up if not moving.
- Heavy: SB pocket nuke - slow and vulnerable, explodes upon death.
Guns
- CQC: Saw stick - sustained damage in front of you.
- Light Arms: Shot pistol - Medium turnaround, but powerful at close range.
- Medium: AWP - Sniper win. Slow firing, large accuracy and power. boomheadshot.
- Heavy: Mortar stack - three mortars fired inaccurately.
I want it to be clear that there are no good or bad guys and that it's just robots blowing each other up, but I also want the setting to be zany enough for the player to stay interested.
AI
This is going to be one of the trickier parts of coding the game. I've got basic A* pathfinding down but it's slow with maps this large so I'll probably need to look into quadtrees or something along those lines soon... The AI is also currently absolutely terrible at walljumping, I'll need to spend some time there I think.
The AI for each team will be controlled by their respective brains. When you have the brain unit selected you might even switch to tactical map with overlay mode or something to play the game like an RTS.
I want to be able to set AI modes with relative ease to make coding the brain's automatic behaviours easy enough (as well as coding different enemy strategies so you're not playing against the same opponent each time), but I'm wondering about the best way to implement this. The problem is that each actor will be able to react differently to each situation, so while a more general AI can work for things like movement, having the pocket nuke scrapbot tank run ahead of its teammates and try to gun down enemies at the front line with it's SMGs isn't exactly the most viable solution. I suppose I could customise the AI for each unit and have the brain work with what each unit has rather than trying to force incompatible modes on things (a dummy can walljump up quite a high tunnel quite easily with its jetpack, while a dreadnought might have to find a different way around).
It's something I'm not too sure of at this point, I haven't coded a full scale team deathmatch AI before, and because of the costs of pathfinding it's not like I can throw as many function calls around as I'd like. I might have to implement a less costly pathfinding system in the long run, because sending an actor to go check out a point on the other side of a 170 tile wide map causes a 40ms stutter at the moment, which is crap.