Hair to the Throne 0.1.0
Moderator: Forum Moderators
Hair to the Throne 0.1.0
Hair to the Throne is my first attempt at making a campaign. It is a short (3 scenario), humor focused story following Konrad after the events of Heir to the Throne where, much to his dismay, he is going bald. This is not intended to be taken as a serious part of Wesnoth lore; it was really an excuse to learn and practice WML.
I'd like to add a few more easter eggs, but the story is otherwise complete and the campaign can be played from start to intended finish. I may try my hand at portraits later.
Available on 1.14 and 1.15 add-on servers. Contributions welcome: https://github.com/yuhasem/Hair_to_the_Throne
I'd like to add a few more easter eggs, but the story is otherwise complete and the campaign can be played from start to intended finish. I may try my hand at portraits later.
Available on 1.14 and 1.15 add-on servers. Contributions welcome: https://github.com/yuhasem/Hair_to_the_Throne
- Atreides
- Posts: 935
- Joined: March 30th, 2019, 10:38 pm
- Location: On the 2nd story of the centre village of Merwuerdigliebe turning the lights on and off
Re: Hair to the Throne 0.1.0
Oh yeah, this is my kinda thing. I've not finished HttT but oh well. : )14flash wrote: ↑August 9th, 2021, 3:41 am Hair to the Throne is my first attempt at making a campaign. It is a short (3 scenario), humor focused story following Konrad after the events of Heir to the Throne where, much to his dismay, he is going bald. This is not intended to be taken as a serious part of Wesnoth lore; it was really an excuse to learn and practice WML.
I'd like to add a few more easter eggs, but the story is otherwise complete and the campaign can be played from start to intended finish. I may try my hand at portraits later.
Available on 1.14 and 1.15 add-on servers. Contributions welcome: https://github.com/yuhasem/Hair_to_the_Throne
I completed it on easy which was just perfectly adjusted to be fun and easy.
Some good chuckles and a good campaign too.
A few suggestions for improvement.
Oh I better spoiler this
Spoiler:
Re: Hair to the Throne 0.1.0
This was so funny
Great work.
A few technical things I noticed:
- I'd recommend disabling recalling for the second scenario. It spares the player unavoidably losing the recalled units, and also makes sense storywise - it's a dream, you shouldn't be able to recall your units.
- The dark wizard doesn't have a hero crown at the last scenario.
- I don't understand why the dwarves would be hostile at the last scenario. Based on the dialogue they could talk it out with the wizard, so I don't understand why they attacked. I think they should be allied with the player
I played on normal difficulty, and could finish it without problems. (Also I'm not an efficient player by any means, so I think it means the campaign is rather easy to play
)

