Desirable support for multiplayer campaigns

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

Moderator: Forum Moderators

Post Reply
thunderstruck
Inactive Developer
Posts: 12
Joined: March 6th, 2013, 7:36 pm

Desirable support for multiplayer campaigns

Post by thunderstruck »

Hello, I am an applicant for GSoC this year, and I have decided to work on the 'Multiplayer Campaign Support' idea (http://wiki.wesnoth.org/SoC_Ideas_Multi ... pport_2013).

Since the project would directly affect UMC developers/maintainers and players, I have decided to ask everyone who wants to share their thoughts on MP campaigns a couple of questions.

1. How would you like MP campaign development to be improved, and what would be an ideal way of turning existing SP campaigns into MP campaigns?
2. How could the user interface be improved to handle difficulty selection and the management of players in MP campaigns?

Please feel free to answer any questions you like and add any other comments you think are appropriate.

All suggestions related to MP campaigns are welcome!
User avatar
Pentarctagon
Project Manager
Posts: 5564
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Desirable support for multiplayer campaigns

Post by Pentarctagon »

IIRC, there was a previous GSoC whose idea was to make it all one and the same, so a single player campaign would just become a MP campaign that happened to only have 1 player. Not entirely sure what happened to that.

Also possibly relevant, a list of reported bugs for the current system.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
User avatar
ancestral
Inactive Developer
Posts: 1108
Joined: August 1st, 2006, 5:29 am
Location: Motion City

Re: Desirable support for multiplayer campaigns

Post by ancestral »

Having not really released any campaigns but have played my share of campaigns, these are things that I’d love to see:
  • Easier way to go back X turns. Campaigns are often difficult, and in single player it’s easy to go back a few turns. Make it easier for multiplayer campaigns to do the same — currently, you’d have to abort the game, re-create, re-invite, and then load, just to gain a couple of turns back.
  • Skip replays when joining a game. Campaign levels can be long! I know there’s been some talk about this recently. Avoiding replays makes it easier for players who join in the middle to help, or continue where they left off, without having to wait and see the entire replay again and again.
  • Allow for communal/team choices. With games where you must make a choice, it would be great if there was a way where players could easily vote or need to choose/approve what to do. Does the party head west to the mountains, or east to the forests?
  • Nonmodal events and dialogs. If multiple players are chatting but one is still debating/making a choice while in an option dialog, they won't get the chat until it's finished. Can’t say how many times people ask if someone is still there and not get a response, only to realize later it was because they got held up by a dialog.
  • Allow players to play the same side/same units. If two players wanted to play a single-player campaign, finding a good way to split up units amongst each other, or somehow allow any player on a team to move the side’s units (could be too tricky; see the next wish).
  • Allowing cooperative (allied) players to take turns at the same time. No one has truly dared to take it on, possibly due to the sheer complexity of resolving conflicts and whatnot. (I wouldn’t expect you to, either.)
Wesnoth BestiaryPREVIEW IT HERE )
Unit tree and stat browser
CanvasPREVIEW IT HERE )
Exp. map viewer
H-Hour
Posts: 222
Joined: April 14th, 2010, 12:27 pm

Re: Desirable support for multiplayer campaigns

Post by H-Hour »

I think the most important thing is to fix the save-loading problems. Even though I know very well how to avoid save-loading issues, it's still easy for me to mess up in a moment of distraction.

Also, the last time I had to grapple with out of sync issues (1.8.x) I found that nothing was synced in a new scenario until the first moveto event. For this reason, I had to make some start-of-scenario actions (like difficulty or random rolls) occur on the first moveto event. It's not a fatal issue, but it would be great if there were simply some event that fired on start of scenario, before a player moved, that was synced, so that the player wouldn't have to have his initial moves interrupted.

Looking at the proposal on the wiki, my personal feeling is that the ability for extra players to swap in and out for single scenarios should be a low priority. I can only speak for myself, but the main reason I play multiplayer campaigns instead of scenarios is for permanent armies. Would it be easy to find a player who wants to step in for a single scenario, even though he'll probably have a weaker army and then will have to leave again the next scenario? I wouldn't want to be that player. I play mostly with known friends, over long periods of time (ie - once every couple of weeks). I'm not saying the feature shouldn't be there for those who want to use it, but it seems like it would be a very low priority in comparison to other issues -- such as save-load bugs, streamlining settings configuration, and improving compatibility with single-player campaigns to make ports easier.

