Greetings Wizards,
If you haven’t already, you can follow Rogue Wizards on Steam and add the game to your wishlist.
Spellbind Studios is proud to announce that we are entering into the closed beta period for Rogue Wizards. We’ll be adding Kickstarter backers and Humble Bundle pre-order players into the beta bi-weekly over the next few months. When that period is over we’ll look into opening the beta up for more players that sign up through the mailing list on our website. It’s important for our feedback and testing that we slowly introduce players into the beta and always have a fresh set of new players checking out the game … so if you don’t get your key right away don’t worry, it will come in one of the later waves.
During March we’ve put in a ton of effort into game balance and new monster abilities and the game is playing better than ever. Besides getting ready for the beta, having these new monster mechanics and balance have really helped make a solid demo which we have submitted to IndieCade. Let’s hope we get selected for the fall show this year, wish us luck!
Phil has finished the final artwork for the opening scene at the Wayside Inn. We’re really loving the dark wood and the warm vibe we get from the visuals of this mini environment.
For one of the new enemy abilities the Harpy can now cast silence on the player and their followers. When silenced the player is unable to equip or cast any spell runes and must rely on only their weapons or wands until the silence spell wears off.
The Overseer enemy also has a new ability that raises a rock wall around the player, completely blocking your movement until you destroy one of the stalagmites blocking the path. It’s particularly fun to see this wall interact with the other enemies nearby, sometimes it’s helpful to have a barrier between you and a monster and sometimes you want nothing more than to be able to get away quickly but instead find yourself blocked in.
Talk about the changes in our online forums.
Major Features:
– New artwork for the opening Wayside Inn scene
– Harpy now has the ability to silence targets for 10 turns. Silenced targets cannot equip or cast magic spells.
– Overseer enemy now has an ability to smack the ground and raise stalagmites surrounding the target
– Yeti breath attack now freezes the player for 1 turn and yeti now has two moves per normal turn
– Disturbing now has a bite attack and a magic attack that can turn other enemies invisible
– Disturblings now have a 50% chance of starting out invisible when spawned
Minor Changes:
– Follower can no longer switch weapons and attack on the same turn
– Turns are now longer skipped just by opening your inventory, however if you modify any equipped items it *will* use a turn when you return to the game field and in world text will appear on your character saying “Equipped”
– Item buy prices are now displayed in red if you can’t afford to buy the item
– Quests can now be abandoned from the Quest UI off the Town Inn or Backpack UI if the quest is not for the current level and is not a main storyline quest
– Banish is now an instant skill and works on multiple targets at once within a radius
– Increased the healing amount from the regroup skill and reduced the cost
– Fixed comparision selection logic for bows and chakrams to prefer other bows and chakrams before comparing with other ranged weapons (daggers)
– New art for town intro cinematic taken from in game and character art
– Added 5 new shields to the game and replaced art on a few of the existing shields
– Bosses now teleport when they become trapped and have nowhere to move
– Increased potions in town at supply shop to 4
– Decreased potion cost
– Added healing shrines that refill in the boss rooms
– Champions and Boss quality monsters now summon one more wave of minions
– Followers now avoid traps and hazards
– Malevolence fireball now has a lower burn chance and burns for only 2 turns instead of 3
– Wandering merchants will now always appear somewhere on the next to last level in a dungeon chain (beyond the starter dungeon)
– After defeating a Guild Wizard boss, the entire player party is now healed and negative status effects are removed
– Leveling up will now also remove negative modifiers
– Healing shrines now also remove negative modifiers on your player
– Bosses and champions now become scared for less turns (down to 5 from 10) at most health threshold events
– Decreased the credit from item sales for vendor upgrade by -10%
– Force magic weapon drop in first dungeon after 10 hostile kills with follower and is a chakram or bow
– Combat affixes for fast and element immunity no longer appear on bosses until 25% through the game
– Reduced duration of Fire Giant flame from 4-6 to 2-3 turns
– Malevolence damage reduced
– Sentinal range reduced by 1
– Thiefling scared for +2 more turns to a total of 5 turns (keeping in mind they have 3 actions per 1 player turn)
– Wandering Merchant always now has at least 3 health potions
– Stalagmite spell range increased by 1
– Thieflings are no longer allowed to be champions or quest bosses for now (too deadly until tech can be added to tone their summons back)
– There is now a short cinematic animation when you return to town after completing an elemental rift where the camera zooms to the gem and the Guild Wizard sigil appears around the gem
– Slightly reduced the sizes of medium and large dungeon levels
– Reduced upgrade cost of vendors by 25%
– Skip turn visual feedback is now in world text that appears on the player
Framework:
– Fixed shields doing blocking when you are frozen
– Added BlockRestrictedProperty when freeze modifier now adds to the property list
– Added Agent.SpecialQualityAllowed
– Fixed sentinal possibly summoning itself off screen
– Added support for qualities to have an allowed rank range min and max so that we don’t encounter super hard champion monsters in the early game where the player is likely not prepared
– Added support for modifiers to be removed when their owner is part of a conversation dialog
– Freeze and invisibility now automatically are removed when their owner is part of a conversation
– Removed disturblings until invisibility skill bug can be found plus they target each other endless which sucks
– Safeguard events for silence and wall skills
– Skill current action id is now set earlier in an attempt to find invisibility bug
– Tab images for the avatar pane are now static images of the male and female player
– Added bool to UITab that indicates the tooltip for the tab should the the subject actor display name
– Quake on hit effect now on the effects sprite sheet instead of the hud
– Added images for UITabs
– Remved empty sprite child game objects from wood seating prefabs
– Removed actor components from the deco placed on the dungeon and in tables, it only needs to have a sprite component not an actor at all
– First room of wayside inn now has a chest that always drops money instead of a chest
– Removed all dungeon objects from the inn
– Created a new set of unique objects for the inn using the correct material
– Sized and exported all new inn artwork
– Prevent crash when door has no knocker
– Fix floor image fliping
– Turns off teleporter placement for now until the waypoint system can go in
– Disturblings can no longer turn themselves invisbile, it causes a couple of disturblings to do nothing but turn each other invisbile which is lame
– When an actor becomes invisible, if they are the current target of the combat display, the display is hidden
– Fixed actors losing their invisibility when a burn modifier they put on a target caused that target some damage
– When actors are destroyed, we now destroy the contents of their inventory first while they are in a valid state (not fixing anything in particular on this project, but a lesson I’ve learned in the past)
– Changed actor Status.Destroyed to be Status.PendingDestroy
– Protect against double destroying an actor
– Fixed crash when upgrading a vendor when one or more of their current contents was an item that had sockted items in it, we cannot rely on the inventory location of the socketable when removing the socketables from the inventory slot visuals because the socketable might already be in the process of being destroyed and already removed from the container inventory.
– Allow loot to drop at +2 your rank in a dungeon due to level ups while in the dungeon
– Fixed a minor bug in the area connection logic of the cellular automata generator that could cause a floor to stomp over one of the map edge walls, making it look like there was a hole in the map
– Added support to trigger the skill looping sound at different sound trigger events 1) Custom 2) OnStartAction 3) OnContact
– Added ruble audio to the Overseer wall skill after his fist hits the ground
– Added a list to AI of initial modifiers to apply to the actor
– Fixed AI and Swarm class to properly have the actor param for “OnActorReady” message method, I’m surprised Unity still called these even though the function signatures didnt’ match
– ModifierPrototype.DurationInTurns is now DurationInTurnsDefault for clarity, also a value of 0 is considered infinite (instead of -1)
– Disturblings now consider other enemies as higher priority targets for invisibility first and themselves last
– SkillPrototype.SelfTargetLowPriority
– Wardrobe effects are now hidden when invisibility is enabled via Wardrobe.WardrobeHide()
– ModifierEffect can now be attached at the center standing position
– New audio effects for invisibility skill cast and invisibility modifier on/off
– Added Team.IsFriendlyTo( … ) and list of teams in data prefabs to support it
– Added invisibility skill and associated prefabs, effects, and logic
– Added invisibility modifier and associated prefab, icons, effects, and logic
– Added Invisibility property
– Added Actor.HasInvisibility( … )
– Invisible actors no longer trigger the mouse over combat display or any turn visuals in the action manager
– Invisible actors are now revealed when they are attacked, if they start any skill action, or deal any damage to anything directly or indirectly (splash or area of effect damage)
– ModifierSkill now has a data driven option that optionally targets that already have the modifier to deliver not a valid target for the skll (invisibility uses this, silence should be refactored to use it)
– Added support to Skill.CanTarget( … ) for the new prototype flag for RequireFriendlyTarget
– AIs are allows to do skills even when they are not fully visibile if they instead have invisibility
– Added Wardrobe.WardrobeHide( … ), currently implemented by spine controller wardrobes by turning off the mesh render for the spine game object
– Added MapBase.FindActorFlag.IgnoreInvisible in order to implment invisibility mouse over and pick correlation tests
– Added Modifier and ModifierCollection method hooks for OnStartSkillAction() and OnAttacking()
– Modifiers now have a bool that says they are removed when detected by hidden revealers and added support and logic for it to ModifierCollection.OnRevealHidden( … )
– Modifer.OnCombat( … ) is now OnAttacked( … )
– Disturbling is now part of “Shared Enemies.prefab” and will appear in the game
– Added missile bone to disturbling spine data
– Tweaked new shields to change over time using the rank range allowed at in ranges of 40% of the game for 3 groups
– Tweaked art and colors for human spell wardrobe attachment glow to be brighter
– Minor fix to make architect plans for next to last levels work on the proper level index (from last checkin)
– Added support to ModifierPrototype for flagging a negative modifier as well as a method in ModifierCollection to remove them all
– Fixed silence not playing its on and off modifier effect circles
– Fixed _Modifer.prefab to properly represent a bass class by removing the empty PropertyCollectionPrototype component from it
– Added support to ArchitectPlan to execute 1) Any depth, 2) Min+ depth, 3) Next to last depth, and 4) Last depth levels
– Added Player.HealAndRestoreParty( … )
– Sped up the lance attack animation for male and female human actors
– Added support to PathFlags and CanMoveFlags for avoiding traps
– Added reference to Trap actor class to actor manager
– Cells now keep track of the number of traps contained inside them
– Quest follower dialog now happens later in the level due to having to kill a higher number of enemies for the dialog trigger to occur
– Increased banish radius min from 2 to 4 tiles
– Decrease lifetime for Fire Giant flames
– Thieflings now get 3 actions per turn (up from 2)
– Champions and bosses now summon more minions
– Priority skill actions now take priority over flee and scared logic for AIs
– Stalagmite is now on the neutral team instead of the hazard team, this was thought necessary for traps but was not … however, it seems cleaner since stalagmites aren’t dangerous
– Tweaked teleport trap effect color
– ActionSkill now tracks if it was for a high priority action via init flags
– When you’re +1 higher level than a monster, you now receive explicitly less experience, less at +2, and only 10% at +3 and beyond … this is to prevent experience farming and generally makes sense anyway
– Fixed lightning based skill targeting cells that were not fully revealed
– Loot drops for a dungeon are now capped at the rank the dungeon was generated at +1 … this allows the player to level up once and find new cool stuff and not exploit farmable levels like the elemental rifts that always regenerate at the same rank when the player has died even if the player is higher level
– Fixed affixes wrongly increasing item prices because they had an instance score that doesn’t have a meaningful effect to the affix logic (chakram bounce, ranks +X, etc)
– Generalized the modifier duration in turns override from silence into the moure generic min/max values set in ModifierSkillPrototype
– ModifierSkill will now also do combat damage if there is a damage payload in the skill prototype
– Refactored the ModifierSkill.addModifier( … ) to give back a set of bit flag return codes for target died and modifier was added
– New art for freeze modifier, ice crystals on ground only at target location
– Freeze modifier is now saved
– Modifiers now save any persistent effects from the prototpye EnabledEffects list
– Modifier effect lists for enable/disable are now actor lists
– Unified the code that spawns modifier effects
– Fixed invisible monsters after game load if those monsters were frozed due to a freeze modifier
– When spine controller receives a new pause animation request (freeze), if the object has not yet been drawn we hold onto the request and pause the animations after it has been rendered once. Not holding on to the request like this and trying to do it immediately at startup causes no animations to ever be processed and the object will never be visible
– Removed old freeze crystal effect artwork and prefabs
– Removed FreezeModifierEffect class
– Modifier persistent effects are now automatically destroyed when the modifier is disabled
– ModifierEffect has a new field that allows the user to specify the attachment position (base or center)
– Wands can now still be used even if the ultimate container is silenced
– Added separate glow color field to quality to work around the color mismatching between the spine shader and the item glow shader for now
– Overseer now does 1.3x melee damage to make him more deadly since his wall skill is sometimes a benefit to the player
– Cleaned up the checks for silence to mostly all use Skill.CanBeExecuted() as a unifying place to keep the logic
– Moved the silence check from Spell into Weapon and generalized it to use the execute skill instead of assuming spells in the equip function and keep the silence logic central
– Added WallSkill and WallSkillPrototype and all necessary logic for the Overseer ability
– Added an “Impact 01” bone to the Overseer spine rig and support for it via Wardrobe.Slot
– WardrobeEffect now can optionally have a lifetime as well as individual flags to sync the position, rotation, scale, and whether to do the sync continuously or just once at initialization
– Refactored the Wardrobe.ShowEffect() and Wardrobe.HideEffect() to take actor ids as input instead of references
– WardrobeEffect now stores the source prefab and actor id so that it can be removed by the effect itself if it’s lifetime expires
– Added WardrobeEffect.OnHidden( … )
– Wardrobe now hides all effects when their actor is destroyed, this is so that any effects that are marked as pooled can be removed and returned their source pooled
– Moved the healing shrines to a more obvious place in the boss scene
– Increased healing shrine refill time
– Fixed skill decisions not properly calculating the clossest possible hostile target after the recent changes to it
– Refactored the confidence logic in AI to be cleaner
– When AIs become scared, the scared logic now always uses the property for the scared turn count to determine how long they will be scared for
– Removed the unnecessary AI confidence “Bold”
– AI flee requests will now stomp over scared and normal confidence settings
– AI scared requests will now be ignored if the AI is already fleeing
– Added AI.IsFleeAllowed(), which checks a newly refactored settings in the combat quality for explicitly forbidding a flee action (bosses and champions restrict flee actions)
– Fixed the Thiefling not properly doing his flee logic after stealing items
– StealSkill now makes a Flee or Scared request of the AI that stole the item at the time the item is stolen
– AI confidence is now saved (save files have been versioned for it)
– Increased the max value allowed to be set in the scared turn count property from 10 to 128
– Set the refilling healing shrine turns to 20
– Added range to ai stance preference field
– Harpy now set to 50% chance of melee/silence in its skill selection decisions
– Filled out the logic for SilenceSkill and SilenceModifier
– Added ring out/in effect for silence while being cast as well as when the modifier is enabled and disabled
– Added Skill.OnActionStarted( … )
– Removed the auto complete of an ActionSkill if DoSkill() returned that the skill was complete if the skill will normally complete the action later due to the end of the execute animation. The action is now only auto completed if the skill is setup as a “manual” action end trigger, in which case we should make sure the action stops because there is no more skill logic running. This allows us to fully utilize all animations of a running skill and not continue forward to the next action until this one is truly complete.
– Added “Silenced Property”, an aggregated int value that is put into the property bag of a silenced modifier
– Added Actor.IsSilenced()
– Added support for “Silenced” in world action text
– ModifierSkills now have a data driven option for when to apply the modifier (OnDoSkill, and Custom), the silence skill applies the modifier using its own custom logic so we can watch the cast animation for a second after the contact frame is reached
– A silenced user is now considered in Skill.CanTarget( … )
– Added Skill.CanExecute( … ) which now considers if the user is silenced, and if so they skill will not be considered as a skill that can be executed by the player or even considered for execution by an AI that is silenced
– Equipment.CanBeginEquip() is now virtualized and considers a silenced ultimate container via the Spell override method
– Added Equipment.OnContainerSilenced( … ), the Spell class implements this so that if the container currently has the spell equipped it becomes automatically un-equipped. Also, if the spell is currently bound to an inventory slot, the slot visuals for the disabled icon are updated
– Added new art for the disabled icon overlay of items in an inventory slot, it’s been changed to a more hand painted X icon
– Added Wardrobe slot support for PalmLeft/PalmRight (Harpy) and Mind (Players, but currently unused)
– Wardrobe effect attachments are no longer considered mutually exclusive, we already have the logic correctly in place for all instance to properly show/hide an effect, so there is no need to hide all effects when showing a new one … these are now officially truly parallel effects
– WardrobeEffect color initialization can be bypassed by passing in the Color.Clear … some wardrobe effects like the harpy rings are colored in their particle system and don’t want that color altered ever
– Added Control+I cheat code to toggle AI on/off
– ModifierEffect can now optionally attach to the owner or just sit on its own in the world
– Fixed spacing of icons in the modifier hud so they are actually spaced properly now using the icon sizes
– “Silenced” is now displayed in the tooltip of an item if it is currently restricted due to the container being silenced
– ModiferTooltip now has a list of property definitions to manually include in the tooltip display logic, this is currently used for the silence modifier since the “Silence Magic Property” has a tooltip, but it’s set to “Manual” display or else it shows up in other tooltip locations that we don’t want since it’s aggregated from the modifer all the way up to the player
– Fixed bow animations to go with new bow art that no longer contains a dark shadow
– Fixed Sword 01 image stray pixels
– Re-exported player spine runtime data
– Exported all weapons and shields for new art
– Removed dark shadow around all weapons and shields for the spine images so the magic glow really pops though in color properly
– Added support for refillable shrines
– Added cosmic refilling healing shrine actor
– Rifts at depth 2 are now slightly larger
– Fixed sturctures not auto interacting after dialog when multiple dialog prototypes were batched up into the same DialogUI
– Moved a couple of conditional and shared skills into the enemies shared skills folder
– Note the previous changelist had the change to “Combat Quality Boss.prefab” which should not have gone in without this changelist
– Skill decisions can now consider non hostile actors as targets for skills as well as the actor itself making the decision, this is so that Teleport when trapped can execute properly
– Renamed SkillDecisions.ClosestPossibleTarget to ClosestPossibleHostileTarget and updated the logic accordingly
– Dryad teleport effect now uses the shared teleport effect in Combat/Skills/…
– Renamed the attachment enumerations for Shield and their Glow attachments
– Renamed shield artwork PSD layers and exported PNGs to a new naming format where shields can share a single glow image and it’s clear what is for what
– Updated human spine rig for new shields
– Moved enemy actor directories into an Actor subfolder of the Enemies folder
– AIs are now notifiied of every change location of an actor
– AIs now keep a list of the 4 most recently visited cells
– When AIs flee, they will now try to attempt to not go to any of the cells they have visited lately so that they don’t get stuck going back and forth between just a few cells
– Town cinematic slides now animate into position
– Added support to PositionAnimator for a “Once” style animation
– Tweaked town cinematic slides to use better screenshots for town and Hosperak
– Bumped up level requirements for earth rift and beyond by 1 for each group (5 levels are now requried between each)
– Decreased loading tip text size
– Added tutorial popups for spending attribute points and acquiring spell points
– Fixed spell upgrade UI text going too far to the edge of the scroll
– Fixed Banish spell description not properly replacing the radius token
– Shortened the Banish spell description
– New book icon art for the available spell points shown on Avatar UI, Spell Tree UI, and Spell Upgrade UI (not different than the book icon which is for the spellbook itself)
– Fixed magic items having the wrong glow color after equipping a body armor piece
– Added SpineController.SlotColor.AttachmentColor as a separate field that is set by attachment glow colors
– Added SlotColor.BaseColor which return the slot diffuse color * the attachment color
– SlotColor() constructor initialized everything to white now
– Fixed a m_diffuseColor setting that isn’t necessary, but is clean when you change the diffuse color and slot colors are present in the spine controller
– Drasticly reduced the color computation on the human avatars, slots for the heads which are not active are no longer considered and will not be allocated an entry for coloring
– Spell family affixes no longer affect the core elemental damage amount inflected by staves, it is intended these affixes affect learned spells and spells from wands
– Added support for properties that can be safely ignored upon load if there are errors reading the params or values
– DialogRead property which tracks which dialog prototypes have been read by the player is now safe to ignore invalid data on load so that we can easily remove dialog from the game and not break save game files.
– Removed QuestPrototype.MainStoryline in favor of new field QuestPrototype.CanAbandon
– Players are now healed after a Guild Wizard boss dies
– Main storyline rift quests now have a star displayed in their quest listing artwork
– Fixed auto-buildable interaction after dialog at the inn that is part of the Town_Intro quest and tutorial logic
– Buildables are now only auto-interacted with after the dialog UI display if the player has never interacted with the buildable before, this way the first time you see the talk bubble on a new structure you get an intro and see the structure UI, but each future talk bubble does not force you to look at the structure UI so you can just go around and get the update from all dialog bubbles on all structures easily
– Versioned save game files
– Added interacted flag to Buildable and it’s Transfer( … ) function
– Import from latest storyline google docs
– Restored background image for title screen
– Re-organized a few title screen assets to be in one place
– Removed unnecessary text and logic from deprecated factory components, leaving factory logic there for now in case I need to bring part of it into the new town logic tho.
– Removing tons of deprecated data and code from the old tower mode
– All buildables now auto interact after unread dialog has been automatically displayed and read (not just quest givers)
– Visual feedback is now given via in world text on the player if the player is using up their turn due to equipping an item in a full screen ui (backpack, spellbook), the feedback occurs once the full screen UIs are closed and a turn is only used if the equipped status of any of the players items changed during the full screen ui and not just looking at or moving items around
– Inventory slot now listens to player properties for purposes of gold changes when the value text is buy mode for the slot
– Changed art for gold icon in the inventory slot to the gold coin instead of the gold bag and offset text and coin a little to make it fit right in the slot
– All player ActionPass() instances now give no visual feedback except for the instances that are triggered via UI or keyboard command
– Fixed a case in the AI use of missile skill caused the target of the missile skill (bow) to think it could not target the actor because it was normally ignored by ai (barrels), we now pass in teh flag to bypass such logic assuming that this inner validation check has already passed the more stringent decision can target checks on whether the target was totally ingored by ai in the first place
– Fixed supply depot having an upgrade button
– Fixed AI.getBasicMeleeSkill() to actually check all available skills as well as prefer equipped skills over non-equipped ones
– End of alpha message tweaked and is now displayed after the last gem glyph cinematic is completed or when loading from save game
– Removed structure reward given after the Cosmic dungeon since it’s the end
– Fire dungeon now gives the item enchantment shrine which is now inhabited by Evi
– Earth dungeon now gives the cauldron which is now inhavited by Greg
– Nature dungeon now gives the Forgestone which is inhabited by Casey
– During the story progress cinematic in town where a rift glyph appears around the gem, text now types in below the glyph stating the name of the rift that has been completed
– Fixed crash when unlocking the enchantment shrine in town due to function being called on a prefab and expection no instance data to be set on the this reference
– Fixed structures always being unlocked at level 1 instead of following the player rank (where appropriate)
– Added field to Buildable to govern the initial rank of the structure when unlocked (1 or based on player rank ratio to max)
– Fixed recycled floaty objects not resetting their rotation
– Fixed recycled floaty objects not returning to the default render layer if they were switched to a custom one
– Fixed crash in sprite init from set static frame
– Moved init of animation manager earlier so that any systems after it that instance sprites can use the animation system to init their static frame
– Removed buildable tutorial popup, it’s confusing and probably not needed
– Floaty text can now customize the alignment and anchor
– Removed spammy warning log from combat target after executing a skill that destroyed the target by checking against an actor id that is never cleared in the combat target
– Tweaked text for alpha welcome
– Tweaked text for save game cannot be loaded
– Added a few position helpers to bounds extensions for TopCenter etc …
– Added Divya to the credits for “Writing”
– Generalized the queue of area state transitions into “town cinematic” transitons
– Added ITownCinematic, currently implemented by AreaState and StoryProgress classes
– Separated the logic that syncs the town gems to the current game state from the change in storyline states that trigger a town cinematic to reveal the guild wizard sigil around the gem
– Moved world input button far far back in Z because it was covering up the new hud Z position
– Moved hud back in Z because the minimap was cutting through the scroll UI in the inn
– Added Z position to UIZLayers for the shortcut UI so it can be specifically z ordered in relation to other UIs that are relevant to them
– Fixed CinematicManager input blocker object being active on start, it is now only active when a cinematic is running
– Fixed queued town cinematics not checking to see if there was already a cinematic running but not complete before starting their own execution
– Input is now disabled during town cinematics
– Setup music for the new town map
– Fixed initialization issue with AreaMap that was not seeding the random number generator
– Fixed initialization issue with area map that was not properly selecting music
– Added TownManager.OnStorylineAdvance( … )
– Fixed spellbook auto equip rune cutting through the UI when travelling from the book to the shortcut bar (again)