You've been selected for a chance to get one year of subscription to use Wikipedia for free!
It's been a long time since our last update. I've been busy with life and other development projects, but I've found some time recently to come back to work on games.
Here's what I've been working on in the last couple months!
Recently I've been contributing to the Open Source FishFight game, a tactical pixel-style 2D shooter. A few things I've worked on include:
It's been a fun project to work on and I get to help other Rust game developers while also learning and picking up on strategies that others are using to make games.
A couple weeks ago I finished the first phase of a tool called NESImg that is made to help you design levels for the old Nintendo NES / Famicom game console.
This project was an experiment and a learning exercise. On both fronts the project went very well:
I'm not sure what the future of NESImg is. It may simply end up a demonstration of an Egui UI, or it may turn into a useful tool for making actual NES games. For now, I think my time will shift towards other projects, but whatever the future of NESImg, it resulted in meaningful contributions to the Egui project, and resulted in a productive direction change for UI in Bevy Retrograde.
Bevy Retrograde is a Bevy plugin for making 2D games, and just yesterday I finished merging a big update. It's been 1 year since we at Katharos Technology decided we wanted migrate Bevy Retro to use Bevy's renderer, and finally we did it!
Since I last worked on Bevy Retro, Bevy has gotten two big releases out, the first of which included the long-awaited Bevy rendering refactor. Now that the new renderer was stable, and it had web support out-of-the-box, it was time to make the switch.
This meant a complete overhaul of Bevy Retro, and interestingly, most of Bevy Retro disappeared. 👀
By using Bevy's renderer, we no longer needed a big chunk of Bevy Retro. While I was removing that, I did a quick look around and found that there was a great LDtk map loader plugin for Bevy now, too. That was another thing we no longer needed to do ourselves. And after my work on NESImg, I decided that I like Egui more than the RAUI UI we used to use, and there was already an Egui plugin for Bevy, so I could take that out too! Finally, I removed our custom audio crate and used yet another community Bevy plugin instead.
So what did that leave us with? Despite finding out most of Bevy Retro didn't need to be there anymore, it still serves the following purposes:
Also, writing less myself and depending more on the Bevy community gives me less maintenance work and splits the load between more people, so I don't at all mind that Bevy Retro shrunk. That gives me more time to write what other people aren't already writing.
I haven't published a new release of Bevy Retrograde just yet, because the new map renderer we are using needed a fix to avoid some rendering glitches on web. I opened a PR to fix it, which got merged, and now we've got to wait for the next release of bevy_ecs_tilemap
.
You can still use Bevy Retro though a Git dependency, though, and it doesn't stop us from continuing development.
Today I started working on porting the Bounty Bros. game to use the new Bevy Retro. Since almost everything in Bevy Retro changed there's a lot of re-writing, but Bounty Bros. is a super small game so far, and the migration is going quickly.
All of the code is public on GitHub in the Skip'n Go repository. For now Skip'n Go is effectively just the Bounty Bros. code without the Bounty Bros. artwork, but eventually it may grow into an easy-to-use game engine for 2D games. We've got to make a game first to see what goes into it, and then we we will better understand how to make it easier for people to make their own games.
If you like the work I'm doing, you can sponsor me on GitHub Sponsors. Any little amount helps! Sponsorship will go towards my contributions to Open Source and development of source available tooling and games.
Hopefully I'll have more updates soon!