In terms of features which might not be crucial but would be great improvements, I'd second the following:
  • Communal message-dialogue choices
  • Taking turns at the same time
User avatar
Dugi
Posts: 4961
Joined: July 22nd, 2010, 10:29 am
Location: Carpathian Mountains
Contact:

Re: Desirable support for multiplayer campaigns

Post by Dugi »

H-Hour wrote:Also, the last time I had to grapple with out of sync issues (1.8.x) I found that nothing was synced in a new scenario until the first moveto event. For this reason, I had to make some start-of-scenario actions (like difficulty or random rolls) occur on the first moveto event. It's not a fatal issue, but it would be great if there were simply some event that fired on start of scenario, before a player moved, that was synced, so that the player wouldn't have to have his initial moves interrupted.
This is quite a known problem, although it is not a problem. Make an event with name=turn refresh without first_time_only=no, and it will be almost identical to a start event. And turn refresh events are synced.

Also PersistenceWML makes it possible to transfer armies of units between singleplayer and multiplayer, so if a WML coder bothered with it, there might be a campaign where you might join your friend, play together and then continue playing in singleplayer until you find some time to play together again.

I don't know how good would be the possibility for more people taking turns at the same time. But I think that most SP campaigns would be playable in MP if it was possible to split side 1 between more players, each of them controlling a part of the units (one of his units would become a leader with the same recruit list and be automatically recalled).
thunderstruck
Inactive Developer
Posts: 12
Joined: March 6th, 2013, 7:36 pm

Re: Desirable support for multiplayer campaigns

Post by thunderstruck »

Pentarctagon wrote:IIRC, there was a previous GSoC whose idea was to make it all one and the same, so a single player campaign would just become a MP campaign that happened to only have 1 player. Not entirely sure what happened to that.
Well, if MP campaign has only one player, so it is basically a SP.
Pentarctagon wrote: Also possibly relevant, a list of reported bugs for the current system.
Thanks for the list, I've already noticed it. The new multiplayer campaign support should fix some of those bugs. As for the other bugs on that list - they might be good project tasks of lower priority or post-GSoC work for me.
ancestral wrote: Easier way to go back X turns.
Skip replays when joining a game.
Allow for communal/team choices.
Nonmodal events and dialogs.
Again, these might be good project tasks of lower priority or post-GSoC work.
ancestral wrote: Allow players to play the same side/same units.
Allowing cooperative (allied) players to take turns at the same time.
I'd say pass. They are both really tricky and would require a new different project. But it would be really interesting to see something like that in the game, though.
H-Hour wrote:I think the most important thing is to fix the save-loading problems.
Yes, it is a high priority issue.
H-Hour wrote:Looking at the proposal on the wiki, my personal feeling is that the ability for extra players to swap in and out for single scenarios should be a low priority.
I guess you mean the idea on the wiki, not a proposal. I haven't put there my proposal, yet. Anyway, a good network player management would help not only to get new players in the game, but to swap current players' roles if they want to.
Dugi wrote:But I think that most SP campaigns would be playable in MP if it was possible to split side 1 between more players,
Yes, but as I already said it is probably out of the scope of this project.
User avatar
trewe
Translator
Posts: 122
Joined: December 24th, 2012, 5:37 pm
Location: Portugal
Contact:

Re: Desirable support for multiplayer campaigns

Post by trewe »

Speaking as a maintainer of Return from Captivity and Valley of the Ancients, all those issues from the save loading would be on top of all priorities, especially they leak into so many side-effects, and I would be already happy if those were minimized.

For the interface, single scenarios and campaigns shouldn't be on one list mixed, there has to be a clear separation.

Some other features:
different gold carryover for different sides.
ability to show/hide chapters of a campaign as previous ones are played
a way to determine the played era (applies to scenarios too)
disabling 'shuffle sides' entirely, imho it does not make any sense in campaigns

Not MP specific
allow leaderless human sides

