Talking to one of my co-workers I realized I had a “fun” project to experiment on.
12 years ago I played around with libgdx for making a simple game that could run on Android and iOS. Though - since I didn’t have access to a mac at the time I never got to test building it for iOS.
It was a fun learning experience - but eventually it reached the point where it felt more like work than fun and I’d learned what I wanted to learn…plus a major update to android came out that required some major changes so I left it sit.
That was 12 years ago. A year or two ago it got dumped from the play store for being too outdated, and I’ve just not wanted to put the time into updating it. But…why not see what AI can do - let it do the drudge work I don’t want to.
I fired up claude code on the repo and it was able to give a good summary of what was there and how outdated it was. I asked it if it could update it to the latest version of libgdx and a modern build system and it assured me it could so I let it loose.
It…kind of made a mess It did a bunch of stuff that looked “right” but really wasn’t. The build system wasn’t working and a lot of things just seemed off. So i suggested that it use the new libgdx scaffolding tool to start a new project and move my code into that.
It agreed that was a good plan - but then couldn’t run the scaffolding tool since it was a gui tool. So instead I ran the tool to scaffold a new project (with values suggested by claude) and then had it move my code into that new project.
That actually worked - I now had a modern updated libgdx framework that played nice in android studio with my code working. Great!
Then I asked it to review the code and it suggested a bunch of additional changes to upgrade to newer best practices and libraries.
It worked overall. A lot of it was slower than I felt I could probably do the same changes myself - but some of the bigger changes were probably quicker than I could have done. Hard to say how much actual time it saved overall. It was definitely more fun than doing it myself…if it wasn’t for AI I probably wouldn’t have dusted off the codebase at all and given it a try.
So - another time where working on something with lots of well documented examples out in the wild worked quite well. Not perfectly but better than I expected.
Though - now as I’m getting to the more complex upgrades to the code it’s starting to fumble a lot more. Just had it try to implement Scene2D for screen management/layout and it completely managled most of the screens. The code “works” (i.e. complies and runs) but the resulting displays are a total mess.
Fun couple of hours, not sure it saved me any real time overall but for most of it it was definitely easier than doing the dirty work myself.