Tentacles for Windows Phone 7 Interview: in-depth look at how the game was created

A little bit less than a month ago one of the best overall mobile game hit the Windows Phone 7 platform and when such a thing happens it’s always inserting to get some insight on how the whole project came to fruition. I fired off several question to Press Play studios, developers of Tentacles and previously Max & the Magic Marker to learn a bit more about their development process and pipeline which consists of creating the game in the Unity 3D engine then converting/porting it to XNA. Check out the whole interview after the break:

1) Can you introduce yourself and Press Play to our readers? Tell us more about your previous games like Max& The Magic and what made you decide to develop for mobile platforms alongside consoles.

Press Play: My name is Thomas Gravgaard. I am Senior Software Developer at Press Play. I was brought to the company last summer to make Max & the Magic Marker for WP7 possible, as I had experience with XNA. Thereafter I have been engine lead on Tentacles. The decision to make Max for WP7 came about mainly because Microsoft was looking for some games for their new platform. They were interested in getting some exclusive titles over, and we thought that Max would work out fine on a touch based platform. It also gave us a chance to work with Microsoft, and thus expand the range of possible platforms for our games.

2) Tentacles which is currently exclusive to the windows Phone 7 platform is in my opinion one of the best mobile game to date. How did the project come to life and why was WP7 chosen as the lead platform?

Press Play: The idea for the game is an old one. In essence it is a “technological sequel” to an old web game called “Hjerne-gnaskeren fra planet X” (The brain muncher from Planet X) that Press Play made for the national danish radio. (http://www.dr.dk/DR1/Troldspejlet/Hjernegnaskeren/x.htm). We had been working on Tentacles for a while, without having decided on a home for the game, and again Microsoft was interested in having it, so it ended up on WP7.

3) I know that many game developers see the lack of native coding on Windows Phone 7 as a major drawback. You have used the Unity engine which isn’t WP7 “compatible” to develop both Max and Tentacles. Can you give us some insight on how you managed to port the Unity scripts to XNA ? Was the lack of HLSL support in XNA for WP7 an issue?

Press Play: I think it is definitely a drawback for WP7 that it lacks support from a major game engine. XNA is a great API – but there is a lot of work in making your own engine stuff that can be prohibitive to some studios. What we decided to do was to create a small Unity engine in XNA and export all our level layouts from Unity to the XML content format supported in XNA. With that in place we could more or less reuse the scripts from Unity as they were made in C#. For Max it was more or less an experiment, and we had to do a lot of manual porting of the scripts as our “Unity” engine was not wholly similar to the original. For Tentacles we went more all in, and the FFWD engine that is powering that game has the exact same API as Unity so we can reuse the scripts from Unity more or less without modification. That helped us a lot during development. It should also be reusable enough to use in another title, if need be. Regarding the graphics, the lack of HLSL was not really an issue. The shaders used in Tentacles are not all that advanced, so we could recreate the effects we needed with the built in shaders in XNA quite easily.

4) Can you tell us more about the the Tentacles’ physics? Was this build specifically in XNA or does it use the Unity 3D Physics engine (then ported to XNA) ?

Press Play: Unity is using PhysX, which we couldn’t get for XNA. And when we begun the project, there weren’t any viable 3D physics engines for XNA at all. Since we are actually only using 2D physics, even though we are in a 3D world, we are actually using the Farseer physics engine. In Unity we have made a specific set of meshes for all models that act as 2D physics colliders when ported to XNA. When the project begun we started out using Box2D – the same engine we used for Max – but we just couldn’t get it to perform well enough. Therefore we switched engine in the late part of the project, and that helped us bump performance massively. Especially because Farseer have some tools to help us convert our meshes into polygons instead of using triangles so we greatly reduce the number of active shapes in the physics engine.

5) Current Windows Phone 7 devices are all powered by the same QSD8250 SoC and its Adreno 200 GPU but the upcoming handset which are set to launch this fall with Mango will pack the more powerful Adreno 205 GPU. Are you planning on taking advantage of it (maybe something similar to some iOS games which have normal & “HD” versions to take advantage of the more powerful hardware in the new SKUs) ?

Press Play: We are of course working on a Mango update for Tentacles, but it will probably not be that different in the graphics department. The biggest issue here is that we need to have a game that can run both on the old and new hardware with Mango. But we will see where it ends up.

6) Did you enable Anti Aliasing in Tentacles (that’s the impression I get) ?

Press Play: Nope. We are not using any Anti Aliasing. It must be the quality of the textures and models that are cheating your eyes. ;-)

7) Currently all WP7 XNA applications are limited to a 30hz refresh rate. Mango will finally allow developers to go over this limit. NEON/SIMD support and a Generational GC are also part of the OS update. Do you have any plans to update you games to take advantage of these new OS improvements.

Press Play: Yes, we are looking into getting the game up to 60fps. It just runs more smoothly that way. We just need to make sure that the physics don’t go ballistic on us. At the moment is is tuned to the way the phone runs now. We have experienced that even without increasing the framerate, the game runs better on Mango – also on existing hardware. Regarding the garbage collection, our engine is at the moment virtually not generating any garbage at runtime. And as you see it is not something that costs us
on the loading side of things. So we are pretty happy with the way things are, and will probably not tune the engine further because of the new GC.

8 ) Tentacles has already 40 levels but people are now asking for more given how good the game is. Is there any plan for an update with brand new levels and achievements?

Press Play: We have nothing to announce in that department at the moment. But we are pretty happy with the way the game has been received, so for us Lemmy is still alive.

Thanks again to the Press Play team for answering all of my questions!

  • Anonymous

    Great interview & great game. I wonder when whe have the qsd8255, if games are gonna be like in the iPhone 4 and 3Gs (HD version and normal version)