Broughlike Base Engine - Development Log #1

I'm working on a basic engine that I plan to use for future games.
For lack of a better word, the type of game is "broughlike", which is a kind of roguelike experience as envisioned by game designer Michael Brough. I wish there were better terms as even "roguelike" seems a little vague to me.

Therefor I'd like to describe it as "compact randomized turn-based grid-based adventure game with various powers that lead to emergent situations"...

The first of those future games will be a sequel to "Seven Scrolls".

The system is made with Kotlin Multiplatform Mobile, as mentioned in my previous post. It took some time to get basic loading and drawing of images working on both iOS and Android, but now that I'm past that, the basics of the game engine are fairly straight-forward.

In this type of game, a lot of things can happen during a single turn. For example, you could trigger a spell to be cast, which then causes an effect on the stage, which triggers yet another spell. All this is calculated in a single frame, but needs to be shown to the player step by step, otherwise you wouldn't know what is going on.
To make this somewhat easy to work with I've implemented an "Animator" class, which simply plays off animations in order, or simultaneously if that's what I want. Seven Scrolls used a similar system, but it was a bit hard to manage in the Game Maker Studio environment. The most common animations are simply to translate the position of images, but there are many different kinds. For example, sounds also need to be played at the right moments, so they are played by creating a "SoundAnimation" class instance.

I've also implemented pathfinding (simple Dijkstra algorithm, which should be fine for small grids of at most 7 by 7), and I may do a post on enemy movement in the future.

Please note that all of the visuals are unfinished. I just like to have something there to set the tone and inspire me.



Comments

Post a Comment