

About

Port Gideros to Windows Phone 8, Desktop and Raspberry Pi.
£4,057
63
What is Gideros Studio?
Gideros Studio is a Lua-based, cross platform game engine allowing easy creation of apps and currently supporting iOS and Android targets. Launched in 2011, Gideros has become one of the most successful game engines with 20,000 developers registered and 500 games published. Several Gideros games have achieved best seller status including Mashballs, Game for Two, Cerebrus the Puppy, Sweet Madness, Bacteria - Arcade Edition and Sea of Giants.
In 2014, Gideros was released open source allowing other developers to pitch in and convert the software to new targets. That's what this Kickstarter campaign is all about.

What are we proposing?
Gideros currently supports iOS and Android targets. This Kickstarter campaign will add support for:
- Windows Phone 8
- Windows Store Apps (including Windows RT tablets)
- Windows Desktop Apps
- Mac OS X Desktop Apps
- Raspberry Pi (£4000 stretch goal)
With a single click, Gideros users will be able to export existing and new apps to these targets, alongside their existing iOS and Android games. Thus, Gideros users will write apps once in Lua and export to 6 targets (iOS, Android, WP8, Windows Store, Windows Desktop. OS X Desktop). Gideros really will be available on all popular operating systems and be truly cross platform!


How will developers benefit?
The benefits of these new targets are significant. WP8 on mobile phones, is now taking significant market share especially in Europe where it is now the fastest growing mobile phone OS. It has 18% market share in Italy and 10% in the UK.
More importantly than market share, however, WP8 has proved a lucrative market for Indy developers with some reporting 10x more downloads from WP8 than from IOS or Android! It seems the WP8 market is not oversaturated with apps and, unlike iOS and Android, there is good discoverability. In fact, there is a comparative shortage of apps and millions of users waiting for the next big thing!
It's the same story for the Windows Store. Windows 8 was launched in 2012 and 90% of new PCs now come with Windows 8 preloaded. Each Windows 8 PC comes with the Windows Store from which users can conveniently download immersive, touch-enabled Metro-style apps which run on desktop, laptop and tablet computers (either x86/x64 or ARM). Windows Store is an Indy's paradise since there are millions of users and comparatively few apps. This shortage is especially acute for Windows RT tablets (Eg Microsoft Surface) which can only run Metro apps from the Windows Store. This Kickstarter campaign will allow Gideros developers to target this untapped market.
Windows Desktop and Mac OS X are the world's foremost operating systems installed in over 1 billion computers. The PC and Mac markets are lucrative and there hasn't seen the "race to the bottom" seen on mobile. PC and Mac games can be sold at reasonable prices allowing profit to be made without the use of adverts or complex monetization schemes.
For the modest target proposed, we will add these 4 new targets bringing Gideros developers' apps to huge new audiences.
How we are going to do it?
Currently, Gideros uses the OpenGL graphics library which is present on Android and iOS. However, WP8 and Windows Store apps use DirectX instead. Therefore the first task is to add a graphics layer to Gideros so either graphics library can be called as needed. We will also investigate a more cross platform way to play sounds and music (possibly using either XAudio2 or FMOD). For Windows and Mac Desktop support, we will use the cross platform library QT which is how the Gideros simulator works at the moment. Some new Lua APIs will be added, eg, to allow resizing of the game window and to switch between windowed and full screen modes.

How can we do this so cheaply?
We are not intending to get rich from this Kickstarter! We passionately believe in Gideros and think it can benefit greatly from these new targets so we are charging the minimum to get the work started quickly. We have already made a start on some of the work described above (e.g. the graphics layer) and have a team of people with good experience in Windows Desktop, Windows Store and WP8, who are familar with the Gideros source code. We have very clear and specific ideas on how to do the coding and have already mapped out a plan in some detail. With all this groundwork in place, we thing we can deliver without asking too much money from developers.

What preliminary work has been done?
The images below show a simple Lua-based engine running on Windows Phone 8. Gideros users will be familiar with this animation example. This code is not full Gideros but rather a proof of principle code that shows we know how to set up a WinRT/Direct X app capable of running a Lua script. The same techniques will be used to port Gideros itself.


The next image shows how your game assets will appear in Visual Studio when programming for Windows Phone 8. Another project will be present for the Windows Store version of the app.

This image shows some changes made to Gideros to support iPhone 6 proving good familiarity with the source code. Modifications like these will be needed for Desktop support on Windows and Mac.

Stretch Goals
If we achieve £4000 we will bring Gideros to the Raspberry Pi. Pi users will be able to access the complete Gideros toolchain (including IDE and simulator) to create apps directly using the Pi. They will then be able to export to all 6 targets mentioned above using Raspberry Pi. A complete cross platform development system for Raspberry Pi!
If we achieve £9000 in the Kickstarter campaign we will also extend Gideros Studio to support HTML5. This will give developers more outlets for their work including the Chrome App store, Facebook, the Humble Bundle, ad revenue and sponsorship from websites. We have set the bar for this conversion pretty high as the conversion will be more challenging and we do not have so much prior work on this. For HTML5, we will need to convert the whole C++ codebase to JavaScript via Emscripten and link to WebGL for graphics. We need to investigate the sound system and ensure the filesystem works correctly so that Lua apps can read and write files as expected. This is a challenging additional goal but worth the effort if we achieve a higher funding amount!
Risks and challenges
The team on this Kickstarter project are not the original developers of Gideros so one problem will be to understand the code well enough to alter it without breaking things. However, the code is well structured and the team are experienced so we can overcome this obstacle. The original developer, Atilim Cetin, has agreed to answer questions.
Probably the most difficult task is replacing many OpenGL calls in the existing Gideros codebase with calls to a generalized library. These functions will in turn call either DirectX (WP8, Windows Store) or OpenGL (all other platforms). In a similar way, we will generalize the sound system so that XAudio2 can be called on WP8 or Windows Store. It's possible some of the Gideros behaviour is more OpenGL-specific than we thought which could delay the project. However, the team have good knowledge of OpenGL and DirectX and can overcome this challenge!
Another risk is that the WP8 version will run too slowly. We can hopefully overcome this by compiling with optimization flags and using best practice in DirectX programming (e.g. avoid unnecessary switching of active textures, early polygon culling). We will also investigate performing matrix operations in the graphics card rather than on the CPU. We will also consider whether to stream music (more CPU load) or just load it into memory in one go (more memory consumption).
Another issue is advertising and in app purchases which are platform-specific tasks. Since many Gideros developers make significant income this way, we will investigate how to implement this on the new platforms and ensure it is done correctly on each platform supported.
Learn about accountability on KickstarterQuestions about this project? Check out the FAQ
Support
Funding period
- (47 days)