1. Archmage Rises
  2. News

Archmage Rises News

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!

Dev Update Apr 18: Making Nothing Fun

Today is Good Friday and it was a good Friday. I enjoyed writing some events in Archmage Rises. I had to be away from the project for the past 2 weeks to wrap up a teaching semester.

We are near the end of completing the Event tech. We are working on content and feel.

Today I will share a bit of the process and a game design insight I had on “Making Nothing Fun”. I’ll inevitably be sharing some insider info in order to explain it, but that’s part of the payoff reading a dev blog, right?

Starfall


I started writing a fairly basic resource event. You see a meteor in the sky. It is like a regular resource pickup event, but with a twist: the meteor splits into 3 parts creating 3 sub events. At normal foot speed, I expect players to have time to visit 1-2 of the crash sites and get some loot (unless you have flight, or teleportation, fast mount, or other cool things).

I work on the Minor meteor hunks, then get to finding the Major hunk.

You see the crater ahead. Heat shimmers in the air, and the earth hums faintly beneath your boots. The rock in the center glitters with fractured shards of strange luminous metal.


I put that "luminous metal" phrase in there to make it clear you are at the really good crash site. Well done! What options does the player have?

[Investigate]


That’s it. That’s all I came up with for what is basically a lootbox.

I’ll grant it’s not too interesting. So, I thought really hard and managed to come up with a perfectly suited, contextually sound, in-world second choice:

[Investigate]
[Back away]


There. Now there is a choice. I know, I know, very impressive right? And I did it all by myself!

Given this scene and those two choices, how many people would choose #2? I’m guessing close to 0% with +/- 10%.

In class, I specifically teach my students not to do this. This is called a false choice. It looks like choice, but isn’t because it isn’t yet an interesting choice. Whoops! Better no choice than a false choice – why? Because all choice involves some tiny amount of thinking effort on the player and don’t waste their effort thinking through a false choice just to not choose it. See Steve Krug’s excellent UX book Don’t Make Me Think for more info.

How to turn this into an interesting choice? Make both paths equally valid. Not equal in reward, but equal in Satisfying Outcome.

This is when I had my realization – I actually do this a lot: Present the option to do something and another option to do nothing.

[h2]“Nothing is never interesting!”[/h2]

Even super risk-adverse people aren’t happy having nothing. What makes them happy and feel good is not getting nothing, but avoiding something bad. The fear of “bad” or the satisfaction of avoiding a bad outcome is the dopamine reward which reinforces the behavior.

OK, so let’s modify the event a bit and make it clear by showing there is a risk-reward / avoid danger choice here:

The crater comes into view. Heat shimmers in the air. The ground hums beneath your boots, steady at first, then sharp and uneven. At its center, a rock glitters with fractured veins of luminous metal. But the glow within pulses erratically, eerily.

[Quickly investigate]
[Back away and observe]


We’re getting somewhere! If I feel like taking a chance, investigate the space rock that invaded my planet. If not – well do nothing.
There’s that nothing choice again…

[h2]“How can we make ‘nothing’ feel good?”[/h2]

I had to think pretty hard to suss out when, in gaming, does “nothing” feel great?
Then I remembered a very common scenario in D&D.

You are low on health and the enemy is making an attack roll. If they hit, it’s time to roll up a new character.

And they miss! They miss the THAC0 (or whatever it’s called these days) by some number.

Nothing happens and it’s jubilant and wonderful!


What makes this moment sing? It’s:

1. Seeing the danger
2. Knowing it is real
3. Managing to avoid it (even if you didn’t have control over the outcome)

It’s the near miss that is so exciting.

Another example, from Warhammer/40k:
Your opponent makes 3 hits against your character. He’s about to die.

You roll a 6+ armor save – and get three 6’s!

Nothing happens and it’s jubilant and wonderful!


This realization of how to make Nothing feel fun was so exciting I wrote it down as a design rule in my notes!

Empowered with this new knowledge, I revisited the event. I had to make the ‘miss’ clear. I also had to change the first choice into a pass/fail check.



The crater comes into view. Heat shimmers in the air. The ground hums beneath your boots, steady at first, then sharp and uneven. At its center, a rock glitters with fractured veins of luminous metal. But the glow within pulses erratically, eerily.


Now there are three outcomes:

Quickly investigate - Success
You circle the sky rock and find it cracked, its shimmering veins bleeding pure gold into the dust. You gather what gold you can and make your escape. As you stride away, a sharp implosion echoes behind you.
Gain gold size 4


Quickly investigate - Fail
You linger too long. The pulsing light stops. After a few breaths of silence, an explosion rips through the air, scattering knives of glowing stone in every direction. You hit the ground hard. When the smoke clears, there is nothing left but silence, pain, and blood.
Down to 1 hp


Back away and observe – Always succeeds
Wisely, you withdraw and observe. The pulsing quickens, then stops. In the next instant, the rock explodes, hurling glass-like shards in every direction. When the dust settles, you find a small pool of gold gleaming where the stone once sat.
Gain gold size 2


Now the safe “nothing” choice is a near miss with a gain. Not as large of a gain as the risk taker’s win, but that’s just fine – they got a steady return on their stock portfolio and didn’t risk losing it. That is a win! I also put the word “wise” in there as a compliment to this kind of player that they chose the prudent path and it paid off.

(As an aside, there is a difference between reading it here and playing it in game: they won’t know how much more they could have gotten on the risky path.)

So, that is what we are working on. It takes a while to write these events, hopefully we’ll get faster!

A big shout out to Jonathan who reads these updates every time and asks me about them each week. Especially if I don’t write one!

Thanks everyone for your continued interest and support!

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]