CombatMath

AQ2D

Combat Math & Class Design

Artix Krieger | Wednesday, April 9, 2025

Battle math is the best math

In today's AQWorlds Infinity progress update we are talking about.... Combat Math! I wish they taught combat math in school. (Wait... do they teach combat math in schools now?)

Battle Math Nodes

But first...

I am home! 

Last weekend, while the team was testing Bludrut Keep, I went to Milkwauke for a gaming convention where the ByteOff game jam was judged. Our game, BackwardsQuest, won BEST GAME! Super proud of Dale Coop (code), Raftronaut (music/sound fx) & FJ (art) for all of their hard work, creativity, and friendship.

How is it going Groglurk?

Tech Demo Plan

Returning home, I checked in with the AQWorlds: Infinity team. There are two game breaking issues holding back the next test. This really has me bummed because the goal was to kick off this test the moment my plane's wheels hit the runway. The first one is related to the major combat & class changes we made last week. The second issue is cutscene issues. Both of those issues need fixed before we can start this extremely important Tech Demo. I will give you an ETA as soon as possible on the start date. The next Tech Demo will be on Steam (and we will upload a client for those of you who cannot access Steam once early bugs are stabalized). Warlic just finished the new cloud builder and Zhoom is helping him set it up the machines. This will allow us to start doing Android builds of the game again.... this is based on our new repository structure. We have to buy some new hardware to speed up the builds. Our "cloud builder farm" is 5 dedicated machines in the server room of the lab. (Yup, we are still in the same lab... for now. Although most everyone works from home.) The platter hard drives have become a bottleneck, so we are getting some of those NVMe solid state drives and adding more memory. Infinity's files are much smaller than AdventureQuest 3D's but has soooooo many more files. Warlic said there were over 974,001 individual files in the repositories. 76,695 folders. There are 90K+ files just in the AQWorlds items. Triggering a fresh cloud build of all those weapons, armors, monster, and items is the hard drive churning apocalypse.

 

The Skill Forge

