1. Archmage Rises
  2. News

Archmage Rises News

Events Beta Release Set for Fri June 27

[p]I’m pleased to announce the Events feature is ready enough to set a ship date![/p][p]We’re performing an internal QA next week, and as long as we didn’t break anything serious, we’re going to put out the new Events system for you to play on the Beta branch Jun 27.[/p][p]We’ll run it in beta for about 2 weeks before launching it to everyone.[/p][p]Example of the events on the map[/p][p][/p]
Key Features
[p]While traveling the world, you’ll now encounter dynamic narrative Events. These are unexpected situations that offer choices, skill tests, opportunities to roleplay, rewards, and consequences.[/p]
  • [p]You’ll see events appear directly on the world map as you explore[/p]
  • [p]We’re starting with 30 events, more will be added as we develop other features[/p]
  • [p]Replaces the old Tracks system - you now spot tracks from afar and choose to engage with them or not[/p]
  • [p]Replaces the old Resources system - you now collect resources by walking over it and the terrain type determines the resource. If it’s a mundane event you get the resources. If there is a special one, you play it out.[/p]
  • [p]Added a new Item type - a “giftable”. These can be sold, but they are special unique items that can be gifted to NPCs to provide big relationship bonuses.[/p]
  • [p]Some events are repeatable, some are once per lifetime. Some of the rewards can be quite significant.[/p]
  • [p]For the first time, you can add custom content to the game. Write events in JSON and the game will use them. Instructions will come after we do the public release, for now you can see what it is like in this video [dynamiclink][/dynamiclink][/p]
[p]The events system is quite robust and dynamic. It’s one reason it took so long to make. It will be used by the next two features we will work on: Regions and Dynamic Quests.[/p]

Dev Update May 30: More Events

Internal Playtest

Today I playtested the events we have for feel.

Overall, they feel good. It’s the right thing to add to the game, it adds a certain “je ne sais quoi“ to the game to make it feel slightly more magical, mysterious, and interesting.

It doesn’t transform the game, but it’s a solid step forward. It will be really nice when we tie more systems into the Event generation.

The first thing to tune is the timing of event appearance. Right now they appear way too frequently and it sucks. It’s like too much salt in your soup. And Michel loves soup!

Second is how/where the events appear. The placement logic we have ends up creating sucky scenarios where this happened:
  • I exited a town and saw an event to the west. I went towards it.
  • Just as I reached it, another event spawned to the east, right beside the town
  • Just as I reached it, another event spawned to the west, close to where the first one was


This ping ponging between events feels crappy. Like running on a treadmill with no forward progress.

We have some ideas we’re going to explore on the placement algorithm next week.

JSONing Events


We wrote 22 events but they weren’t all in the JSON yet. As Michel translated them into JSON, there were features we needed to add to the game.

“There is a difficult balance of when to conform content to the game, or the game to content.”


We initially wrote the system with no real content - just some test content we imagined up. Once we started pouring in the content, that is when we discovered the real system needs. Michel went back to programming those features to get the game to conform to the content.

It’s almost like we added a mini scripting language to the game:
  • GOTO support (either jump to a stage or use the options at that stage)
  • Blackboard Values / Flags (keeping track of how many goblins died)
  • conditionals support (not true conditionals, but a similar effect can be achieved with random-stages + prerequisites)
  • dynamic text and text variation
  • AnyLairsNearby()
  • CheckBlackboardValue()
  • CustomPrereq()
  • FledBattle()
  • HasFood()
  • HasItem()
  • HasNotSeen()
  • HasSeen()
  • HasSeenAny()
  • HasSpell()
  • HasTool()
  • HasVariable()
  • LacksItem()
  • NeedsTool()
  • WonBattle()
  • AddOutcome()
  • GainStamina()
  • GenerateBattlePlan()
  • GenerateRandomWeapon()
  • Harvest()
  • IncreaseReputation()
  • IncreaseWellbeing()
  • IncrementBlackboardValue()
  • LeaveHexEvent()
  • LoseGold()
  • LoseItem()
  • LoseMagicXP()
  • LoseStamina()
  • MarkSeen()
  • PickFoodItem()
  • PickItems()
  • PlaySFX()
  • QueueHexEvent()
  • ReceiveDrink()
  • ReceiveGem()
  • ReceiveGiftable()
  • ReceiveGold()
  • ReceiveItem()
  • ReceiveMagicXP()
  • ReceiveMonsterLore()
  • ReceiveMount()
  • ReceiveRandomWeapon()
  • ReceiveSkillXP()
  • ReduceToOneHP()
  • ReduceToOneStamina()
  • RestoreHP()
  • RevealLair()
  • SetBlackboardValue()
  • SpawnBattle()
  • SpawnFloatyText()
  • SpawnHexEvent()
  • SpawnPatrolHere()
  • StunPatrol()
  • SwitchToHexEvent()
  • TakeDamage()

Writing 10 Events took about 40 hours.
Converting those events to JSON took about 47 hours.
Total: 4000 lines of JSON

Event Icons


We currently don’t have availability of our UI or Illustrator artists, yet we need something for the Event Icons on the map. I’ve been hearing good things about Midjourney from other people on other projects and so tried experimenting with it today.



