Day 1 – Tinkering with ideas
Didn’t manage to code anything. Was still recovering from my GDC trip, used the little energy I had to work in fixes for Ananias instead.
However, managed to tinker a bit around the idea of a generator for a classic cRPG scenario, generate a world using fractals, place some towns, generate some simple quests on each town and had the player complete them to get an artifact on each and win the game. Initial plans were to have this be a kind of sequel to Ananias, leaning more towards a classic cRPG similar to Ultima 4, but reutilizing the engine.
Day 2 – Change of plans, start work on JSBoilerRL
Came back to the office to find a lot of stuff going on so it’s not going to be an easy 7DRL week but when has it been? I’m also working on an update for Ananias at the same time by the way.
Ditched the original idea and instead thought on reviving a very old idea: a fully traditional classic roguelike with a Pokémon theme.
Checked some gameplay videos for the Mystery Dungeon tiles to make sure there’s no overlap. The game will be different, based on the first generation games and with little plot. you’ll be a trainer and you’ll catch pokemon and give them orders to combat in a tactical grid map.
Started work in JSBoilerRL, a template project other people will be able to use to create their roguelikes in JS. It’s powered by unicodetiles.js producing similar output as my 2013 7drl, Rodney. Managed to implement walk in the map with collisions, FOV, memory and enemies moving around.
Was stuck trying to debug an issue with transitions between levels with stairway tiles moving around weirdly.
Next up is fixing the bug and start working in the actual pokemon mechanics.
Day 3 – More change of plans, JSBoilerRL continued
Spent some time designing the game:
- You are a pokemon trainer, your goal is to become a pokemon master by defeating the gym leaders on all 8 gyms and then challenging the elite four and the current pokemon master in the Indigo Plateau.
- In order to do so, you’ll have to travel the land looking for powerful pokemon, capture and train them to become stronger.
- You can have up to 6 pokemon in your team at the same time, you can command them to use their abilities against particular targets.
- You can store your pokemon data in the computer in order to free slots for new pokemon.
- You can use items in pokemon, either wild ones, these in your team or your opponent’s. Items can be bought from pokemarts or found in the map.
- The following items types are available: pokeballs (used to capture pokemon), healing items (recover HP or PP), status recovery items
I realized the scope would be too big for a 7DRL, mainly because of the required data and balancing to make it good. So I changed plans again to the original idea, only using a traditional roguelike UI instead of reutilizing the Ananias engine.
- Randomly generated map with towns and dungeons
- Place a quest on each town which can be one of the following types
- Kill x monsters on a given dungeon
- Find item
- Rescue NPC
- Complete all quests to win the game
- Simple roguelike gameplay, traditional fantasy setting
Listened to almost all the Roguelike Radio podcast made by Jeff and Darren… some pretty good points there not only related to 7DRL but roguelikes and game design in general. Decided to try and make a classic roguelike and then include an unique twist which may be the game being combat-less, with your character being an traveling scholar fixing the world with the pen instead of the sword. Still don’t know how that can be implemented.
Struggled hard to fix the issue with the level transitions on JSBoilerRL… turned out it was caused by myself defining the object attributes as part of the function prototype instead of them being defined for every object instance (d’oh!).
Decided to lay down a plan for the completion of JSBoilerRL so I can start working on the game itself, basically wanted to make sure I’m covered with the basic which leaves the following pending:
- Items: including inventory handling, getting, dropping, wearing, using
- Message box
Managed to advance on item handling and inventory. Still pending dropping, wearing and using items.
By now I’m getting close to Rodney, which makes me wonder… why didn’t I use Rodney as a base in first place? other than having a cleaner codebase there’s no advantage on what I’m doing and instead I’m wasting more dev time… a very non-practical choice
Going to the bed hoping tomorrow I can start working in the actual game.