27 December 2014

Developing Square Drop - Part 6

I've added a lot of important features to my game today, including the ability to replay, having a score screen and adding a lose condition when the square touches the side of the screen (which happens when the player doesn't tap at all). Square Drop is ready for playtesting!

Things I've done today:
  • Added lose condition and the ability to replay
  • Added HUD class inside which the 'Replay?' text when the player lost, and the score screens are shown
  • Learnt how to use GUISkin layouts
  • Learnt how to add an audio source. Tap sound activates each time the square drops successfully
  • When the square touches the side of the screen, the game is over
  • Changed screen oriantation so its always portrait
  • Added a restart function which resets everything when the player taps the screen after the lose condition is activated
This is the game:
At the beginning to prepare the player as well as load the platforms properly, it takes the square about 2-3 seconds to drop on the first platform:

Once it lands, it moves right towards the first gap:

If the player successfully taps the screen once the square's above the gap, they receive a point:
The square then moves in the opposite direction towards another gap. The process repeats until the player loses the game.

Once the player touches the screen too early, or too late resulting in the square not fitting in the gap, everything stops, the player gets to see their score, and is given a chance to restart:

These are my classes along with the code:





26 December 2014

Developing Square Drop - Part 5

It's another day at the office, and today I have finally managed to spawn the platforms continuosly, and move the gaps at random left and right positions. This puts a big smile on my face, because it was a massive struggle that's been going on for hours and hours but I have overcome it!

Other things I have learnt and done:
  • Named the spawning platforms individually thanks to which they're unique allowing me to access each one independently
  • 5 platforms spawn at the beginning, each being separated by another by the same distance, they then spawn one by one continuosly
  • When a platform is beaten and it moves above the square it disappears using the Destroy() command
  • Platforms' gaps are positions left and right simultaneously. They're also randomised each time which improves replayability
  • Learnt how to return a random number at a provided range
Although I've summarised it all in 5 bullet points, I cannot stress how much C# I have learned recently. Hopefully by tomorrow I'll have a fully working Square Drop!

25 December 2014

Developing Square Drop - Part 4

It's Christmas time, but instead of having a break I want to catch up with the timeline that I set myself and finish the game before the end of the year.

Today I managed to:
  • Trigger a function once every so seconds
  • Spawn an object using Instantiate()
  • Change the name of the spawned object
  • Learnt how to change position of an object
  • Learnt how to change a Float to a Single, by just adding an f at the end of a number
The following tutorial has really helped me writing up the code:

Tutorial: How to Make Flappy Bird in Unity3D [ONLINE] Available at: http://anwell.me/articles/unity3d-flappy-bird/ [Accessed 25th December 2014]

I decided that I'm not going to show the updated code and the Unity stage until I finish the game, which will hopefully happen this week given the fact I'll be working every day until I achieve so.

23 December 2014

Square Drop - First test on an Android device

After a long process of problem solving with errors that kept popping up, I have finally managed to build Square Drop and run it on my Android!




The game is working smoothly, it reacts on screen taps, and it just needs camera adjustments, and some more code to finish it off, however the most important thing, which was to actually transfer my game onto a mobile device and get it ready for playtesting has come true, so I'm very happy!

20 December 2014

Developing Square Drop - Part 3

This week I've managed to make the square move in the opposite direction as soon as it lands on a new platform. That means that I'm only a few steps away from completing my prototype - all I need to do is spawn platforms continuosly, place the gaps through code once on the left side, once on the right, and add the scoring system.

This is what I've done and learnt:
  • Managed to make the square move once left and once right simultaneously, each time it touches a new platform
  • Added scoring, so each time the square successfully drops through the gap the player gets a point
  • Learnt how to refer to a function from another class
  • Organised code - there are now more functions and less repeatitive code, to make it more readible
This is the current stage:

This is a screenshot of the game:
And as usual I'm going to share the code:




13 December 2014

Developing Square Drop - Part 2

This week I have managed to make the square go through the gap on mouse click. This is what I've learned:
  • Replaced 3D blocks with sprites as it is a 2D game. It works much better and smoother now
  • Learnt to use OnTriggerEnter as opposed to OnCollisionEnter otherwise the square wouldnt go through the platform because it had physics attached to it
  • Learnt how to refer to a variable from another class
  • Learnt how to do OnMouseClick events
  • Made the square go through the gap on mouse click providing it touches the gap sprite but not the edge of the platform which I called sensors
This is the stage:

This is the game (the black square in the bottom right has the on click event which allows for the square to drop):

And this is my code of all the three classes I have so far:



5 December 2014

No Square Drop updates this week

Due to being heavily busy doing work experience, I will not have time to further develop Square Drop this week. I will catch up next week, and during Christmas holidays.

1 December 2014

Market research

After receiving the proposal feedback which stated that I haven't defined the target audience of my prototypes specifically enough, I decided to make the effort of answering this question in this post.

First of all why is defining the target audience crucial for a game designer?

'If you want consumers to take it upon themselves to download your app, you’d better do your best to make sure they want what you’re offering. (...) By figuring out who is most likely to be interested in your app, you can plan the design and functionality around their preferences, while crafting a marketing plan influenced by the past successes of similar programs.' Source