A few technical things I noticed:
- I'd recommend disabling recalling for the second scenario. It spares the player unavoidably losing the recalled units, and also makes sense storywise - it's a dream, you shouldn't be able to recall your units.
- The dark wizard doesn't have a hero crown at the last scenario.
- I don't understand why the dwarves would be hostile at the last scenario. Based on the dialogue they could talk it out with the wizard, so I don't understand why they attacked. I think they should be allied with the player
I played on normal difficulty, and could finish it without problems. (Also I'm not an efficient player by any means, so I think it means the campaign is rather easy to play

Main UMC campaigns: The Ravagers - now for 1.16, with new bugs!
Old UMC works: The Underness Series, consisting of 5 parts: The Desolation of Karlag, The Blind Sentinel, The Stone of the North, The Invasion Of The Western Cavalry, Fingerbone of Destiny
Old UMC works: The Underness Series, consisting of 5 parts: The Desolation of Karlag, The Blind Sentinel, The Stone of the North, The Invasion Of The Western Cavalry, Fingerbone of Destiny
Re: Hair to the Throne 0.1.0
Glad to see some people liked it.
If I take another pass at the sprites, I definitely want to make the level 1 > 2 > 3 more distinguishable, since they're all the same size right now and that's not very clear.

Yes, I definitely left it very easy for this first draft (and I want to keep it overall an easy campaign). Sounds like the higher difficulties need a (small) bump up but lower is fine.
Good suggestions. For the last one, were you playing on 1.15? I did basically all of my play testing on 1.14 and I made sure the dwarves were on the same side there, but I could definitely see the team name changing in a way I didn't expect between versions.WhiteWolf wrote: ↑August 9th, 2021, 9:18 pm A few technical things I noticed:
- I'd recommend disabling recalling for the second scenario. It spares the player unavoidably losing the recalled units, and also makes sense storywise - it's a dream, you shouldn't be able to recall your units.
- The dark wizard doesn't have a hero crown at the last scenario.
- I don't understand why the dwarves would be hostile at the last scenario. Based on the dialogue they could talk it out with the wizard, so I don't understand why they attacked. I think they should be allied with the player
Spoiler:
Re: Hair to the Throne 0.1.0
Sorry, forgot to specify the version. I'm afraid this was on 1.14 though (1.14.5 to be specific). Here's a replay on it:
Main UMC campaigns: The Ravagers - now for 1.16, with new bugs!
Old UMC works: The Underness Series, consisting of 5 parts: The Desolation of Karlag, The Blind Sentinel, The Stone of the North, The Invasion Of The Western Cavalry, Fingerbone of Destiny
Old UMC works: The Underness Series, consisting of 5 parts: The Desolation of Karlag, The Blind Sentinel, The Stone of the North, The Invasion Of The Western Cavalry, Fingerbone of Destiny
- Atreides
- Posts: 935
- Joined: March 30th, 2019, 10:38 pm
- Location: On the 2nd story of the centre village of Merwuerdigliebe turning the lights on and off
Re: Hair to the Throne 0.1.0
Yes please leave easy as really easy. It is something I wish all campaigns did. Easy should be something you can plow through carelessly playing fast and always win. I was thinking of trying normal. If I do get around to it and I have trouble with it that probably means it is just right since I just don't have the "campaign gene". ; - )
Seconded. I actually had the same idea but forgot to write it.
I also noticed they could be attacked but I chose to leave them alone and they didn't attack. Might have been out of their range? Didn't check.- I don't understand why the dwarves would be hostile at the last scenario. Based on the dialogue they could talk it out with the wizard, so I don't understand why they attacked. I think they should be allied with the player
I played with 1.14.17.Good suggestions. For the last one, were you playing on 1.15? I did basically all of my play testing on 1.14 and I made sure the dwarves were on the same side there, but I could definitely see the team name changing in a way I didn't expect between versions.
Spoiler:
I did note the levels (well up to 2 before I suicided Kon...) but yes a visual size difference= level is typically wesnoth.If I take another pass at the sprites, I definitely want to make the level 1 > 2 > 3 more distinguishable, since they're all the same size right now and that's not very clear.
p.s. I did try normal diff and found it a nightmare. Lost a loyal and ragequit. So it's just right because I've never beaten a normal level campaign yet.
Re: Hair to the Throne 0.1.0
Uploaded 0.1.1 with some of the small suggestions above.
* No more recalling in scenario 2
* Dwarves are now friendly as intended (turns out this was because I removed a third troll side during development, which updated the side numbers. Wesnoth ignores explicitly set side numbers, apparently ¯\_( ツ )_/¯)
* Vaneyan has a hero icon
* A few typo fixes, including one by Soliton
* No more recalling in scenario 2
* Dwarves are now friendly as intended (turns out this was because I removed a third troll side during development, which updated the side numbers. Wesnoth ignores explicitly set side numbers, apparently ¯\_( ツ )_/¯)
* Vaneyan has a hero icon
* A few typo fixes, including one by Soliton
- Atreides
- Posts: 935
- Joined: March 30th, 2019, 10:38 pm
- Location: On the 2nd story of the centre village of Merwuerdigliebe turning the lights on and off
Re: Hair to the Throne 0.1.0
Yes. Yes it does. ; - ) It's really quite bizarre. You must obey the WML God and set the side # to match what it autogenerates. We are but humble slaves... (can you tell I've run into this too? <grin>)
Re: Hair to the Throne 0.2.0
So I beat this tonight. Fun little campaign; I don't have much to say about the actual gameplay, but after reading the code, please run
wmlindent
on it so that it is more legible! Thanks.Wesnoth-related GitHub repos:
General mods collection, SotBEEE, AToTBWaTD, The Earth's Gut, A Little Adventure, FtF
Social media: Mastodon: @egallager@treehouse.systems, Steam: egallager
General mods collection, SotBEEE, AToTBWaTD, The Earth's Gut, A Little Adventure, FtF
Social media: Mastodon: @egallager@treehouse.systems, Steam: egallager
Re: Hair to the Throne 0.1.0
Oh I missed that. I first thought it was a typo ... but it's all about the hair!
So old Konrad getting all bald and senile and turning the kingdom into dismay...
So old Konrad getting all bald and senile and turning the kingdom into dismay...
Re: Hair to the Throne 0.1.0
i don't get the gold formula in the last scenario. Could you explain it please.
why base 2.1? why -4? what if you got a log of negative or 0?
why base 2.1? why -4? what if you got a log of negative or 0?
Re: Hair to the Throne 0.1.0
I wanted players to get more gold the longer they lasted, but also have worse return on investment for each additional turn. Logarithms are one way to do that. The first 4 turns of the previous scenario are basically free, so those are excluded (hence the -4). It's probably possible to die that quickly, but you'd have to do it intentionally and also probably get "lucky." While testing, I found T6 to be common end with really bad strategies and T9-10 to be common with good strategies (on difficult). There's not a whole lot of logic behind 2.1 specifically, but it basically gives me a range of 1-2 times base gold that you'll have for the next scenario, which makes it easier to balance around.
What happens if you do manage to die in 4 or less turns? A problem. I should probably add an explicit NaN check to avoid that and just give min gold. I actually don't know what Wesnoth will do if you try to assign a side NaN gold.
Basically, there's nothing special about the formula, but it gave me an excuse to learn the
formula
command for set_variable
. And since this was primarily a learning project, I'd say that it worked pretty well.Re: Hair to the Throne 0.1.0
Ah, thanks for explaining it. I thought there was something special about the .1
I don't think the
At the end of the second scenario you could do something like this:
And at the start of the third scenario you could do this:
It sets it to 5 only if it wasn't already assigned, which might happen if you debug :n into the last scenario, or if it is less than 5. This way you don't get a negative or 0.
Then do
Edit: call it nightmare_turns rather :/
I don't think the
{GLOBAL_VARIABLE}
was necessary for this. Any regular [set_variable]
would have remained as long as you didn't clear it.At the end of the second scenario you could do something like this:
Code: Select all
...
{CLEAR_VARIABLE variation_list}
{CLEAR_VARIABLE konrad_no_death}
#{GLOBAL_VARIABLE Hair_to_the_Throne turn_number nightmare_turns_survived 1}
{VARIABLE nightmare_turns_survived $turn_number}
[endlevel]
...
Code: Select all
...
[event]
name=start
#{VARIABLE_FROM_GLOBAL Hair_to_the_Throne nightmare_turns_survived nightmare_turns 1}
[if]
{VARIABLE_CONDITIONAL nightmare_turns_survived equals $null}
[or]
{VARIABLE_CONDITIONAL nightmare_turns_survived less_than 5}
[/or]
[then]
[set_variable]
name=nightmare_turns_survived
value=5
[/set_variable]
[/then]
[/if]
...
Then do
{CLEAR_VARIABLE nightmare_turns_survived}
after you set the gold.Edit: call it nightmare_turns rather :/