Brotherhood of Light - Multiplayer RPG Scenario

Discussion of all aspects of multiplayer development: unit balancing, map development, server development, and so forth.

Moderators: Forum Moderators, Developers

Post Reply
User avatar
Bob_The_Mighty
Posts: 782
Joined: July 13th, 2006, 1:15 pm

Brotherhood of Light - Multiplayer RPG Scenario

Post by Bob_The_Mighty » August 28th, 2007, 11:17 pm

Four white mages must roam the land performing good deeds and righting wrongs in this non-linear story-orientated multiplayer RPG adventure. Players must also work together to discover the fate of the four lost brothers that went before. This scenario features numerous sub-quests, a basic inventory and an extensive magic system.

Version 0.8.0 is now on the add-on server for Wesnoth 1.12 / 1.11.
Version 0.7.4 is on the add-on server for Wesnoth 1.10.



Here are the instructions from the in-game instructions option:

MAGIC

I.
This scenario includes a magic system which allows your mages to cast spells. Each spell drains a certain number of mana points - and each player has an individual mana level which gradually replenishes each turn.

II.
To cast a spell right-click on your mage, choose 'Cast Spell' and a spell menu will appear. Magic upgrades and new spells will be found along the way.

III.
After casting a trap-style spell (e.g. Bane) you must right-click anywhere within 4 hexes of your unit and select 'Place Bane'.

EXPERIENCE

IV.
Experience is gained by doing good deeds and following the code of the brotherhood. If you break the code you may lose experience.

V.
When a mage advances his max mana is increased by 4 and a new spell can be chosen by right-clicking on the mage.

VI.
At certain times you may find yourself in control of additional units. Your mage gains experience whenever one of these units advances.

VII.
If your mage dies another player can bring you back with a reincarnation spell. If this happens all spells, improvements and equipment are lost and you generate a new character."

GENERAL TIPS

VIII.
Each mage can only carry one extra weapon and one item of armour. These can be bought and sold in shops.

IX.
The scenario is fairly non-linear, so sometimes it is worth returning to areas you've already explored. Also, some parts of it will be too tough for inexperienced mages.

X.
If a player seems to be taking a long time to end their turn, it may be because they are reading dialogue or deciding on an option.

XI.
Although you'll cover more ground by travelling seperately, you are in danger whenever the party is divided. Stay close and work together!

I'd like to say a big thanks to Sapient here. Not only did he implement the invaluable right-click menu option, he helped me at every stage of making this. And it has taken a VERY long time. I hope it was worth it.

Please give feedback, and report bugs here. I fear there may be an issue with people using windows XP trying to host this scenario.

I would also like some suggestions on balancing the mana costs of spells, equipment prices and experience given for completing subquests.

I hope you enjoy it!
Last edited by Bob_The_Mighty on September 10th, 2014, 2:53 pm, edited 16 times in total.
My current projects:
2p Campaign: The Altaz Mariners
3p Survival: Save The Village

User avatar
Ken_Oh
Moderator Emeritus
Posts: 2176
Joined: February 6th, 2006, 4:03 am
Location: Baltimore, Maryland, USA

Post by Ken_Oh » August 29th, 2007, 12:16 pm

Playing around with it now (on v1.3.6 still); it's very fun.

Bugs: Having two identical moveto event x,y filters next to Kaspian doesn't seem to work for me. I get the first event, but never the second.

Buying an Iron Bucket made the shopkeeper's quantity of it go down to 0. I think you meant to take out {VARIABLE_OP darcus3 add -1}.

This one was a show stopper. I had one MoL leveled with Healing Magic level 5. I'm not quite sure, but one of those time I believe I tried to level up to like 3 or 4 and didn't gain a spell (yet still gained one according to the "Spells: #" in the options). Anyway, the crucial part is that I got to 5 spells and then the next time I leveled up, it wouldn't let me choose any of the options (every time I click "OK", it restarts that message screen), which completely stopped the game for me.

Suggestion: I think it would be really helpful if you made Recharge automatic, but storing any remaining movement points at the end of a round or when a unit attacks, and give it to the mage. Of course, keep the manual recharge in case the player needs the mana quickly.

hagabaka
Posts: 83
Joined: March 24th, 2006, 6:39 pm

Post by hagabaka » August 29th, 2007, 3:49 pm

When I go near the camp to the southwest, the game crashes because of unknown unit "Halbardier". I think its ID used to be "Halbardier", but was changed into "Halberdier" which is the correct spelling.

Another problem is that when I use the Bless magic on myself, it doesn't close the selection window, and afterwards the same happens with the revive magic. But it seems to fix itself after a while.

A typo causes Junko the Fox to crush eggs no matter on whose turn he dies:

