Hello! this is the second DevLog of World of Monsters. Last time I showcased the beginning of the project but this time we’ve added tons of background changes. This one won’t be as large as the last for obvious reasons so I’ll add smaller stuff as well. For those who don’t know much about what I’m saying, please look in the last DevLog right below this, literally called “Last DevLog Information”. I don’t really have much else to say so here is everything new:
Last DevLog Information
Hello, I’m a small developer/owner of Tropical Studio. We are currently working on a new project similar to the Pokémon games, don’t worry, nothing is copyrighted. This will most likely be a way to showcase our work and get feedback to improve the experience. Currently, we have a low level of work done, but a key element monster battling has been implemented. We want to get ideas from other developers to implement game components correctly. Now here is all the information of stuff that has been implemented:
Implemented Features:
Encounter System
The grass system is how you encounter a monster. You walk around until you encounter a monster, which triggers a battle.
Battle System
This is how monsters battle each other. You choose what move your monster uses to attack the opposing monster. Then the opposing monster attacks you, a random move from their move slot.
Retreat System
This is how you retreat from a battle. In other words, how to leave a battle.
Move Effectiveness
This isn’t really something I can show a video with but please let me explain. If a move gets used and the other monster’s type is weak to the move’s type, then the move’s effectiveness doubles. Another way to increase effectiveness is if the move’s type is the same as the monster that is attacking’s type, the effectiveness gets increased by 50%.
– LAST DEVLOG’S STUFF ENDS HERE –
Implemented Features:
Revamped Damage Calculations
In the last DevLog, damage calculations were very simple. They were calculated by this equation:
((BaseHealth - MovePower) * MoveEffectiveness * AttackTypeBonus)
It may seem somewhat complex but is nothing like this new one. Get ready for it, it’s a bit complex:
CriticalHit = 6% chance to double the damage
Range = Random number between (0.85 and 1)
math.floor((((((2 * Level) / 5) + 2) * Power * (Attack / Defense) / 50) + 2) * MoveEffectiveness * AttackTypeBonus * CriticalHit * Range) + A check to make sure it always does at least 1 damage.
Yeah, a bit confusing. But works well.
Health Calculations
This one is a bit more basic than the last. In the last DevLog, every single monster’s health was 100. Now health is calculated by this equation:
IV = A random number between (1 and 31)
EV = Right now is set to zero but will have a purpose later
math.floor(0.01 * (2 * BaseHealth + IV + math.floor(0.25 * EV)) * Level) + Level + 10
Again a bit confusing but the Pokemon games use it, so it must work well enough.
Base Stats
We’ve given all monsters base stats which are just numbers that are used to calculate damage. There are base stats for Health, Physical Attack, Physical Defense, Ranged Attack, Ranged Defense, and Speed. Every single monster species will have different base stats. These numbers are all predetermined meaning we’ve preassigned them.
Server Sided Changes
Battling is now more server-sided dependent to increase efficiency and diminish potential hacking.
Transitions
There are now transitions between triggering a battle and ending a battle. This is to make it feel more immersive and “realistic”.
Small Tween Changes
Health-changing tweens play 0.2 seconds slower. I know, very important to know.
Battling Feels More "Intense"
Battling is no longer so one-sided, damage does the “correct” amount of damage now, and the amount of health is more realistic.
Link to testing project: World of Monsters
Sorry about no videos this time, kinda running outta time. As well as most changes can’t really be seen in video. Most stuff was background changes, but in the next DevLog there is going to be one giant change, so stay tuned!
We would really love feedback although please be respectful. Any criticism is appreciated.