First Imp. Log! (Imp. Log 1)



Hello all! This is the first of many implementation (Imp) logs that show what additions to the game I am going to be working on. This will give you some sort of insight into what I am working on implementing for the release of my first phase, which I am calling the MVP phase.

MVP

First off, what is my MVP?

I have a vision together already for what I want to implement for the MVP. I have a lot of ideas together for Phase 1 of the project, but some of the first things I need to finish for the MVP are:

  1. Build System
  2. Parts System
  3. Weapon Mechanics
  4. Enemy Mechanics
  5. Score Gathering
  6. Wave Generator

With these systems in mind, this order will act as a sort of roadmap for development to help me guide myself through the process and let you know what order these should be coming out as I implement them. And of course Imp. logs will come out along with those to showcase it, how it works with the reset of the system, and trouble I had along the way.

So what do each of these look like and why are they important to the MVP?

Build System

The build system is the pillar of the game, offering the player multitudes of ways to build their trap after selecting which trap type they are going to use. The MVP implementation will only have one trap type, but will offer multiple different parts to accommodate for different situations presented to the player. 

The current implementation is a drag and drop placement style of building, however I am going to be implementing a second system that is selection based instead. This allows me to build a context based menu when the player is selecting the point that they want to build off of, rather than offering a menu for the player to tab and choose from, only for some of those options to not be available to build on that point after dragging it over to it. This will be a more expandable and clear way to represent the building while allowing the player to see exactly which parts they can work with on each point.

An image of the pole with a plus sign at the end to signify a build point and another image to the right showing a ring with 8 circles arranged in a circle on top of a ring displaying images of the buildable parts on that point. 3 more images are below these that show this system with only 3 circles on the ring to represent the types of weapon heads you can attach to the pole part. 2 Other iterations follow showing the in the center that have no plus or minus but are different sizes or show before the menu is open and not shown when the menu is now open

Parts System

Each part of the trap performs different functions. You can choose from different trap types, parts to attach to the trap, and different heads to go on the different parts of the trap. For this MVP I am going to have:

  • Pole
  • Heads 
  • Hinge 
  • Trap base. 

These are the most important items to get right, in order to get out the MVP for testing. Each of them will function differently from the next, with the heads hosting the weapon mechanics scripts to deal damage to the enemies as well as apply status effects.

  • Pole will not be traversable by the Wizard and Knight
  • Heads are not traversable by any
  • Hinge allows the attached part to freely spin
  • Trap base will allow the player control over the trap (where everything is built off of)
  • All parts can freely attach to any build points on any other part and will never "cap off" a path of building
    • Even the heads can attach to other heads!

Weapon Mechanics

The weapon system is meant to provide different benefits for certain weapons over others for different situations. Because the system is physics based, this offers a unique opportunity to change the masses and other options in the physics system as well as the damage and knockback amounts for each depending on the selected weapon.

So, for the weapon system I would like to implement:

  • Damaging enemies
  • Knocking back enemies
  • Applying bleed to enemies
  • Applying stun to enemies
  • Different masses to weapons

To do this, I think a few different systems are in mind:

  • Base Weapon System
  • Status Effects
  • Physics Effects

This will keep the code segmented so I can implement the base system first and add on to it with status effects and physics effects at a later date. For the MVP, I will only be doing the base weapon system pending a release for the MVP. If I feel like I have time I may change my plans later on.

Enemy Mechanics

To defend, we need to have some sort of enemies! These enemies need to have some sort of intelligence (they are adventurers after all). For implementation, I would like to:

  • Have the enemies able to walk to the end of the level
  • Each enemy have 1 strength and 1 weakness
  • Each enemy have 1 ability

The enemies I have chosen are the wizard, rogue, and knight.
For the MVP, I have chosen to only implement the health, knockback, and speed amounts for each enemy to have a good place to start testing. 

I am looking for some advice on playtesting mechanics, so if you have any ideas please drop them in the comments on this post.

My idea right now is to implement these few items and introduce one ability per enemy at a time and balance them all together as I add piece by piece.

Wizard

They are smart and they are utility. Thinking to DnD and how many abilities they have, I want to pare it down to one that will make your job as a trap harder. They will have a force attack that when a head gets near, they push it away with some amount of force. They will have the least armor and run from the heads of the trap.

Rogue

The rogue is cunning and is looking to slow down the trap to allow adventurers through. Due to their Uncanny Dodge(ing) abilities they can pass over the poles in your trap and only take damage from each head once. This allows them to pass through nearly unscathed, disable the trap, and let others through. They have the same armor as the wizard, yet their dodging causes them to take less damage overall

Knight

The knight is as tried and true as they  come. They charge into battle, putting their shining plate armor on the line in order to slow down the trap. These enemies are stalwart and take 1/4 knockback and damage, making them perfect to send in first to get the rest of the adventuring party through.


Score Gathering

It wouldn't be a tower defense game without some sort of score tracking! I have a few cool rune assets that I wanted to substitute for the normal gold pieces while in development to signify scores. This is part 1 of my implementation of a shop system so getting the rune collection, dropping on the enemies, and UI display correct will be the focus for the MVP.

  • Enemies drop runes that are collected by the dungeon master to be distributed to different areas of the dungeon, giving you some cut in between waves to upgrade the trap.
  • Runes add to your total score for the round that is a function of time spent and wave beaten before loss

Wave Generator

Last but certainly not least, we need a way to generate all of the enemies for the game. I am thinking of having a system where there are a few core enemies that will always be on certain wave numbers and then randomizing the type and amount of enemies per wave to keep it fresh. This implementation is enough for the MVP, as I am thinking about having different areas and levels in the future, all with their own quirks. This will include the losing conditions which I have not decided how to implement yet...

The idea is that you are defending your dungeon master's lair, so in between waves repairs to the lair are done using runes and the rest go to you. With that, it seems like the more adventurers that come through the more run down the area becomes and the less health the lair has, before finally losing once everything is broken.

I may include a final boss fight where you help your dungeon master defend the lair in a last chance effort to continue playing, at a heavy rune disadvantage until your dungeon master finishes repairing the lair.

In Conclusion

Thank you so much for taking the time to read the first of many logs detailing the development of Artifice, I am looking forward to getting this going and finishing an MVP soon so you can play and give feedback on how the game feels. If it feels good enough I may just have to continue improving it and getting on to the next development phase. If you want to keep up on development please follow me for notifications on when these come out and leave comments below about your thoughts on the project.

Peace

- Cody

Leave a comment

Log in with itch.io to leave a comment.