Code: Select all

Brotherhood_Of_Light/Brotherhood_Of_Light.cfg line 1581:
{BOL_CONDITION side_number numericals_equals 6}
"numericals_equals" should be "numerical_equals". But aside of that, I think this condition is a bad idea. It's not easy to control whose turn he dies, and I think it would give quite a lot of frustration on a multiplayer game.

The scenario seems a lot of fun. I wish there were more people on the 1.3 server to play it...

Qes
Posts: 357
Joined: August 9th, 2007, 10:28 pm
Location: Minnesota

Post by Qes » August 30th, 2007, 1:48 am

Things to report:

Battle Magic 3rd choice doesnt give a spell. 4th gives a 3rd choice.

First level is 60 exp? 2nd is 40, 3rd is 50?

In orc fight - was losing money for upkeep of units - is this intended? I was at -12 and losing 4 gold a turn at the point when we quit.

Just fyi's it looks to be fun when fully functional.

-Qes


Also - load times are very slow, anyway to improve?
Yes I use windows.
Yes I'm aware of what that means.
Yes I'm still gonna use windows.

User avatar
Ken_Oh
Moderator Emeritus
Posts: 2176
Joined: February 6th, 2006, 4:03 am
Location: Baltimore, Maryland, USA

Post by Ken_Oh » August 30th, 2007, 12:39 pm

It seems to me that buying your 3rd spell in all of the circles doesn't actually yield another spell.

User avatar
jb
Multiplayer Contributor
Posts: 490
Joined: February 17th, 2006, 6:26 pm
Location: Chicago

Post by jb » September 2nd, 2007, 5:29 pm

Hi Bob, again you'ver shattered the limits of wesnoth gameplay. :)
The Magic System is fantastic, the world is interesting cleverly laid out, the teleport system is also great. And character creation is lots of fun.

Sadly, there are lots of bugs that need to be ironed out. In addition to those already menioned, here are some things I encountered when playing with Mythological. We were only able to play a part of the west part of the map before it became unplayable due to OOS and we were unable to re-load.

-Followers don't have the loyal trait and drain income.
-We were unable to steal the eggs from the gryhpon next, after taking them they were immediatly put back.
-The gryhon eggs from the Bandit were crushed when he was defeated in combat. Not sure if that is a bug or not.
-I was unsure how the Bane poison magic spell worked, it seemed to have no effect.
-Killing the orc leader caused OOS. Don't know if that was a coincidence or not.


Nice work on this project, best of luck fixing the bugs.
My MP campaigns
Gobowars
The Altaz Mariners - with Bob the Mighty

User avatar
Bob_The_Mighty
Posts: 782
Joined: July 13th, 2006, 1:15 pm

Post by Bob_The_Mighty » September 2nd, 2007, 11:05 pm

Thanks for all the feedback. All the bugs reported have now been fixed (fingers crossed).

Here is the list of changes in BoL 0.2:
- Fixed the bug which messed up the gaining of new spells when mages advance.
- Fixed bug which caused Dussel to cast his spell regardless of what option the players chose.
- Orcs and Goblins are now referred to as having brown skin rather than green. (Thanks Weeksy:)
- Buying a Bucket from Darcus no longer reduces the shop quantity by 2.
- Players now get shown the option of enrolling with Kaspian even if they don't have enough gold.
- Corrected the spelling of Halbardier to Halberdier in line with Wesnoth 1.3.7.
- Altered the descriptions for most of the spells.
- Fixed the bug that made Junko crush the eggs regardless of whose turn he dies on.
- Gave the loyal trait to all units that players have the option of controlling.
- Added Zookeeper's macro to stop the AI scrolling to the unused leader of side 6 on its turn.
- Added many more random monsters to fight.
- Made several minor adjustments to the map.
- Decreased wolves' movement value to 6 (to stop them attacking players from so far away).
- Players now lose if Maldor or Paulos die.
- Added missing events for library books.
- Players initial max experience has been reduced by 30. The xp requirements to advance now rise evenly: 30/40/50/60, etc.
- Added more Fortune Teller riddles.
- Made some quest clues a bit easier.
- The spell menu now tells you what magic level you have reached (Spells: 1/4, 2/4, 3/4, 4/4).
- Added Icon to Misc Spell Menu.
- Added more outlaws to fight.
- Dillon is now a Huntsman.
- Hopefully fixed bug which caused OOS upon Zanaibar's death.
- The option to steal gryphon eggs now works, but it can only be triggered once.
I couldn't be bothered to think of a way to assign the eggs to a player if Junko died on an AI turn. So I thought it best that nobody got them. Life is harsh sometimes. :D

The instructions tell you how to use the bane and capture spells. I guess this should be included in the spell description, but there isn't really room.

