Hey guys, I took some time off last week to enjoy Easter with my family. I also didn’t have enough content since I worked a bit more on the puzzle system. So without further ado, let’s get into this week’s devlog.

TL;DR

  • I worked on enemies in the overworld; ships that sail towards you if you get too close
  • I dusted off some of the enemy code and simplified it
  • Made some plans to expand the game outside of PICO8
  • I got vacation, so I can work more on the game for the next 3 weeks

Combat encounters and how they happen

Unlike all of the other calmer and more puzzle-like adventures in the last few instalments of the devlog, the ones that I’ve worked on this week are little bit more hectic for the player: combat.

In Clarice Clairvoyage, you encounter enemies on the seas and fight them with your deck of spells. This is the only part of the gameplay that happens in real time and where the combining of spells needs to happen quickly, or you might not make it! In order for the combat to have a real place in the game, I’ve decided to represent combat not with an island, but with other ships instead!

The GIF above is an early test version, but basically the ships work by following a set path around an island. When the player approaches these islands or ships and enters the red circle, the ship will start following the player instead. With the use of correct spells, you can circumvent these ships or outrun them. Just get on to finding the proper combination!

With an updated render call to make the ships point towards their target, they already feel much more alive!

Encounters with enemies

As soon as one of these ships gets really close, you can expect to be boarded. But boarded by what? Or by who? That’s the job of the encounter generator. I basically made a list of all of the enemies available in the game, and gave them a score. When starting an encounter, I have a simple “enemy budget” that determines the difficulty of the upcoming fight. For now, a higher budget means more difficult enemies or simply more of them.

Another problem I keep running into is the amount of tokens I’m allowed to use, so making the enemy code smaller and better is a priority now. This is why I decided to remake most of the enemies that I made in the past, although their behaviour and looks don’t change: a lot has changed under the hood to make it more simple and less verbose in code.

Once they’re boarded, it’s either you or them, so prepare to stack some spells and let them know what it’s like to fight against a wizard apprentice! It was really fun to see the mermaid work again; I didn’t expect it to work as good as it does after a quick simplification. The enemy code is still one of the biggest and chunkiest parts of the code, so I might need to a whole lot more of simplification to make it work.

Modding PICO8 into something bigger

Okay, so I’ve talked a lot in the devlog about building a game within the constraints of PICO8. Honestly, it’s been very fun and a little overly ambitious thus far. Clarice Clairvoyage is a game that works with several somewhat complex systems that are hard to keep under 8192 tokens of code. This is why I’ve decided to continue the actual full game development of Clarice Clairvoyage in PicoLove, a Love2D implementation of PICO8. This means that I get to keep working in the same APIs and aesthetic as PICO8, but take a lot more liberties when it comes to the programming of the game.

I won’t do this yet, as my goal is still to make the demo of the game fit in these 8192 tokens. Instead, the additional content that the systems need (like additional spells, stories, enemies etc.) are being added in the “full” game later on. This basically means modding the PICO8 fantasy console to have a little bit more RAM and ROM. I pray that the PICO8 purists forgive me!

Vacation

I got three weeks off from my regular day job! This means that for the next three weeks I’ll be able to dedicate a lot more time to development of the game. Like I said in my last post, I’m trying to have a playable demo ready somewhere mid April, so that goal is still in place. I’ll be posting the same amount (once a week), however it will likely just either have more content, or more condensed content.

Thank you for reading! ~ Bram


Bram Dingelstad

Hey there! My name is Bram Dingelstad and I'm an indiedev. I write articles sometimes.

If you'd like to stay up to date for a new post, or see smaller updates of games I'm working on, follow me on Twitter!