50:19:20
Another 50 hour week in the can. These are totally exhausting, and I need to stop doing them.
I start and stop my timer whenever I stand up from my desk, so 50 hours translates to something much higher. Probably 70 or so?
The fun pak poked along this week. I got builds out to testers early in the week, and got some great feedback. I also made a new game and started integrating my synth a bit better. Not sure if I am actually going to go with my synth in the end, it all really depends on what the arc of the project is. I did discover that my synth is kinda a processor hog, but hopefully I can work out some solutions to that.
It seems like new games in the current style take about 4-8 hours of development time, but this might change with a newer better art style if I ever get around to that.
I also started in on the overworld for the game. I am pretty happy with this art, and hope that I am able to figure out a way to build out a whole world that looks like this, populated with these little frumpy characters.
Then the bulk of the week was global game jam. I am really happy with what we produced for it. Give it a download and a play if you have 10-15 minutes to spare. It was so nice to work with an artist and have something that looks amazing at the end of the jam. Also working with a writer and voice over person was excellent, and she did a great job with our super vague input.
I was really happy with the new unity tools for audio, if people haven’t checked them out, they really should. It makes it easy to do complicated sets of ducked audio and soundtracks and such. I am sure I didn’t do a perfect job on the mixing, but hopefully good enough.
The inscriber ritual is the one bit of the game that I am sure I am going to revisit, and maybe release as a little iOS separate toy. We will see if I have time or not.
- global game jam 25:23:00
- fun pak 19:50:19
- checking build on iPhone 4 0:38:34
- content - arcade games 4:12:11
- dynamic sound library 4:09:25
- getting the web server running 1:13:00
- overworld 6:10:48
- setting up testflight 3:07:36
- texture packer 0:18:45
- dev log + project management 0:24:24
- contract work 2:09:40
53:05:08
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
35:08:25
This week has been spent largely working on the game engine.
I am not sure that was a good idea.
The week started off really great, with some playtesting. The existing games are small enough that I can make really fast changes based on direct feedback, so sitting down with someone and testing the game with them is just a matter of them saying “hey can you try this thing”, and 15 seconds later, I have a new build that implements that feature. It is great. I even put in a web server so when I have both my device and my dev box on the same network I don’t need to recompile.
Then I had a vision. A grand meta game, where you are walking around this shitty arcade and playing all these different games, and chatting with the owner. There would be a story line to drive you through the different games. And maybe you could go outside the arcade and to the shop down the street, and buy different outfits for your character.
So I started building a new game engine. I don’t really want to do this in unity, I want to keep my games in fast iteration land in lua. Early on at lucky frame, I had my own engine, and it was great, but everything was deeply nested classes, and hard to debug because everything lived in lua land without typechecks. So this week I started building a Entity Component System based engine. And I am doing it in C because I am stubborn and want to learn c better. As far as I can tell, most people don’t make that mistake.
So after a weeks work, I have an image on screen. You can’t see, but it is color cycling thanks to the shader. Great. You can’t play the two games anymore, so technically, I have taken a step back. I hope I can accelerate with this framework and get it out of the way this week so I can start working on the game again. But really, who knows.
- action edit 33:10:11
- dev log + project management 0:17:22
- accounting 1:40:52
23:55:34
Starting to feel really focused here, to the point where I will probably just have just two or three line items listed on future dev logs. I started the week with a project management meeting where I decided it is time to release something and charge for it. Of all the different projects I have been working on, the one that seems most likely to be completed in a reasonable timeframe is the action editor.
So the plan is to make a bunch of micro games, things the scale of flappy bird, wrap them all up in a frame story and sell the whole thing on iOS. I got two games done enough for user testing last week. I also started porting the whole thing to iOS and replacing the sfxr based sound system with something that I enjoy.
Unsurprisingly enough, porting to iOS means that I have to rethink all the controls. I think from here on out, everything is going to be iOS first to make sure the controls are fine. I am going to try to work in such a way that porting back to emscripten is easy enough when the time comes. Hopefully will have something posted for people with iOS to play on their devices by the end of the week.
- action edit 17:25:59
- dev log + project management 1:38:34
- accounting 0:13:21
- terrain gen 1:30:00
- contract work 3:06:01
21:39:06
The bulk of this week was spent working on the action game editor thing. I started making a game in it, and ported one of my old games to it. I had a vague plan about making a game a day with it, but I just don’t think I have the energy for that. One of the issues with it is that I can’t see people being excited about screenshots of games made with it. I hope to have a plan to deal with that this week.
One possible expression that I was thinking about for the sector editor was to make instanced dungeons that would exist in a random gen landscape. I started messing around with rendering tech for the landscape late this week. This is a pretty neat fully gpu rendering thing for heightmaps.
I am starting to look for other ways to make money, because I am getting really worried that I won’t be able to eat from this stuff.
- action edit 10:21:12
- dev log 0:38:46
- accounting 2:11:53
- terrain gen 5:36:17
- other money 0:04:56