The 'Bless' spell is not buggy; it can only be used to heal other players. I changed the spell descriptions to make this, and similiar issues, clearer.

The 'Revive' spell, however, seems to have problems. I made it so that it won't work unless 'caster.hitpoints' are 'less_than' '$caster.max_hitpoints'. In other words you have to be at least slightly injured to revive yourself. However, I suspect that this is messed up because many of the hitpoint upgrades available are applied using [object], and thus aren't recognised when dealing with a unit's hitpoints in this way. Anyone know of a way to sort this?

Zookeeper sent me a macro to stop the computer unnecessarily scrolling to an unused leader at the start of the AI turn. Most RPGs could probably do with this as it probably saves a little bit of time (at least it does on a 100x100 map). PM me and I'll send you the macro if you want.


Anyway, I hope version 0.2 lets you play this with slightly less frustration...
My current projects:
2p Campaign: The Altaz Mariners
3p Survival: Save The Village

User avatar
Bob_The_Mighty
Posts: 782
Joined: July 13th, 2006, 1:15 pm

Post by Bob_The_Mighty » September 3rd, 2007, 4:37 am

Whoops... Version 0.2 didn't work, but 0.2.1 does!

Here's what I've changed this time:
- Removed Zookeeper's macro as it made the players win on first turn.
- Fixed the bug which occured when a player got poisoned using an object tag.
- Removed ai_special=guardian from most of the orcs.
- Removed the -30 modification to mage's maximum xp.
- Made it so that none of the outlaws could attack the captives.
The poison thing was odd. Once a player was poisoned via an object, it made the unit become poisoned at the start of his every subsequent turn (even if he got healed by a village or healer. Antidote didn't work at all on it). Maybe it was because I put duration=level in the object tag. Anyway I decided to replace all the instances of poison-by-object with code which stores the unit and does it that way. Hopefully this works better.

I am also, however, finding that random units get poisoned for no reason. Even ai ones that don't move. This is perplexing.

I have also found a few other things that I would like help with:

1. Anyone know why a unit overlay of a halo gets distorted? How should it be done?

2. Side 5 is on the same team as the players, but it has no leader and is set to controller=null. When I reached Port Ahingtu and a couple of side=5 units change to my side I was suddenly able to see all the areas of the map visible to side 5. This is not what i want. It is like share_map was suddenly enabled. I store the unit and change the side to $side_number, but somewhere it still thinks it is on side 5. (EDIT: This didn't happen when I tried it again in a different game, so maybe it was caused by something else...)

3. At a certain point in the game, just after a javelineer had moved - I got a message from windows reporting that wesnoth encountered an error and had to shut. A player on Linux said he crashed too, and mentioned something about a Fragmentation error. Any ideas what would cause this?
Last edited by Bob_The_Mighty on September 3rd, 2007, 4:36 pm, edited 2 times in total.
My current projects:
2p Campaign: The Altaz Mariners
3p Survival: Save The Village

User avatar
zookeeper
WML Wizard
Posts: 9740
Joined: September 11th, 2004, 10:40 pm
Location: Finland

Post by zookeeper » September 3rd, 2007, 8:17 am

Bob_The_Mighty wrote: - Removed Zookeeper's macro as it made the players win on first turn.
Haha, sorry, I'll consider testing things in proper network MP before sending them around in the future. :D

User avatar
Bob_The_Mighty
Posts: 782
Joined: July 13th, 2006, 1:15 pm

Post by Bob_The_Mighty » September 3rd, 2007, 4:34 pm

After another test several other issues have emerged:

4. After a sever crash we reloaded only to find that all existing ai units had been given random traits (whereas they had none before). This of course caused massive OOS problems.

5. After the reload, side 5 (which is initially set to controller=null) had to be assigned to ai control, thus allowing players to see everythinng side 5 could see. It also meant some NPCs moved into villages where they weren't supposed to be. This seems like a wesnoth bug to me. In any case, I will set it to controller=ai with ai_algorithm=idle_ai to see what happens.

6. The orc flag from Under_the_Burning_Suns/images/items/orcish-flag2.png has a diagonal strip of transparency through it.

Any thoughts on 1-6?
My current projects:
2p Campaign: The Altaz Mariners
3p Survival: Save The Village

User avatar
Sapient
Inactive Developer
Posts: 4453
Joined: November 26th, 2005, 7:41 am
Contact:

Post by Sapient » September 3rd, 2007, 6:37 pm

1. Anyone know why a unit overlay of a halo gets distorted? How should it be done?
no idea. can you give an example?
3. At a certain point in the game, just after a javelineer had moved - I got a message from windows reporting that wesnoth encountered an error and had to shut. A player on Linux said he crashed too, and mentioned something about a Fragmentation error. Any ideas what would cause this?
This is the sort of thing that needs to have an official bug report filed with instructions for how to duplicate it, a savefile if available, and a backtrace if available. Your friend on Linux could probably generate a backtrace easily. Read the sticky post in Tech Support forum for instructions how to do that.
4. After a sever crash we reloaded only to find that all existing ai units had been given random traits (whereas they had none before). This of course caused massive OOS problems.
This bug has already been reported. You can work around it meanwhile by using random_traits=no when spawning units.
5. After the reload, side 5 (which is initially set to controller=null) had to be assigned to ai control, thus allowing players to see everythinng side 5 could see. It also meant some NPCs moved into villages where they weren't supposed to be. This seems like a wesnoth bug to me. In any case, I will set it to controller=ai with ai_algorithm=idle_ai to see what happens.
Indeed, this seems like a minor bug, but someone should report it into the bugtracker (please) so that it eventually gets fixed by someone who is familiar with that area... probably taro/uso.
The orc flag from Under_the_Burning_Suns/images/items/orcish-flag2.png has a diagonal strip of transparency through it.
I asked zookeeper to take a look at it.
http://www.wesnoth.org/wiki/User:Sapient... "Looks like your skills saved us again. Uh, well at least, they saved Soarin's apple pie."

User avatar
Bob_The_Mighty
Posts: 782
Joined: July 13th, 2006, 1:15 pm

Post by Bob_The_Mighty » September 7th, 2007, 1:43 am

Version 0.3 is on the server now. I think the random poison thing has been fixed now. It was trying to store and poison units that weren't placed until a certain encounter, so i guess it just gave it to other hapless souls instead.

Anyway, here's what's different:
- Bane now works again.
- Summon Spells are visible and now work.
- Red mages now depart when they say they do.
- Lightning is no longer holy.
- The Bless spell can now only be cast on injured mages.
- Fixed bug which meant Dillon's death messages didn't appear.
- Added some orc ambushes.
- Added another outcome for the goblin encounter.
- Sorted the problem with AI units crossing terrain they weren't supposed to.
- Gave traits and increased hitpoints to various bosses.
- Orcs attack slightly later.
- Hopefully fixed the random poison bug.
- Balson now sells a flame sword.
- Added monsters in certain encounters.
- AI is set to ai_idle rather than null.
- Added some scenery images.
I'm still finding that it disconnects occasionally, but I don't know why.
My current projects:
2p Campaign: The Altaz Mariners
3p Survival: Save The Village

User avatar
Ken_Oh
Moderator Emeritus
Posts: 2176
Joined: February 6th, 2006, 4:03 am
Location: Baltimore, Maryland, USA

Post by Ken_Oh » September 10th, 2007, 2:22 pm

There's a major problem that I've like to point out.

When your character AMLAs on the enemy's side turn, you don't get to choose a new spell. This is, I'm pretty sure, because of how MP now doesn't allow players to choose how they level up unless it's on their turn.

TL got around this in Heroes' Arena by granting skill points on the post advance event and making an Upgrade right-click command for players to use when its their turn.

suokko
Inactive Developer
Posts: 65
Joined: June 1st, 2006, 4:13 pm

Post by suokko » September 10th, 2007, 4:53 pm

A few bugs that we found after 400 turns playing your excellent game :) Too bad we didn't yet success as Paolos died in elven fortress.

Casting reanimate doesn't work because while do checking if we are in menu checks wrong variable ( R->Re ).

Also casting healing spells seems to fail randomly without any message about why. Fail means that click spell in menu just recreates same menu and doesn't use mana.

One cannot talk to Dionne (The librarian) because she isn't alive in code.

User avatar
Sapient
Inactive Developer
Posts: 4453
Joined: November 26th, 2005, 7:41 am
Contact:

Post by Sapient » September 10th, 2007, 9:13 pm

Ken Oh wrote:There's a major problem that I've like to point out.

When your character AMLAs on the enemy's side turn, you don't get to choose a new spell. This is, I'm pretty sure, because of how MP now doesn't allow players to choose how they level up unless it's on their turn.

TL got around this in Heroes' Arena by granting skill points on the post advance event and making an Upgrade right-click command for players to use when its their turn.
Actually, this explains a lot... this would cause observers to get a popup menu. I have submitted a bug report. Note: when you find a wesnoth bug you are supposed to submit a bug report. This helps the developers a lot to improve Wesnoth, and it helps you too because the bug can get fixed.
http://www.wesnoth.org/wiki/User:Sapient... "Looks like your skills saved us again. Uh, well at least, they saved Soarin's apple pie."

Post Reply