Build the games you want to play.

You can make this today.

Features

We Wrote the World’s Code. You Get to Make it Fantastic.

For the first time ever, you can create a role playing or 2d platformer game with ZERO programming, natively using Sprite Kit and Xcode.

You can build an entire world with nothing more than a property list. And for those of you that like designing levels graphically (who doesn’t), you can use the free Tiled app, in conjunction with the game’s property list to setup everything in the world. Drag ‘n drop any sized image into a Tiled file, name it, position and scurry back to Xcode to define it’s properties and publish.

And before you have to ask, yes, it’s already updated for the iPhone 6, iPhone 6 Plus, and iOS 8. Add in those 3x sized images if you want!

Finally, the kit has just been updated to support handheld iOS, iCade and OUYA game controllers. Users can play the app from afar using traditional controllers!

Universal Levels. Levels are resized automatically for the iPad and iPhone devices. Within the “playable world” you’ll never need to set a different location or image for a particular device.

Asset Catalogs and Texture Atlases. Since this is a Sprite Kit based kit, you get to use all the latest features of Xcode, most importantly built-in texture atlas support and the drag-n-drop flexiblity of the asset catalog.

Sound Property List. A separate property list for sounds allows you to randomize sound fx or background audio for any level. Instead of having choose one sound for an event, include unlimited possible sounds and the kit will randomly choose one.

Orientation. Supports either portrait or landscape.

Sprite Kit Particle Files. The kit includes plenty of opportunities to use the particle FX built right into Xcode. Any object, enemy character, or weapon can include particle FX.

Saving game progress happens automatically.The app will restart players from the most recent level (that is designated as a Save Point) with their team of players in place and previous weapons. XP and anything in inventory is also saved.

iAds integration.Toggle on using iAds to monetize your app by simply choosing to use a banner or square ad in the property list.

Create physics based levels.Or physics-less levels. Gravity can be set to affect all objects and characters or just some.

Graphically Lay Out Levels using Tiled. You can use the free Tiled app to design your levels, and feed location values directly into Xcode. Drag in images, give them a Name and Type, then position them and you’re done! The property list in Xcode will take care of the rest of the data (like depth, parallax, animation, etc).

Draw poly-line boundaries in Tiled.Aside from positioning objects in Tiled you can also draw linear boundaries. These could be ramps, odd-shaped level borders, whatever.

Various boundary types. Create circular, square, or linear boundaries which objects and characters can move around within, or outside of.

Set gravityto whatever you want. Pull characters or objects left, right, up or down. Gravity can even be reversed or changed at intermittent intervals. A constant pull to the right could be used to create a jetpack style game where the character is always moving in one direction.

Invisible objects Create invisible objects which function as boundaries that cause damage. For example, if the player falls off a platform they could die immediately by hitting one of these invisible barriers.

Add moving platforms. Who doesn’t love a good moving platform in a game? The first level in the demo project is made up of almost only big moving platforms.

Add Ladders -Climb your way to the top, or shimmy down ropes and vines.

Define portals – To jump around within one level, or to another level. They can be locked (requiring an inventory item to enter) or send the player to a menu to purchase the full version of your game. They can also pop-up images, giving players hints to figure out how to proceed. Portals can be animated, and change appearance or play sounds when they become unlocked.

Layout graphically in seconds

Create playable characters that have animated front views, back views, sides views, and animated attack views for each direction. You can also setup animations for when players are idling, idling-into-attacking, dying, damaged, climbing or collecting items. Other properties inlcude: the frames per second, bounciness, mass, collision shape and size, attack time, weapon to use and much, much more.

Build up a team of followers.You can have up to three characters follow the leader at a time, and plenty more characters (or styles) waiting to be swapped out for the leader in your inventory.

Create objects or enemies which roam around, damage the character, provide pop up clues about the world, and react (or don’t react) to the physics world around them.

Objects can be destroyedby a certain amount of contact or from being attacked, and give the player XP or a collectible item when they “break”. Objects can also regain their health back over time.

Place objects randomly in the world Within a specific range or placed at specific intervals, for example, every 200 points on the x axis.

Set objects to be affected by physics or gravity, and they can be collide-able with the main character or not at all. For example, you might want an object to simply be the background of a room.

Create moving or rotating objectswhich can be randomly roaming, restricted to just moving back and forth on the x or y axis, move at intervals, or stalk the lead character.

Objects can generate other objects, for example a pipe might generate random turtles that pop out and walk around.

Parallax Scrolling – Offset the scrolling speed on either the x or y axis on a per object basis.

Experience points (XP) can be awarded for busting objects, defeating enemies, collecting objects or traveling through portals. XP can float up from objects after it has been awarded, and XP can be tracked with labels noting the current amount of XP and XP needed to advance to the next level.

