Day 8 - Complete!
Well, it is finally done! For those of you wondering how I got 8 days in a 7-day challenge, days 1 and 8 are half-days each, since I didn't start coding at midnight. :-)
It took me ages to try and figure out how to fix the AI. I eventually made it brute-force its way through all possible combinations of its available instructions to find the best one, but that still didn't fix it. Eventually I figured out that it was related to the code that I was using to forecast where the robot would go, so I went ahead and added in a player visual of the current instructions, using the same forecasting logic. I wish that I had done that to start with, because that made it really obvious where the problem was - it wasn't handling turns correctly! As soon as I fixed that, the AI got rather dangerously smart.
Once I finished that, I moved on to adding some code to let you pick which level you wanted to enter, then added a bunch of extra levels. Each level is in a data file, so anyone downloading the game can add their own levels without having to touch the source code. I also added the ability to configure a message at the start of each level, which I used to create a series of tutorial levels to introduce people to the game.
At the very end, with less than half an hour left, my wife convinced me to add in pits for the robots to push each other into. I didn't have time to add in a full level with the pits in it, just a tutorial level, but that's something people can configure for themselves if they like. I was able to leverage some of the old code from when this was a more traditional roguelike to handling killing off of robots, so it was surprisingly easy.
I'm really pleased that I got in all the features that I had identified for the core game, as well as a couple of the stretch goals. I still have a number of ideas for the future, which I may or may not get to reasonably soon:
- Robots firing lasers at each other, including health reduction (which should reduce the number of instructions you get in a turn, and potentially "lock" instructions in place so they can't be updated next turn)
- New board elements:
- Fast conveyors, which move twice in a round
- Rotators, which rotate robots without moving them
- Curved conveyor belts, which rotate robots when the robot is pushed onto them
- Repair zones to regain health
- Mirrors to reflect lasers in different directions
- Laser splitters to split lasers into multiple directions at once
- Laser turrets to fire at the robots
- Crates to push around and get in the way (and maybe explode when badly damaged)
- Robot respawning after death (for a limited number of times)
- An option for the user to push a key and see an animated preview of their turn, rather than just the static preview
- A requirement to reach more than one flag to win
- Hotseat Multiplayer - play against a friend
Files
Get Robot Racers RL
Robot Racers RL
Inspired by a classic board game, you program a robot to race other robots through a crowded factory floor.
Status | In development |
Author | Balmonec |
Genre | Puzzle |
Tags | Seven Day Roguelike Challenge, 7drl-2020, Roguelike |
More posts
- Rotaters, Crates, and Fast ConveyorsJun 11, 2020
- Minor TweaksJun 11, 2020
- New Level - Deadly HoneypotMay 15, 2020
- Bugfixes and Minor TweaksMay 04, 2020
- Day 7 - Win conditions and AIMar 06, 2020
- Day 6 - Movement and Conveyor BeltsMar 05, 2020
- Day 5 - Instructional UnderpinningsMar 04, 2020
- Day 4 - Initial Instruction ChoiceMar 03, 2020
- Day 3 - UI MockupMar 02, 2020
Leave a comment
Log in with itch.io to leave a comment.