Student Success: Nicolas Built a Math RPG Game with Phaser

When he saw his young daughter struggling to learn her multiplication tables, Nicolas searched to find a game to help her. He tried over a dozen applications and found they all bored his daughter as the games were all based on the very thing she was struggling with, math. Nicolas set out to change that with his game, Multiply (on Android and iOS). Along with whimsical illustrations, Multiply is a role-playing game where every fight requires the player to master a multiplication table. 

We recently spoke with Nicolas about his development of his first game.

Can you tell us about yourself, how did you get into programming and game development?

I work as a professional developer for a known e-commerce platform in France. I am also an autodidact. I worked for more than 10 years as a sound engineer, composer, and arranger. In 2000, I was leading a small studio specializing in creating music for multimedia (flash games, etc), and I wrote my e-commerce website in order to sell some music loops. It took me one year to develop it from scratch in PHP. And finally, this led me to work for an e-commerce platform a few years later. Today I work mainly in javascript with angularJs.

Can you tell us about your game Multiply and where the idea came from?

I’m used to doing web development, but I wanted to create a hybrid game with Javascript in order to try out a complete project of a different kind, and test limits of this technology.

The idea came with my daughter. My daughter is 12 now. But, when she was younger it was very difficult for her to learn her time tables. I tried to find a “fun method” in order to help her, and I downloaded dozens of apps ( Free and paid ones ). But she was always quickly bored with each of them.

Beyond technical aspects or design of these games, for me, the main problem was that all these apps were trying to make games with maths. But they were still maths! Even with a funny music and funny characters… I thought it would have been a better idea to make a real game, where mathematics were needed to play. So I tried to make one.

Multiply is an RPG game where magical powers make the player stronger. The power of water makes 2 times stronger, the one of the earth 3 times stronger… etc. so the player needs to make multiplications in order to win the battles.

unnamed3 unnamed4

What was the biggest difficulty you had in making the game and how did you overcome it?

For me, the biggest difficulty was to finish this project.

After following your training, I made some exercises, then I started to work on this game. I took me less than one month to develop the first beta version. And 10 months more to launch the first complete version. And I’m still working on this project.

Because building a scenario takes time, creating levels takes time, tests require time, optimizations take time, etc.

What was the overall experience with Phaser for mobile games?

Phaser is a very good framework. It’s stable and well written.

With the latest generation mobile, it’s now possible to use javascript to make a game. It won’t run as fast as if you developed it in a native language, but you can have a 60 FPS framerate in your project and it is not too heavy.

But if you want your game to run on older devices (and you will!), the browsers capabilities won’t let you create a very complex game, and some basic needs, like the camera following a player, will kill your framerate. In my opinion is you can’t develop any game with Phaser for now if you target mobile devices.

vert 3 vert1 vert2

What resources would you recommend to someone who wants to make a game?

I was looking for a good framework. However, Phaser wasn’t my first choice.

The API guide of Phaser is quite tough and won’t give you real information on most methods. And the examples are far too simple to show you the way that you use Phaser.

I chose Phaser because of your training program. The course was exploring all the aspects of mobile development, with complete examples, and I was looking for this approach.

I’m used to working with another framework: angularJs. And it took me over 10 months to be able to get the benefit of all the strength of this framework. And today, my code doesn’t look like at all to the examples you’ll find in the Angular’s website.

I knew it usually takes about one year to learn deeply a framework. I and wanted to save some time with a good training and some good examples. I definitely recommend your training, Pablo!

Do you have any tips for ZENVA students who want to build their first game?

  • Be pragmatic. Start with a simple game, it will always be much more complicated than you were expecting…
  • Keep functions short and simple . If a function is too long or too complex, that’s not the way you should do it.
  • Test your project as soon as possible on old/slow devices. And try to make optimizations. It’s easier to find a memory leak or to detect a slow algorithm in a small project than in a large one.  If you start your optimization when all is complete, you may have to rewrite a lot of code…
  • Use prefabs.
  • Destroy all you have created by yourself. Phaser offers a shutdown method you have to use.

Multiply will soon be available in English. For now, it is French only. See it at these links:

Website :
http://www.pragmatic-apps.net/
android :
https://play.google.com/store/apps/detailsid=com.pragmaticapps.multiplyfinal
iOs:
https://itunes.apple.com/us/app/multiply/id1141663950?l=fr&ls=1&mt=8

Interested in creating your own games? Check out The Complete Mobile Game Development Course