Following up from HoverECS https://mastodon.gamedev.place/web/@sirdimples/107512089787273464 I wanted to port the ECS I developed there to C#/MonoGame.
I ran into issues immediately due to type strictness compared to lua's all-things-are-tables way. Forcing Components to become structs/classes throws the quick prototyping feel I got in HoverECS out the window.
Since I haven't used C# for a while I didn't trust that I can get something quick up and running while juggling Generics and typed components and systems.. 🤔
I dub thee Hover# 😎
I won't continue to try porting my ECS to C#. A quick search and I was going through awesome-monogame list https://github.com/aloisdeniel/awesome-monogame
MonoGame.Extended immediately caught my eyes, not only does it include a clean ECS implementation superior to mine, but it also has a bunch of stuff I will eventually want: tweening, tiled, particles, sprite animations, etc.. so in it goes!
However it became immediately obvious how verbose the ECS thing is in C#.. everything is a class 🤒
In the past, whenever I'm in trouble I throw Python at it. I wish I could do the same with real world trouble as well..
So I wrote a thing.py that generates the components and systems fluff for me, example running this:
`./ecstool.py create usystem UAnimSprites +CAnimSpr +CPos *CObj *CDir -CIsoSpr`
generates ./Systems/UAnimSprites.cs that looks like this: https://pastebin.com/pjbszUeT
Here's how ecstool.py looks at this moment: https://pastebin.com/yymHH8B1
In Hover# today, thought it would be cool if I have a tool to draw boxes around sprites in my sprite sheets and assign custom properties to them then export all to json or something.. what would be the fastest dumbest way to do this?
I could write it in monogame too with imgui in the mixer.
But guis are overrated, so keyboard shortcuts only?
or just throw python at this too!
then an evil idea occured to me.. why not use Godot to build my monogame tools? 😎😅
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!