1. Archmage Rises
  2. News

Archmage Rises News

New Combat for a New Year

New Combat is coming Jan 19 2024

It has to be Good

There is an adage in video games “Games are late once, but bad forever.” We started on NEW Combat in March. Recently, we were pushing hard to get it done before Christmas. For you! For us! Especially the guys who have been on it for 9 months. But we just can’t build, test, tune, and release it in that time. After all this time and waiting I sense it has to be good! So we’re giving ourselves enough time to hopefully get it right and not kill ourselves over Christmas.

With that out of the way, let's jump into a quick overview of some of the things that is coming with the new Combat Update!

Interesting, Thoughtful, Strategic Combat




We’ve rebuilt every spell from the ground up with a new paradigm, system and UX. Combat now asks a multitude of interesting questions for which there are many possible choices.

Five Full Schools of magic for a total of 30 New Spells – Each school has been rebuilt from the ground up to have it's own identity and flavor. Preexisting spells have been remade new. When and which spell to cast matters! Each school of roughly 6 spells is equally valid and valuable. Play your mage fantasy however you want.

Magic Research & Progression System – This whole new system uses XP gained from combat, research, and experimentation to unlock new spells.

We will be sharing more details of each spell school over the coming weeks leading up to launch.

New Mechanics
  • Ara - Adjustments to the Ara pool system, including managing your Ara (Mana) resource across turns. Unused Ara now carries over across turns.
  • Action Points - increase by 1 per round (like Hearthstone) up to 8, opening up more options latter in battle
  • Armor - We removed the two kinds of armor (physical and magical) from monsters, now enemies just have HP and resistances
Enemies


We’ve completely revised our four existing races: Spiders, Wolves, Skeletons, and Goblins. Now we are happy to introduce a new race: Crocodons. Burrowed deep beneath the earth, the crocodons have hibernated some 2,000 years. As temperatures approach those of the years before the Frost, the crocodons stir from their long slumber…



Save Files

Maintaining your hero's progress is super important to us. Yet, we completely redid equipment. What to do? Our solution is to refund the gold value of any existing equipment you have, teleport you to the starter town, and allow you to buy new equipment from the shops. The old equipment doesn't easily translate to the new unfortunately.

Also, because of how world generation works, crocodons will only appear in new games, not existing save games.

We will maintain the latest build before Combat releases as a new Legacy branch for those of you who might not be ready to make the switch yet.

That's what we're sharing for now, but we'll release more details as we get closer to release.

What Questions Do You Have?


Phil (Community Manager) and Mark (Combat Lead Designer) will be recording a Q&A / AMA about combat. Post your questions here and we’ll answer them in the video!

Build 0.2.21 is now Live!

[h2]IMPROVED:[/h2]
  • Highlights keywords in conversations with NPCs for important pieces of information. There may be some instances where key terms don't highlight yet, we're working on fixing those.
  • You can now click on those same highlighted terms to get options in the dialogue to ask about those items, and then return back to the quest-related conversation.
  • Dialogue options now have a consistent order.
  • Hovering over the "Flatter" option in NPC conversations will now show the difficulty check required to succeed on a flatter role.

Dynamic Quests #4: Expanding, Generalizing, & Rewriting

[h2]Everything is Great! Until it isn’t…[/h2]

When last we left off, before I was interrupted with 10 Employee Reviews, we had a working system able to pop out goal driven text like this:

Quest Plot 1: Alice Kerslake wants Eliminate - Persuade Other NPC - (Underlying reason: ATTACKING US) Template: Find Person, Kill Generic, Deliver Information

Alice Kerslake, Female, Mid wealth, age 21

Player: Do you have any work for me?

Quest Giver: I believe it's critical that we convince [NPC] about the threat of the Skeleton.

Player: Why?

Quest Giver: There have been clashes between the Skeleton and our people. Not long ago my niece was injured in a [enemy] attack. People are going to die unless we get rid of them. [NPC] has great influence in these matters. If he can be persuaded, others will join the fight. Can you help me?