Bugreports:
show on the lobby the true scenario name, it is always the name of the 1st scenario unless the game is reloaded.
observers are kicked from the game if they advance to the next scenario before of the host. In general, if the host is not the first to advance, silly things happens.
Ancestral wrote:Skip replays when joining a game.
'Skip replays' never had given me problems. And I even see the story as P2 with it on.
User avatar
FAAB
Inactive Developer
Posts: 52
Joined: November 15th, 2008, 12:15 pm

Re: Desirable support for multiplayer campaigns

Post by FAAB »

thunderstruck wrote:Please feel free to answer any questions you like and add any other comments you think are appropriate.
Will do.
As everyone mentioned, fixing bugs should be a priority. Don't they say "fix bug first, add feature later"?
But I can understand it is difficult to define an exciting plan for GSoC based on bug fixing, so let me try to help.

I would echo trewe, I say that one of the most useful improvement would be to be able to access era and faction data through WML.
This would allow easy tweak of the recruit list based on the selected era or adding scenario specific data to all factions.
That would also make playing MP campaigns with alternative UMC era easier.

Given that one of the most important is replayability, I think we would need to be able to load the map we get from the generator in WML. This way we could use the same map over different scenario with some changes (eg. changes from seasons, terraforming, disaster, ...)

Having some ready made macro to introduce some randomness into predefined map (without changing their personality) would also improve replayability of some MP campaigns or scenarios (like those from Bob the mighty). There should also be predefined settings for the generator that would create World-Conquest-like maps. The maps of the generator are currently not really suitable from MP scenarios.
User avatar
jb
Multiplayer Contributor
Posts: 505
Joined: February 17th, 2006, 6:26 pm
Location: Chicago

Re: Desirable support for multiplayer campaigns

Post by jb »

Hello thunderstruck,

Its a nice project you are taking on. I really hope you can make some improvements.

My first thought is where were you 2 years ago when we were jumping through hoops? heh.

As others have said, the first priority is improving the save/load system. It is currently very fragile.

I know this sounds super obvious, but my best advice for you is to actually play all the MP campaigns. On the server, as if you were just a player. Put yourself in the shoes of players and you'll quickly learn the UI faults and saving quirks.
I always like to think of the old Interplay tag line, "by gamers, for gamers'.

cheers
My MP campaigns
Gobowars
The Altaz Mariners - with Bob the Mighty
tsr
Posts: 790
Joined: May 24th, 2006, 1:05 pm

Re: Desirable support for multiplayer campaigns

Post by tsr »

Hi, looking at your proposal I see that you are concerned with what matters: stability and consistency, /me likes

Aside from that I would love and this would be a killer feature for me to actually get back into the Wesnoth community and do stuff is if it was possible to split and branch in MP-campaigns.

The idea is that you could have different next_scenarios for different sides (let the campaign makers and players deal with the problem of one split playing faster than the other(s)).

Having a flexible side-system in place (as discussed above) would add to the awesomeness, so that for example, one player can start a campaign and other players can join and quit at their leisure.

This would allow for really sweet mp campaigns :)

/tsr
User avatar
doofus-01
Art Director
Posts: 4128
Joined: January 6th, 2008, 9:27 pm
Location: USA

Re: Desirable support for multiplayer campaigns

Post by doofus-01 »

Hi,

