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.
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, or restricted to just moving on the x or y axis.
- 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 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 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.
Real cash from virtual cash.
Incredible Level Control
Dozens of Object Properties Already Setup
- 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
Constantly Adding Fantastic New Features
- 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.
- Improved memory management for scene reloading
- 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).
- Objects can break when holding a specific collectible. For example, you might open a chest with a key. This can be combined with timed-breaking of objects, so using a key opens an object immediately, otherwise it takes longer.
- New options for leaving in objects after they are broken, or in the case of enemies, if they are defeated. You can choose to leave the object in the scene with or without it’s collision body intact. If the physics body is left in, the character would have to walk over an object that was defeated (gravity and physics would still apply), otherwise the character would just walk in front or behind it.
- Objects can face the character or face away from the character depending on where the character moves in the scene.
- Objects with weapons can scan a specific radius to determine if they should fire on the character. Previously the kit would just check if the object was within the frame of the device.
- Collision body types can now be thin squares (wide or tall), and you can offset the collision body within the character or object. This is useful for setting exactly where the physics body is in relation to the artwork. For example, a portal door might make its collision body be a thin line (like a door mat) instead of a square around the entire door. This way the character steps on the “door mat” to trigger any interactions with the door.
- Characters can now play footstep and jump sounds (works with swipes, buttons or joystick controls).
- Characters can include an animated death sequence and specify a time delay after dying for when the scene resets.
- Better controls for buttons used to jump. Previously buttons could be used to “GoUp” which would trigger a jump in a side-scrolling character, now though buttons have a finer-tuned “Jump” option.
- Labels can now stay up for as long as a character is contacting the object that triggered showing the label. So if a character moves away from a villager for example, the label would dissappear. Otherwise it will stay up.
- New panning-between-portals option. When a character moves from one portal to the next within the same level, you can set an amount of time to pan from one portal to the next. Previously this was just an instant jump.
- Friction settings for objects, line boundaries and characters
- And as usual, even more new features, all of which are detailed in the iBook documentation
- Joy stick controls! Move in any direction now. Works seamlessly for any type level (up will make side-scrolling characters jump).
- Weapons can now be fired in the exact direction the character is moving. This is a great new option for top-down worlds using the joystick.
- Enemies that fire at the player can aim directly at them. No more just firing up, down, left or right!
- Time-based unlocking / breaking of objects. For example, characters can now stand in front of chest for a certain amount of time before it unlocks. Or platforms can suddenly break after standing on them for a while.
- Spring vectors for objects. Any object can now boost the character in a particular direction.
- 8 Directions of control for top-down Games. Diagonal movements are now possible!
- Toggle switches to open portals. Switches can be anything (they don’t need to look like levers). Open doorways based on the number of switches that have been contacted.
- Moving platforms can optionally disable carrying the player.
- Code tweaks for holding down movement buttons and firing.
- Gestures can be disabled on a per-level basis.
- iAds integration
- Objects can stay in the scene after breaking (for example, you might leave a chest open after taking its goodies)
- Conveyor belt effects for objects which will shift the character left or right when standing on the object
- Weapons can be animated while being thrown
- Ghosting effects for bad guys (or any object). At its most simple, this will fade in an object when the character is in view of it. You can also extend this feature to fade the object out again and reverse the effect on a loop. And you can optionally make the object immune from contact when it is in its ghost phase (or most faded out phase). You can choose the alpha settings yourself, so you might go from 10% alpha to 100% alpha, or 0% alpha (invisible) to 50%.
- Code tweaks for horizontal moving platforms (they actually move the character).
- Gravity can be applied to objects when the character is in view (much better for timing things to drop on the character). You can also delay gravity affecting the object from the point when the character is in view. So for example, 3 seconds after the character sees an anvil, it might drop on them.
- Code tweaks for anyone using Tiled with centering disabled. Now portals can shift the “world” when the character enters them. This was a necessary option for when the character goes from portal to portal (e.g. “room to room”) in one level with the centering option turned off. Normally the world follows the character around (the world is centered on the character). But with centering disabled, you previously could not jump to a portal inside the same level if the portal was outside of the visible screen space.
- Reverse gravity at intervals. This feature can simulate underwater levels by moving the character up and down regularly
- Enemies can gain back health over time (making them much hard to kill)
- Disable destroying weapons on contact with objects. For example, you might want a rock (thrown as a weapon) to simply affect the physics of this object. This could be used to weigh down physics objects with projectiles to traverse the landscape of the level.
- Add particles when a weapon is fired from the player or enemy.
Made with Sprite Kit. Native to iOS 7 (and working great in 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 iOS7, 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.
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....
Level Design Made Simple. Just position, name and go.