BAL SOlid

A relaxing Ball puzzle physic game

Overview

Why Released the game?

I Develop this game within a month (110+ recorded hours), and released this game as a training project for me. Because I always start a lot of personal project, yet none of them made it to users.

I want an experience of releasing a game I designed by myself, and ultimately, I want to see how users will react to my design. Are they gonna have fun, or hate it?

So, why Puzzle game? Well, it is because I develop the game alone.
so I need a simple game that is quite compelling, and of course within my ability to develop.

Tools

  • Unreal Engine 4.24

  • Excel

Link to Store

GAME PILLARs

SImple, Relaxing, yet Engaging


All of the puzzles are not too hard, yet not too easy. Supported by relaxing BGM, and Short playtime between level. Makes this game good for Steam blowing.

BAL Pillar1.mp4

What & When
to do

Knowing What to do and When to do it, is the core element of this Physics puzzle.
Every level is designed with this in mind.

Subtle
Motivation

I actually planned to add motivational quotes after each level. But I realized I am not quite good motivator. So I just left a hidden message subtlety on the game. "Rivalry is not about racing who will reach the Goal first.

It is about how you help each other to reach goal together."

Gameplay mechanics

BAL Fall.mp4

Physics Based

The Main Character (BAL), is moved based on physic by Unreal Engine.

I choose this because puzzle game like this combined with physics system, can create a dynamic experience, sometimes user can get a wow moment when they do the right thing at the right moment. This also to give each player a different way to solve the same problem.

However this is a double edged sword. I also need to make sure that the level are truly complete-able by multiple ways, which increased the development time. This also make the game a looks little bit inconsistent because when user try certain thing, and they try to repeat the action, it might produce different result. However, this thing can simply be "Covered" by making sure that the level has multiple way to solved.

Blocks

These Yellow, Green, Red, and Wind Block are the building block of the puzzles. They are actually just 1 type of object which have a lot of behaviour option toggle, and 1 is enough to create a tenths if not hundreds of levels.

That is why I designed them to be flexible. Just by changing a variable, Those block can behave in totally different ways, creating hundreds if not thousands of possibility on how to use them.

They can be resized, toggled between can be destroyed or not, rotating, moving, generating pushing wind current or even destroy any touching BAL.

For Puzzle game and solo development, this is good approach, since it is minimizing the tech cost, yet has a lot of Design functionality. Not to mention the time I saved on technical implementation part.

BAL Type, Type Switcher, & Zero Gravity Zone.

Introducing these mechanics, prove to be worthy tech time investment. Since I can reuse old levels, and modify them a little to make literally different puzzle. (oh the beauty of puzzle design)

In a puzzle game like this, it is good thing to be able to reused the old level and just need to modify them a bit so they could be a "different Level". Since creating new level is quite costly, in term of time and creative resource.

Design Techniques

Self Explanatory

I want this game to be self explanatory. That is why I design the level in a way so it would guide the player naturally.

And it is proven to be successful, from all of my friends who tried the game, 100% of them understand exactly how to play the game, without further explanation.

Color Code

I choose a specific color for specific object. This will help user in defining, which is which.

For example red is dangerous, as player will learn in level in the picture above, while yellow is breakable.

Also the basket has the same color as the BAL, which will strengthening the connection between basket and BAL. That will lead to user to think BAL has something to do with the basket.

Level Design Progression

When Designing the level, I have 4 key Rules for the level.

  1. Simple(Easy)

  2. Reflex based(Medium-Hard)

  3. Trial and error(Easy-Medium)

  4. Complex combination(Hard-Very Hard).

When I create the level I always make sure to combine and mixed them after each other. So that the player will not get bored by repetitive challenge, and make sure they have proper challenge after a while, also make sure they has rest time after a hard puzzle.

Progression Marker

On a puzzle game like this it is very easy to lose track of our progression after spending some times in the game. So to improve the "Feeling" of progression, I simply add the level indicator.

It is simple yet powerful. Let's say player has spend around an hour in the game. and they saw they've reached level 50. They will feel proud to themselves. Compared it when it didn't have the level indicator? player would confuse and feel just as usual, because they didn't know how far they've progressed.

