top of page

377 Blog 1

During this sprint, I completed the following tasks:

​

  • As a player, I would like the ability to use a virtual joystick to move the ball in case I don't have (or don't want to use) my phone's accelerometer

​​

  • As a player, I would like the ball to move through the glass instead of stopping, show an effect, and give haptic feedback so that there is a better sense of power and momentum to the ball

To create the virtual joystick system, I started by looking at some examples of mobile joysticks that other people have built. I looked through the code of the joystick asset that I had downloaded from the asset store, and took note of the inputs, public UI variables, and other core features that I would need to get mine to work. I then created my own sprites in photoshop and set up a custom script based on the research I did, and tweaked it until it felt about right.

Custom Joystick.gif

For the glass breaking effect, I started by getting the ball to move through the wall instead of stopping as soon as it hit the wall. To do this, I simply recorded the ball's acceleration on the frame before it hits the wall, and then on the next frame when the wall is hit the ball is manually set back to that acceleration value divided by two to slow the ball just a bit. For the special effects I attempted to have the phone vibrate when the glass was broken, but this proved to be a bit too jarring. I instead opted for a bit of camera shake, and a particle effect to achieve the effect you can see in the gif.

Next I worked on improving the level completion system for the first prototype of the game:​

​

  • As a player, I would like a timer to keep track of how fast I complete each level so that I can compete with myself

​

  • As a designer, I would like to collect feedback at the end of each level from playtesters so that I can gather valuable information about the game and how to improve it​​

Level Complete Panel.gif

The timer was a rather straightforward task, and didn't take too long to implement. I would like to have also added a save highscore system with the timer, but figured that my time was best spent getting some extra feedback for the upcoming playtests of the game.

​

For the level feedback information, I set up a script that links to a custom email and sends it information at will

The send email can include any variables, such as the time taken to complete the level, the number of times the player died, what controls they were using, etc. This system is a little bit clunky to manage as a single player will be sending us many different emails of information, but is also quite helpful in seeing problems with specific levels in the game. For instance, if a level takes more than 5 minutes to complete or has a lot of recorded deaths then it is probably too difficult and needs to be adjusted.

Level Feedback.png

Following the first playtests of the game, I spent a good portion of time analyzing the feedback we received and determining what changes to make. A common complaint that players had was that the ball physics were 'sticky' where the ball would stick to walls and be a bit hard to control. 

  • As a player, I would like the ball to roll smoothly along walls instead of getting stuck on them so that I have more precise control over the ball's movement

Level 4 Fixed.gif

A good example of an area where ball stickiness was a problem was this pit in level 4. It didn't have a safety wall, and you had to tilt the phone quite a bit to un-stick it from the wall. As soon as the ball was unstuck it quickly rolled into the pit.

​

Now, the ball has a physics material applied to it that prevents friction with the wall, and even has a bit of bounce to it to feel more in line with a real metal ball or marble!

Despite making good progress and getting valuable playtest feedback, I still feel that I could have done more this sprint and will be aiming to do more in the next one. Here are the tasks that I will be working on:

      - Pinball style bumper obstacle

      - Crumbling floor obstacle

      - Improved camera to show off the 3D nature of the scene

      - Tilting the world instead of the ball (? - not sure if this is will be better but I want to try it!)

      - Electrified ball + Powering station obstacle

      - Powered doors/walls that slide or rotate

​

That's all for now, I look forward to showing off all the new stuff at the end of Sprint 4!

bottom of page