I recently redid the architecture for shop items. They now use Scriptable Objects to populate their fields (Title, Price, Prefab, etc.) and the Shop populates itself with objects as they are added to the game. This means less upkeep and better organization!
I have also added changing environments, which load asynchronously every few levels.
And starting on special abilities that have a cooldown and are unlocked by level.
So I returned to the Land of the Employed a few months ago, which really put a damper on the production of my previous project. Since it was intended to get me a job (and in that regard, was a success), I am happy with what I learned and OK with leaving it for now.
But I need to be making something, and need to be getting better, so I have come up with a project more suited to my now-currently-employed schedule, and it is my new mobile project which I am happy to introduce.
This project is an Idle Game modeled after the likes of Tap Titan and AdVenture Capitalist. The Player passively gains income while not playing, and gains gold faster while engaged. Tapping the screen attacks monsters, killing them faster and granting the player with Gold and XP. The Player can use Gold to buy more powerful weapons and followers. Below is a simple Core Game Loop detailing this process, and the IAP I intend to introduce for monetization.
I have a decent amount of the core gameplay implemented already. Features currently include:
Purchase Allies and Weapons from the shop and have them show up/be equipped in game along with their various abilities and effects
Basic Ally and Enemy AI (Perform actions every X seconds)
Simple Player progression curve
There is still much to go, and I intend to go as fast as my schedule allows. Look for more in the future.
I did a little bit of refactoring this week to change how the Players are spawned into the game. This will allow me to spawn them in at checkpoints and load into other levels, and this took up a bit of my time that I had wanted to use for building levels.
Be that as it may, I have begun building the first dungeon of my game. Using the skills I have learned and employed while building a campaign for Strife, I am looking to accomplish some simple goals.
Pacing – Employ a simple pacing structure for encounters and puzzles
Ramping up the Difficulty- Increase difficulty of the challenges the Players must tackle over time and make sure they fit into the pacing I want
Fun Factor – This should serve as a good test for the combat system, though right now there are just Slimes to fight.
Slimes so fierce!
Puzzle Design – Iterate on environmental puzzles and create assets as needed
Level Housekeeping – Will need to integrate my checkpoint system, saving/loading, and spawning and cleaning up of enemies, unused or completed sections of the level, and other objects, all of which I have plans for.
In the name of organization, I am creating gizmos and color coding specific objects and areas in the level, and having a bit of unexpected fun doing so.
Up Next: Finish the level and create more enemies!
The past week I have been focusing on scripting abilities for both players. These abilities fit into the larger system I have created that handles cooldowns, mana cost, etc. so all I had to do was create what I am calling the “Action Components,” or what the ability actually does. Here are my initial abilities for each character.
Knight (Player 1)
AoE Spin Attack: Damages enemies and pushes them away from the player
Leap Smash: The Knight leaps forward and slams the ground, dealing damage in an area.
AoE Taunt: Causes enemies around the Knight to focus their attacks on him.
Rally Flag: Places a Flag on the ground to which the White Mage can teleport to.
Block: Hold up your shield to deflect attacks in front of you
Raise shield: Put your shield above your head so the White Mage can jump on top of it, using it as a ledge to reach higher places.
White Mage (Player 2)
Heal Other: A channeled ability that heals the other player over time
Heal Area: A channeled ability that heals anyone in a radius over time
Fireball: Charge up for a brief period before launching a large fireball. Classic.
Teleport: Teleport to the Knight, or the Knight’s Rally Flag if it is out.
Block: Create a shield of energy in front of the player, deflecting attacks in front of you.
Channel Magic: Activate any magical objects or switches in the surrounding area.
These are the first round of abilities and they are all completely functional with temporary art and effects. They should allow for some interesting gameplay in both combat and puzzle solving.