u/TheOneExpert

▲ 76 r/gameenginedevs+1 crossposts

Mischief, an Opinionated Haskell ECS Game Engine.

So.. I've just released the first version of Mischief, my open-source ECS Game Engine written fully in Haskell.

I've been working almost exclusively on it for the last few months, and I'm proud of the what it ended up being. It was a great experience as my first big Haskell project.

It's meant to be a balanced combination of data-driven game design and functional programming.

If you want to check it out, here's the hackage page. It comes with its own little book written in Haddock, Learn You an ECS for Great Mischief. I recommend checking out the Startup Guide in particular as it contains many small code snippets and a fully working app.

Edit: AI Disclaimer
Since a few people expressed their worries about this, and I suppose it's understandable given the scale of this project and its documentation: No. Absolutely no LLM / AI-assistance was used in making this.

I am personally very much against the use of these tools and would never use them myself, especially for a passion project such as this. Every single line of code and documentation you see was written by me.

reddit.com
u/TheOneExpert — 9 days ago
▲ 35 r/bevy

Firefly (2d Lighting) 0.18.2 Out Now! Render Layers & Multiple Lightmaps.

Here with a new showcase for the new firefly version! This one introduces support for multiple cameras, render layers for lights and occluders, as well as a new handy `CombineLightmapTo` relationship to combine multiple lightmaps into a main one in various ways.

One example of this is the new FOV example, which spawns two cameras, one rendering the two large 'visibility' lights, and the other one rendering the red and blue lights. The lightmap from the visibility camera is multiplied over the other lightmap, creating a field-of-view effect.

You can also notice that the central line occluder blocks lights on both layers, while the smaller squares to the sides only block the red and blue lights.

Also, each camera / lightmap can have its own indepedent settings, such as hdr or soft shadows, which I find pretty fun to play around with. And they can also be set to e.g. add over each other instead of multiply.

Another notable addition are the custom lightmap sizes which can be used to achieve a stylized pixelated effect or to significantly improve performance at a pretty low quality cost.

You can see all changes in the release notes.

Follow the bevy discord thread for more updates and questions!

And here is the repo.

u/TheOneExpert — 3 months ago