This morning I am starting my 2015 7DRL project. The working title is Robot Arena. I thought for sure I would have a better name by now but we will see if something comes while working on it.
My concept is to make a game where you have to provide multiple moves at once and watch them play out. I gravitated toward the robot theme because of the idea of programming your instructions in advance. I have been debating about whether you are competing with other opponents (AI) or just working your way through a dungeon.
I also debated if your opponents program their moves or decide each turn what to do. If I can make it smart enough the first seems preferred. I am also figuring out if there are other mobs in the arena to battle. If that is the case then maybe the answer is both.
I would like to have fun items to use and obstacles to overcome. The other debate is if its more of a race or death match or both. I am leaning toward a race where its possible but not easy to take out opponents.
I had a bunch of notes/ideas I have been collecting working up to the challenge. I will post those below. I know I can't do all of them but it give me some things to draw upon. Last year I had so many more ideas than I had time to implement.
I am using the libgdx framework again this year and working in Java. I started with some code from another project I was experimenting with using a component entity system. I hope that does not limit me too much since I am just learning how thy work. It already has some of the basic tile drawing and moving around the screen bits but not much more. I am planning to use the Oryx lo fi tiles and make some if I need more.
Here is a drawing I did yesterday for the UI:
Here are my notes:
Program your moves 5-9 instructions at a time then executes in turns. Game over when you are destroyed.
The objective is to make it across the map to a finish area. Taking out opponents results in rewards and higher score. There are many special items and resources along the way but you are competing with others for them.
Design objectives: make the player feel the time pressure of the race (food clock of sorts), give them choices about how to get through the race and have a score to measure success. Design around score to make it a potential focus.
Player Choices -
- Go all out and race - it is important that this cannot be a dominant strategy but should be an option
- Objective to finish the race in first
- Objective to take out other players and finish first
- Objective to get highest score
- Score - should reflect taking on additional challenges in the race
Resources - Damage and Battery
Damage system - damage works in the opposite way as health. The more damage you take, the higher the consequences. You can get repair kits to fix damage. Initial thought is to lose instructions but this might be a runaway leader problem if you are racing opposition.
Combat system - players can battle each other and take each other out of the game. Defeating a player earns you battery and maybe a special? Question: do new players get injected or once eliminated are they out? Maybe if its sufficiently difficult to kill them it wont be feasible or easy to get them all so it will balance because you would loose the race to try
Priority system - you have 1 point to allocate per turn in the round. If you don't assign points they are assigned 1 to each instruction. You can allocate more up front and zero later or any way you want. Turns then execute based on priority. First move is randomly picked among the 5 priority, then the 4, the 3 etc.
Map - space station/warehouse theme
There will ideally be multiple paths but the player doesnt know them in advance. Score bonus would be nice for area of map discovered and choosing difficult segments such as narrow bridges. Would be nice to have a variety of generators to create different types of maps - rings, point to point, maze
Game modes can vary? - not sure about this
Normal mode is race to the finish. You earn points for your placement. There could be other modes on different levels like king of the hill, capture the flag, a ball that scores bonus if you cross the finish holding it, key lock (each player finds their matching key)
Moves - 4 way movement
- Move forward
- Turn right
- Turn left
- Fire laser - is this a special or does it use battery?
- Use special
Program all instructions in advance, assign priorities and watch the results.
Map is an arena with many features
- multiple rooms
- Water (puts out fire or sinks)
- Conveyor belts
- Flame spouts
- Warp points
- Stop time and inject code
- Break - stops remaining turns
- Cause players to lose turn
- Gain health by powering down a turn
- Time warp
- Hack - change a players move
- 360 aoe
- Drop bomb
- Drop trap
- Oil slick
- Fire trail
- Smoke screen
- Repair/health wrench
- Items dropped around arena
- Items added between rounds
- Items are one use and you only carry one - mario cart style
- Ways to attract people toward each other
- Scoring system
- More programming the deeper you get - maybe start at 3 commands to learn
- Go with Mars rover theme over arena battle
- Add hacking concepts to fight other robots - virus is DOT, etc
- Announcer to MC the match
- Random mobs
- Predictable patterns
- Are there mobs only, ai players only or both?
- Should mobs have predictable patterns?
- Does conflict give rewards/loot?
- Could this be multiplayer?
- Can you push stuff over cliffs? Would it die?
- Hex, diag or cardinal?
- Can you reasonably predict map elements?
- What is win condition? Number of Levels? Last man standing? Modes? Score?
- Do mobs/opponents program their moves in advance or decide each turn?
- Should i use priority system and should it be tandom among people in a point tier or in a turn order?
- the display could lay out the plans being programmed even if they aren't executed according to plan. Maybe its better not to so its harder to picture. That may be part of the fun.
- Get character running around screen
- Create map with random walls
- Interface for programming turns
- Basic AI that moves around
- Start adding fun elements