Player: Yes, I'll help you

Quest Giver: Thank you. I'm afraid [NPC] is notoriously stubborn. And with these recent attacks, I know that we can't do this alone. It would be helpful if you could find somebody named [NPC]. I believe they may prove useful.


The C# code takes game context to query excel files for a speech template. One like this:

Quest Giver: I believe [Would You Kindly:Quest Objective] [Quest Objective:objective] [problem] [Stakes:Time] [Stakes:Subject] [Event:problem] [Fear:goal] [Reason For Task: objective :goal]

Anything in square brackets is replaced by the system.

There are reserved words like objective or goal which are replaced by complex variables in engine.

Then there are straight lookup replacements like [Stakes:Subject], with the colon (:) separating the columns. The data looks like this:



Couple of things we like about this:

  1. Super easy to mix natural language with template values and variables. Nolan only has to know a few key words (objective or goal) but the rest is up to him. He chose to make a grouping known as “Stakes” with sub-groups of Time or Subject. Whenever you can remove a programmer from the workflow, yer doing it right! 😛
  2. The system supports 4 column levels of specificity before returning the line or phrase requested. This seems flexible enough to handle our needs.
  3. Case insensitive search! I can’t stress enough how important it is to put the little bit of extra effort into making string compares case insensitive so designers can just do their work. The rule is to allow any form of bastardized input to make the game work. Try to remove as many barriers as possible. I strip out leading and ending spaces, special characters, blanks, and nulls. No one likes being blocked for forgetting a capital S or accidentally leaving a blank row.
  4. Fast iteration cycle. We can change the excel template or dialogue lines while the program is running and see the results immediately.

Everything is looking great, and then human nature kicks in where if you give an inch they want a mile….

Nolan wants 3 more columns of specificity: relationship, goal, occupation



This brings it from 3 named columns to 7. And we’re still in the early stages! Experience says he’ll probably want at least 3 more as we do more with it. This isn’t sustainable. The excel sheet becomes unweildly with tons of blank columns most of the time, except for the few times he needs it.

This leads to errors.

Time for a new solution.

[h2]Hey, You Know That Thing That Works? Rewrite It. Generically.[/h2]

The core of the system is how it looks up and returns randomized lines. This now needed to be changed.

There is always a point in a project/feature where you better understand the problem and can make a generic solution to really solve it and all it’s ilk.

In this case I had to throw away the concept of named columns. Instead, each : (colon) is simply a separator saying “more specific parameter incoming!” As long as Nolan puts the data in the same order as he calls for it, he can have as many columns as he wants.

It also allowed us to flatten the data. Instead of needing to put data in specifically named columns, with spaces all over the place and the easy ability to stick it into the wrong spot, data is always entered from left to right with increasing specificity. The above data is now:



You probably aren’t impressed all we achieved was pushing the alignment left one column, but it’s a sign of how much simpler it is! It’s the kind of thing a programmer can get excited about!

Nolan got his additional columns. And he can have more if he wants them.

The parameter/variable analyzing and substitution code went from 100 lines to 30. By making it more generic, the code became simpler and clearer. The signs of a good system design!

It took just over a day to rewrite this whole thing.

So what did we achieve, well from an output perspective? Nothing new! In fact that was the test for the new system: did it output the same results as before?

Under the hood it is a lot better and now we can continue moving forward.

Weekly Dev Update: Dec 4, 2023

[h2]Update 2B: Combat Rewrite[/h2]
WIP of new combat

Combat has been in development for 6+ months. 90% of our resources are focused on it: Mark, Josh, Michel, Tyler, Zach, Jonathan, Jessi, Nolan, and Rubi.

We’re nearing the end of Combat. The pieces are coming together. It’s all working. It’s been real tough to pull this off but it looks like the results will be worth it. Here’s hoping we don’t screw it up with bad tuning! Meaning, we want to ship as soon as we can, but if the tuning is off “it’s bad forever”, so we don’t want to do that.

