Build 1.10 of the Fantastic Worlds iOS Starter Kit is officially here

Build 1.10 of the Fantastic Worlds iOS Starter Kit is official. By the way, the runner up build titles were 1.1.0 and simply 1.1, but what the heck, let’s call it what it is: the tenth update to this kit. The major feature this time around is… (drum roll)… Special Weapons for characters! Yup, your leader can now trigger a secondary weapon, perfect for weapons you want to limit or keep “special” in the game, like grenades. Most of the properties added have to do with this feature, so let’s first mention the ones that don’t.

I tweaked the code slightly, so that objects that go “idle” when the character leaves their radius of attack, will finish out the remainder of their MoveYAmount or MoveXAmount properties. This fixes an issue where the object could be stopped mid-air essentially. I’ve added an example object dictionary in the Common_Properties.plist called Fish_Jumping_Out_Water_Type_Movement that illustrates this.  But if you want to disable this functionality, use the following property.

  • FinishMovementXWhenOutOfRadius  –  Set to NO to disable completing the remainder of the MoveXAmount cycle. By default this will be YES.
  • FinishMovementYWhenOutOfRadius  –  Set to NO to disable completing the remainder of the MoveYAmount cycle. By default this will be YES.

 

Also before I forget again, I’ve added the following properties (which I should have added last build) to set the location of the health meter if you wanted to add it as part of the GUI.

  • HealthLocationPhone – the location in {xyformat of the health meter on the 3.5 inch phone (or 4 inch phone if the next property is omitted).
  • HealthLocationPhoneWide – the location in {xyformat of the health meter on the 4 inch phone.

For any Levels dictionary or GameSettings dictionary

  • AllowChangingToCharacterInUse – By default this is NO. Set this to YES to allow the same character dictionary to get equipped twice. So for example if the leader picks up a follower,  the leader or follower could then potentially use the same dictionary as each other, (by equipping the character like an inventory item) thus making two of the same character in the scene.  When this is NO, the code will just switch out the characters if the player tries to equip the same character dictionary twice.  This property can be set in the GameSettings dictionary or on a per-level basis in any of the Levels dictionaries. Most likely, you’ll want this left at NO.

 

Special Weapons Introduction

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. The item in the Weapons dictionary (that defines all the weapon data), does not designate itself in anyway that it is being used as a special weapon. So any of your previously-created primary weapons could be used as special weapons as well.

Special Weapons Properties For the Characters dictionaries

  • UseSpecialWeapon – the name of the special weapon in the Weapons dictionary. You only need to set this if you want the character to have a special weapon by default. You can also use collectibles in the level to equip the character with a special weapon.
  • AddSpecialWeaponToInventory – A YES or NO to add the character’s default weapon to the inventory (perhaps to re-equip later). The Collectibles in the Root dictionary should contain an item with a matching name as the weapon.
  • MinimumAmountOfSpecialWeaponToStartWith – This is an integer value to start the character with a minimum amount of the special weapon. For example, if the character dies with 5 grenades in stock, and this value is 10, the character will restart with 10 (not 15). This value has no affect on weapons that have the RequiresAmmo property set to NO. An alternative to using this property to equip a player early on with a special weapon is to leave a collectible somewhere near the starting point of the level. Like all inventory, special weapons can be cleared from inventory at the start of a level.
  • TimeBetweenSpecialAttacks – An optional decimal value to set a time to wait between special attacks. For example 2.5 would make the character wait 2.5 seconds before being able to use the weapon again.

Along with a new weapon means lots of animation possibilities.  You can set a specific animation for attacking while moving up, down, right, or left and attacking while resting in the up, down, left or right directions. Using all of those would imply a top-down environment. For a side scroller world, you most likely only need a single resting special attack animation, a right special attack animation and possibly an up (jumping) special attack and down (crouching) special attack.

  • UseRestingSpecialAttackFrames  – YES or NO, this is “catch all” resting-into-attack animation, which can be used in place of the up, down, left or right specific animations. This a good option for a side-scrolling world.
  • RestingSpecialAttackAtlasFile – The atlas file for the animation.
  • RestingSpecialAttackFrames – The array of frames for this animation.
  • RestingSpecialAttackFPS – Overrides the base frames per second.
  • UseUpSpecialAttackFrames  – YES or NO to use this animation set. This set would run when the character is moving upwards (or jumping up) and triggers a special attack.
  • UpSpecialAttackAtlasFile – The atlas file for the animation.
  • UpSpecialAttackFrames – The array of frames for this animation.
  • UpSpecialAttackFPS  – Overrides the base frames per second.
  • UseDownSpecialAttackFrames – YES or NO to use this animation set. This set would run when the character is moving down (or crouching down) and triggers a special attack.
  • DownSpecialAttackAtlasFile – The atlas file for the animation.
  • DownSpecialAttackFrames – The array of frames for this animation.
  • DownSpecialAttackFPS – Overrides the base frames per second.
  • UseRightSpecialAttackFrames  – YES or NO to use this animation set. This set would run when the character is moving right (and also left if that frame set is excluded) and triggers a special attack.
  • RightSpecialAttackAtlasFile – The atlas file for the animation.
  • RightSpecialAttackFrames – The array of frames for this animation.
  • RightSpecialAttackFPS – Overrides the base frames per second.
  • UseLeftSpecialAttackFrames – YES or NO to use this animation set. This set would run when the character is moving left and triggers a special attack. If this set is excluded the right set is used and flipped horizontally.
  • LeftSpecialAttackAtlasFile – The atlas file for the animation.
  • LeftSpecialAttackFrames – The array of frames for this animation.
  • LeftSpecialAttackFPS – Overrides the base frames per second.
  • UseDownRestingSpecialAttackFrames YES or NO to use this animation set. This set would run when the character is resting in the down position and triggers a special attack (intended mostly for a top down world).
  • DownRestingSpecialAttackAtlasFile – The atlas file for the animation.
  • DownRestingSpecialAttackFrames– The array of frames for this animation.
  • DownRestingSpecialAttackFPS – Overrides the base frames per second.
  • UseRightRestingSpecialAttackFrames YES or NO to use this animation set. This set would run when the character is resting in the right position and triggers a special attack (intended mostly for a top down world). This set also runs if the left set is excluded (but flipped horizontally).
  • RightRestingSpecialAttackAtlasFile – The atlas file for the animation.
  • RightRestingSpecialAttackFrames – The array of frames for this animation.
  • RightRestingSpecialAttackFPS – Overrides the base frames per second.
  • UseUpRestingSpecialAttackFrames YES or NO to use this animation set. This set would run when the character is resting in the up position and triggers a special attack (intended mostly for a top down world).
  • UpRestingSpecialAttackAtlasFile – The atlas file for the animation.
  • UpRestingSpecialAttackFrames – The array of frames for this animation.
  • UpRestingSpecialAttackFPS – Overrides the base frames per second.
  • UseLeftRestingSpecialAttackFrames YES or NO to use this animation set. This set would run when the character is resting in the left position and triggers a special attack (intended mostly for a top down world). If this set is excluded the right set is used and flipped horizontally.
  • LeftRestingSpecialAttackAtlasFile – The atlas file for the animation.
  • LeftRestingSpecialAttackFrames – The array of frames for this animation.
  • LeftRestingSpecialAttackFPS – Overrides the base frames per second.

 

Special Weapons Properties For Buttons

  • The DoesWhat property can now have a value of UseSpecialWeapon, which will make the character use their special weapon only. The character will not animate.
  • The DoesWhat property can now have a value of UseSpecialWeaponAndAttack, which will make the character use their special weapon and animate (using the animation sequences for special attacks).

 

Special Weapons Properties For Objects

  • EquipThisSpecialWeaponOnBreak  – The name of the special weapon to equip when the object has been broken / defeated. This is the name of the item in the Weapons dictionary.

 

Special Weapons Properties For CollectiblesForThisLevel

  • EquipThisSpecialWeaponOnCollect – The name of the special weapon to equip when the object has been collected. This is the name of the item in the Weapons dictionary.

 

Special Weapons Properties For Collectibles dictionary (items in the inventory menu)

  • EquipsSpecialWeaponNamed – The name of the item in the Weapons dictionary to equip.

 

Special Weapons Properties For the Level dictionaries or GameSettings dictionary

  • UseTwoFingerTapForSpecialAttack – Either the GameSettings dictionary or an individual Levels dictionary can set this value to YES or NO, and make tapping with two fingers trigger a special attack. Keep in mind, levels without any gestures work best when using the virtual joystick or button controls. So it is recommended you only set this value to YES on levels that are already using gestures as the primary means of control.  Also if this value is YES it will override the same gesture controls for switching leaders with two fingers.

 

The character in the side scroller level of the demo project for the kit has a special weapon (grenades) to toss around. Enjoy!

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s