New engine progress update


Hello!

Thanks for checking out the Lymynal Labrynthe demo I recently released. This demo was the culmination of a school project that I am now picking back up. I am presently rebuilding the engine to fix some deep issues that received band-aid fixes to get the demo up and running. Here’s some info about all that!

Level Editor

The first big change is coming in the form of how levels are created and stored. Originally, I was using a character-based csv scheme. This worked well at first, but with later additions to the game of moving obstacles, moving enemies, conditional appearance of items, and stage warping, it became clear that the level format was not nearly expressive enough. This led to the hard-coding of instances of most special items. This is clearly not ideal.

Now, levels are stored in a modular format that allows any amount of information to be appended to any tile. This approach will be able to support many additional gameplay features not present in the original demo and should allow for a great deal of flexibility for new gameplay concepts. This format was created in tandem with the editor I am using to create levels now. There also is no translation needed between the level format and either the editor or engine before the data can be parsed, even with the editor using a completely separate implementation of the tiles from the engine. I’m pretty stoked on this! There are a few QoL features I still want to implement in the editor, but it is fully functional and already in use. Once the engine is complete, it will be implemented in the editor for in-editor playtesting.

Engine

Development of a new engine for Lymynal Labrynthe is underway, as stated above. I am still using pygame as my graphics framework, but little has been carried over directly from the original. As of right now, level rendering is fully implemented as well as my physics engine and basic environmental collision.

The physics engine remains largely unchanged in feel, though there are some distinctions. Outside of very small adjustments, the main change is that friction has a much stronger effect. My original design idea with the movement was to design movement that felt good in open spaces and then restrict the majority of player movement to tight corridors. This was rooted in the concept of restraint being an interaction mechanic, ideally leading to precise inputs. I still find this compelling, however it was a bit difficult to control, unfortunately. I added momentum cancelling to fix this with the demo release, but I have since decided to just reduce the amount of sliding and player momentum. Controls are now much tighter and more precise without compromising on the feel of the movement itself. Collision detection with hazards is going to be implemented with masks to also aid in reducing unnecessary player deaths.

TL;DR

There is now a level editor, it’s pretty nice! Level mapping format has been completely redesigned to be modular, flexible, and expressive. The new engine currently supports stage loading, rendering, player physics, enemy and tile movement, and player/environment collision

Thank you for reading and checking out Lymynal Labrynthe. <3

Get Lymynal Labrynth (alpha)

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.