A New Foundation

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!

shop
Shop UI with upgradeable Allies

I have also added changing environments, which load asynchronously every few levels.

changingEnvironments
Two different environments!

And starting on special abilities that have a cooldown and are unlocked by level.

shadowClone
A Shadow clone helps do damage.

A Return to Development!

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.

slash3

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.

core loop

 

I have a decent amount of the core gameplay implemented already. Features currently include:

  • Monster Spawning!
  • 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

slash1

There is still much to go, and I intend to go as fast as my schedule allows. Look for more in the future.

Grayboxing the First Dungeon

Graybox
In progress build of level 1

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.

  1. Pacing – Employ a simple pacing structure for encounters and puzzles
  2. 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
  3. Fun Factor – This should serve as a good test for the combat system, though right now there are just Slimes to fight.

    slime
    Slimes so fierce!

  4. Puzzle Design – Iterate on environmental puzzles and create assets as needed
  5. 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!

Ability Scripting

game2
A button pressing mini game

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)

leapSmash

  1. AoE Spin Attack: Damages enemies and pushes them away from the player
  2. Leap Smash: The Knight leaps forward and slams the ground, dealing damage in an area.
  3. AoE Taunt: Causes enemies around the Knight to focus their attacks on him.
  4. Rally Flag: Places a Flag on the ground to which the White Mage can teleport to.
  5. Block: Hold up your shield to deflect attacks in front of you
  6. 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)

healArea

  1. Heal Other: A channeled ability that heals the other player over time
  2. Heal Area: A channeled ability that heals anyone in a radius over time
  3. Fireball: Charge up for a brief period before launching a large fireball. Classic.
  4. Teleport: Teleport to the Knight, or the Knight’s Rally Flag if it is out.
  5. Block: Create a shield of energy in front of the player, deflecting attacks in front of you.
  6. 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.

Next Up: Dungeon Building.

Let’s Make a Game: Progress So Far

Prototyping Scene in Unity
Prototyping Scene in Unity

I like playing games. My wife likes playing games. This blog attempts to chronicle the making of a game in Unity that my wife and I would like to play, a few words at a time.

Game Goals are as follows:

  1. Create a couch coop game reminiscent of Zelda with hints of Dark Souls
  2. Emphasize cooperative game play elements. Players should truly have to work together

Current features at this point:

  1. Player controller (Walk/Run, Dash, and Jump) with animations and effects
  2. Melee and Ranged attack system with animations and effects
  3. Re-usable Ability system for the Player and Enemies
  4. Player stats (Health, Mana, Stamina) and integration with abilities and attacks
  5. Inventory System that allows players to pick up weapons, equip them, and arrange them in the inventory space
  6. Player UI for stats and inventory
  7. Basic enemy AI that allows enemies to use abilities and navigate. Hooked up to animation controllers
  8. A coop-style camera
  9. All models, textures, code, and everything else in the game are made from scratch by myself, which has afforded me with some excellent learning opportunities.