Platform: Android, including NVIDIA Shield
Why Marmalade mattered: A classic PC and Dreamcast game headed for NVIDIA Shield
with the help of Marmalade
When a game journalist complained in the late nineties that game design briefs were becoming so elaborate they couldn’t be detailed on a single post-it note, Phil Scott rose to the challenge.
Back then he was a technology lead at Rage Software, and he knew he could defy that journalist’s claim. The result was the PC and Dreamcast title Millennium Solider: Expendable, which began life with a handwritten line ‘if it moves, shoot it, and if it doesn’t, blow it up’, penned, of course, on a small square of glue-backed paper.
Now, some 14 years later, the game is back, reworked and well-received on Android as Expendable Rearmed, and currently on its way to NVIDIA Shield – preloaded on the system at launch – as Scott and his colleagues at Retrobomb push the game to as many devices as possible. And the technology behind this return? Of course, it is Marmalade.
“The game was always something that held a place in my heart, and it was the same for a couple of the other guys,” says Scott of the decision to return to the original Expendable.
“There’s was a Dreamcast version done when we were at Rage; in fact it was one of the launch titles. Recently, somebody had done a comparison of the specs of the Dreamcast, which was a very powerful console at the time, but compared to modern phones, the phones looked more powerful.
"I was pretty impressed, and a back of an envelope calculation made me realise what we might be able to do. I wondered ‘what if?’ for a few months, and that escalated to the point where we had a prototype up and running.”
At around the same time, Scott’s day job as NVIDIA developer technology evangelist had led him to meet Marmalade CTO Tim Closs, and soon the project was underway to bring back Millennium Soldier as Expendable Remarmed. That process began with a prototype, built using Marmalade, for the Tegra hardware Scott already knew very well.
Scott is quick to point out that a wealth of tools support Tegra, but it was Marmalade that he and his co-developers picked, attracted by its relevance to the original game’s coding language and suitability for rapid prototyping.
“What’s great about the Tegra hardware is that there’s a lot of very, very good tools that really let you dig into it,” confirms Scott.
“But one of the big benefits of Marmalade here was that it didn’t really get in the way of you inspecting things, so that’s a huge bonus.
“Marmalade was an excellent tool, and in this case Marmalade felt like it was the best tool for the job, and it allowed us to get iterating and get refining very quickly.”
WHAT YOU C IS WHAT YOU GET
As they began their work recreating the game on Android, the Retrobomb team realised that working in native C and C++ was a natural fit to how the original was made.
The game used its own scripted language, interpreted by a proprietary engine, and a wealth of unique binary assets and various other elements in industry-standard formats such as TMDs, PCXs and DDSs. To have such knowledge and intimacy with the original game was a blessing, but could have made for a very complicated process otherwise.
“With Marmalade it was actually pretty straightforward,” reveals Scott.
“We knew our binary language format, we knew the engine and everything like that, so we didn’t have to rewrite every nuance of the game again. It worked very well, with the underlying architecture of the game all being in C and C++. We had an OpenGL ES renderer, which Marmalade obviously just gives you straight access to, and then, on top of that, there was this script language that the editor would sort of spit out, which really would make no sense to anybody without prior knowledge."
Then came the decision to target the Tegra 4-powered Shield, which while an ambitious undertaking, was an equally positive experience for Retrobomb.
“It was a natural progression to take the game to Shield,” states Scott. “We’d actually already added, through the Marmalade extension process, support for USB joypads for the other Android devices.
"We worked really hard to make Expendable Rearmed work with touch screen, with a lot of focus testing with great results. But we wanted the controller support, and so that took us to the point of having the game already perfect for Shield, which uses all the standard Android API’s, such as HID controllers.”
The Shield version did require some tweaking to take advantage of the additional rendering power the platform provides to Android developers, but using Marmalade the work was relatively simple.
For now, Retrobomb remains focused on the possibility of taking Expendable Rearmed to more devices and platforms, and Marmalade remains focused on letting studios the world over do just that.
To read all of Develop’s Made with Marmalade articles, visit our archive.