My oldest friend and I dreamed of a free/libre mobile platform game, where you have a real freedom of movement. So finally, we made it—almost…
Update: the game was published!
The story: Edgar (you) is an old mustached activist at Greenalien. His task is to explore and escape from an underground laboratory. He fights against experimentation on alien beings.
We wanted to use GPL, but only LGPL or more permissive is allowed on the App Store, so the code is LGPL 2.1 and the assets CC-BY: https://github.com/PolipGames/Edgar
youtu.be/lmzz6sqzB70
(updated video—this was the older version)
You can download it on the App Store or build it for free on an iPhone or iPod using XCode (Apple’s developer IDE). It takes about 20 minutes to complete the 6 levels.
Chronology
August 2014 ⇢ we start the project (the first sketches)
September 2014 ⇢ “Proof of concept” of the game using Objective-C and the SpriteKit library. Very low FPS and counter-intuitive controls
January 2015 ⇢ First map and first textures for a playable level
August 2015 ⇢ We choose to use “Tiled”, a great libre tilemap editor which outputs XML files
September 2015 Intensive cleaning of the whole source code
November 2015 Thanks to our first players’ good advices, we change the controls and work on a better difficulty slope
January 2016 ⇢ New user interface (resume game, new game, save score), ability to restart from the last played level after you shut down and restart your phone
February 2016 ⇢ New cleaning of the whole project, first commit on GitHub
February-March ⇢ Testing
April 2016 ⇢ First submission to Apple to deploy on TestFlight: rejected because of Guideline 2.10 (any iPhone app must also work on iPad at iPhone resolution, see here).
April-May 2016 ⇢ iPad compatibility, many fixes, small improvements
June-July 2016 ⇢ Lots of work on code readability, UI and bug fixes
August 2016 ⇢ Available on the App Store. The review only took a day and a few hours.
We talk about this process (in french, with screenshots) on a Facebook page.
Contribution
- if you create a level with the GPL editor Tiled, we’ll add it to the main story or maybe create a “Contrib levels” menu like in SuperTux. There is a a level template and more explanations here
- there is only music at this time. Libre licensed sound FX are really hard to find, I don't count the hours I spent on sites like freesound.org. If you have some hints, they're welcome!
- long term: we’d be happy if a contributor joins us. If we move everything to the Godot engine (MIT licensed), it could mean work on this project together.
Also, feel free to use our project as a starting point to quickly try something else on iOS, for example a “light” clone of the great GPL shooter XEvil (iOS development supports c++)!
The game engine is Apple’s SpriteKit library. The project would be more libre with Cocos2d or lua, but these libraries have much less specific and up-to-date documentation for iOS. As a beginner in game programming, I think I couldn’t have made it.
We didn’t founds many FOSS games for iOS… There is 2048 (MIT license) and I read “Simon Tatham's Portable Puzzle Collection” is libre, but I didn’t saw the right sources when I cloned the git. If you know LGPL iOS games, we’re eager to discover them.
Besides, we'd like to use the libre engine Godot for the next releases, but it's a huge work. The scripting language, GDScript, is very nice (similar to Python).
Why iOS: The idea was to make a first release on one platform, then see if we succeed in doing something nice and "playable" and maybe port it to other platforms. As we only have iPhones 4 and 5, it seemed the easiest to do in the first time (and I love Objective-C).
Edit (August 20, 2016): added release, updated chronology, made the text more concise