A few months ago I was getting ready for our Creator CI20 launch in London; one of the demos we were planning to show at the event was Open Arena, a well-known Quake III mod that runs on multiple operating systems, including Debian and Android. When I took the same kit to CES 2015, I showed the demo to Scott Wasson from the Tech Report – he was quite impressed to see it running at 1080p in under 2 watts of power.
After reading more about ioquake 3 (the open source version of the Quake III game engine), I realized that Creator CI20 packs the performance needed to run many of today’s arcade games and therefore is an ideal solution for makers looking to build home-made micro-consoles based on our dev board.
The Cocos2d-x game engine now runs on MIPS!
I got in touch with Ricardo Quesada, chief architect at Chukong, and sent him a few Creator CI20 boards to use for development. Since our microcomputer has a 1.2 GHz dual-core MIPS CPU, a PowerVR SGX540 GPU and runs both Linux and Android, he decided it was a good fit for porting the latest version of Cocos2d-x to the MIPS architecture and started a diary to document his experience, posting daily updates on his progress.
Porting Cocos2d-x v4 to Creator CI20 also meant Ricardo could test the robustness of their infrastructure and check the flexibility of the toolchain.
Building Cocos2d-x for Android on MIPS is as easy as building the game engine for any other Android platform. – Ricardo Quesada, Chukong Technologies
He was able to easily cross-compile all the required libraries and get the game engine up and running in a few hours. The end-result of this collaboration was an official announcement between Chukong Technologies and Imagination; read more about it in this press release or this blog article from Ricardo and download the full source code here.
Devices using MIPS CPUs and PowerVR GPUs from Imagination are now able to run a fully optimized version of the Cocos2d-x v4 game engine:
I’m excited to see gaming enthusiasts use Creator CI20 to build arcade game consoles and port some of the most popular Cocos2d-based titles currently available on Android to our platform; we’ve seen several examples of open source game consoles using MIPS CPUs in the wild so it would be interesting to see how the community could take that further.
What’s new in Cocos2d-x v4
Cocos2d-x v4.0-alpha0 includes all the features of the recently released Cocos2d-x v3.4 game engine. Here is a quick summary of the latest tools and features added to Cocos2d-x v4:
- Unified rendering for 2D and 3D objects: this feature enables developers to implement advanced 3D effects (shadows, particles, visual damage number popups, etc.)
- Frustum culling: only the elements that are inside the frustum are sent to the graphics hardware. This potentially improves application performance since only the visible vertices of the 3D world are stored on the graphics chip.
- Smaller size: Libcurl has been replaced by the system network library on mobile platforms (iOS and Android) to reduce the size of game packages.
- Custom allocators: these can be used increase memory management performance, reduce memory fragmentation and support memory loading analysing
For more information about Cocos2d-x, check out their website and follow them on social media (@CocoaChina).
You can also keep track of the latest news and announcements from Imagination by following us on Twitter (@ImaginationPR, @PowerVRInsider, @MIPSGuru). If you’re attending the upcoming Maker Faire event in the Bay Area, drop by our booth to see a live demonstration too.