Ok, time for a progress report!
First some gifs:
AbilitiesEnemies respawn when the top right respawn timer runs out.Been busy with family stuff like weddings and easter but have managed to get some work done anyway.
Abilities and classesFirst off, I have been trying out the WoW/RoR style abilities.
The pink wizard is the only one implemented in code, but have ideas for 3 more classes.
The abilities are not super interesting but serve as a good base for evaluating the idea.
Abilities might change, but I think the concept of abilities will stick.
It's also nice to have all the cast-time, cooldown and channeling code in place.
The left and right mouse button items are untouched so far, but I am thinking maybe lock it down to LMB: Wand, and RMB: Whatever is picked up.
Current abilities are: (Inspired naming pending)* 1.
Raspberry super-nova - A lot of projectiles all around the wizard
* 2.
Homing missiles - Channeled spells that spawns 2 homing missiles every .25 secs for 5 seconds
* 3.
Crit spit - Increases the crit chance (chance to shoot those bigger missiles) to 100% for 3 secs.
* 4.
Pink Beam - A pink beam that goes through walls and enemies alike and does massive mounts of damage.
Difficulty and progressionSecond, I am toying with difficulty and general game structure.
The first change in this area is that all rooms have doors that lock until you finish off all the enemies.
Also all rooms has a respawn timer that only stops when all enemies are dead.
if the timer runs out a new batch of enemies are spawned along those that you didn't manage to vanquish, and things get a lot harder.
Both number of enemies spawned and the respawn interval is controlled by which level you are on.
So, finally the game actually gets harder and harder.
Still only four enemy types though.
Tech stuffI have modified the default sprite renderer shader to allow for additive, subtractive and multiplicative color modulation.
To facilitate this I made a simple c# class that finds all the sprite renderers in a gameobject and updates the colors accordingly.
This is used to easily flash things that are getting hit and fading things in and out.
Not perfect by any stretch, but gets the job done.
The draw-order of the sprites was previously a problem. Looked weird when things that were supposed to be behind got in front etc.
The very dirty solution I found was to, like with the color stuff, find all sprite renderers and then each frame set the sort order of them to be relative to the gameobjects y position. I don't have a lot of sprites with this code so performance is ok.
Gimme a shout if you want the code (c# unity)!
What's next?Not sure. More enemies, more items, another floor type, a proper boss battle maybe?
Audience participation is encouraged. What do YOU want to see?
On a related note: Again, big thanks for all the feedback! Both encouraging and informative!