First game released – Tower Up

towerup_banner

So. Here we go. The big day! My first game is released on the Playstore after one month of development. I’m really proud of it and I wanted to talk about my experience about this project, what I learned ect…

1. WHY MOBILE? 

Mobile phone are harder to work on. We have to think about a whole lot of things that we don’t necessary have to worry about : Optimisation (At least less than on PC), screen sizes, and compatibility.

Well… It’s simple. Mobile is more adapted to short game, as in games you can play on the toilet, waiting for the train or an appointment.

Did I wanted to make a full game? Yes. Could I make a 4 hours game with no experience? No. So it was logical to make a mini game for a platform adapted to mini games
(Also I always wanted to work with this platform) 

 

2. WHY ONLY ANDROID? 

It’s cheaper. Google Play proposes the Google Play Developer for 25$ and unlimited apps after that. I also have an android phone already. And I didn’t want to buy an iPhone AND pay 100$ per applications to begin with. If I have enough success in the industry I’ll honestly consider it but right now it’s about 700$ to develop on the platform. I just don’t have the money.

3. WHY UNITY RATHER THAN ANOTHER ENGINE? 

I worked with Unity for three months prior to the beginning of the development. I felt like I had enough experience to make a small project, plus I never saw any mobile game with Unreal Engine  (Which is understandable since Unreal is generally more demanding than any other engine, excluding Cryengine and a few others probably) 

I also have a preference toward Unity, because I always felt like a lot could be done with Unity with a high graphical fidelity (A few example would be Layers of Fear, lots of interesting features and good graphics, or Punity, a very partial recreation of P. T.) 

 

It has also one feature that was priceless when I first worked with it : The ability to develop in Javascript (Well not exactly Javascript but a variant which uses a few difference here and there called UnityScript) with my experience in this language I felt like that was a good place to start rather than learn a new language.

jdzfxu

Screenshot of Punity by jedlondo

4. WHAT LANGUAGE DID YOU USE? 

That’s a tricky question. For at least 90% of the development I used Javascript, event, input, camera movement have a lot of Javascript linked to them. But then, came two things : The daily bonuses and Google Games Services.

I had a problem with daily bonuses. So I made a lot of research on the matter and all the script and solution I had was in C#, so I had to translate it back to Javascript for me to use it properly. It took at least three hours for a very simple script because of Timespan and a lot of other things related to date and conversion. At this point I started to realize how Javascript was bad for implementing certain aspects.

But the worst was by far Google play services integration. The plug-in I used, provided by Google themselves, is full C#, you can always make the call to functions in Javascript but it’s going to be harder and you still need to translate from C# to Js. The fact that it would have been time consuming encouraged me to learn a bit of C# once and for all, to properly integrate the Google services.

It’s also clear that the UnityTeam tends to favor C# in their documentations and in the engine itself. The error are much more clearer and everything is faster to compile

So to summarize 

  • 90% of the game was done in Javascript, when I ran into problems with my scripts and bugs, when researching on the Internet a lot of script example were made in C#, which meant I had to extract the bit I nedeed and translate back to Js.
  • At the end of development I started to use C# rather than Js for plug-ins integrations, I realized than it was a faster and more efficient way of developing

 

5. BIGGEST CHALLENGE

Like I said earlier my biggest challenge was to work exclusively with Javascript, and I didn’t even realize it was a challenge until very late in development. Translating everything you find on the Internet to Js was very very time consuming, and a lot of time that had been put in translating could have been put in making the game better, and so make the development faster and better. Other than that a lot of features were fast to implement, one day or two at worst, a couple of hour at best.

Bugs were mainly what I worked on for a long time. Every time a new feature was implemented, it was almost a certainty that it would not have worked properly for the first time.
Also musics. I never touched FL Studio before and making music is kinda out of my competences spectrum at the moment so making the three little musics you can hear in the game was kinda hard. At least 2 to 3 hours for each songs, excluding learning how the software worked.

6. WHAT ARE THE DIFFERENCES BETWEEN THE BEGINNING AND THE END OF DEVELOPMENT 


A LOT. If you look at the code I wrote at the beginning and the code at the end it’s like two different persons wrote them. The code at the end of development was more efficient, and a more optimized. What could took 10-20 lines in the beginning of development take 5 at most at the end.

Proper UI integration too. At the beginning of development I used listener inside the script to click on buttons, at the end I used the editor features to do that and a function OnClick which seems more efficient because the scripts are now like 2-3 lines longs instead of 10.

I also started to use C# toward the end of development and that’s by far the most drastic change.

Old me Vs. New me. Both are doing the same thing but one is a proper to do it

 

7. THE FUTURE 

  • For TowerUp

Listening to feedback, fixed bug found by users, mainly. I don’t think I would implement new feature but you never know. I might pick it up again in the future when I will have a better experience in the industry and try and rewrite it completely. That’s what I imagine for the project.

  • Learning C#

Properly learning C# would be beneficial like I said before. As of now I only know a bit of C#, even though the syntax between UnityScript and this one is almost identical there is a few subtiliy but nothing that challenging to be honest.

  • A new project 

I already have a new project in mind. Well right now it’s more like a concept so I will not talk about it too much. Just so you know : It’s going to be a complete different game with, I hope, a better system and gameplay.

8. TL;DR? 

A very rewarding experience, I learned a lot and I would do again if given the occasion to. But now is time to work on something else, something new and I’m very excited to finally work for something new!

Leave a Reply

Your email address will not be published. Required fields are marked *