An icon can be set for each level of XP rank.Characters can optionally increase their damage points against objects or enemies based on their XP level.

In-App Purchase Ready.The kit has everything in place to easily get your app in the store with Consumable or Non-Consumable upgrades. Three potential In-App Products are ready, and the kit is expandable to more.

Parental Gate Ready.Your app can be included in the Kid’s Only section of the App Store, with the required Parental Gate already built into the kit. Plus we’ve even included an example privacy policy within the kit that you can upload to your website.

In Game Currency System.Players can buy items to upgrade their characters or buy access to certain levels. Instead of relying only on “found collectibles” to boast a character’s abilities, you can sell those same collectible items via your own store within the game. Store menus are completely separate from the App Store, you can sell an unlimited number of game items.

Sell In Game Currencyby using In-App Purchasing. Product 1 might sell 10,000 coins for $1.99, Product 2 might sell 30,000 coins for $2.99 and Product 3 might sell 100,000 coins for $5.99. If you enable selling currency, your products in the App Store should be set to Consumable instead of Non-Consumable.

Offer System.Characters can buy Collectibles from in-game objects (for example, the town blacksmith). These offers can even be special discounts compared to the default prices and quantities of the collectible item. So you could hide a merchant “off the beaten path” that has good deals.

Access to sections of the map can be purchased through the App Store or In-Game Currency.

Keep a running inventory of collectible itemsor defeated enemies, and create a “loot room” where the player can go back to periodically to restore health and see items they have collected in the game. So if your knight character finds a magical sword somewhere, you can mount that sword that in the character’s loot room. This is a great way to remind a user they are progressing through the adventure.

Create equip-able primary and secondary weaponsthat characters can collect and store in inventory. Options include: choosing whether weapons require ammo, their size, collision shape, whether they are affected by gravity when firing, the vector, whether they fire based on the character’s direction, how quickly their speed tapers off, how long they appear for, their mass, firing sounds, hit sounds, out-of-ammo sounds, animations when they explode, whether they add particle FX during a collision AND more.

Upgrade the character’s look over timeor change the look completely to simply suit the needs of the level. If its a water board, maybe the character is in snorkel gear. Or you can go from a side-view perspective one level, and top view the next.

Characters can be swapped out from the Inventory.This could mean your leader swaps out with another character entirely, or the leader simply gets a new look. You can also change the character while also changing weapons for a complete overhaul. This is useful if your character needs to change how he or she attacks based on a weapon change. For example, you would want different attack animations for throwing an axe versus shooting a bullet.

Create unlimited menus and buttons.Outside of the playable world, to do whatever you like with. Already-made menus to include might be start menus, game over screens, parental gates, in-app purchasing menus, and menus to spend in-game currency.

Over 30 Button Actions. Actions include: Start the game from the first level, start over and delete any saved data, continue from the most recently played save point, add images, add labels, open inventory, open loot rooms, control the character, attack, use weapons, switch leaders, buy in-app purchases, spend in-game currency on collectibles or level access, open the map, toggle sound fx on or off, toggle background music on or off, open URL’s, run custom code and more.

Add Labelsin any style and font you choose. You can pop up text at the beginning of a level to help tell a story, or bump into an object in the game and have a label describe something about the object.

Dynamic textor text that has a value based on something in the game. Examples include: XP level, current XP acquired, XP needed to advance, the amount of an item in inventory, the amount of in game currency, and player health.

Create endless swipe-able mapsto jump back to save points in the game. Your map can look like one continuous piece of art that spans across many screens to reveal different locations in the game. These locations can be locked (and appear so) if the player hasn’t gotten to that save point in the game yet. Save points are stored in the app’s user defaults, so progress is never lost in the game (unless the user were to delete the app entirely).

Option 1 – Gestures .Enable or disable using gestures to control the character. Gestures are setup by default to move the character with swipes (up, down, left, or right). Tapping makes the character attack / use weapons. A two finger rotation gesture, will stop the lead character (and make any followers of the leader quickly catch up) and tapping with 2, 3 or 4 fingers will swap the leader with a follower in the second, third or fourth position.

Option 2 – Virtual Buttons.Enable or disable on a per-level basis using buttons to control the character. Supports up to 8 directional buttons (up, down, left, right, and diagonal controls) and buttons to use a weapon (or tool) or melee attack (or extra movement).

Option 3 – Virtual Joystick. Enable or disable on a per-level basis controlling the character with a virtual control pad / joystick. Optionally the joystick can make the character jump up (when moving up) or a button can be used instead for jump controls.

Option 4 – Handheld Controllers. The kit is already compatible with iOS Game Controllers, iCade systems and OUYA bluetooth controllers. This means you can make the game you’ve been dreaming of since childhood and play it using classic handheld controllers, even retro joysticks!

