July 2015 Posts

Mr Nibbles Forever – Pre Release 10

Mr Nibbles Forever – Pre Release 10

Its been almost exactly a week since the last developmental release of Mr Nibbles Forever. According to the plan this week should have been about implementing the landing page and gathering feedback from people, as I managed to get the landing page sorted in the first week I decided to spend the time developing the game instead.

So this week I have concentrated on decreasing the loading times for the game. On my Nexus 7 the loading time was about one minute which is way too long. The main reason for the load times is the way I construct the levels.

As mentioned way back in my second post for the game the levels are made up of pre-defined chunks:


These chunks are individual scenes. I did it this way because Unity doesn’t support nested prefabs and I wanted the ability to change properties of some of the elements of the levels as I was developing. The problem with this however is that to construct the levels I must first load the chunk scene, then extract its contents and build a level.

Unity’s scene loading system is very slow and causes the game to pause and stutter if you try to do it at run time. As a result I put a “build” button into the editor which runs through a small script which loads all the chunks into a specially built “Release” scene:


So now all the chunks are available in one single scene at startup removing the scene loading issue while the game is running. This is great but it does now mean that the initial load of the game is gigantic as it has to load 80 chunks with thousands of game objects at startup. The result is the game takes a minute to load.

To solve this problem I modified my “build” process so now instead of simply importing the chunk scenes it also processes them a little bit. One common technique in optomising game performance is to use object pooling to reduce the amount of new objects that are created at runtime.

I know that the levels are going to have large numbers of certain types of objects such as spiders, nibbles and level tiles, so what I decided to do was record the unique properties for each instance of the objects such as their position, rotation, sprite type etc. I could then delete those objects from each chunk.

Now when a chunk is used in a level, it simply requests an existing instance of that object type from a global pool, then sets the unique properties on the object such as position and rotation.

The result of all that work is that the load times have been cut in half. So now just 30 seconds on my 2012 Nexus 7. There is probably more room for improvements there but considering that the deadline for the game is coming up, im happy with it for now.


In addition to that performance work, I also had a little more time to work through a few other small bugs and one more feature.

A few people had suggested to me that it would be good to add a “remove ads” option to the game as many people would be happy to remove the ads for a small fee. Well it wasnt a huge amount of work to do it so I put it in.



So now, you no longer need to watch an ad when you want to start or restart a challenge:


Well that’s it for this week. The plan for next week is to plan the game trailer and to experiment with full-screen post process effects again which will hopefully add a whole lot more to the individual visual aspect of each outfit.

As per usual if you are interested in testing the game on Android then join the community page: https://plus.google.com/u/0/communities/100690884724496136044 or for iOS email me: mike.cann@gmail.com

GovHack 2015 – Should I Drive?

GovHack 2015 – Should I Drive?

Well I took a short break this weekend from Mr Nibbles Forever development to head down the street to SpaceCubed and compete in the 2015 GovHack competition.

Mr Nibbles Forever – Pre Release 9

Mr Nibbles Forever – Pre Release 9

Well its been almost two weeks since I declared the (tough) scheduled plan for the release of Mr Nibbles Forever. In it I planned that last week was to be:

22nd-28th June
1) Design landing page for the game. This is important as I will need a place to put the trailer and to send people who are interested in the game. I have read several good resources on how this page should look. Some examples of other landing pages are: http://www.pixelprospector.com/list-of-websites-and-blogs-from-game-developers/. Once landing page is designed, run it pass some designer friends for help improving it.
2) Pester people for feedback on Alpha 8. I need to get some real-world feedback for the game so I can fix bugs and improve the polish for release 9.
3) Contact some marketing people for help and advice.

Well I managed to do 1) and 2) but I decided that I didnt need to do 3) just yet, instead I made do with the excellent advice on these two pages:


I may go back to 3) in a week or two if I need to.

As for 1) well I decided after an hour or two of messing around in Photoshop that it would be easier and faster to just buy an off-the-shelf WordPress theme and adjust that to my needs as I was intimately familiar with WordPress. The theme I chose was Grizzly from Wegrass:


It seemed to have all the features I needed for now and was responsive which is super important these days.

The next issue was what name should I call the “company”. Up until now I had been going with the name “Nibblers” as that was the name that “Mr Nibbles” was published under too. “Nibblers” however is very specific to Mr Nibbles games and if I wanted to do non-nibbles games in the future it would sound a little odd so I needed a new name.

After much head scratching I decided I wanted to base the name around my favorite animal the Mantis Shrimp. If you dont know what it is, then checkout the oatmeal’s excellent bit on it. The problem was that mantisshrimp.com is taken, also its difficult to tell someone the domain, as they either dont know how to spell it or are confused as to how many S’es there are in the middle.

So in the end I decided to go with something that was related and instead use the Mantis Shrimp in the logo. So I went with…. Epic Shrimp:


The site is still very much under development but at least I now have a good landing page for Mr Nibbles, Ectoplasm and Mr Nibbles Forever:


So although last week was supposed to just be design, I decided to go the full-hog and implement too, which means that I have one more week free for development.

Speaking of development, this week we supposed to be a bug-fixing and polish pass:

29th June – 5th July
1) Do bug-fixing and polish pass of the game. Push release 9 of the game to people for testing and feedback.

Its true that I did indeed fix some minor bugs…


… this week was mostly dedicated to improving the high scores system in the game.

As a result of some feedback from people I decided that the game needs to be more in-your-face about the competitive aspect. Hopefully this will encourage people to return more often so that they can try to get higher up the leader boards.

I was unsatisfied with my current GameCentre and GoolgePlayServices implementation of the highscores so I decided to roll my own using my Parse.com experience. So now you will notice that next to the high-scores button that every each play you are given your daily rank:


Clicking the button will show you the top ranked players in each category:


You will notice that your name is “???” until you set your name:


Once done, all your old and new scores will now be saved under that name, this works across devices too.


I am also experimenting around with having a button next to any high score which also has a saved replay.


Clicking the button will open Everyplay and show the recorded run for that highscore, which I think is pretty cool!

Well that’s it for now, this weekend I am going to be extremely busy on something else (more in another blog post soon) so I wont have any more time, but hopefully next week will either be more bug fixing and polish and getting more feedback on the game.

As usual if you would like to try the game and are on iOS then just email me: mike.cann@gmail.com, or if you are Android then join this page: https://plus.google.com/u/0/communities/100690884724496136044

Until next week!