You may remember hearing about the Skill Forge. This is a tool that Spider created that allows the creation of new skills and classes. Both players & monsters can use skills created in the skill forge. Immortal Joe used this to create versions of Warrior, Mage, Rogue, and Healer starter classes that play similarly to the AQW versions. Then he further created new "Infinity versions" of these classes. These updated versions have area of attack style skills (yes that's right, all four starter classes), use animation timing and animation cancelling instead of global cooldowns, and have some fresher mechanics that make each class more interesting to play, but also not diverging too too far from their original iterations as we still want each class to keep its identity. Both the AQW-like and Infinity versions of each starter class will be available for testing in the next tech demo. Based on your feedback, we will determine the direction that we take classes and combat in.

 

fireball

Skill Creation - Building a Better Fireball

In RPG games, your class is a collection of skills. In the example above,  you can see that the Mage (Infinity) has magic missle, fireball, ice shard, explosion, and arcane shield. Each skill has a name, icon, description, and which slot on your bar it is assigned to.

Mage Fireball math

Fireball Battle Math

"A skill can do anything now."

The actual skill is a collection of tiny actions & decisions... which we call nodes. These can can do anything from play a sound, or change an animation, check to see if you have a buff active, or inflict damage on a monster. The nodes can even look at your stats and do math.

The class designer (normally Immortal Joe) strings these nodes together to create skills. The final skills are saved to the server. The server's job is to do all of the actual battle math and tell all of the players in the room what happened. 

Monster skills are also designed in the Skill Forge

It is possible to make some very creative monsters in Infinity thanks to this system. Bludrut Keep features the first monsters using skills designed in the Skill Forge. We may have gone a bit overboard... but that is what tests are for, right? Your feedback on these monsters and the game mechanics will determine how we build new things moving forward.

 

Earth Elemental

Monsters are setup just like player classes and can have multiple attacks...

Here is an example of the Earth Elemental's ground pound skill. You may notice this skill has a special node called "Tile Cluster". While you could buid that by creating tons and tons of nodes with math.... it is way easy easier to design these special nodes that do more complex stuff in one place.

Those poor server hamsters

Again, when you or a monster use a skill, the server does this logic and then sends you the result. So every time you press a skill it processes all the nodes in the skill. When you are in a room full of players and monsters.... it is a beautifully chaotic server dance to make things flow together (and not break when weird edge cases happen.)

Shadow Spirit

Stats for Monsters & Players

Both monsters and players possess the same stats.

Primary Stats

  • HP - Hit Points
  • MP - Mana Points (aka "Resource")
  • STR - Strength
  • INT - Intelligence
  • DEX - Dexterity
  • LUK - Luck
  • WIS - Wisdom
  • END - Endurance

Sometimes skills use these stats directly... but more often, they are boiled down into a set of secondary stats.

Secondary Stats

  • Attack Power
  • Spell Power
  • Critical Hit Chance
  • Critical Hit Power
  • Haste
  • Dodge Chance
  • Block Chance
  • Damage Absorption
  • etc...

Weapon Damage

Much of your damage is calculated from the stats built into your weapon. But you will almost always hit for more damage thanks to the additional stats from your armor pieces and the power from your character's level. Similarly to AQW, each class uses different stats to calculate its skill damage, so depending on the stats of your equipped weapon, it may be more effective on certain classes than it is on others. Essentially, we are building a new enhancement system that is a lot more flexible than AQW's current system and will allow for a lot more build variety. Diogon has not yet finished implementing the new weapon stat panel-- it will probably not be done in time for the next tech demo. But when it does go in, it will make weapons very easy to understand.

Big stat restructure took place on the server...

I can tell you with a high degree of certainty that numbers will be wacky at the start of the next tech demo. There are not currently caps on the secondary stats and the formulas have been changing a lot. Over the past few weeks Yorumi, Spider, Zhoom, and Captain Rhubarb made some great changes how power and stats were stored on weapons. Most of your damage will come from your weapon. Most of your defense will come from your armor. Gear progression is going to matter a lot more in Infinity... which should also make it more fun. The system to upgrade your gear is not fully implemented yet, so in the upcoming tech demo your gear should automatically level with you as you level up.

Monsters can level up too

Alright... that was a slightly click bait header. What this means is monsters can now be spawned at any level. And just like Dungeons & Dragons monsters, higher level monsters can unlock skills that lower level versions of themselves do not have. For example, a level 5 Skeletal mage may cast fireball, but a level 60 Skeletal mage might cast fireball, reign of fire, and upon death engulf itself in flames and become a fire elemental. When a monster is spawned,

This is a huge feature. See, in the existing AQWorlds, every time we made a new level of a monster we had to duplicate it in the database. Now we can spawn any monster at any level, anywhere. This will be handy for common monsters (like Skeletons and Frogzards) which are used in different places and at different levels. This will come in extremely handy for the "Tower of Leveling" (which I now realize is a dungeon, not a tower). This is the zone we are building to test the experience of going from level 1 to 100 with monsters, drops, and shops. This is not intended to be a player-accessable area. But who knows, maybe we will do leveling up test challenge there. With this feature, I can place monsters on each floor at the correct level to simulate leveling up. How do the monsters know what HP and damage to use when they level up? Every monster can and will be different. So we created a special reference table in the database which monsters can look at as a reference to adjust their power accordingly. This works for boss monsters, mini bosses, minions, and one-shottable trash mobs. The table was made to be hand crafted & hand edited.... because no math-based formula has ever held up to the craziness of our late game power creep. XD 

We ran into some funny issues testing. Because monsters and players currently follow the exact same rules, monsters were no longer able to hit us once we were 20 levels higher than the monster. We started making changes to correct this, but will really need your help to hunt down other unexpected issues like this. Nearly every part of combat has been changed since the last tech demo because of the stat changes.

 

Final Floor

Thank you & looking forward to our upcoming test

...expect day one to be a bug filled wonderland :D

I hope you enjoyed this update post. For a post titled combat math, we did not have to do any actual math. Counting that as a win. I have no excuses for why everything is taking so long. Really sucks that it has. The team and I are committed to completing AdventureQuest Worlds: Infinity so that our dream of playing together at 60+fps together across phones, tablets, and computers becomes a reality. Going to need at least a week for the coders to make the fixes. Please send your energy and encouragement-- the crew could use the love to get to the finish line.

Battle on!
Artix

 

 

More News

Comments

Artix Social Media Adventure Quest 3D