Hair to the Throne 0.1.0

Discussion and development of scenarios and campaigns for the game.

Moderator: Forum Moderators

Post Reply
14flash
Posts: 4
Joined: May 14th, 2018, 4:29 am

Hair to the Throne 0.1.0

Post by 14flash »

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
User avatar
Atreides
Posts: 1039
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

Post by Atreides »

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
Oh yeah, this is my kinda thing. I've not finished HttT but oh well. : )

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:
User avatar
WhiteWolf
Forum Moderator
Posts: 769
Joined: September 22nd, 2009, 7:48 pm
Location: Hungary

Re: Hair to the Throne 0.1.0

Post by WhiteWolf »

This was so funny :D 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 :) )
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
14flash
Posts: 4
Joined: May 14th, 2018, 4:29 am

Re: Hair to the Throne 0.1.0

Post by 14flash »

Glad to see some people liked it. :D
Atreides wrote: August 9th, 2021, 3:55 pm I completed it on easy which was just perfectly adjusted to be fun and easy.
WhiteWolf wrote: August 9th, 2021, 9:18 pm 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 :) )
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.
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
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.
Atreides wrote: August 9th, 2021, 3:55 pm
Spoiler:
Spoiler:
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.
User avatar
WhiteWolf
Forum Moderator
Posts: 769
Joined: September 22nd, 2009, 7:48 pm
Location: Hungary

Re: Hair to the Throne 0.1.0

Post by WhiteWolf »

14flash wrote: August 10th, 2021, 4:58 am 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.
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:
HttT-A New Hope replay.gz
(21.38 KiB) Downloaded 89 times
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
User avatar
Atreides
Posts: 1039
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

Post by Atreides »

14flash wrote: August 10th, 2021, 4:58 am Glad to see some people liked it. :D
Atreides wrote: August 9th, 2021, 3:55 pm I completed it on easy which was just perfectly adjusted to be fun and easy.
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.
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". ; - )
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.
Seconded. I actually had the same idea but forgot to write it.
- 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 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.

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.
I played with 1.14.17.
Atreides wrote: August 9th, 2021, 3:55 pm
Spoiler:
Spoiler:
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.
I did note the levels (well up to 2 before I suicided Kon...) but yes a visual size difference= level is typically wesnoth.


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.
14flash
Posts: 4
Joined: May 14th, 2018, 4:29 am

Re: Hair to the Throne 0.1.0

Post by 14flash »

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
User avatar
Atreides
Posts: 1039
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

Post by Atreides »

14flash wrote: August 25th, 2021, 3:26 am * 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 ¯\_( ツ )_/¯)
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>)
User avatar
egallager
Posts: 568
Joined: November 19th, 2020, 7:27 pm
Location: Concord, New Hampshire
Contact:

Re: Hair to the Throne 0.2.0

Post by egallager »

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.
shevegen
Posts: 497
Joined: June 3rd, 2004, 4:35 pm

Re: Hair to the Throne 0.1.0

Post by shevegen »

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...
vghetto
Posts: 755
Joined: November 2nd, 2019, 5:12 pm

Re: Hair to the Throne 0.1.0

Post by vghetto »

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?
14flash
Posts: 4
Joined: May 14th, 2018, 4:29 am

Re: Hair to the Throne 0.1.0

Post by 14flash »

vghetto wrote: October 10th, 2021, 7:43 pm 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?
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.
vghetto
Posts: 755
Joined: November 2nd, 2019, 5:12 pm

Re: Hair to the Throne 0.1.0

Post by vghetto »

Ah, thanks for explaining it. I thought there was something special about the .1

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]
...
And at the start of the third scenario you could do this:

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]
...
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 {CLEAR_VARIABLE nightmare_turns_survived} after you set the gold.

Edit: call it nightmare_turns rather :/
Post Reply