6
\$\begingroup\$

I've worked through Mario Zechner's "Beginning Android Games" and have made my own pong and asteroids game using the framework used in the book. I have also downloaded the source code for Replica Island and am able to run that.

I like Replica Island's framework over the one I made from reading the book. Some differences are that Replica Island uses different activities for each screen instead of Zechner's Screen class and that Replica Island can use a lot of textures and isn't limited to textures with dimensions of powers of 2.

If I'm serious about writing games and apps for Android should I learn Replica Island's framework and use that instead of the one I made while reading Zechner's book?

\$\endgroup\$
3
  • 2
    \$\begingroup\$ One other thing to point out is the powers of 2 issue is an OpenGl restriction. If you target GLES2.0 on libgdx, I think you can use non-power of two textures but it's a good habit to get into to keep your textures in pow2 for performance reasons. You also don't have to use the Screen classes if you don't want to. I think they are just more used as helper classes. \$\endgroup\$
    – Chuck D
    Apr 14, 2012 at 0:33
  • 1
    \$\begingroup\$ If you choose to use libgdx, power of two will not be an issue as it contains a packer that packs a folder of images to a huge image atlas with a power of two. Having an atlas like this will make the game run more smoothly as the gpu don't have to switch image many times per frame. \$\endgroup\$
    – Matsemann
    Apr 14, 2012 at 10:18
  • \$\begingroup\$ This post is 5 years old and that, but I hope I can find an answer to my question: what is the difference between the 2nd and 3rd editions of the book? The only difference I've found so far is that the 3rd edition considers newer versions of Android, but that's it. No homepage, no content list, no errata list... I can find nothing on the web :/ \$\endgroup\$
    – Beko
    Dec 24, 2017 at 11:28

3 Answers 3

8
\$\begingroup\$

I'm not sure that your question will be flagged but I started out down the same path as you. I started by learning Rokon, then did a game with the Replica Island codebase, then a few games with libgdx and now am using Unity. I would say up front that the final choice you make on a technology will depend on what type of game you make.

Replica Island: The first thing I would mention about the RI platform created by Chris Pruett (former Googler) is that he built RI as a company sponsored project while he was there. Remember that at the time, devices were nothing like they are now and he had access to almost every device running Android so he was able to build a stable game across many devices. It's a good platform, has some basic physics and helper components but to my knowledge, is not actively supported by continued development. Pruett has since moved on to start a indie game company and now uses Unity3d.

RI uses a binary file format for levels that took me some time to learn. There were no resources available to edit the files to create new levels so I had to build one which I did release (in flash) but it was just basic enough for me to use. I actually continued some development on the editor but didn't release the updates. If you ever decide to learn RI and need a level editor, I could post the updated flash editor but it assumes that you know flash and requires you to run php locally to create the .bin files for the game.

Libgdx: After creating a game with RI, I started learning libgdx. This was over a year ago and the biggest advantage it has over RI is that it's always being improved. It's made significant progress over that time and is still very active, both in development and community/support. Mario is very helpful and is very much available to help (although I wouldn't bother him personally) he does answer the forums as well as many other knowledgeable people. I made a very resource intensive game that ran on many low end devices and was very stable. It has support for box2d and bullet physics, has a particle effect editor, font editor, etc. It's a really nice platform to use IMO but if you want to build a game in 3d, you may find there are less resources available.

At the end of the day, I would recommend libgdx solely for the fact that it's an active project. The other nice thing is that you can prototype for devices much faster running in a LWJGL or JOGL frontend instead of using the emulator.

\$\endgroup\$
5
\$\begingroup\$

I wouldn't use the exact framework written throughout the book. However, the writer has built an entire new framework on some of the same principles, called libgdx. It's more advanced and much better, and after reading the book you should have a headstart.

The framework is really good, but choose the one you like the best.

Edit: just have to add that developing and debugging a libgdx game is like a dream. You can run the games directly on your computer with only a second of build time. Np super slow emulator or install on phone. Saves you a bunch of time!

\$\endgroup\$
2
\$\begingroup\$

If you like the Replica Island framework, use it. This is totally up to you.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .