[engine] Able to use options when not your turn & playing

Brainstorm ideas of possible additions to the game. Read this before posting!

Moderator: Forum Moderators

Forum rules
Before posting a new idea, you must read the following:
Hex
Posts: 161
Joined: June 15th, 2010, 6:08 am

[engine] Able to use options when not your turn & playing

Post by Hex »

At the base level, it would be nice to be able to read the right click help files present in many add-ons when it is not your turn. I mean here you are stuck doing nothing, and then it is your turn and you have to waste a bunch of other peoples time reading some help file. I suppose you could open a new game window or something, but that's awkward and it is easier to miss the fact that your turn has come up.

But this could be expanded even further. Imagine if players could "shop" during other players turns, or even if allies could all move at once during such "RPG" games, and could even be used optionally for survival games too. It would allow such games to take alot less time to play. Those kind of games are really popular and I think such a improvement would be widely appreciated.
User avatar
Sapient
Inactive Developer
Posts: 4453
Joined: November 26th, 2005, 7:41 am
Contact:

Re: [engine] Able to use options when not your turn & playin

Post by Sapient »

The problem there is allowing two clients to simultaneously modify the gamestate with unrestricted ActionWML, which could very easily result in OOS. Creating such a feature would therefore not be trivial... not at all.

But if someone could work out all of the synchronization issues, I'd be glad to see a patch for that.
http://www.wesnoth.org/wiki/User:Sapient... "Looks like your skills saved us again. Uh, well at least, they saved Soarin's apple pie."
Anonymissimus
Inactive Developer
Posts: 2461
Joined: August 15th, 2008, 8:46 pm
Location: Germany

Re: [engine] Able to use options when not your turn & playin

Post by Anonymissimus »

It should architecture-wise be possible to allow wml to use right-click menus out of turn while putting the responsibility to not cause OOS at the wml author's hands though ? Just displaying stuff to the user such as the addon's help never modifies the gamestate.

[shameless_advertisement]In my MP addon SoW (see signature) I found 2 so-so ways to work around this:
-Put the help into the scenario objectives dialog. Turn bell is blocked though, and I guess that's a basic limitation of the engine which cannot be solved.
-Cut the help into parts and put it as the descriptions of certain units which are on the map. Makes the help visible as tooltips. Doesn't block the turn bell but is harder to read.
Both hacks allow reading the help out of turn, work only for text and allow pango markup.[/shameless_advertisement]
projects (BfW 1.12):
A Simple Campaign: campaign draft for wml startersPlan Your Advancements: mp mod
The Earth's Gut: sp campaignSettlers of Wesnoth: mp scenarioWesnoth Lua Pack: lua tags and utils
updated to 1.8 and handed over: A Gryphon's Tale: sp campaign
User avatar
Gambit
Loose Screw
Posts: 3266
Joined: August 13th, 2008, 3:00 pm
Location: Dynamica
Contact:

Re: [engine] Able to use options when not your turn & playin

Post by Gambit »

Or allow UMC to inject custom data into the actual help.
User avatar
Sapient
Inactive Developer
Posts: 4453
Joined: November 26th, 2005, 7:41 am
Contact:

Re: [engine] Able to use options when not your turn & playin

Post by Sapient »

Unfortunately neither of those solutions solves the shoppers' dilemma.
http://www.wesnoth.org/wiki/User:Sapient... "Looks like your skills saved us again. Uh, well at least, they saved Soarin's apple pie."
Anonymissimus
Inactive Developer
Posts: 2461
Joined: August 15th, 2008, 8:46 pm
Location: Germany

Re: [engine] Able to use options when not your turn & playin

Post by Anonymissimus »

