Learn iOS Game Development By Example: 10 Projects to Get You Started
Interested in mobile game development? This list of 10 open-source, iOS game projects available on GitHub will help get you started! The projects compiled in this list range from clones of classic games like Pong and Connect Four to apps that are very similar to those that have recently topped App Store charts. There’s nothing quite like learning by example, so let’s get started!
The projects listed below should not be copied and submitted to the app store. Instead, they should be carefully reviewed so that you can learn by example and create your own game.
iPong is a clone of the classic Atari “Pong” video game and offers multi-player gameplay. If you’re new to creating games, this Github project is a great place to start!
Find the project on Github here .
2. Find the Monkey
Find the Monkey is another simple game that is great for intermediate and beginning iOS game developers. The premise of the game is simple: the game randomly hides a monkey behind a series of blocks, and the player tries to determine which block is concealing the monkey with the least amount of guesses and the shortest amount of time.
3. Four in a Row
Four In A Row is the iOS version of Milton Bradley’s classic Connect 4 game. You probably played this game as a kid, and some of you may even still play as an adult! It’s a simple two-player game in which players compete to get four circles in a row either horizontally, vertically, or diagonally.
4. Cocos Shooter
Cocos Shooter is a simple 2D shooting game demo that you can use to learn explosion effects. The author has kindly posted an accompanying blog post on how the game was made.
5. Cocos Whack Mole
Cocos Whack Mole is a whack ’em game for iOS that is inspired by the classic whack ’em games found at local arcades all over the world. For the uninitiated: a “mole” appears for a short period of time and the player must tap the mole before he disappears. Each successful tap results in a change in demeanor for the mole and a higher score for the player.
6. Mahjong Mania
Mahjong Mania is a project based on the classic Chinese card game Mahjong. Beginning iOS developers will find a plenty of code to learn from here. This project includes iAD integration, time tracking, and game center support!
7. Knight Fight
Creator Laurence Archer (Lozarcher) describes Knight Fight as a “2D isometric game for the iPhone and iPad with game play similar to Ultimate’s game Gunfright from 1986.” Be warned: Knight Fight is both fun an addictive. The goal of the game is to find the Knight and win a shoot-out. Players must also avoid and outsmart ghosts while looking for bonuses in each of the homes.
8. Tiny Wings Clone
This project is a clone of the popular, top selling App Store game Tiny Wings. While the bird is missing from the game, you will recognize the rolling hills and long flights the game character takes. This project is a great place to learn game development fundamentals for those who are already intermediate or advanced iOS Developers.
Climbers is a unique puzzle game. The player controls two climbers connected together while climbing a wall made of rock. As they climb higher, the user must make strategic moves to ensure that the climbers both reach the top and collect all the stars available along the way. As an added element, the player must also watch out for falling rocks. This is a great game to learn from. It uses a unique concept to create fun levels and incorporates collision detection and object collection.
10. Cross Me Not
Created by Github user Manan19, Cross Me Not is an addictive puzzle game with multiple levels as well as iAD and Game Center integration. Users are given a shape with several connected lines that cross. The user then touches the red dots to move the lines and make a shape without any lines crossing.
Find the project on Github here .
Interested in learning iOS game development or know of other open-source projects that the development community can benefit from? Drop me a line on Twitter (@williamherring ) and let me know!