I am postponing development of Shatter Ball. I had a hard time finding time to work on it because of college initially. If I were to continue Shatter Ball, I would prefer start from scratch, changing the mechanics of the game to better suit a PC or Console experience.
New Main Menu
Since it is nearing the end of the semester, I have a lot of schoolwork and studying to do. To lighten the load, I will be mostly working on the new main menu, level selection, and a saving system. The new main menu looks much cleaner and functions as you would expect.
There are currently 5 five buttons on the main screen. Some of these may change, but Adventure, Settings, and Credits will most likely stay.
You can interact with the ball on the screen by dragging over it in the direction you want it to turn.
All buttons swipe to a new screen. The credits screen is currently the only one with content.
Adventure will eventually take the player to a world selection screen. Selecting a world will then take the player to a screen allowing them to select a level from that world.
Training may end up being implemented in Adventure mode as the first world.
Feats will be a screen showing various accomplishments in the game.
Here is a video showing off the new main menu:
Menu Concept, Charge Cubes, Test Level, and Charge States
It’s been a while since the last post, a number of changes have been made to Shatter Ball since. There are now three different states of the ball:
Drained state: The ball moves slowly and can not launch midair.
Charged state: The ball moves faster and can deplete the charge to launch one time midair.
Supercharged state: the ball moves at top speed and can launch a total of two times midair, depleting to charged state, then to drained state.
Charged surfaces have been removed and replaced with charge cubes. This adds more skill to the game, as the player must aim for the cubes if they want to move at higher speeds. The red cube changes the ball to charged state, and the blue cube changes the ball to supercharged state. I may add in a grey cube at some point that drains the cube.
I added a new test level that introduces jumping, charge cubes, and a magnetized surface. The magnetized surface is a cylinder that requires the player to maneuver upside down to get to the goal. I also added a new conceptual material to the magnetized surface that makes it stand out.
There is a new main menu that I am using to switch between test levels. Currently there are only three buttons for three different levels. I am currently working on the final version of the main menu which I will show off in the next post, and I can say that it is a massive improvement to what I have right now.
Here is a video showing off the new test level, charge states, and main menu. A number of small changes can be seen as well:
Timer starts when launching.
Charge state resets on respawn.
Ball has a delay before it starts to slow.
Magnetized Ground and Simplified Controls
After letting people test out Shatter Ball, I noticed many people were not sure where to touch the screen to launch the ball. Originally, the top half of the screen was for turning the camera, and the bottom half was for launching the ball. You could already turn the camera while you were launching anyway, so why have two different ways to control the camera? Now, you can start launching the ball by dragging from anywhere on the screen, but the magnitude of the launch is dependent on the current vertical position touched on the screen. This means you can start dragging above the ball, and this input will carry over to when your finger is dragged below the ball.
Other small changes:
The direction you launch is no longer restricted to the forward direction of the camera, so you can aim the direction while dragging your finger left and right.
Camera now collides with walls.
Vertical Camera rotation is restricted when grounded, as players do not need to aim while grounded (Still needs some adjustment to smooth transitioning between grounded and airborne).
While aiming an uncharged ball, transitioning between airborne and grounded automatically adjusts timescale and the ability to launch the ball. This means you can start moving the camera while airborne and the game will immediately slow down when you are allowed to launch again.
In bigger news, I have finished some of the early stages of implementing magnetized ground. Currently it changes the gravity direction and orients the camera to match the new ground normal. The gravity is reset to normal if the ball remains too far from magnetized ground for a short period of time (This prevents jumping from demagnetizing the ball from the ground). I still need to make adjustments to get aiming working correctly with magnetized ground and to get camera orientation working consistently. Later on I would also like to add in some constraints to prevent riding to the bottom of magnetized land.
Here is a short video showing off the current state of magnetized ground, as well as all the other small changes that have been made.
Intro To Shatter Ball
Over the course of the last few projects I have worked on, I have struggled to find a balance between giving an in depth look at my accomplishments, and having time to actually show this off on my website. For this project I am working on now, I will be making posts that basically just summarize what I show off at the UMBC Game Developers Club, as well as occasionally talking more in depth about certain systems of the game.
Shatter Ball is my first solo project. I started this project in the summer with the intent of making an interesting mobile puzzle adventure game. A lot of the mechanics I was working on were similar to that of a mini golf game. You dragged from the main character in a direction, and it showed the trajectory that the character would move in. I also had created the first version of the camera system that allows you to change the angle of the camera using the gyroscope of the phone. I felt that the original vision of the game may have been overambitious, especially since this is a solo project. This helped me decide to convert the game into a mobile mini golf game instead, which only took about 1 - 2 days of work.
After converting the game to mini golf, my project consisted of a single golf course, where you could hit the ball to the hole, display the amount of hits taken, and restart. After finishing my conversion, I began to make many changes that make Shatter Ball what it is:
You can hit the ball before it stops moving. (Nobody likes waiting)
You can jump the ball by tapping on it. (Should introduce some cool platforming elements)
You can hit the ball in midair 1 time. (Makes jumping more useful)
Time slows while aiming. (Extremely useful for hitting the ball while it is moving at high speeds)
Replaced stroke and par system with a time system. (Time based goals just make more sense with the new mechanics, and incentives moving at high speeds)
Replaced the hole with a large object as the goal. (The hole would require you to slow down at the end which is lame)
A lot of people I have shown this off to describe it as Mini Golf crossed with SUPERHOT, which is exactly what I am going for.
Here is a short video showing off most of what has been implemented so far. This is mostly just to show off the concept of the game so some of the features seen are not fully implemented, polished, or bugfree.