Options 5 – Mix and Match control systems.

Unlimited Weapons.

Characters can use weapons by default or equip them from inventory. Weapons can also be collected by opening objects, like treasures chests, or picked up after defeating enemies. And enemies (objects that attack) can use their own weapons, all setup through the property list.

Unlimited Characters.

You can create an unlimited number of characters, both for a side scroller or top-down viewed style. Each character can have their own weapons, physics properties, movement vectors, animations, and so on. Characters can also be treated like inventory, so you can swap out entire characters mid-level.

Real cash from virtual cash.

The kit already has properties in place to sell in-app purchases which unlock levels, disable iAds, or buy In-Game Currency. Virtual money can be used to outfit the character, buy items for inventory (weapons, health, etc) or buy access to specials levels to play mini-games within the app.

Incredible Level Control

Imagine building arcade games with the power of Apple's own physics engine, all by changing simple properties. You can choose how much gravity is applied to the level, or if the world is centered around the main character. You can set different properties for each level: use a virtual joy stick one level, gesture control the next.

Dozens of Object Properties Already Setup

Aside from the demo levels included with the kit, you’ll also get a separate property list, full of example levels, objects, characters, (not used in the demo), which you can use to quickly copy and paste into your project. From there, you can add or exclude anything you want, or simply change image names to use your own artwork. Listed below are some examples…

Characters with animation sequences for every direction

Collectibles that award health, in-game currency, or character boosters (powers).

Boss Battles!

Its official! The kit now has support for handheld iOS, iCade and OUYA game controllers. With just a handful of properties you can set which buttons do what, and get started playing your version of the kit without even holding your phone or iPad. Which means you could also send an AirPlay version of the app through to your Apple TV and kick back on the couch and play. All three demo versions of the kit can be played with physical game controllers.

The first big feature this build is Scoring! You can now track the current score and high score for anything (much simpler than using the inventory system). Typical score keys might be something like AllEnemiesHit or a specific thing like EnemyMissilesHit. Whenever you set an object to add an amount to a particular score key, the kit will also check to see if the current amount of the score is higher than the highest score ever for that key. So optionally, you can display a text label for both the current score and high score. Each level can also clear the current score or clear the high score.

The second major feature this build is Automatic Advancing of Levels, without having to walk into a portal to do so. Previously you would have to collect 8 diamonds to open a portal and leave the level. Now you can simply collect the 8 diamonds. You can also advance levels with a certain amount of Score. And if you want to send the player to a menu instead of the next level, you can do that as well. This could be a shared menu that always occurs between levels.

The third major feature this build is Automatic Game Over properties for Objects. Right now we have 4 location based properties to automatically kill off the leader player. So if a particular object goes above or below a value on either the x or y axis, this will end the level. Think Space Invaders, if they get low enough, the game is over.

The big news this Build is: Multiple Weapons for Objects. This should make for some awesome “boss” enemies, and generally more difficult enemies/objects in your levels. Baddies can have up to three unique weapon firing animations, and an unlimited number of weapon projectiles to fire. Weapons can be randomized, or sorted into an array and fired in a specific order. For example, sword, sword, dagger, ninja star, ninja star, ninja star, and then repeated over again in that same order. You can also create a random pool of weapons, which favors specific weapons more often.

Also this Build introduces two new Xcode projects. You’ll get the Meta Platformer version, which is the same project used to submit the Meta Platfomer game to the App Store. This will give buyers even more hands-on examples, and the opportunity to explore a fully functioning app already in the store. And because the example projects were getting a bit bloated with imagery and sounds, buyers will now get a more bare-bones version of the kit, with just enough images to create a single lead character and level with a few platforms only. This project will be a much better starting point for new users modifying the kit.

Major new feature: Special Weapons! Characters can now equip a secondary weapon to add even more attack power. Special weapons function the same as primary weapons. Characters can start with them by default, equip them later from inventory, collect them, or receive them as rewards for breaking objects / enemies. They can also be removed at the beginning of a level like other weapons or inventory items.

8 new animation properties related to Special Weapons.

New button options for Special Weapons.

New Objects and Collectibles properties for Special Weapons.

Properties to let an object finishing moving (back and forth or up and down) before coming to an idle position.

Objects can generate other objects or collectible items. For example you might create a pipe that turns out random Turtles every 5 seconds.

Objects can now be revived from the dead.

You can add an AnimationFire sequence to your object dictionaries, which can be used specifically for animations which fire weapons.

Objects can approach / stalk the character when they are not idle. You can set the speed of approach.

You can set a whole slew of idle properties now, for example, whether or not an idle object has a physics body or can be attacked.

You can now add the character’s health meter as part of the main GUI (instead of only appearing above the character in the scene itself).

