Candy Japan has been paused for a while because of the COVID situation, so what have I been doing instead?
Before running the site I had been using the programming language Objective-C to create iOS apps, but since then the Swift language has become the new hotness. I watched the Stanford Swift course, read up on topics of interest from the Swift book and learned SwiftUI basics. However I quickly lost interest after creating a simple test app, and finding how painful it was to edit SwiftUI in XCode. I found the type inference stuff just wasn't working, at least not on my ancient MacBook Pro.
After that I wanted to understand deeper the two games our 5-year old has been into: Minecraft and Roblox. We play these together a lot, so I get curious about how they work and all the opportunities around them.
Making Minecraft tools
For Minecraft I made a little tool that allows you to add QR codes into your realm. I initially wanted to be able to add any image you like, but because of limitations had to settle for QR codes, so the end result didn't end up being too useful.
I thought this project would take maybe two days, but it took two weeks. I needed the 2D version of Kadane's maximum sum subarray algorithm to compress commands to minimize the amount of text that needs to be pasted into the Minecraft console, and to speed it up I also used WASM for the first time, which I had a lot of trouble getting to work reliably.
Creating Roblox games
Roblox has its own IDE for building 3D games and experiences for it. One uses Lua to code them, so I learned that as well, and had success synchronizing music with things happening in 3D using it. Tested it out by putting a small experience out there, which was very enjoyable to create if not to play.
I found writing Lua to be more satisfying than writing Swift, and the whole system for creating games using it and the IDE is pretty brilliant. I also had to learn more Blender to be able to create simple 3D objects to export into the IDE.
Since writing Lua for Roblox was the most enjoyable thing I've found so far, I want to do more of that.
Gamedev has always been my hobby, but normally the only thing I had the energy for was participating in the Ludum Dare 48 hour game development competition. I did try writing a larger Objective-C iOS game before, but as tends to happen with game projects, I burned out after 3 months of work on it and abandoned the project. It was supposed to be a simulator game inspired by Kairosoft's Gamedev Story. Before burning out I got as far as getting my pixel art characters to move around in an isometric environment and pathfinding themselves into position to do stuff.
I'm now trying again a bit more realistically, aiming for a project that is longer than a weekend, but not over three months long such that I wouldn't burn out this time. I'm a month into the project, and I'm at the point where I can see how to end and release it, so I should be OK this time.
Thanks for reading, I'll write another update about the project later on.