While I got cool looking concept art consistent with our art style, I couldn’t make anything I can use in an icon. I have a huge library of fantasy icons, I’ll plumb those depths to see what I can get.

Finally, for no real reason, I'll end today's post with a picture of a goblin from the game cuz i like it. "I named the big one, bitey."

Getting Events Ready for Release

I usually write updates end of the work day, but today I’m excited so I’m doing it first!

Events News


We are working towards a minimum of 30 events. We have 20 so far. I expect to write two more today, leaving 8 left to go.

If you have an idea for a random event, something short, interesting, to be stumbled upon out in the wilderness of the map, (not part of a quest and doesn’t launch a quest - that will come later), post your idea in a few lines. I’ll read em and it may help us finish up the content!

Since we are close, Michel has been focused on the tech side of releasing. Removing the old resources system, shoring things up, working on the event population algorithm.

I don’t want to set a release date yet. But here is what’s required to release:

  • We have the 30 events written and encoded into the JSON.
  • We’ve playtested them together, as a whole, and A) It doesn’t suck and B) It feels pretty good.
  • Our community manager Monster Tamer Bloba has playtested it
  • We’ve made both PC and Mac builds - it’s been a while and we have to make sure our automated build system still works


Studio News


The story of how Psyonix made Rocket League is an interesting one. NoClip made excellent documentaries about it. Psyonix funded the development of Rocket League by taking multiplayer contract work from other studios and having a few people working away on RL in the background.

Since our investor fell through last year, and efforts on publishers lead to dead ends, contracting is one avenue open to us.

I’ve been working a contract for the last 6 months and it is the reason Michel is able to work full time.

Well, this week has been a great week on the Studio side.

Last night I closed a deal that will spin up three people on a small project - pending receiving the deposit.

The big news is we have a sizeable project bid that has strong indications of moving forward! If so, that will spin up 8 or 9 people and really get things moving. Once that is in place and humming along, I’ll be able to get some more people working on Archmage Rises again.

It’s been a long hard road recently, and we aren’t out of the woods yet, but things seem to finally be going in the right direction again! At least right now. At 9:17am.

Oh ya, and that snafu with the website is finally resolved and we’re back up and running again!

Quick Dev Update May 13 2025

Quick update that our website is temporarily down. It doesn't mean anything. I'm working with multiple tech supports to resolve it in the next few days. Just have to wait for fixes to take effect.

On the game side, we are working towards 30 events and have 20 good ones - well, we think they are good, or at least good enough to release! ːhappystar2022ː

Dev Update May 2: Definition of Done for Events

We’re close to wrapping up and shipping the new Events feature. I’ll announce a release date in the next few weeks.

[h2]Events[/h2]

Michel asked, “How do we know when we’re done with Events?”

That innocent question of “how do we know we are done” is surprisingly difficult to answer. It can often go unanswered on teams.

Projects (major features) go through these game dev phases:

  1. Concept - Team decides to do X. Everyone is excited. X is gonna be great!
  2. Formation - Team defines X. What it is, what it isn’t. Where it comes from (inspiration)
  3. Core - Team starts building X. Some parts of X are really hard, so the team backs away from those. During implementation team learns more about X than they expected.
  4. Expansion - X is coming along now. X adjacent ideas bubble up, low hanging fruit really, X would be so much better if we included those. That’s X+. Then after some use of X and some content has been filled in, there is a big meeting and realizations come to light. We’re going to have to add stuff we never considered at the start. Some of the initial X ideas have to be scrapped to make way for what’s truly important. Now the team is building X++.
  5. Release - Release is a process not a date. Team is getting X++ ready to release but with all the changes - what even is X anymore?


This is where the Definition of Done comes in. The Leader has to draw a line in the sand and define for everyone what a finished X looks like. It’s not that people are dumb, forgetful, or can’t read the initial concept document. It’s just that so much has happened and been said around X that its hard to keep track of what was added, cut, and changed. The morphing through development puts everyone into a mental fog.

The original definition is no longer sufficient light to guide the ship into port.


So this past week I had to define done for Events for myself as much as for Michel. I went to Confluence and updated our initial Start page:

[h3]Events are:[/h3]
  1. Something more on the map than cities, patrols, and quest locations.
  2. A satisfactory interruption. A quick in and out taste of something different
  3. A way to test and reward skills the player has been building
  4. Small way to make world feel alive and fantastical
  5. An opportunity for roleplay or morality checks
  6. A way to share lore
  7. System we can utilize later for when anything goes on the map
    1. The quest system
    2. Dynamic quests
  8. System we can layer on top of - once there is a region, we can layer in region related events

[h3]Success Completion[/h3]
  • Minimum of 30 events
  • It works


With this in place we know exactly what we need to do. We currently have about 10 of the 30 events and more are being created every day.

As soon as we get to 30 I’ll set a release date.

[h2]New Community Manager[/h2]
I’m happy to introduce our new Community Manager Monster Tamer Bloba. MTB has been around for a while on discord and forums and shared some great thoughts. He loves the game and wants to help make it a success.

He’s here to help me stay informed and keep you informed.
Thanks Monster Tamer Bloba for helping us all out!