« How Free is Freemium? | Main | An embarrassment of riches »
Monday
Jun272011

The tech behind Riptide GP

You would think that converting a current-gen console game engine to a phone would be a daunting task.  I’m happy to report that this is not the case!  This year’s crop of smartphones with their multiple CPU cores and competent GPUs are definitely up to the task.

When we started developing Riptide GP for Tegra 2, we had certain expectations of the performance we could squeeze out of these devices.  The GPU (graphics) more or less met our expectations, so we were able to hit our graphics quality and rendering performance targets by optimizing the fragment shaders and doing more work per vertex.  However, we were completely blown away by the CPU (computation).  The dual-core ARM Coretex A9 is an amazing piece of silicon.  What’s running in Riptide GP is the same underlying water simulation that powered our previous game on the Xbox 360!

Besides our internal tech there are three key components that made Riptide GP possible:  The Android NDK, Bullet Physics, and FMOD Sound System.  The NDK allows us to write native C++ code which is then optimized for the ARM architecture.  Bullet Physics, which we use for collision detection and rigid body simulation, just worked out of the box.  FMOD Sound System released an Android version of their SDK just in time, which has been working flawlessly since the first release.

 

EmailEmail Article to Friend

Reader Comments (14)

Wow, I can't believe there aren't any comments on this. As an amateur android developer working with some basic 3D engines I am wholly impressed at what you have done, as well as the performance of those chips. Between this and the nvidia demo, the Tegra 2 looks like a pretty capable chip. Nice Job!

July 13, 2011 | Unregistered CommenterElliot

There are other chips just as capable (and often more) than the Tegra 2 but lazy developers like VU are lockings users out. Probably taking dirty money from nVidia in exchange.

August 20, 2011 | Unregistered CommenterRichard

Richard -

You're right that there are other chips as capable as Tegra 2. And in fact we're going to be releasing an update for Riptide GP in a couple of months that will run on more devices.

If you're curious, the reason the game started out as a Tegra exclusive is because NVIDIA helped provide some of the money for us to make it. You can think of that as "dirty" if you want, but the fact is Riptide would never have even existed if it weren't for NVIDIA's help.

But anyway, yeah, if you have a decent-powered Android device you'll be able to get Riptide soon. Better late than never, right?

August 31, 2011 | Registered CommenterVector Unit

I'm perfectly fine with companies like Nvidia helping out and getting some exclusivity agreements if that means more games that actually take advantage of modern hardware. Timed exclusives seem best as it serves both companies' interests and eventually everyone with capable enough hardware gets access to the game anyways.

September 1, 2011 | Unregistered CommenterChris

People are already complaining about fragmentation of the Android platform in general and locking users out with artificial requirements is simply not helping. I understand the fact that the money from nVidia helps developer but I've seen other titles coming out with Tegra enhancements while still allowing other devices to play the game with regular graphics. (Altough many of these other devices are far more capable than the aging Tegra2 chipset.) I never liked nVidia's marketing strategy on the PC side but at least no one was completely left out for buying a better card.

I'm still glad to know the game is coming to more devices in the future as I used to play a lot of Hydro Thunder on my old Dreamcast and it will be very nice finding this kind of gamplay again on my phone.

September 1, 2011 | Unregistered CommenterRichard

I love this game. I play with it on asus transformer connected to my hdtv and i use DroidMote Server / Client as remote control. I found a single problem if i map Z axis of droidmote all ok. But if i map the x y axis not work very well. Definitely is a bug in the game as other games do not have this problem.

November 14, 2011 | Unregistered Commentergenny

Hi Genny -

Thanks for pointing this out, we'll look into it...

November 14, 2011 | Registered CommenterVector Unit

Look how i play with Z axis:

http://youtu.be/31SUPqaY00w?t=2m59s

November 15, 2011 | Unregistered Commentergenny

Nice! Thanks for posting that!

November 16, 2011 | Registered CommenterVector Unit

Sweet! Nice work on Riptide GP. Did you happen to opensource the JNI wrappers for bullet?

January 23, 2012 | Unregistered CommenterJoseph

If anyone is still reading these comments, I just wanted to comment that, due to the screen orientation of this game on Kindle Fire being locked, it is slightly awkward to play the game with a headphone cord attached because of the unfortunate placement of the headphone jack. If it could be flipped upside-down, there would be enough room to make it more comfortable. Maybe it is not a simple thing to make happen, though, as I don't know the technicalities involved.

Good game, though, and I'll be looking forward to your future games as well.

February 7, 2012 | Unregistered CommenterManic DBB

Hi there! Yep we still read the comments -- although sometimes a bit slow on the turnaround. Flipping orientation is definitely something we're considering for a future update. Thanks for the suggestion!

February 13, 2012 | Registered CommenterVector Unit

I'm extremely impressed at how compatible your Riptide GP is across different Android hardware. Clearly you are a talented bunch of individuals, as many games seem to have problems with compatibility but Riptide works almost flawlessly. The market ratings are very impressive!

Keep up the great work. It just goes to show that it is indeed possible to do cross-platform, even with native C++.

March 1, 2012 | Unregistered CommenterBen

Thanks Ben! It takes a little work and perseverance, but developers really shouldn't be scared off by the fragmentation thing. It's certainly more of a pain than it NEEDS to be, and more of a pain than on iOS, but if you're thoughtful about how you put everything together it's totally manageable.

March 3, 2012 | Registered CommenterVector Unit
Vector Unit Fan Club Membership Required

You must be a member of the Vector Unit Fan Club in order to post comments.

Members login here to enable posting.

Not a member yet? Join the Vector Unit Fan Club Today and get exclusive access to special content on this website, as well as the ability to post comments, interact with the Vector Unit team, and post comments on articles.