Sure they could go back to main menu and see their current level, but, why make it harder for the user?

Reward for Player archetype

Rewarding player in a puzzle game is not difficult. Completing the puzzle itself is the primary reward.

However, those are the reward for Explorer type of player, and there are other type of players, the Achiever, Fighter, and Socialist which need to be fulfilled as well. This is why I implemented the achievement system.

The component can be broken down like this.

  1. Achievement list UI, this is to satisfy the needs for Achiever type of people, so they could look at the collection of their achievements.

  2. Achievement notification in steam, this is to satisfy the Fighter and socialist type, since it is automatically shared by steam, they can compete who can finish the game first.

  3. Achievement Icon. I designed the icon in alphabetic and number because Steam has this feature to display achievement. This way, the Achiever type can show off using the unique alphanumeric achievement icon.

As you can see, this system is leaning to Explorer and Achiever type. And yes, it is intended, since I want to target niche market.

Pre-production Process

  1. Defining Game pillars , Core experiences, and User target.

Since this is quite old Idea, bring back to life again, I don't spend much time on exploring the idea. I just needed to write down the concept and pillars, also the core experience I want the user to feel. Also since the idea quite old, I also need to "update" the idea and the core concept.

Also this is the part where I gather a lot of references, as this proven to help me on later stages, as source of inspirations.

Below is the example how I documented this. Since I work on this alone, so I don't mind if the document is not "neat" XD

Falling Ball GDD

2. Mechanics Drafting, Implementation, And Testing.

Since the Core concept is quite simple, I don't bother to write the detail down. As you can see on the sheet above (it is on idea part.) I just write it as simple as that, just to avoid forgetting what I wanted to implement. Actually there are more of them, but when testing, I found that the mechanic didn't match well with the overall concept, so I just deleted the idea.

As a Designer it is good thing not to being superbly attached to your idea. Iteration will make the game better.

Development Process

(Warning, wall of text below, I didn't even try to capture the development process, sorry.)

1. Filter and Filter and Filter!

The first thing I did after I finished all of the base mechanics is to test them. This way I can find flaw, how they interact with each other, and what is fun about them.

Then I use the information I gathered on to refine the mechanics even more.

As a Designer I also love a flexible and easy to edit objects, so that is why I make sure to make all mechanics easy to edit, and flexible.

2. Prototype and Gather feedbacks.

After I felt that the refined mechanics is solid enough. I proceed to create a few levels with the intention of testing them to some of my friends.

I chose only few people that I know like to play puzzle game, to make sure the feedbacks is low of noise.

3. Visual and Audio improvement

Later on, after gathering enough feedbacks (actually the feedback is mostly positive, nothing major on gameplay part, only on the visual part). That is why I decided to improve the Visual a little bit. adding breaking effect, add BG, better color choice, add basic UI, also add "Relaxing" BGM.

4. Vertical Slice and Water test.

After I feel the improvement is good enough. I decided to test the market reaction through Itch.IO.

Result is, only 2 peoples giving me feedbacks. and it is really hard to gain traction. So I decided to gain feedback again from my friends. They gave positive result, and even give me suggestion to start market it in social media. So when the game is released, it already has some traction in market.

5. Pedal to the floor!

Even though I failed on the market test, I still determined to release my game no matter what. So I decided to go full power on production.

On this stage, there are no mechanic changes, and I improved the UI a lot, and the audio also got some improvement.

I created 1-3 levels on workday, and 5-7 levels on holiday. Yes it is tiring, working on a company and working on my own project.
And no, it is legal, since it is allowed in my company to have personal project. (lucky me)

6. Release preparation.

This is the part where I implemented or develop any necessary steam related stuff (SDK implementation, achievement icon, banner, capsule, etc)

7. Final Test

I give some of my friends beta test key to make sure the game is good. This is to make sure that there are no parts that is too hard to progress.

8. Release the Kraken!

Since there are no big trouble in the progression, I finally able to release the game. and I feel proud about it.

Even though the product is counted as bad sales, because the earning is not even cover the steam publishing cost, But I am glad, I got quite positive review, from steam users, and my friends. And that is the most important thing, User experience is delivered as designed.