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:

http://vgamemarketing.com/
http://www.pixelprospector.com/

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:

2015-07-03_07-33-47

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:

2015-07-03_07-41-32

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:

2015-07-03_07-43-27

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…

2015-07-03_07-46-39

… 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:

2015-07-03_07-49-39

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

2015-07-03_07-51-51

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

2015-07-03_07-54-31

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

2015-07-03_07-55-33

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

2015-07-03_07-57-26

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!

Fixing Unity’s Failed AOT cross compiler error

Fixing Unity’s Failed AOT cross compiler error

While working on Mr Nibbles Forever I have encountered many annoying errors with Unity. None has been more annoying than the dreaded AOT errors I was getting when building for iOS.

I foolishly had gone a while (a few weeks) without attempting to build for iOS. In that time I had added many third party libraries and made changes to much of the code. I decided one day to do a build for my iPad. I fired up Unity on OSX and tried to build and ran into the following:

stderr:

at UnityEditor.MonoProcessUtility.RunMonoProcess (System.Diagnostics.Process process, System.String name, System.String resultingFile) [0x00000] in :0
at UnityEditor.MonoCrossCompile.CrossCompileAOT (BuildTarget target, System.String crossCompilerAbsolutePath, System.String assembliesAbsoluteDirectory, CrossCompileOptions crossCompileOptions, System.String input, System.String output, System.String additionalOptions) [0x00000] in :0
at UnityEditor.MonoCrossCompile+JobCompileAOT.ThreadPoolCallback (System.Object threadContext) [0x00000] in :0
UnityEditor.HostView:OnGUI()

Ah jeeze, I thought to myself, I have no idea what could be causing this compile error. Unity gives me no information where or why this error is occurring. I have no idea what these third party libraries are doing behind the scenes. Perhaps one of them is interfering with one of the others? They all work fine on my windows / android build. *sigh*

So I ripped out all the third party libraries and tried to build again and surprise surprise the error was still there. So now I was really confused. What was going on, was it something in one my scenes?

So I created a blank scene and set that as the only scene the in game, built again and the error was still there. Now I was really worried, I had made a bunch of changes since the last build, which of those was it? I had no idea and I really didnt want to go line by line and comment out everything I had done.

It was then that I tried to do something strange. Im not sure why but I noticed this but there is now a new compiler option in Unity:

upload_2_6_2015_at_07_44_52

The IL2CPP is the new Unity compiler. Im still not sure why but I decided to switch this to IL2CPP instead of mono and try to build again. Low and hold I got a different error, one with much more information about where the error was happening:

stdout;
Fatal error in Mono CIL Linker
System.Exception: Error processing method: ‘System.Void Assets.Scripts.Effects.NicerOutline::OnValidate()’ in assembly: ‘Assembly-CSharp.dll’ —> Mono.Cecil.ResolutionException: Failed to resolve System.Void UnityEngine.UI.BaseVertexEffect::OnValidate()
at Mono.Linker.Steps.MarkStep.MarkMethod (Mono.Cecil.MethodReference reference) [0x00000] in :0
at Mono.Linker.Steps.MarkStep.MarkInstruction (Mono.Cecil.Cil.Instruction instruction) [0x00000] in :0
at Mono.Linker.Steps.MarkStep.MarkMethodBody (Mono.Cecil.Cil.MethodBody body) [0x00000] in :0
at Mono.Linker.Steps.MarkStep.ProcessMethod (Mono.Cecil.MethodDefinition method) [0x00000] in :0
at Mono.Linker.Steps.MarkStep.ProcessQueue () [0x00000] in :0

Well look at that! Its dieing at Assets.Scripts.Effects.NicerOutline::OnValidate() thats great! I now could go back into my code and fix the issue.

The lesson is, if you are getting strange AOT errors, try just switching the compiler to IL2CPP and see what you get, hopefully you will get more info about what is causing the problem.

Mr Nibbles Forever – Getting it done

Mr Nibbles Forever – Getting it done

I talked about this in my last blog post but Mr Nibbles Forever is starting to take shape now. The features have been ready for some time now and the the last update saw 95% of the game’s artwork go in. Basically the game itself its pretty much there apart from bug fixes and polish.

Anyone who has worked with indie games will tell you that making the game is the easy bit, its all the rest that is hard. Its that phase that I am now entering into. There is much that I need to do before I can release the game so I thought I would try to get some goals for the next few weeks so I can plan out the next series of steps and hopefully it will help others who are in a similar situation.

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.

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.

6th – 12th July

1) Implement landing page design.
3) Gather feedback from release 9 of the game

13th – 19th July

1) Do bug-fixing and polish pass of the game. Push release 10 of the game to people for testing and feedback.
2) Research and plan the teaser trailer.
3) Construct Press Kit

20th – 26th July

1) Create game trailer and publish to landing page.
2) Contact media and other social networks, point to landing page.

27th July – 2nd August

1) Final bug fix and polish pass.
2) Contact more media and social networks.

3rd – 9th August

1) Release Android version of the game.
2) Contact media and social networks.

10th – 16th August

1) Release iOS version of the game.
2) Contact media and social networks

Well that’s the plan anyways. We will see if its fee sable over the coming weeks. Ill try to stick to it where I can. Given that I can stick to it then hopefully the game should be released in 6-weeks!