Guest Post: Corona helps launch the ‘Jet Rats’

Share on Facebook0Share on Google+2Tweet about this on TwitterShare on LinkedIn0

Jadynut Games head Sun JiaJie is co-creator of Jet Rats, a graphically awesome and slightly silly game on iOS that actually is his first-ever endeavor with Corona SDK.

Below, Sun details the process of going from a programming n00b to a full-fledged mobile game developer in only a few short months.

Sun Jiajie + Wu Lina, Jadynut Games

Like most of people here, we were attracted by the easy-to-learn and easy-to-use nature of Corona. That meant we could take on app development as our major project for the next couple years.

Before Jet Rats, I was a 3D/technical artist who worked in the game industry; my partner Wu Lina was an office worker but also a gamer. One day, we both thought: “why couldn’t we make a fun game by ourselves”

All things are difficult before they are easy. Even though I worked in the game industry, but i never did a whole project by myself. Plus, I only really knew one basic scripting language (Maya). But, like most of fairy tales, you encounter many difficulties before you see the glimmers of hope.

In order to find our proper development environment, we tried both Unity and GameSalad. We spent days — even weeks — to learn just one of them. Along the way, there was something that stopped me and made me think “It shouldn’t be like this!!!”

You know what happened next? Corona dropped from the sky! 🙂

We began to work with Corona on our Jet Rats project starting July 2011. Although Corona has no GUI editor, but we think it’s even more friendly and more straightforward than all the other tools we tried! In about 2 weeks, we finished the FPP of Jet Rats. Even though the FPP had no sound effects, no animations, and only have placeholder images with simple gameplay, we felt very excited about what we got done with Corona. It encouraged us a lot and reinvigorated our passion because we never thought game development could be this easy and fun!

As of December 2011, the final version of Jet Rats was finished!

In that five months of production, we actually “finished” the game twice — the first time was in mid-October, but our coding made the in-game performance very slow. This was a pretty significant problem that we couldn’t fix by just tweaking a few lines of code, but we managed to rewrite the whole game by the end of the year anyway.

I can’t imagine what that process would have been like if we didn’t work with Corona!

We have learned a lot from this project, and are very happy we made the choice to work with Corona SDK. In 2012, we plan to design more fun games on both iOS and Android, and hope Corona will getting better and better along the way!

Share on Facebook0Share on Google+2Tweet about this on TwitterShare on LinkedIn0

This entry has 9 replies

  1. Robert Bingham says:

    Much like these n00b’s though not as successful yet I tried eclipse IDE, Coccos and a few others before a buddy of mine that played World of War Craft told me to try Lua. Not knowing what it was I turned to the “Oracle” Google within a minute I had found Corona. In 2 weeks had written my first little app using the tutorials and sample code. I have now published my first app for the Colorado National Guard a business app and currently am working on a 2nd and 3rd due to release by March 1st. If it weren’t for CoronaSDK I would still be learning how to write the code versus actually having an app published with 2 more in the works.

  2. Kev says:

    Just a minor point but for Robert – You can use Eclipse IDE for developing in lua for Corona, in fact it’s the best development environment I’ve found for Windows once you install the appropriate plugin.

  3. Alan says:

    Really fantastic looking game!

    Mind if I ask how you made such an awesome video for the game? Did you produce it in house or contract out? I keep trying new ways to capture Beat Boxes gameplay footage, but every solution has crazy drawbacks and nothing I’ve managed comes out half as nice as your HD footage on Vimeo.

  4. David says:

    “our coding made the in-game performance very slow” -> It should be great to share what kind of issues it was, and how they resolved. It can be useful to avoid us falling in the same issues.

  5. Stuart says:

    I agree with David. I’m writing a game in Corona now and it runs fine in the simulator but I’m worried about what it will run like on a real device. Would you please share your game performance pitfalls with us?

  6. Alan says:

    Stuart, I found out the hard way that it’s very difficult to properly get a feel for the scale of the game if you’re not testing it on a device. Just the fact that at points your finger could cover half the screen is something that can be hard to remember if you’ve only ever tried your app with the precision of a mouse cursor on a large computer computer monitor.

    That said, I found that the game ran better on my device than I’d expected – before I ever tested on my device, I was cutting corners assuming that Corona on the phone would be very underpowered compared to running the app in the simulator: that turned out to be completely wrong, and I could have saved a lot of time if I’d just buckled down and started building for my device from day 1.

    As you can see, I can’t recommend seeing for yourself enough!

    That said, I’m also interested to hear about the specific pitfalls you encountered with Jet Rats, and how you eventually overcame them!

  7. Robert Bingham says:

    Thank you Kev I found the plugin and am downloading now. I think you nay have just saved all the hair on my head. VIM text editor was driving me nuts.

  8. Sun Jiajie says:

    Hi Thanks everyone!

    @Robert Yeah Corona really made our life easier! I also tried many options before i found Corona, but finally we both had good luck to find it 🙂

    @Alan Thank you! The video was made by ourself, and the in-game screen was recorded in Corona simulator, the bad thing is you can not show your player how your hand moves, but the good thing is you can make the video very nice to look.

    @David @Alan Actually there wasn’t big mistake, but many small troubles, for example leaks, global variables, due to the very easy to use of Lua and Corona, i didn’t realize that there have many tips i should know before i wrote bunch of codes, so be sure to check this post before you get started on a project next time 🙂 and

    About the specific pitfalls with Jet Rats, there have some,
    1. Timers, and Transitions are the most easy things to cause men leaks, so be sure to cancel and nil them after you use them.

    2. Be careful about your texture size and sprites size. In Jet Rats(Btw, it will be called Jetrats Defense in the next update) there have many sprites, and we optimized each sprite by follow this rule : in the texture mem, there only have some specific sizes, which are the square of 2: …128, 256, 512,1024,2048… Each 2*2 will occupy 1k texture mem, so that 128*128 will be 64k, 512*512 will be 1024k. 1024*1024 will be 4M. So here is the problem, if you made an image in 513*513, it will be treated as 1024*1024, so it will use 4096K texture ram rather a litter bit bigger than 1024K.

    Hope these helps 🙂

    @Stuart At first, if your game runs fine in the simulator, in 99% it will run fine on device too. But just like @Alan said, you should test on device from the 1st day, so you could correct some mistakes from the 1st day also. Basicly these mistakes will be all about the design of your app and user experiences .

  9. Congratulations. It’s an important milestone for a SDK when relative newcomers can create something so professional , so easily. I think you’ve played to your strengths in a good way by creating some very quirky characters and art.