I have put my custom engine on the back burner, and switched over to love2d.
Around Wednesday of this week, I realized that my c solution wasn’t good, I was poking in the dark, and I should just grab an off the shelf thing. I picked out entity-x which seemed like a pretty well maintained solution. I hooked it up with all my nice to haves (i.e. a web server that could hot reload lua scripts sent to it), and got down to work. By Friday, I had a new game, and the menu working, and I started trying to get everything ready to send off to testers.
And that is when I discovered some issues with entity-x that I just couldn’t figure out. See entity-x is “modern cpp” which means it is fucking impenetrable. I couldn’t use the debugger to trace code flow, everything went into these strange systems libraries that were unreadable. I spent 5 hours trying to debug some strange menu issues, then I just said fuck it, I am moving on.
In the early days of Lucky Frame, I needed an engine that ran on iOS, and one of my favorite things for developing on desktop was love2d. But love2d didn’t have an iOS target that was supported by the core. So I ended up writing my own version of love2d that worked good enough. We used it for 3 projects until the annoyance of debugging lua code and the lack of easy cross platform compatibility got to me. We switched to Unity. Now, 5 or so years later, love2d has an iOS target that is officially supported. I had initially written it off for this project because I couldn’t figure out how to get my audio engine integrated with it. But on Saturday night I was so frustrated with my thing that I spent the 20 minutes required to actually get my audio engine integrated. Then I spent 5 hours porting over all the work that I have already done to love2d.
So thats where I am at. On the 3rd game engine in as many weeks, hopefully with forward momentum to stop fixing engine bugs and actually work on making the games better. Lets hope this week has more forward progress on the games themselves.
- fun pak 48:20:02
- content - arcade games 4:37:02
- dynamic sound library 1:11:16
- fixing bugs before sending to testers 2:59:06
- getting fonts working in love2d 1:19:04
- getting the lua game runner working again 9:52:42
- getting the web server running 1:39:37
- making the first pass on the main menu 6:03:24
- setting up testflight 2:23:33
- switching over to love2d. I hate myself. 5:22:38
- switching to off the shelf ECS and c++ 5:25:49
- working on ecs 7:25:51
- dev log + project management 0:32:13
- learning gl / imgui 4:00:00
- contract work 0:12:51