Mobile Game

Mobile Game Development

This game is available to download on Google Play store for free! The store page can be found here



Blog Post 3

Since the last post, I have learned more about creating and using models for use in Unity. Originally, I had a basic understanding of how I need to export them out of Maya and the formats that I would need to export models as. Before learning, I had exported several models out of Maya for our game and realized that they were inefficient due to being separated into multiple pieces. This would have caused needless lag for the game, so I went back into Maya and combined the pieces into one model. After texturing these pieces, they became one whole object in Unity. 

Another small thing I worked on and learned more about during the previous sprints involved experimenting with raw images in the canvas for the UI. I realized that some images worked out nicely as .png files. For example, we now have a vignette effect that I had quickly created in Photoshop. This took a bit of experimentation to get right, but the produced effect was more appealing than our previous foreground. 

All Tasks Assigned to Me:
  • Shop buttons
  • Marble pausing before dropping again on respawn
  • Animation on level complete screen
  • Recognizable buttons
  • Sounds for walls breaking
  • Foreground vignette
  • Models for powerups and walls
  • Different sounds for missed taps
  • Ball Speed Slider

Tasks Completed: 
All tasks completed. 

Tasks Left Incomplete:
No tasks left incomplete. 

Issues, Problems, and Solutions:
During sprints 5 and 6, I had very few problems with my assigned tasks. Some tasks, such as the foreground vignette, had to be tweaked over and over again to get it right, but most tasks went smoothly. I had the most trouble with getting a different sound to work  when the player misses a tap. However, this was easily fixed by applying a tag to the plane behind all the walls, points, and powerups. That way, whenever the player failed to tap a wall, point or powerup, a different sound would play to give them immediate auditory feedback. 

Another small problem that occurred involved models I had created in Maya. I had exported them in separate pieces, which was inefficient for the game. I went about fixing this issue by going back into Maya and combining the objects into one object, then re exporting and re texturing everything. I also, while in Maya, deleted back faces that may or may not have optimized the exports further. 




Blog Post 2

Since my last post, I have learned a few small things about the scripting that we have used in the scene and also how they interact with assets in Unity. As the Team Lead, I have also learned more about our group.

For example, I have averaged our sprint user story completion to around 15 per sprint which I could then extrapolate and reasonably predict how much we can get done in the remaining sprints. This sets us on a solid course and as long as we do not lag behind or get blocked too much, it will be smooth sailing.

All Tasks Assigned to Me:

  • Music Added to Menus
  • SFX added to the Marble bouncing off of the walls
  • UI for Points & Lives working
  • Scripting:
    • Level Complete
    • SFX
    • Points
    • Removal of Lives
  • Adjust Level lengths 
  • Clear instructions
  • Points system changed to points out of total walls and points are taken away with each wall destruction
Completed Tasks: 
All of the assigned tasks above.

Incomplete Tasks:
No incomplete tasks.

Issues, Problems, and Solutions:
I did not have many problems throughout the most recent sprints. However, one of the few problems I did have had to do with scripting. I could not figure out how to make a sound effect play in the way that I wanted to while playing the game. 

I ended up researching a bit online and finding a workaround that had to do with setting up an Audio trigger when the Marble would hit one of the target points it ping pongs between. 

Another problem I had was in relation to Unity Collab. There was a time when I could not upload changes that I had made or somehow the file I had didn't register as our game. I never was able to figure out what exactly went wrong, but the solution was to restore a previous version from the cloud or to restart Unity entirely. Obviously, this is not ideal, and should it happen again, I will be paying more attention to what I do.



Blog Post 1

All tasks assigned to me: 

  • Instructions Page creation
  • Asset Creation, Paper Prototype (Marble, obstacles, walls, course)
  • Script Creation
    • MarbleBehavior
    • LevelSelect / ButtonControls
  • Scenes Creation (Game Over, Level Select, Instructions, Level 1, Level 2, Level Complete, Menu)
  • Unity Buttons in Scene
  • Unity UI elements for Points and Lives

Completed Tasks: 

  • Instructions Page creation
  • Asset Creation, Paper Prototype (Marble, obstacles, walls, course)
  • Script Creation
    • MarbleBehavior
    • ButtonControls (Merged Level Select and ButtonControls into one)
  • Scenes Creation (Game Over, Level Select, Instructions, Level 2, Level Complete, Menu)
  • Unity Buttons in Scene
  • Unity UI elements for Points and Lives



Incomplete Tasks:

  • Few Unity UI related issues that got solved in the following sprint

Tasks in progress: 

  • General music elements should be added to menus and the game
  • SFX should be added to the game

Design Process: Issues, Problems, and Solutions

Many of the problems that I encountered while completing tasks involved being out of practice with how UI elements and script in Unity interact with each other.  

The solution to a lot of these problems simply involved looking back at past projects or tutorials to help me understand and implement features better. 

Sometimes, I would need to look up a tutorial on a feature I wanted implemented, such as for the animated colors of the Level Complete scene. This took an animation on the UI text with the color being the only thing that actively changed over a period of time. 

Because I was the project lead, I also handled organizing times and days when our group would meet up. There came a few problems initially, such as the "where" and the "how" for our meetings, but after we set up a group chat, we got everything sorted out fairly quickly,deciding that we would meet at noon on either Saturday or Sunday, depending on which day works out better for us. 

Sometimes, it was also apparent that team members were not on track for the assigned user stories I had hope would get done within the sprint. The solution was to contact and remind the team members individually about deadlines and goals. This worked out fairly well. 

Along a similar vein, sometimes, group members would have the wrong idea about the game's concept, core idea, a mechanic, etc. This was partially due to a personal failure to explicitly state the premise, mechanics, and functions of the game in the Design Document at the start and also because I neglected a lot of information in our initial communications. 

However, this issue was alleviated over time as every time we met, I explained the concept again and in more detail as we went. This let the group members that were unsure of how the game I envisioned is intended to be like. 


Comments