(This is a response to what you said in another thread, but I wasn't sure that was the place to pursue it.)
thunderstruck wrote:
doofus-01 wrote:There will be a way for SP campaigns to be forced into MP, somehow? (As an SP campaign author, that makes me a little apprehensive.) Or they will just be displayed in this MP screen, but then are regular SP when loaded?

There might be an option to force them to appear along with campaigns with "type=mp/hybrid" or there might be some other way to do it. In any way, they wouldn't be exactly regular SP campaigns when played in MP, because of all options/eras/mods you get in MP.
Is "campaign_type" to be just a sorting tag then? This sounds like a potential problem. Many SP campaigns will be effectively broken if players try to play as the AI sides, change the recruit list (I guess? - Eras/factions don't really make sense in SP, as I've known it, aside from being resource packs), or use modifications from who-knows-where. Looking at your wiki page, it looks like there are ways to lock some or all of that out, but the devil is in the details. It would be nice if specifying a campaign as SP would protect it from all this.
BfW 1.12 supported, but active development only for BfW 1.13/1.14: Bad Moon Rising | Trinity | Archaic Era |
| Abandoned: Tales of the Setting Sun
GitHub link for these projects
thunderstruck
Inactive Developer
Posts: 12
Joined: March 6th, 2013, 7:36 pm

Re: Desirable support for multiplayer campaigns

Post by thunderstruck »

doofus-01 wrote:Is "campaign_type" to be just a sorting tag then? This sounds like a potential problem. Many SP campaigns will be effectively broken if players try to play as the AI sides, change the recruit list (I guess? - Eras/factions don't really make sense in SP, as I've known it, aside from being resource packs), or use modifications from who-knows-where.
Yes, it is just for sorting and it is actually to avoid problems (note that it is an attribute, not a tag). I.e. all campaigns marked with "type=sp" would be known as "not adjusted for mp", so they would not appear in the same list with adjusted campaigns to avoid confusions. So, if user still decides to play sp campaign in mp it is his/her choice to play possibly broken campaign. As for the eras/factions and some other things, I'm currently working on how they should work with new syntax for mp campaigns.
doofus-01 wrote:Looking at your wiki page, it looks like there are ways to lock some or all of that out, but the devil is in the details. It would be nice if specifying a campaign as SP would protect it from all this.
My wiki page is not up-to-date with what I'm exactly doing. However, there should be a way to put a lock on relevant options, but it is still an open question which options exactly to lock and whether to make separate locking for eras, scenarios etc or just have one main attribute to specify that all options (except for 'observers' and such) should be locked.

I don't really understand your concerns about sp campaigns. My changes don't influence them, but only lets to use their syntax for mp campaigns, making it possible to use the same campaign for both mp and sp. And sorting attribute "type" would deal with this to not mix them together.
User avatar
doofus-01
Art Director
Posts: 4128
Joined: January 6th, 2008, 9:27 pm
Location: USA

Re: Desirable support for multiplayer campaigns

Post by doofus-01 »

thunderstruck wrote:I don't really understand your concerns about sp campaigns. My changes don't influence them, but only lets to use their syntax for mp campaigns, making it possible to use the same campaign for both mp and sp. And sorting attribute "type" would deal with this to not mix them together.
My concern is that if there is a way to easily click your way to loading SP campaigns through an official/core MP menu, it will appear to be something that should be OK to do. Maybe not for everyone, but for new or very casual players, I'd think it would appear that way. MP/SP distinction is probably intuitive enough, but Eras and Modifications?
thunderstruck wrote:Yes, it is just for sorting and it is actually to avoid problems (note that it is an attribute, not a tag).
Sorry, I meant "tag" as in metadata for search & classification, not code structure. Could there be a fourth attribute value (if not "sp") that could keep the campaign out of the menu? If the player really wants to force it in there anyway, they just have to change that one small bit of text.
BfW 1.12 supported, but active development only for BfW 1.13/1.14: Bad Moon Rising | Trinity | Archaic Era |
| Abandoned: Tales of the Setting Sun
GitHub link for these projects
thunderstruck
Inactive Developer
Posts: 12
Joined: March 6th, 2013, 7:36 pm

Re: Desirable support for multiplayer campaigns

Post by thunderstruck »

doofus-01 wrote:
thunderstruck wrote:I don't really understand your concerns about sp campaigns. My changes don't influence them, but only lets to use their syntax for mp campaigns, making it possible to use the same campaign for both mp and sp. And sorting attribute "type" would deal with this to not mix them together.
My concern is that if there is a way to easily click your way to loading SP campaigns through an official/core MP menu, it will appear to be something that should be OK to do. Maybe not for everyone, but for new or very casual players, I'd think it would appear that way. MP/SP distinction is probably intuitive enough, but Eras and Modifications?
There won't be a way to go to SP campaigns from MP by default. Currently, "SP Campaigns" options in MP Create screen is visible only if game was started with command line "--debug" argument. Later that might become an option in Advanced Preferences.
User avatar
doofus-01
Art Director
Posts: 4128
Joined: January 6th, 2008, 9:27 pm
Location: USA

Re: Desirable support for multiplayer campaigns

Post by doofus-01 »

Well, that changes everything. Never mind then.
Thanks.
BfW 1.12 supported, but active development only for BfW 1.13/1.14: Bad Moon Rising | Trinity | Archaic Era |
| Abandoned: Tales of the Setting Sun
GitHub link for these projects
Post Reply