I'm James.
I make bigger games with my friends and more compact games on my own.
I’m James, an indie game dev (@cbGameDev). I work on larger-scale projects with my friends, in a company that we built from the ground up and I make more compact games on my own in my spare time.
I spent a couple of weeks making a new game! I wanted to jam something new out for a couple of reasons:
So I picked a simple idea, something I had been wanting to make for a while, that I thought had potential for fun and that I could make quickly, called…
Ultra Ball blends traditional arcade gameplay with a modern feel. Combining elements from classics like Breakout, Pong and Superhexagon to create challenging gameplay that seems simple but quickly gets harder and will keep you on the edge of your seat!
Test your reflexes against the games increasing intensity!
Play for FREE on my itch.io HERE
I had the idea a good few years ago and just hadn’t had a chance to make it yet. Below you can see the initial design that I wrote down. Super simple concept, keep the ball bouncing for as long as possible. Hold the left mouse button to move the top paddle and hold the right mouse button to move the bottom paddle, with obstacles getting in your way to make it more difficult.
However, when I came back to the idea and started actually thinking about making it, I quickly realised that holding a specific mouse button to move a specific paddle was going to make things over-complicated and wasn’t going to feel good. So I decided to deviate from my initial idea. I simplified the mechanic so no mouse clicking was needed. Instead, you only control the paddle in the direction the ball is moving. This created a nice focusing in feeling of attention just in front of the ball (almost how in vampire survivors you are just looking for that next place to move to and don’t have to worry about clicking buttons).
I thought it be interesting to reflect on the progress of making the game. I didn’t track my time rigidly but I think making the game took around 20 hours, which was split across a few weeks. 25-ish hours total if you include stuff outside of the core development: making an itch store page, uploading the game, creating screenshots, a trailer and writing this blogpost about making the game. Below are rough chunks of how I spent my time and the progress I made:
CHUNK 1 : Around 5 hours
Kicking a project off is always exciting so I spent a bigger chunk of time here. I setup the project, starting from the Top-down Default Project Template but it would probably have been better starting off with a completely clean project because I ended up removing pretty much everything, only keeping some of the template meshes. I got a lot done here, my initial goal was to get the core game loop in as soon as possible, to test out if it would actually be fun. So I ended up getting in:
I was very happy with the progress, it’s a simple game mechanic but I was getting that 1 more go feeling from it already.
CHUNK 2 : Around an hour
I got a lot more done here than I was expecting, I wanted to carry on getting the core mechanics in so I focused on the rest of the structure of the game, things like:
In the video, past 20 seconds, you will see how I am now able to change the paddles to be a different shape. This was a good proof of concept for the game.
CHUNK 3 : Around an hour
Next up I wanted to get some music in, to start solidifying the games feel. It took me agggeess to find something that I thought worked which in-turn made me feel like I wasn’t making a lot of progress. I used the Unreal Marketplace to find the music (£5) and also an 8-bit sound effect pack (£7.60). These were the only things I spent money on for the project: Totaling to £12.60. I implemented a simple music-switching system which you can hear in the video above, but ran out of time to implement any new sound effects.
CHUNK 4 & 5 : Around 1 hour total
I got busy in life and so work on Ultra Ball slowed down for a bit. I tried working on it but I only got like 30 min chunks of time to work on it. Which was making it hard to get into the flow of work and make meaningful progress. I did some misc stuff, adding a bit of juice to make the game feel better (paddles tilt when you move, ball scales on bouncing, on level start made the paddles scale in). I also changed the colour of the ball.
Design-wise I was finding it a bit hard to add juice to the game because the gameplay gets so fast. Camera shakes and sounds when the ball bounced seemed cool to start with, but ended up being constant when the ball sped up. So everything had to be very short and tight e.g. the bounce sounds had to have a very quick attack and release.
CHUNK 6 : Around an hour
I was getting a bit annoyed at not making a lot of progress. The juice stuff I was doing was interesting but it felt like I was getting distracted from driving the game towards being finished. So I decided to focus in on what mattered most: the level designs. I felt like if I had the levels designs I would have something to aim towards even if I only had hour chunks of time. Above you can see my sketches of what I thought the levels could be. I first drew down the ideas and then tried to number them in order of difficulty (from the players’ perspective not development difficulty). I felt better about things after creating this plan of action.
CHUNK 7 : Around 4 hours
Things started to come together here. I think this was due to having the level design plan but also because of the longer chunk of time again, allowing me to get more into a flow state. Here I worked on:
CHUNK 8 : Around 4 hours
I got another bigger chunk of time and put it to good use. As I was getting closer to finishing the game I wanted to start tying things up. So I made a pass on the art of the game. Art is by far my weakest area (I’m colourblind), but something I want to practice and improve on in making these little prototypes. I also worked through the last of the level designs and then made up a lock system to allow for actual progression in the game. I then gave things a balancing once over. I had to make some balancing tweaks to levels because some of them were just too hard:
I removed the Switcharoo level because it was so hard (inversed controls)
The spinning triangle obstacle in cooked builds seemed to spin faster than in-editor, making the level impossible, so I had to really slow them down
CHUNK 9, 10 : Around 2 hours total
Now I was on the path to finishing the game. I wanted to playtest the game and then wrap things up. I cooked off a build and gave it to a couple of people to play and get feedback on. They seemed to enjoy the game and I got a handful of bugs to fix, suggestions for opportunities to add more juice and some other general thoughts on the game. I playtested it myself and then acted on the feedback: fixing bugs, adding some more juice and then quickly added a couple of new things to the game:
I could have continued working on the game, adding further levels and more juice, but I got to a point where I felt like I was just drawing out the whole process. The point was to have some fun, practice making games and then move on!
So that was it I called it finished!
CHUNK 11 : Around 5 hours
Did I say finished… well I meant almost finished. One thing I’ve learnt from making my bigger game Freerunners is that the marketing side of it is super important. Although I’m not planning on marketing Ultra Ball fully, there are still some basics that I can do and practice to build up pipelines for marketing any games I make in the future. Funnily enough, this stuff took me much longer than I planned for at almost a fifth of my total development time! Making up gifs and recording footage always take a while and are fiddly but there are also a bunch of little things and steps that I always forget about. Like needing to create a custom thumbnail for the Youtube trailer video. Here is a list of the broad things I did that I will build on for future game:
And the I really was FINISHED!
Below is the quick trailer I made for the game
Bigger chunks of time can help you be creative: I struggled to make meaningful progress when working for an hour or less, bigger chunks of time were more useful for getting into a flow and being creative
Taking breaks from your game can help: 20 hours of development split across several weeks was far better than 20 hours of solid work. It gave me time to passively think about the game in-between and come back with fresh ideas and perspectives
Make a plan: When I felt like I wasn’t making much progress making a plan of action helped a lot. Splitting bigger tasks into more manageable pieces for the time chunks I had available
Always Playtest: Getting people to playtest the game is always useful as people will see things that you are completely blind to
Get the ideas out of your head fast: Some ideas in your head don’t actually work when you try to put them into practice (for example my deviation from the initial idea)
Watch out for ‘Scope Creep’: I started to extend the project, adding more juice and further levels. Luckily I caught myself doing this and forced myself to just finish it. Remembering the goal here is to make lots of tight fun prototypes, not to make full games
Marketing should be part of the process: Uploading and doing some basic marketing (store page, marketing trailer/screen shots) is all part of the progress and I didn’t account for this when I was estimating how long the game was going to take to make. There are so many little bits and like I said further up it ended up being like a fifth of my whole time used (roughly 5 hours). Marketing is one of the areas that I’d like to improve on, so this is something I’ll need to consider when making future prototypes/jams.
I’m happy with how Ultra Ball turned out. I think the game is fun and pretty tight. I can see ways that I could extend it further, but for now I’m content with leaving it as is. I feel more comfortable using Unreal Engine 5 and I am looking forward to prototyping out some other game ideas I’ve had on the backburner!
If you enjoyed this go play ULTRA BALL HERE and let me know what you thought!