3 months of a lot of work with not a lot to show for it...


There's been a lot of work on this since the last version, essentially completely re-written.

I started by making a particle editor as they will need to be used heavily and I needed to learn how they work, that project can be seen at https://eudaimyst.itch.io/solar-2d-particle-designer

The idea was for the menu system there to be re-used for a map editor, so then I wrote a better map generation framework which allows for different map generation functions which will be used for different types of levels.

Map generator scene

These params actually work! Integral to helping design a good size/layout for the first level.


Then I started on a level editor for when the map generation is complete but decided that the camera system for that should just be used for the game, so started to write a new game framework which is much more extensible than the previous versions. Currently the level is designed in such a way that the character starts in the middle room of one edge, and will need to work their way to one of the opposite corners, while the adjacent corner will have a treasure room with a different boss.

The camera was extremely non-performant in my last version as I just stored map tiles by index which made accessing it very difficult and led to a lot of bugs. As they are now indexed by columns it makes things like calculating map based collision and hiding the display objects for the tiles which are off-screen much easier.

I also wanted to make a class-based entity system, which is not native to LUA but I think it's important not to re-write code that is for example shared between the character and enemies. Now everything is an entity, which game objects extend (the crates seen here) which puppets extend (controllable entities) which character and enemies extend. This has allowed me to for example make a light emitter module which can attach itself to any entity, and will be destroyed when the entity is, does not update when the entity is off-screen, etc...

entity game object structure

Hooray for structure...

An example of such is the window decals which are generated by this map generation function at the edges of the map (decals also extend entity, but are not game objects as they do not need to move nor have collision.) It made it extremely easy to also add lights to the projectiles.

Speaking of projectiles I have added an extendable attack and spell framework and while there is not much more than projectiles and distance-animation based attacks so far, the next steps can be seen  with a different attack animation for a different kind of spell (not yet written.) Also the spells now have a windup phase and you can see a windup spell emitter which is neat as the colour can be changed when casting spells of a different element (which will be a key component of the game.)

Spell/Attack params

This is what the current attack/spell parameters look like


I'm on the road to the first "playable" release which I think at this point will be the first level, planned with 4 enemies, 2 boss rooms, and introducing the spell crafting mechanic which will be the "killer" feature of the game. Most of the foundational features are implemented and just need to be extended. I feel now I have a somewhat solid foundation, unlike the last version which was a very big mess.

The map generation function has one bug where sometimes walls can intersect other rooms as I'm not checking bounds correctly, only in the direction of expansion. And there is some lighting bugs with walls, and sometimes some tiles are not updating lighting correctly (when getting added to the screen. But I think they're minor

The lighting on the crates is  not implemented so not really a bug. Oh also, don't try to zoom and still play, that's not fully implemented (but still cool that it works, so many tiles!)

As far as major work, some A* and a menu for options, exiting, and all the interface that go along with it are on the cards soon.

Files

Sanctum-of-the-Sorcerer_0_0_1.zip 12 MB
Sep 20, 2023

Get Sanctum of the Sorcerer

Leave a comment

Log in with itch.io to leave a comment.