Sapient wrote:Unfortunately neither of those solutions solves the shoppers' dilemma.
Meaning to allow gamestate modifications out-of-turn ? From what I've heard, the engine architecture prevents it and I would expect it to be very difficult.
Well, my suggestions above are workarounds which already work with the current releases, only passive actions possible, but still a great ease. I hate these kind of MP addons where you're flooded with information once it's your turn and the other players already get impatient.
projects (BfW 1.12):
A Simple Campaign: campaign draft for wml startersPlan Your Advancements: mp mod
The Earth's Gut: sp campaignSettlers of Wesnoth: mp scenarioWesnoth Lua Pack: lua tags and utils
updated to 1.8 and handed over: A Gryphon's Tale: sp campaign
fabi
Inactive Developer
Posts: 1260
Joined: March 21st, 2004, 2:42 pm
Location: Germany

Re: [engine] Able to use options when not your turn & playin

Post by fabi »

Can't the Whiteboard solve this problem?
We want to give players something to do while it is not their turn.
One could plan the next turn with the Whiteboard already,
see if the planning still holds when his turn arrives and be faster finishing it.
Anonymissimus
Inactive Developer
Posts: 2461
Joined: August 15th, 2008, 8:46 pm
Location: Germany

Re: [engine] Able to use options when not your turn & playin

Post by Anonymissimus »

For "standard wesnoth play" the whiteboard is sort-of a solution. Never for arbitrarily general wesnoth (such as GambCiv and Settlers of Wesnoth).
projects (BfW 1.12):
A Simple Campaign: campaign draft for wml startersPlan Your Advancements: mp mod
The Earth's Gut: sp campaignSettlers of Wesnoth: mp scenarioWesnoth Lua Pack: lua tags and utils
updated to 1.8 and handed over: A Gryphon's Tale: sp campaign
Hex
Posts: 161
Joined: June 15th, 2010, 6:08 am

Re: [engine] Able to use options when not your turn & playin

Post by Hex »

A different idea, being able to check units against each other without having to use that cumbersome planning system, and furthermore to be able to do it during other peoples turn. (Yes I know you can do planning during other peoples turn)
Max
Posts: 1449
Joined: April 13th, 2008, 12:41 am

Re: [engine] Able to use options when not your turn & playin

Post by Max »

that's off topic, you might want to create a new thread. anyway - here's an old feature request with some discussion:
https://gna.org/bugs/?func=detailitem&item_id=6293
User avatar
Gambit
Loose Screw
Posts: 3266
Joined: August 13th, 2008, 3:00 pm
Location: Dynamica
Contact:

Re: [engine] Able to use options when not your turn & playin

Post by Gambit »

Sapient wrote:Unfortunately neither of those solutions solves the shoppers' dilemma.
We also then need the help to not block anything else I suppose. That would be better in general anyways. That's probably a far-far-away dream though.
User avatar
Sapient
Inactive Developer
Posts: 4453
Joined: November 26th, 2005, 7:41 am
Contact:

Re: [engine] Able to use options when not your turn & playin

Post by Sapient »

It's not as impossible as you might think... when I worked on the MP Timer countdown code I made it continue running regardless of what dialogs were opened. This was accomplished via the events pump_manager. It allows code to continue being called during the gui refresh cycle. No idea if that is still working or not in the latest version.
http://www.wesnoth.org/wiki/User:Sapient... "Looks like your skills saved us again. Uh, well at least, they saved Soarin's apple pie."
SlowThinker
Posts: 876
Joined: November 28th, 2008, 6:18 pm

Re: [engine] Able to use options when not your turn & playin

Post by SlowThinker »

You don't have to change gamestate when it is not player's turn, and you still can get new functionalities:
  • code that shows information anytime (when it is not your turn) (for example it allows to browse a shop in a "passive" mode)

    Is there any problem? Just allow context menus anytime, but also allow that a WML code can specify whether menu_item and [option] are synchronized or not, i. e. whether
    [fire_event] raise="menu item ..." [/fire_event]
    [input] value= [/input]

    are sent to the server or not.
  • prepare "shopping" data during other players turns, activate them in the beginning of your turn

    Also this looks feasible without serious changes of the system:
    A player can go through the shop and data will be stored in non-synchronized private variables (it should not be a big problem; also now non-synchronized variables exist (if any [store_side] tag is executed then side.controller= varies))
    Once player's turn starts, WML can send synchronization data to the server, just a new WML tag needs to be implemented for that purpose.