You can disable specific movements (up, down, left or right). Swipes or joystick movements in a disabled direction would be completely ignored (this has some advantages vs setting the vectors to {0,0} in those directions).

Ladders! We’ve finally got ladders in the kit. Climb up, climb down, jump and hang on, shimmy to the bottom and hang on for dear life. They can be as wide or thin as you want, so instead of a ladder, these could also be vines or chain link fences. You can also set the climbing speed on a per ladder basis.

Climbing animation sequences – We couldn’t add ladders without the option to add a set of climbing frames for the character.

Cloaking Boosters – Characters can now equip, pick up or begin with a cloaking booster. What’s that? Well, when the character is “cloaked”, objects that (optionally) respond to cloaking will allow the character to walk right through them. They also won’t fire weapons at the character. They can even play dumb, by switching to an animation “idle” state.

Offset for a Character-Centered World – In previous builds, when the world was centered on the character, it was dead-centered. Now you can offset that value for each device. You can also disable centering on either the x or y axis. This can replicate more of a Super Mario Bros type level, where the scene moves left or right but doesn’t move vertically when the character does.

Incremental Movements for objects. Think Space Invaders!

Custom frame rates for every character animation – These are all optional, if excluded your base keyframe rate is used.

Animation sequences for character’s “at rest” facing either the up, down, left, or right direction – These animations are all optional and intended mostly for top-down viewed characters. You can also delay when these resting animation sequences occur.

Damage animation sequences for the character.

Objects can have an “idle” animation sequence. This gets shown when the object is out of attack range of the character.

Attack animation sequences for character’s that begin the attack from resting in either the up, down left or right direction – To go along with your resting sequences you can now include attack sequences from the resting state. If excluded, your character will use the previous attack sequences which occurred whether the character was moving or not. These new sequences only occur when the character has stopped, then attacks.

Immunity Boosters! Characters can now be immune from attack when they first show up in a level, or players can collect items to be equipped later which give them immunity. Immunity boosters can also be applied automatically when collecting items or when breaking open objects like chests or defeating bad guys.

New properties to override where players are sent to after dying on a per-level basis. For example, dying in a dungeon might send the player back to the basement entrance, whereas all other levels send the player back to the last save point.

A new property to limit the quantity of a specific collectible. This will prevent collectibles from ever appearing twice on the same level, so once it has been collected, it is gone for good. Unless the game is restarted fresh again (which removes all save points and most NSUserDefaults).

iAds can be disabled via In-App Purchases.

iAds can be disabled on a per device basis. If you don’t think the iPhone 3.5 inch can handle the game and ads at once, squash those ads in favor of awesome playback.

Even more fine-tuned controls for the Control Pad. Releasing the control pad can optionally stop the character from jumping. And jumping can be disabled when pushing up on the control pad.

Characters, Objects, and Weapons property lists can now be organized with sub-dictionaries (folders basically).

Made with Sprite Kit. Native to iOS 8

Apple has great products because they write great code. Sprite Kit, which is Apple’s very own 2D game engine and built right in with the iOS, is no exception. It is a sleek, friendly language and this kit has proudly been written with Sprite Kit exclusively (even the functionality with Tiled is done with a native XML parser).

So what’s that mean for you, the developer that might not have any interest in peeking under the hood of the code? Well, it means the kit is stable. So when the next iOS comes out, buyers of this kit will not need to panic that some third party functionality stopped working. Apple doesn’t break their own code. This kit began with iOS 7 and has now moved onto iOS 8 seamlessly. Zero changes are required, so for buyers that purchased before iOS 8, you don’t need to change a thing.

Buyers of our iOS Starter Kits will always receive free updates (emailed when they are available) and re-download access to the kit is available through our delivery server.

How It All Started....

The Fantastic Worlds iOS Starter Kit was created by Justin Dike, owner and lead developer of CartoonSmart.com, as a continuation of a Role Playing Games programming tutorial using Sprite Kit. Realizing the code to create a full-featured RPG was simply too much to teach, Justin steered the work on future lessons toward an iOS Starter Kit, making it possible for anyone to create an app by simply entering values or toggling YES or NO values in a property list. The kit, which is now practically a game engine, had more humble beginnings. While most users will probably create a Mega-Man style shooter or Zelda-like RPG, the original project Justin developed the kit for, was a simple children’s game. A happy bubble character would bounce around, collect or pop different letters which would get added to an inventory and open new portals to letter-themed levels. Kids could check their collection of letters in the inventory or go back to a “loot room” which would show the letters collected. That same project is also included with your purchase of the Fantastic Worlds iOS Starter Kit. Point is, the kit is not just one thing. It can be used to create challenging arcade games or child-friendly apps that even a 2 year old would enjoy. Imagine what you could build with it, and the kit can most likely do it.