The Fantastic Worlds iOS Starter Kit
We wrote the world’s code. You get to make it fantastic.
Create a role playing game or 2d platformer with ZERO programming, natively using Tiled 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.
This kit is Objective-C based, and fully supports iOS9.
Unleash your inner level designer.
- Sprite Kit Based. Written with Apple’s very own 2D game engine.
- Property List Driven. Hundreds of possible properties allow you to completely customize your app without ever editing the code itself (you could though).
- 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.
- Various styles. Create side, top-down or isometric viewed worlds controlled by swipes / taps or buttons.
- 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 gravity to 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.
- 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 destroyed by 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 objects which 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.
- 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 Currency by 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 items or 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 weapons that 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 time or 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.
- 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.
- Options 4 – Mix and Match control systems.
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).
- Objects (like Chests) that open with rewards
- Switches and Ladders
- Animated background objects
- Roaming Villagers and harmless physics objects to push around
- Spikes, breakaway bridges, moving platforms.
- Animated roaming enemies
- Enemies that fire weapons when near
- Enemies that awake and attack when near
- Weapons, like heavy projectiles (rocks), side scroller guns, top-down style throwing swords, laser beams, etc.
- Start Menus, parental gates, maps, XP data, In-App purchasing data
What’s possible with just a Property List?
We should be asking YOU that. What do you want to do? What kind of fantastic game do YOU have in mind? If you can dream it up, you can probably find the properties to set it up.
That’s a property list below. It controls nearly every thing in the kit. Unfolding those key names would reveal more properties, and possibly even more. The property list is what keeps you from ever having to write code. Of course, you’ll need to know exactly what each property does (which is why we’ve released the free iBook documentation).
Editing a property list is incredibly simple: just type in values. You can copy one property to another group (dictionary) or copy an entire group of properties. So for example, if you create an enemy object and wanted to make a similar one, you could copy and paste all the data for that enemy and make minor tweaks to the duplicate (perhaps just the image file and keep all the physics properties in place).
Optionally, you can also use Tiled in conjunction with the property list to position all of your objects. When the app runs, the location will come from Tiled, and the rest of the important information will come from the property list (with some exceptions, for example, Tiled can also be used to define boundaries as well).
Your art can be viewed top-down, from a side scroller perspective or isometric. And you can switch styles or modes of play every level if you chose to. So a single app can easily create what would seem like totally different games. You could even offer access to some levels or “games” for free and charge via in-app purchases for access to other games. Good examples of games the kit could create are…
- Mario Bros.
- Mega Man
- River Raid
- Dig Dug
- Donkey Kong
- Phantasy Star
- Space Invaders
- And plenty more of the “classics”
Major features include: a team of swappable characters, physics based worlds, animated enemies, weapons, equipable inventory, collectibles, an In-Game Currency system, multiple In-App Purchases, built-in Parental Gates, and much more.
Layout with Tiled…
We’ve brought together Sprite Kit and Tiled to layout all OR parts of your level. Simply import your graphics, position them, specify a Name and class Type, save, and return to Xcode to set the properties to define how they will interact in the world. Build and play! For those of familiar with Tiled in other Xcode projects and gaming engines, you might only think of it as a program to paint specific sized “tiles” and making retro 8-Bit style games. With the Fantastic Worlds iOS Starter Kit, Tiled is used for laying out artwork of any size at any position.
How’s that possible? Tiled files are saved as a .tmx format, which is an XML file. The kit parses the XML, looks for specific Types (like Objects, Collectibles, Boundaries, etc), then matches the Name to that item in the property list. So Xcode provides the primary data for an object, properties like the object’s depth, parallax offset, animation, movements, etc, while Tiled for the most part, just provides a location. Tiled can also be used to draw line (or edge) boundaries in a level. So instant of simple square or circular boundaries, you can draw odd-shaped line boundaries into the Tiled file.
Walk-through video of the demo app included…
You can download our free Meta Platformer App from the store (click here) or watch the video below as we talk through some of the key features.
All documentation for the kit is free (video or written). Above you can find links to download the iBooks format version of the guide (readable on your iPad, iPhone or Mac) or a less-fun PDF version of the guide. The book has dictionary-style entries for every property, and an Examples section of how typical objects are set up with screenshots of their corresponding property list entries.
If you’re looking to read the latest features, be sure to visit the What’s New section in the front, and Version Notes section in the back.
Included Xcode Projects
As of Build 1.11 of the kit, buyers will now receive the Meta Platformer Xcode project. This exciting addition to the package will give you another complete project to explore and pull examples from. It should go without saying, but this project has already been published to the App Store, so please do not try to republish it. You’ll also receive two other projects. Our previous demo project which includes 6 variations of a side-scroller level and top-down RPG style level. Each level can be played with swipes, directional buttons, or the much-preferred virtual joystick. And finally, you’ll get the barebones, as-stripped-down-as-possible version of the iOS kit. We’ve removed as much of our art as we thought we could, while still giving you a functioning example level, character, and platform to stand on. There’s some interface items and weapons as well. Just enough to build the project and walk around aimlessly.
The Fantastic Worlds iOS Starter Kit
Multiple purchasing options, all very affordable.
Purchase Option 1 - Lifetime Access
Get Lifetime Access to the latest version of the starter kit for a one-time purchase price. Lifetime Access is a great option for people that don’t want to buy our Yearly subscription option but want one of our amazing kits. Lifetime Access ensures you can always come back to the site and download the latest version of the kit.
Already have Lifetime Access? You can download the latest version from here.
Purchase Option 2 - Subscription Access
Yearly subscribers get access to the latest version of the kit whenever they want, plus access to EVERYTHING else here at CartoonSmart. This includes every starter kit, every tutorial, and hundreds of dollars worth of royalty free game art (yes, it’s an amazing deal). You can cancel your Yearly subscription anytime directly through Paypal. This is a particularly good option for interested customers of the Fantastic Worlds Kit as you can also get access to our Swift-based Platform Games Kit for iOS and tvOS Apps, and see which kit is a better fit for your needs.Browse All Courses
Already have a Subscription? You can get started here.