Gambit wrote:We also then need the help to not block anything else I suppose. That would be better in general anyways. That's probably a far-far-away dream though.
You mean a dialog with a help stops execution of an ai-controlled side for example? But this problem is present already ... if you read Scenario Objectives then you can freeze the game for other players.
I work on Conquest Minus • I use DFoolWide, Retro Terrain Package and the add-on 'High Contrast Water'
I moved to Nosebane's corner (Doc Paterson's signature); I am spending my time there, so PM me if I don't answer your post in forums
enclave
Posts: 936
Joined: December 15th, 2007, 8:52 am

Re: [engine] Able to use options when not your turn & playin

Post by enclave »

Sorry to bother you with my opinion.. but recently i started a little project on New Settlers era (its not an advertisement its just so you could understand more or less what I am talking about). Today is the day when I was searching forums for "wesnoth right-click menu when not your turn" and I came across this thread..

Before you skip everything I write below, I am only writing this to say, that it is different from what other people wrote in this thread before me, please read till the end. Please.

Not being able to read help file during not your turn is terrible disadvantage of the whole system, people refuse to read help saying something like "I don't feel good if I delay my turn by reading help and make all other people wait".. help file you made for the era automatically became useless.
Imagine you starting new game, trying to get more people, all of them are new to the mod and they will all spend some 2-5 minutes reading help on their turn? The players in the end of the list (lets say player 5, not even 9) may decide to leave the game before even starting his turn. So the person may loose interest for the mod forever, just because somebody was reading help due to inability to read it while waiting for their turn..

workarounds...
1) Yes I will put the help in scenario description, its on my todo list,
2) yes Im thinking to make ally labels of "total resources of stone, gold, food, wood" and "incomes" to be able to think about what I will be able to recruit when my turn begins.. and plan a little bit.. when its not my turn.
3) yes im thinking to add help to every unit as ability..
but seriously?? It's just not serious for such a great game to have such measures as a solution.

Ok, I can handle that, the help is not a big deal, the amount of resources not a problem.
But how about the following?

I plan to show a dialog with top9 players by resources, workers, military etc.. to follow others progress and compare themselves to other players. Will people also be able to see it only during their turns?... it may add another 2 minutes to every player's turn. It's very very bad.
I just figured out I can probably put it into scenario descriptions (I guess I can change scenario description during game in progress, I guess), but with no pictures or any other "nicer" formats..

I'm NOT the one who says that people need to be able to browse the shops in passive mode.. NO

I'm asking if developers could make a new tag. It would be the same as [set_menu_item], exactly the same, with 1 tiny difference, it would have no [command] tag in it and would never recognize the [command] if it was put there by the creators of eras. And it would work during "not your turn" just like "planning mode" does.. No OOS can occure! (unless era creator try to hack it for active use with some way not known to me yet. And in this case it's his own fault, who would want to play a game full of OOSes? Not me.)

Please could you create new tag like I described above? It is for everyone's good, happiness and joy.
name it [set_passive_menu_item] or [help_menu_item] or [enclave] (joking), whatever name you like.. so people were able to view help files or pictured dialogs when not their turn.. instead of doing nothing and waiting.. and then spending a lot more time "when its already their turn" to do something what they could have already done in between turns..

---
Making it better.
User avatar
Ravana
Forum Moderator
Posts: 3008
Joined: January 29th, 2012, 12:49 am
Location: Estonia
Contact:

Re: [engine] Able to use options when not your turn & playin

Post by Ravana »

Already noted as possible addition if someone wants to do it. http://wiki.wesnoth.org/EasyCoding#Supp ... e_off_turn

However another workaround exists, you can use some strange lua to allow even observers use menus, EoHS does that.
Post Reply