itch.io is community of indie game creators and players

Devlogs

Devlog 2: Weaving Spells (22/09 - 29/09)

Wizard Colosseum
A browser game made in HTML5

This week the programming difficulty spiked, as some major features had begun implemention.

TL;DR: Began and then postponed features for smarter Creatures, built some of the core of the Spell system, and allowed the player wizard and lich to shoot Dark Sickles.


Chapters

  1. Straying Down the Wrong Path
  2. Making Magic, Making Mistakes, & Waking Wisdom
  3. Known Bugs & Issues


Straying Down the Wrong Path

For a small amount of the beginning of this week, the next step toward enemy diversification was started though the creation of the BehaviourCreature Class. This was a new Derived Class of Creatures, which would have allowed for enemies to make more intelligent actions, such as the ability to switch from a movement to a spellcast on a whim. Unfortunately, after some plans and basic layouts were made, this step was shelved for the third week of development, as it required additional knowledge and component Classes to achieve completion. Instead, the next (and debatably higher) priority to whip up Classes for spells was pushed into the spotlight.


Making Magic, Making Mistakes, & Waking Wisdom

As was mentioned in Devlog 1, a key focal point of Wizard Colosseum will be the spells, so to create a framework to both future proof for later spell ideas and provide easy access to data, would be a challenge. This process got off to a rocky start due to its complexity, but development went quite smoothly for some time, until a glaring structural inconvenience was noticed. The Spell Classes had initially been built in a manner that was too restrictive, which would require new Derived Class scripts to alter the values and functions for each individual Spell. After some research (and friendly suggestions), ScriptableObjects and enums were the perfect refactorisations for this current conundrum, as in conjunction, these would allow for Spells to derive from a single base file, but also have unique attributes and values when compared. This change also garnered a new Class (dubbed the SpellProjectileHandler) capable of reading the input data provided to each Spell's ScriptableObject, which is where most features would henceforth need to be placed. Once a few days had been sunk into these reworks and some additional bugfixes were made, the lich enemy and PlayerCreature (the player's unique Derived Class of Creature) were capable of shooting damaging SpellProjectiles.


Known Bugs & Issues

To summarise, minimal efforts were put into fixing existing bugs and issues this week, they will hopefully have more time to be resolved in week 3.

  • (From week 1) Damage values are being dealt to the wrong Creatures (e.g. ghost attacks should deal 1 damage, but right now ghosts only take 1 damage when hurt).  ->  Attemped to be resolved. As this mechanic was merely a placeholder, minimal effort was applied, and similar related problems yet remain.
  • (From week 1) Creatures can occupy the same Tile (and phase into terrain), due to relaxed restrictions.
  • (From week 1) Cameras move slowly when returning from left and right boundaries.
  • (From week 1) Health bars could be on a World Space UI Canvas.
  • (From week 1) Wizard turns weirdly sometimes when moving diagonally.
  • Rapidly casting Spells lags the game a bit.
  • When firing a Spell exactly at (0, 0), the game slows significantly.
Leave a comment