Code Update - Dialog System, Combat System

Hey there, back with an update to Ten Thousand Coins.

Finally resumed the coding side, started out with two different systems.

Dialog System

For the dialog system, instead of coding it from stratch, I chose to go with the Edge Engine Visual Novel addon from the marketplace as a foundation for my dialog system. As the addon is primary suited for visual novel games, I did have to re-code some bits to make it work with my more RPG style dialog, such as how and when dialogs trigger, and the housekeeping involved after each conversation.


 The system works well enough, and even included some template vertex animation scripts for animating the talking portraits which I studied and put to good use.

Note that this system will only be used for the cutscenes in the game, as tutorials or banters will use something more lightweight and fast that I can code myself.


Combat System



I decided to revamp the combat system, improving upon the one from the prototype. The updated combat system is inspired by:

  1. A popular old flash game called "Ronin: Spirit of the Sword" where you used the mouse as the sole control of combat. Being a first person game, you attacked by left-clicking and dragging, and you blocked by holding space and moving your mouse over enemy attack warnings. It's very similar to mobile touch screen controls, before the days of the smart phone, which brings us to:
  2. Mobile music games, where the main gameplay is to hit circles that appear on the screen at the right moment and to the music beat.
How the combat system incorporates these elements is with the enemy's attacks. When an enemy attacks, a warning circle will appear on the screen showing the location of the imminent strike, and the player has a limited time to move the mouse cursor over to block or counter the attack, otherwise taking full damage. It will be very important to block attacks as full damage is more than 4 times more than blocked damage, so the player will die fast in combat without blocking.



Countering is an advanced technique where the player must not only block by moving the mouse cursor over the attack, but also time a right-mouse-button click at the right moment to completely nullify the enemy's attack. Doing so will result in no damage received. There carries a risk however, as a poorly timed counter will result in the player taking full damage instead, so it is not always the best choice over blocking an attack. In short:
  • Blocking: safe and low risk, consistent damage taken, best for novice players or when facing many attacks.
  • Countering: once you get more used to the game, countering has big advantages as you take can take no damage from attacks at all. Risk is it requires skill as a mistake can be costly.
Different enemies will have different attack types. So far the two planned for the pre-alpha demo is the Thief and the Kulk (grey wolf creature with big ears). The thief will have two quick attacks while the Kulk will have one more damaging attack.

Forest Monkey Attack

One unique battle scenario is an attack by forest monkeys. It works similar to combat normal enemy attacks but with three differences

  1. The attacks are moving (as they are the monkeys themselves), and each monkey only attacks once. 
  2. After all the attacks have happened, combat is automatically over.
  3. Instead of taking life damage, each unblocked attack means coin lost, as the monkeys steal your coin.

Popular Posts