June 2, 2021

Bounty Bros. Update #3: Sound and UI

Bounty Bros Update 3.png Bounty Bros Update 3.png Micro Thumbnail

It's been a couple of months and Bounty Bros. has gotten a new update! This update adds sound support and UI.

Sound

The first update to the game is simple sound playing support. We use this to play music when you walk into different rooms with a fade-in-out effect.

UI

Most of the work in the last couple months was on the UI ( user interface ) integration. We created an integration with the RAUI UI library so that we didn't have to design our own solution from scratch. RAUI allows us to easily support things like animated UI elements, scroll boxes, and layout, which could take a lot of work to implement ourselves.

We also got to contribute to RAUI, adding API documentation and creating the new website to help users get started using RAUI in their own projects. A big shout out to @PsichiX, the author of RAUI, for making the library and for all the help he gave us along the way.

As a demonstration of the UI integration, and as a practical improvement to the game, Bounty Bros. now has a splash screen and a simple settings menu that allows toggling the retro graphics options.

While it was some work to get finished, now that we've gotten the basic UI integration completed, adding all of the UI elements we will need in the future, such as character dialog boxes, player life bar, etc., will be much easier.

Try it Out!

Here's the link for playing the latest demo. You can also play it in the embedded frame below, or download it for Windows or Linux. ( MacOS support is work-in-progress )

Note: Currently the performance in the Firefox browser may be sub-optimal on some devices. In particular, the sound tends to have playback issues. If you have issues using Firefox, Chrome tends to be more performant.

Bevy Retro Updates

Bevy Retro, the Bevy plugin that we used to make Bounty Bros., also got updates to make the new Bounty Bros. features possible:

  • Simple sound playing API
  • RAUI integration
  • Text rendering using BDF fonts
  • Render hooks allowing you to do arbitrarily complex custom rendering using the raw Luminance graphics API

What About Arsenal?

As we focus our efforts on producing an commercial 2D, retro-style game, we are putting Arsenal, our other game engine project, on hold for now.

This does not mean that we intend to cancel Arsenal, though! While we believe that our first game will be a 2D game that will likely not use Arsenal, we still plan on making 3D games some day and Arsenal is the tool that we want to use to do it.

All of the work that has gone into Bevy Retro has also deepend our understanding of Bevy and game programming, and this experience will directly benefit Arsenal development once we are ready.

For now, though, we believe it is crucial for us to work on producing an actual, commercial quality game, and by reducing our scope and limiting the game to 2D, we are helping to ensure our ability to complete a real project.

What's Next?

Next we are going to start working on a damage system, giving the player a life-bar and allowing them to get hurt by things such as cactus. After that, we will hopefully be ready to add enemies that you can fight.

We're very excited with the progress we've been making, and thankful to God all the blessings He has given us as we've worked on this project. Stay tuned for more updates, and praise the Lord!