A character in a platformer videogame jumping to an orange platform while balls are being shot around

Do you have what it takes to scale the insufferable Ball World? Download below!

Windows Ubuntu

Be prepared to be knocked off a lot by random 120mph speedballs.

For Windows, redistributable libraries are included along with the game in the Engine/Extras/Redist/en-us folder in case you need them. For Ubuntu, you will need to install Vulkan drivers on your own. The Ubuntu version is built for Ubuntu 24.04. You're on your own for any other Ubuntu version or Linux distribution.

This would have been a game that would have been submitted to the Patch Notes September 2025 Game Jam on itch.io, but I missed the submission deadline. Originally this was supposed to be a team effort, but the team failed to assemble, and I didn't plan well enough for that. But with half a game made as the deadline came and went, this lone desperado decided to finish it anyway.

I finished up the game last week actually, but I just got around to writing about it. Better late than never I guess.

If you're curious what the Patch Notes Game Jam is about, here's the description from the link above:

What is Patch Notes?
Patch Notes is our first official Indieformer Jam — a three-day sprint to make something unexpected. Not perfect. Not polished. Just playable. Maybe.This jam is for devs who colour outside the lines. The ones who chase cursed mechanics, poke broken systems, and build beautiful messes. It’s a celebration of the unfinished, the unstable, the almosts—because that’s where the good stuff usually hides.

And the theme of the game jam was revealed as the following:

The Theme: The Error Is the Feature

What happens when you stop fixing the bug... and start building around it?
This theme invites you to embrace the chaos — to take the cracks in your code, the quirks in your logic, and the accidents in your art, and turn them into the *point*. Whether it’s a UI that won’t sit still, a control scheme that makes no sense, or a mechanic that was never meant to exist, this is your chance to lean in.

Games built under this theme should make you wonder: was this broken on purpose? (And if not... does it matter?)

The glitch isn't the obstacle — it's the playground.

So on the Friday that the theme of the game jam was revealed, we were discussing what kind of game we wanted to make to fit the theme of the game jam. I didn't have any bugs in mind, and I don't normally try to purposely put bugs in my code (the ones I do put however are just there to test if my coworkers and bosses are paying attention obviously), so I decided to just start making a game and see where it went.

The game engine we planned on using was Unreal Engine, because the team that invited me is mostly made up of game developers who use it professionally. So it made the most sense to use it. I've never used it before, but I'm always excited to try out new things.

I started out with the first person template in Unreal Engine, and we were originally thinking of making a shooter game. I was getting familiar with the blueprint system, and I made a starter projectile shooting system. Then I accidentally made it so when you held down the left click button, you shoot infinite balls out in front of you as fast as the game engine can handle. And there I decided that this was the bug that was going to be the feature: Balls everywhere. Balls as far as the eye can see.

I pivoted from the original shooter that we were planning on making, over to a third person platformer, and made a cannon blueprint based off the ball shooting blueprint I had already made. I gave it some configurable variables to add some variance in the shooting as well. Configurable anywhere from a ball fountain that spits out a few balls every second in all directions, to precision laser beam cannon that will fling you across the universe if you cross it's path.

two ball cannons, one shooting balls sporadically, the other shooting a lot of balls in a near perfect arc

Then I made all the basic things you'd expect in a platformer game: Stationary platforms, moving platforms, and spinning platforms. What less could you ask for in a platformer?

I needed a character too — because I didn't want to just use the default Unreal robot character — so I followed a Blender low poly tutorial and whipped this freaky baby thing up. I also diverged from that tutorial a bit by enabling shade smooth and adding a subdivision surface modifier to the model, because I liked the look better.

The bald main character of the game dressed in a blue jumpsuit

I also needed a bit of sound. It would have been rather lame jumping in complete silence. But I also didn't feel like doing too much. So I settled on just making a soundtrack. For that I downloaded Ardour, a free and open source digital audio workstation (DAW) for Linux, and made my first ever bit of music digitally. Just a drum beat and a bass track. It's not much, but it adds a little more character to the game.

A screenshot of the music project in Ardour

I then finished it off with a main menu, a settings menu, and an ending that I won't spoil (you're not missing much). I think it's especially important to have a settings menu in all your games — even for the tiniest games — if you're going to have first/third person mouse movement and sound.

First must-have with the mouse movement: Not everyone is going to have the same mouse sensitivity as you, therefore you should really have a mouse sensitivity slider. I've played a few indie game where the developers must have made it with some wacky extremely high/low sensitivity mouse setting, so I had to go into my computer settings and offset it to make the game playable. 

Second must-have with the sound: You really should have an option to turn down the music and sound effects separately if you have them. In this game I have music but no sound effects. But I could understand if you start to get really annoyed with this 45 second music loop, and you don't want to go hunting around in your sound mixer to specifically turn down my game volume. Maybe you're calling with friends, playing my game, and can't turn down the master volume. I don't know. So there's the option conveniently for you.

When I had my first victim test out the game, I noticed that she was having trouble with depth perception. As in, having trouble figuring out if she was over a platform after jumping or not. Which is understandable because we don't have two eyes with which to do depth perception when playing a game on computer monitor. So what I did was position the world sun directly over head so that shadows are cast directly down. It also looks cooler seeing the shadows from the rest of the obstacles above.

There's a bunch of stuff that could be improved upon in this game. But I'm sick of working with Unreal Engine on Linux, and I also just want to move on to other things. Maybe new game jams that I can submit to on time? Who knows! You'll just have to wait and find out!