1. Archmage Rises
  2. News

Archmage Rises News

Dev Update Mar 28 – Filling Events

Short update that we are proceeding on the Events system.

We’re mostly done the tech. Now Michel and I are filling in the content and what I mentioned last time: trying to make it fun.

I had a realization today as I was working on an Event: “Worg Pups”. The event in essence is happening upon a Worg mother which has just given birth. The mom could still be alive or dead. If still alive you could help it or slay it. Then there is the question of what to do with the pups.



I know it sounds very opening of Game of Thrones. I didn’t start from there, but can’t avoid the similarity.

This question of what to do with the pups brought up design questions.

Can you gift them to others? Does the game support that?

We have a relationship system with NPCs and the ability to gift anything (items, money).

“Nothing says ‘I love you’ like the gift of a spatula.” (Only a few of you will get that reference!)

This is where I realized, at a high level, there are only 2 outcomes to an event:

  1. Get a resource (money, xp, item, etc)
  2. Enter combat
  3. Get another event which gives you 1,2


Writing events where those are the only two outcomes is quite constraining. Of course good design works within the constraints. Often it is the constraints that spur on the creative solutions.

[h2]What if [/h2]
You can get an item that creates new interactions with NPCs, like if I got a worg pup?

  • I could give it to a child I know.
  • I could sell it to an animal trainer.
  • I could stick it in my tower and forget about it.
    • (I’m not interested in simulating pets at this time. I am tempted to add an ‘aging’ mechanic to inventory items so the pup could become a full worg I could then have as a mount).


What I really like about this is the event ends in a new 3rd way which isn’t closed or constrained by me the designer. The conclusion is wide open to whatever the player can think of. It is open to as many people they know. It allows Events to tie into existing systems. It allows another way to roleplay.

I’m sure with some more time and thought better uses will arise.

I’m sure you will have some good ideas on how to utilize this!

Which brings me to my final point...

[h2]I Need some Help[/h2]

I need help on the community management side of the game. I would like a volunteer community manager who can help read feedback and bring my attention to things. Message me on the Discord if you are interested.

Here are a couple more wolf pup pictures I found. Sharing them for no other reason than they are cute:



Dev Update Mar 14: The Feel of Events

Low tech update this week to let you know Michel and I are alive and well and working on Archmage. I was away last week travelling.

Usually dev blogs are an opportunity to say what is good about a game. Perhaps a small way to celebrate features or progress.

This week I’m going to talk about what’s wrong!

We’re in the final phase of shipping the Events feature. Except there is one problem.

It doesn’t feel good.

This is the harder part of game dev. Making features is relatively easy: you code up something and get it to work. But how it feels is more art than science. This dev blog about the 3 year history of Balatro talks about what I mean.

Admittedly, this is something I want to improve on. Why? Historically, I’ve put out features too soon, before they had time to ‘bake’.

I want to do better with Events. I want to refine it and make it as fun as I can.

Today I was playing around with it. What feels right:

1. Collecting resources feels nice. You walk over a hex, see some floaty text of what you got, move on. Much better than what we had.

2. Road events follow the road. Simple I know, but it feels right they don’t veer off.



Feels off:

1. Tracks are spawning way far away, like 7 hexes away. If a hex represents a mile, that just doesn’t make sense and it doesn’t feel good even if it did make sense.

2. Travelers along the road spawn far away too. I think I should only see those when I’m close to the road, when I want to interact with road traffic, not when I’m off in the woods.

3. There is no reason not to go for a resource event. But even if 1 in 4 times it results in combat, or HP loss, or something like that – it still wouldn’t feel right. All that would do is make me never want to do them. So this needs some serious refinement.

4. Our inspiration for the events was FTL events. Those are great! But today I realized that in FTL the events are mandatory, in Archmage they are optional. And that difference is a BIG difference. In FTL if I get a crappy event, well, I deal with it. It is a challenge to overcome. I have to keep moving sectors to get to the goal, so I take the cards I’m dealt. Slay the Spire is similar: deal with it.

But we have a big open map, plenty of room to walk around and avoid events. If the player is CHOOSING to OPT IN to an event, it is a much different context than FTL, and can’t follow their “make the best of a bad situation” vibe.

So, the technical work is done, but the design work continues. I think this is one of those situations where the only way out is through.

I think if we write more events, we’ll get a feel for what works and what doesn’t. That can then be codified into rules for writing events, so they always have the same right feel.

I have a list of “rules” for writing an event, based on what I think is working from the previous ones. I refine the rules after I finish each event.

So far the rules are:

