Latest Posts

Topic: Realistic random events

GunChleoc
Avatar
Joined: 2013-10-07, 15:56
Posts: 3317
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2015-02-16, 21:33

I still think the best way to test how this sort of gameplay will handle would be to create a special scenario and get some feedback on it.


Busy indexing nil values

Top Quote
king_of_nowhere
Avatar
Joined: 2014-09-15, 18:35
Posts: 1668
Ranking
One Elder of Players
Posted at: 2015-02-17, 00:59

SirVer wrote:

optional feature

That is also a trigger word of mine - optional means "nobody uses it".

Where is this coming from? I have no qualms at using optional features, if i think they could be intersting. which, in my book, mostly mean "make the game more difficult". widelands is the kind of game where i want good planning, so i would not use it in this game, but i may use it in other games. I could use it in widelands too against ai, if it oonly affected me, to make things more challenging. if it affected also the ai, it would hurt it much more than me cause ai would have less capacity to cope with it, so no way. it reminds me of total annihilation. I loved those maps with random meteor showers, but it was really disappointing when after one hour the game said that i won with barely any contact because thhe enemy had been completely destroied by said meteors.


Top Quote
SirVer

Joined: 2009-02-19, 15:18
Posts: 1440
Ranking
One Elder of Players
Location: Germany - Munich
Posted at: 2015-02-17, 06:59

king_of_nowhere wrote:

SirVer wrote:

optional feature

That is also a trigger word of mine - optional means "nobody uses it".

[Optional features]

My argument still stands. Did you know that Wideland's windows could snap to other windows and the border of the screen? That the background chat could be non-transparent? That you could use limit the number of watchwindows to 1? That you can disable automatic road building (who would ever want that?!)? Have you ever played the excellent Collectors win condition? or the super weird Wood gnome? Did you ever play the (very different) multiplayer scenarios "Island Hopping" or "Smugglers"?

Maybe you have one or another. But the truth is, most players won't. They play one kind of Wideland's game: Autocrat. And they never change any option. Therefore the options are bad - unnecessary complexity in the code that can break and is not often used. For game play elements I see it differently: Smugglers and Island Hopping are good things to have, even though few people ever play it. They add drastic variety for experienced players.

This suggestion of random events falls into the same category IMHO. Add variety for people looking for something different. Adding it into the core mechanics changes the game to something that is very far away from the current game, but having it in a multiplayer scenario will be a ton of fun.

Btw, we already have 2 maps that have some random disaster: the atlanteans scenario has rising water and "Trident of Fire" has randomly erupting vulcanos.


Top Quote
GunChleoc
Avatar
Joined: 2013-10-07, 15:56
Posts: 3317
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2015-02-17, 07:37

Having options can be great, but we have to be careful about which ones we pick, and that we don't get too many.

From the coding side, every line of code will potentially contain a bug. So, if you program an option that isn't used much, chances are good that this bug won't be both triggered and reported until after the next release. And then you need to spend time to hunt it down and fix it. Also, the bigger the code base, the harder it is for new programmers to find their way around. So, less code is good, frequently used code is good.

From the user's point of view, I expect that most people won't even look at the options unless something annoys them. So, this option probably would have to be visible within the game starting screen so that people notice it. There is already a lot going on in these screens, making it harder for the user to start a game. Every option means that the user will have to make up his/her mind about it.

Here are 2 entertaining articles on why options can be bad for the user:

http://www.joelonsoftware.com/uibook/chapters/fog0000000059.html

http://www.joelonsoftware.com/items/2006/11/21.html

Now, should playing with disasters get really popular, we might consider it again in the future. To implement the range of ideas that OP had into the core engine would take a lot of time. So, this is why I think creating a scenario to try things out would be the best option. E.g. you could already simulate road accidents by ripping a flag and place it back, fires by ripping a building, etc. Terrains can obviously already be changed. Then design the messages the user would get, and write the randomizing part. If you are working on such a scenario and need more functions exposed to the Lua interface, this is certainly something we can talk about.


Busy indexing nil values

Top Quote
dfTruF
Avatar
Topic Opener
Joined: 2015-02-15, 21:32
Posts: 17
Ranking
Pry about Widelands
Posted at: 2015-02-17, 12:19