The major Combat Work:

  • Define combat data in some sort of easy to use way (JSON) ✅
  • Make and cast spells ✅
  • UI - with tooltips and combat log updates based on the data ✅
  • Status buffs ✅
  • Turn system for player and enemies ✅
  • Enemy actions and abilities - Working on it

I’m pretty confident we will announce a release date later this week!

[h2]Dynamic Quests[/h2]

This past week my schedule was totally consumed by employee reviews. The last one is today. This week, I return to the Dynamic Quest prototype.

Don’t know what I’m talking about?

It’s essentially using the simulator and NPC goals to generate interesting quests. The goal for Archmage was to have the game be a GM with the ability to create infinite quests.

Nolan and I are working on it. The first part of Dynamic Quest generation is coming as part of Update #3 Exploration.

[h2]Priority Tasks[/h2]

It’s important to do both BIG things and smaller things simultaneously. A challenge in project management. Phil and Daniel2 are working on these improvements for this Thursday’s patch:

  • NPC: Dialogue: When a new Topic (Person, Location, Quest Object) appears in text, highlight it. This is really hard, which is why we didn’t do it yet. We’re close to being able to do it.
  • Tied to the above, make these new Subject topic options automatically appear without requiring you to click “Tell me more about…”
  • NPC: Dialogue: we’re fixing the ordering of the options to make more sense. It will display in this order now:


    • Quest related
    • Service related
    • Good (compliments, flatter, etc)
    • Neutral (How are you?)
    • Mean (Insult, Kick in the Nuts)
    • General Questions: Tell me more…
    • Leave
  • Flatter now shows a tooltip for difficulty

[h2]And Now For Something Completely Different…[/h2]

These posts are intended as an inside glimpse into the studio. So some might find this interesting and/or entertaining…



Couple weeks back I had some time off. I used to play WoW from 2005-2010. Recent work on the Dynamic Quests got me thinking about my favorite quests in Westfall at Sentinel Hill (Alliance). I decided to fire up WoW Classic and play it again… you know… for research.

Once the spiraling camera of the intro sequence started all the sweet warm memories came flooding in. It was every bit as good as I remembered! A video game is like a time machine, it brought me back to remembering simpler times, before kids, before moving to rural northern Ontario… I was in heaven, playing a game I sudden realized, I still love.

I leveled and got to Sentinel Hill (15) and kept copious screenshots and notes for Nolan and I.

Mission accomplished.

But… maybe just one more level….

I shared my experience with the team just as an FYI. Some of our team members were only 5 years old when WoW came out. I wouldn’t want to inflect 2004 3D graphics on any of them.

Yet, one by one, people started signing up to WoW Classic and playing with me… First Tyler, then Mark, then James, then Zach. Then Zach’s wife, and now James’ wife is considering jumping in. Phil is on the fence. I predict he’ll cave soon after Combat ships!

That’s 6 of us now all playing a 20 year old game in off hours… we just ran Deadmines last night (first Alliance Dungeon Instance) and it was awesome.

We finishing up the employee reviews today and the fact that we enjoy working together all day, then exploring Azeroth in the evening together is a sign the team morale is real healthy. And a healthy sustainable team is what we need to finish Archmage Rises right.

Thank you for the privilege of making this game for you!

Vote For Us for the IndieDB Awards!

It seems as though the video game industry has really hit the awards season. I just received an email about IndieDB's "Indie Game of 2023" awards, and thought how cool it would be to win that award!

Whether we win or lose, this journey has always been about trying to create the best mage simulator video game we can, and getting listed as one of the top 100 Indies of 2023 would be an amazing achievement! Plus, the more people who see the game and buy the game means more content and features we can continue adding.

So, we'd love your support again and 30 seconds (or less) of your time to jump over here to cast us a vote and help Archmage Rises become one of the top 100 Indie Games of 2023 (and beyond)!

Vote here: https://www.indiedb.com/games/archmage-rises