Identifying the target audience isn't a straightforward job. I used to think that my prototypes are aimed for the mass market, by which I thought that anyone at any age would be willing to give it a go, and enjoy the experience. That way however, I'm giving myself little to no manourver when it comes to design work, because I want to please everybody, and that's simply impossible.

Therefore I need to narrow down who my prototypes are particularly aimed for.

I'm creating a 2D twitch based mobile game that is easy to learn and hard to master. The game I've designed is one that is considered an endless runner, a non commiting game which can be played at any given time, for as short period of time as 1-2 minutes (whilst waiting for the bus for example).

Having done some research, I found information and graphs about mobile gamers and their preferences:

From this website I found out that there are now 1 billion active smartphones and tablets using apps around the world every month. Games account for 88% of the iTunes top grossing apps, and make up 28/30 of the top grossing apps on Google Play.

ESA EF 2014 informed me with the following graph that smart phone gamers are constantly increasing in numbers:


How long during a day does an average smartphone gamer play for?

'Most players (68%) spend little time gaming on their phones: 0-1 hours per day.  A small percentage (2%) game for 11 or more hours per day.  This data points to the casual nature of gaming for many of these people.  Gaming is something they do when they have time to kill, like at the bus stop, or on breaks from work.' Source

So what type of audience plays endless runners? In the graph below we can find this out:

'While males tend to prefer competitive, player vs. player games, females, according to the study, tend to gravitate towards games that are less competitive and tend to be played in a more enduring way.' Source

As we can see, endless runners place themselves in the following demographic:
Gender: slightly dominated by female, but generally neutral
Average age: 23

How about commitment? How often do players play endless runners, and how commited are they to return to the game after a period of 30 days? The graph below will explain it to us:
'The Y-axis shows the number of times per week consumers play different game types.  The X-axis shows how long different games retain their users 30 days after first use.'

As we can see, the amount of sessions a week that players are willing to play endless runners isn't the greatest, however they are very likely to try it again a month after first use. The reason for this, is as I've mentioned before, games of this type can be played at any time as they're very straightforward and easy to pick up and play, and don't require remembering the mechanics when trying again after a longer period of separation.

Having found out more about my audience, how do I now gain success with my prototypes?
On this and this website, that talk about Flappy Bird which is also an endless runner and aims at the same target audience as my prototypes, we can find out the list of particular features that's made this game so popular and successful. If I follow these, I'll have a better chance to satisfy my target audience:
  • Addiction to simplicity - the simpler the game is, the more willing my players will be to return to it. That is true especially with my audience, which represents casual gamers. Hence for my dissertation I'm making games that are easy to learn.
  • Addiction to early wins - reward players as soon as possible, to encourage them to try again.
  • Strike a nerve - make your game almost frustratingly difficult. This will keep players want to try and play the game 'one more time' to get better at it. Hence my games are difficult to master!
I've narrowed down and I know better what audience I will be aiming at with my prototypes, and what I need to do in order to get them addicted.

Sources:
ESA EF 2014 [ONLINE] Available at: http://www.theesa.com/wp-content/uploads/2014/10/ESA_EF_2014.pdf [Accessed 1st December 2014]

Know Your Target Audience: Mobile App Development Tips [ONLINE] Available at: https://fbombmedia.com/know-target-audience-mobile-app-development-tips/#prettyPhoto [Accessed 1st December 2014]

Gamer Demographics that Every Developer Should Know [ONLINE] Available at: http://blog.apptopia.com/game-demographics-that-every-developer-should-know/ [Accessed 1st December 2014]

Mobile Social Gamers: The New Mass-Market Powerhouse [ONLINE] Available at: http://www.flurry.com/bid/57219/Mobile-Social-Gamers-The-New-Mass-Market-Powerhouse#.VKYQfYdGZjI [Accessed 1st December 2014]

Define your target audience [ONLINE] Available at: http://www.eldergame.com/2008/05/define-your-target-audience/ [Accessed 1st December 2014]

5 WAYS TO EMULATE FLAPPY BIRD'S SUCCESS—AND AVOID ITS FAILURE
 [ONLINE] Available at: http://www.fastcompany.com/3028295/lessons-learned/5-ways-to-emulate-flappy-birds-success-and-avoid-its-failure [Accessed 1st December 2014]

6 Lessons Every Entrepreneur Can Learn From Flappy Bird (R.I.P.) [ONLINE] Available at: http://www.shopify.co.uk/blog/12221109-6-lessons-every-entrepreneur-can-learn-from-flappy-bird-r-i-p [Accessed 1st December 2014]

Demographic Breakdown of Casual, Mid-Core and Hard-Core Mobile Gamers [ONLINE] Available at: http://developers.magmic.com/demographic-breakdown-casual-mid-core-hard-core-mobile-gamers/ [Accessed 1st December 2014]

2013 Gamers Survey Results: Demographics, Platforms and Smartphone Use [ONLINE] Available at: http://www.bigfishgames.com/blog/2013-gamers-survey-results-demographics-platforms-and-smartphone-use/ [Accessed 1st December 2014]