I forgot to emphasize one thing. When I said about "optional feature for random events" I was thinking about this option only for map generator. I agree that many options for player (in game) is messy from programming point of view. But many options in map generator could give for the creator more free hand in creativity.
For example someone like to make map where accidents for each mine are 0.01% of chances (game code could check this probability every time when next ore is extracted). Then he can put this number in option for generated level. If he doesn't want to know exact probability (because he likes surprises), then he can give range of potential probabilities (for the computer to decide).
For example the range: 0.01% to 3.5% (can give decision for the computer, only once when the map is loaded).

Edited: 2015-02-17, 12:29

Top Quote
kaputtnik
Avatar
Joined: 2013-02-18, 20:48
Posts: 2535
OS: Archlinux
Version: current master
Ranking
One Elder of Players
Location: Germany
Posted at: 2015-02-17, 13:34

I agree with SirVer and GunChleoc. For scenarios it could be great. Examples and how to get started with scenarios where given.

To claim something is allways a lightweight thing. If you want such things, make yourself familiar with the code and provide the community with your great results face-smile.png


Top Quote
dfTruF
Avatar
Topic Opener
Joined: 2015-02-15, 21:32
Posts: 17
Ranking
Pry about Widelands
Posted at: 2015-02-17, 15:18

> *kaputtnik wrote:*
> To claim something is allways a lightweight thing. If you want such things, make > yourself familiar with the code and provide the community with your great results > :-)


If I muster some energy, time and if situation permits then I will try to implement such optional feature (for map generator)
Especially I support this idea: dividing all map to sectors (even simple squares). For each sector are randomly picked probabilities (from the map creator's ranges), which describes specific accident events. And if building is constructed on some specific sector, then this building is subject to events probabilities of that sector. Transport accidents fit to this method too.

Edited: 2015-02-17, 15:22

Top Quote
einstein13
Avatar
Joined: 2013-07-29, 00:01
Posts: 1116
Ranking
One Elder of Players
Location: Poland
Posted at: 2015-02-17, 15:35

For me this idea is on the line between making the game more interesting and making the game random.

It can be now implemented with LUA scripting and some scenarios edits (also LUA?). Now we can play with and without scenario things. So it is good enough to use this engine in my opinion. We should consider adding a better front-end of it? Maybe some window when anybody can "click" everything and then run. Also it is good to provide a window where we can change all the LUA code, without going to files and modifying them outside the game.

Have you played Trident of fire map? There is something similar to your idea: temporary lava fields on the volcano.


einstein13
calculations & maps packages: http://wuatek.no-ip.org/~rak/widelands/
backup website files: http://kartezjusz.ddns.net/upload/widelands/

Top Quote
GunChleoc
Avatar
Joined: 2013-10-07, 15:56
Posts: 3317
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2015-02-17, 15:56

Having some options in the map generator is a different question. However, this will take some coding. Personally, I just can't get into this right now - I have too many other branches going already.


Busy indexing nil values

Top Quote
SirVer

Joined: 2009-02-19, 15:18
Posts: 1440
Ranking
One Elder of Players
Location: Germany - Munich
Posted at: 2015-02-17, 21:24

We should consider adding a better front-end of it? Maybe some window when anybody can "click" everything and then run. Also it is good to provide a window where we can change all the LUA code, without going to files and modifying them outside the game.

It sounds like you suggest adding a UI for scripting and/or adding a text editor into the game. Both are things that I'd rather not do - a ton of work that will not benefit the players, but only the very small fraction of map makers. I think we should focus our time making map making as efficient as possible, but implementing a crappy UI from scratch is not the fastest way towards that. Frankly for the map editor I see two choices: either break it out into a separate binary that uses a real gui tool kit (e.g. QT). Lot's of commercial game use this approach and it seems pretty sound. Or make it even more minimalistic and think about how we can integrate with a separate text editor in a simpler fashion.

If I muster some energy, time and if situation permits then I will try to implement such optional feature (for map generator) Especially I support this idea: dividing all map to sectors (even simple squares). For each sector are randomly picked probabilities (from the map creator's ranges), which describes specific accident events. And if building is constructed on some specific sector, then this building is subject to events probabilities of that sector. Transport accidents fit to this method too.

If I would do such a task, I'd estimate 2-3 weeks of fulltime work to do it. I think you will have a faster path to success looking into Lua scripting in a scenario - that could also be integrated into the engine, but it will be much easier to get started.


Top Quote