7DRL Postmortem and Updates


7DRL Thoughts

The 7DRL has been over for a few days now, and I'm starting to come down from the highs of finishing and the exhaustion of the effort involved. I'm incredibly proud of what I managed to produce with Cartomancer, and I think I learned a few things along the way.

Pros

Pre-planning - I did two main pieces of preparation in the run up to 7DRL this time around:

  1. A game design document to work my way through the core mechanics and concepts of the game. This was really helpful because it meant I knew what I was aiming to make in advance, rather than figuring it out as I went.
  2. Visual design of the UI. Knowing how big the cards and the UI needed to be made implementing a visually pleasing game a lot easier. I did some sprite-based experiments here as well.

Staged Milestones - I set out goals for the week so that throughout the development, I'd always have access to a polished and releasable build, even if it wasn't feature complete. This approach let to a more focused experience where everything implemented made sense and contributed to the overall game. There was very few wasted pieces as a result.

Streaming - I put a little extra pressure on myself by streaming a large portion of the overall experience of the jam live on Twitch with archives on Youtube). I found that being on stream was very good for my focus, but after the second day, I started to impose some time limits so that I took regular breaks for food, drink and movement. I think my upper limit for continuous development is between 2 and 3 hours. Coming to the end of a timeblock also provided some structured deadlines for implementation.

Good tech/tools - I was very happy with my tools this time around. 

  • Cartomancer is built using DOME (and my new Parcel framework). 
    • I found the Parcel to be very easy to work with and build on top of, and almost everything I introduced felt like it had a place within the system, rather than being hacked in. I did have to make a couple of bug fixes here and there, but overall I think it is a good framework I will be using again.
    • I was surprised that, apart from a small modification to DOME I made before the jam started, I didn't have to add any extra features to the engine at all. It's definitely reaching a level of maturity and usefulness. It has also been very reliable with respect to distribution. No one's had trouble accessing or running the game so far.
  • I produced the art assets using Aseprite. I think that my pixel art and animation skills improved throughout the jam as well. I'd love to integrate the ASEPRITE file format into DOME a bit better, but I think more work (and maybe a plugin) is required to achieve that.

Time - I was in the privileged position where I could take a couple of days out of my working week to focus on the 7DRL, as well as an uninterrupted weekend, which hugely contributed to the progress made on the game. I don't think I could have hit this level of scope during an ordinary week. This is something I will need to be careful of in future 7DRLs.

Cons

Game Design Gaps - A lot of the game's design was nailed down early, but I didn't have much opportunity to test it. There were also a couple of things I didn't conceive of beforehand, including a half-baked mana system, which proved to be detrimental to the game design, as well as considering the full variety of content I'd try to create for the game.

Roguelike-ness - I think the game generally is quite roguelike in style, but a rather fundamental difference in my view is that the goal in Cartomancer is to defeat every enemy: This isn't common in roguelikes, where combat is best avoided due to the danger. I'd like to find a different goal for the player in future updates.

Poor telegraphing of effects - Anyone playing the game at the moment will know that the Thunder Clouds are vicious enemies, because they strike at a distance, and a single unprepared hit can kill. This can be very very harsh if you aren't sure how to deal with them, and it's quite a feel-bad moment. It may be nice to have some kind of telegraphing, or other indicators of the behaviour for ranged enemies, so that it is clear what their threat range is.

Bad tutorial - I'm sure a lot of 7DRLs suffer from this, but there's quite a lot of mechanics to teach the player, and very few are going to read the hastily put-together list of controls and instructions, and this might lead to a lot of confusion about what cards do. A few more on-screen prompts about available actions and controls would go a long way to improving this.

Wasted Time - I was pretty efficient with my time during the jam, so I mostly only implemented the systems I actually needed to use. There was one time sink though: Auto-tiling. I started the jam with a tileset of my own design for the rooms (you can see it in early screenshots), but when I started moving to procedurally generated rooms, I couldn't get the system for picking which tile to show to be consistent and correct. In the end, I abandoned the system so that I could move on, affecting the aesthetics to some degree. I do like the auto-tile system I have implemented now (based on this article). The only downside is that I'd need to go through and define all the rules myself, as well as make sure I provide the correct tiles for each, and in the middle of a jam it would have taken too long.

Latest Updates

I've tried to limit the updates I've made to the game since the jam ended so I can decompress a bit, and come back to it with fresh eyes. I did make a couple of adjustments and additions though, in response to some feedback from streamers:

  • Removed the mana system. It was poorly implemented and integrated into the rest of the mechanics. It would only matter at the very start of the game, and then basically never. I also didn't have time to create indicators to show when the lack of mana was a problem, so it could lead to confusion.
  • Added an SPI stat, because it seemed strange that effects like "shadow" could affect the power of one's FIreball or Thunder abilities.  This means that ATK is now for physical (melee) attacks, leaving SPI as the primary stat for magical ones. There's currently no way to modify this stat though.
  • Added some better feedback to distinguish between different attack results. Attacks are either "Successful" (achieving at least 1 point of damage), "Blocked" (Doing 0 damage due to the DEF of the target) or "Inert" (because the attacker currently has an ATK of 0). The blocked and inert effects now have their own animations to signify this to the player as well.
  • Built a system so that all entities can move smoothly, rather than just the player.


The Future

I'd love to continue working on Cartomancer, if there is an audience interested in it. Time will tell after the 7DRL judging. This is the most comprehensive roguelike I have made to date, but I'm not sure I've quite hit the level of depth some may expect.

However, I'm very fond of the codebase, so I will be taking many of its systems to use in Parcel (or an external base library) for future 7DRL challenges and other jams.

Make sure to give me a follow on ItchTwitch and Twitterto keep up with all future developments!

Be safe out there, on your mystic adventure.

Get Cartomancer

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.