1. Have multiple outcomes to each choice, so even if the event is a repeat it can still be fresh.
2. Have some sense of uncertainty to each choice
3. Is there a way to have Now vs Later rewards?
4. Interesting choices involve “which do I want more? A or B or C?”
5. Give the player a chance to roleplay in their choices
6. Events are a small chance to learn more about the world (lore)



Today I wrote a Tracks event that provides some cool world building about the origins of Skeletons. It gives a chance to roleplay and a small amount of lore. I wouldn’t originally have included those aspects without the reminding by the rules.

That’s it for this week, I’ll see y’all next week!

Finally! You can add custom content to Archmage Rises - Events!

Many a time I’ve been asked “Mod support?” or some variant of that - “Do you support UGC User Generated Content?”

And I would hum and haw and say it isn’t a goal, but I’ll try not to do anything that prevents in the future.

Well Michel and I are working on the Events system and I didn’t want to have to reload the game every time I changed an event for testing. He put in live loading.

I then asked, “How hard would it be to allow players to live load events? And if the GUID is the same, we take their version over the one that ships with the game?” And it wasn’t that hard.

So here is a demo of the live loading and how I add a new event to the game.

Oh, if it isn’t clear, once the event is “in the pool” it’ll show up in the game. But no one wants to wait for that, so we have a console command to make it show.

Instructions will come when we actually ship this update. Still don’t know when that will be.

[previewyoutube][/previewyoutube]

Dev Update Feb 22: Travelling Map Events

Hi, welcome back. It’s been 2 weeks because of travel and my kids got me sick. Fortunately, Michel has been trucking along and making things work. So now I get to brag about his work and take all the credit. Don’t worry, he’s used to it. ːsteammockingː

[h2]Getting Things Moving[/h2]

To make the world feel alive, things have to move around. A monster hunting party needs to chase you across the map until it loses interest or your scent. An NPC trader moving along the road from one town to another.

We already have monster patrols moving around on the map; now we need to expand it to handle any kind of event. There are some additional challenges.

[h3]1. Order of Operation?[/h3]

When do the events move?

After the player moves, of course! That’s every rogue-like ever.

But if every moving event moves after you, how do you notice what moved and what didn’t? We need to animate the NPC movement. And do we wait for the animation to finish before allowing you to move again? That slows down gameplay a lot; it starts to feel sluggish. So we’re going to keep the simultaneous movement for now… except when we shouldn’t!

What happens when you move onto a hex with a moving event, and it chooses to move to a different hex? Technically, you would miss each other, but that will feel unsatisfactory, so now we have to determine which events have their movement turn interrupted by the player.

[h3]2. Stacking?[/h3]

If events can move around, what happens if they both go into the same hex? Is that even allowed?

If you move into a hex with two events, which one is shown first?

We decided anything dangerous happens first: deal with the monsters THEN the resource or NPC conversation.

[h3]3. Where do Events Move to?[/h3]

Figuring out where the roads are, placing an event, and giving them a path to follow to the town are additional challenges.

A monster patrol will enter into a chase mode where you can use terrain and spells to hide from them, if that is what you want. I hope this makes going through dangerous monster territory more thrilling.

We’re getting close to the end of the tech work on this feature and will focus on the experience of it.

[previewyoutube][/previewyoutube]

Dev Update Feb 7: Making a Map Event

I recently read an article 42 Essential Game Dev Tips That are Immutably Correct... and the author said:

People want to hear about even the most mundane parts of your dev process


So let’s test that theory, shall we? We got Map Events working this week, so why not show how one is made?

This is a great spot to be in, now that we can make an event, we can turn our attention to making them actually fun. As of this writing, I’ve made a grand total of: 1 event. ːtongueː

For today’s example, I’ve taken what Oonai posted of what they think events should be like. So let’s see if we can do it.

[h2]Step 1: Code it up in JSON[/h2]

We’re both programmers here, so we’re writing the events directly into the text files. Here is what Oonai’s event looks like:



We can have as many branches and details in the event as we like. This is my version of what Oonai wrote.

Save that to a special folder, and it is sucked up into the game.

[h2]Step 2: Shows on Map[/h2]

Start walking around, and the event appears as Tracks because that is the only icon we got right now. And that is what was defined in the JSON `displayAs` field.

I walk into the event.


[h2]Step 3: Run the Event[/h2]

The UI pops up, and the parser runs the event.



(oops, word wrapping isn’t working!)

I pick the evil path because Oonai seems to like evil options. ːlaughing_yetiː



I probably should have written some ‘outcome’ context text—oops! But anyway, it shows an outcome, and the player can continue on their merry way.

We still have to hook up the various values that can be affected (gold, reputation, etc.).

Now that it is (mostly) working, we’ll start making events that are hopefully actually interesting!