[mainline]: Dynamic campaign

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

Moderators: Forum Moderators, Developers

Forum rules
Before posting a new idea, you must read the following:
Post Reply
papperwing
Posts: 2
Joined: August 13th, 2018, 1:32 pm

[mainline]: Dynamic campaign

Post by papperwing » August 13th, 2018, 2:42 pm

Hello friends,

I would like to transfer my DnD campaign into Wesnoth campaign and I would like to be it quite enhanced than what I seen till this point. If I correctly understand, I can ask you guys if it is possible to achieve it in Wesnoth.

This is my long term hobby project and I will record my progress at blog under name WesnothModding at tumblr, if anybody is interested in it.

Now to the idea itself.

Intro

I created world for my DnD campaign. It is quite big world with nice and rich history as I hope. Unfortunately I don't have players for it right now. I thought about transferring it into written story, but I don't feel that reader will get desired experience from it in that form. I like WesnothEngine quite a lot and I am also programmer, so I decided, that I would like to transfer it into Wesnoth campaign.

Special elements
I was doing some research and I found a lot of interesting stuff, but I would like to ask, if I got it right that some stuff is possible. In the game I would like to have these elements:
  • On demand generated scenarios.
    • If I get it right, maps are loaded when they are demanded, so there can be run generator, that will prepare specific WML for scenario.
    Dynamic factions
    • If I am not mistaken, there can be run simulation in lua, where I can prepare state of the world.
    Clickable map
    • I am not sure about this, but between scenarios, there is map. In default scenarios you can select the direction based on choices. Is it possible to change map into sort of menu with regions, where player will select where he wants to go?
    Changeable terrain
    • I would like to change ground tile on demand in campaign. For example setting forest to fire or spreading de. Tile will then change into several stages (1. burning tree, 2. ash covered wasteland, 3. plain).
    Dropable items
    • I would like to create simple inventory. Each unit could pick up item from the ground and also it could take an item. It is sufficient to have one item per unit. Also it is considerable to be able to drop it at units death.
    Editable map.
    • If I would be able to create clickable map, I would like to allow players to build at locations. It would be done by using money from their general pool and probably in limited map editor they would be able to spend money for designating plan for building cities/structures between scenarios. Each scenario would be than taken as some period of time and after some time in that region there would be that new structure. Also If there would be possibility of building, there would be also possibility of loosing building when loosing goal of scenario in that region
    Looseable scenario
    • I would like to have possibility of retreating with player character and loosing scenario without ending campaign. Loosing shouldn't be taken as total fail. Only situation when player will loose is, when his character dies (maybe or he could get some other character with lower stats).
    Multidirectional price for tile
    • Idea of this is, that it would be possible to have walls where player could walk with characters through the towers but not from the ground (or at least not all characters). So on the tile, there could be defined that its cheaper from this tile that from others.
    Reaction to the tile.
    • Player would get different stats for attack based on terrain he is standing on. Then there could be certain ways to change terrain (sort of behaviour as in poxnora, where terrain changed, when player took tower).
    Actions invoke-able from menu
    • I know this goes little bit against kiss rule, but I would like to invoke some actions from unit menu. Similar to buying units there could be action to change terrain and other stuff.
    Multi layer map
    • At the window with the map, there could be switch which would show some statistics on map as political situation, race situation, etc.
For now it is a lot of special features, which I would like to implement and I would like to hear, If you think it is possible or not. I am also able to look into engine and possibly create PR with some stuff needed for achieving this stuff, but some of them can be undesired to creators.

If I remember something that I forgot, I will add it later.

Thanks for any answer!

User avatar
Vyncyn
Forum Regular
Posts: 389
Joined: April 6th, 2013, 5:51 pm

Re: [mainline]: Dynamic campaign

Post by Vyncyn » August 13th, 2018, 8:01 pm

I remember playing a mod on wesnoth which was pretty close to what you descibe. It had a worldmap where you could got to different places to open another scenario. If I remember correctly you could also leave those scenarios without loosing and revisit them later.
There's also another mod (or was it the same? :hmm: ) which had inventory and a lot of items you could pick up. I think it was "Bob's RPG Era"

Changeable terrain is definitely possible. Different stats for attack based on terrain should be doable with [weapon-special] (there might be an easier way though). I'm not sure I undestand the "Actions invoke-able from menu" point, but there's also a mod that has a lot of spellcasting through the right-click menu (I think it's called "Era of high sorcery"), which allows you to summon units or change terrain.

Caladbolg
Posts: 157
Joined: January 1st, 2016, 4:40 pm
Location: Hopelessly trapped within the Submachine

Re: [mainline]: Dynamic campaign

Post by Caladbolg » August 13th, 2018, 8:12 pm

Hello! That's an interesting idea! :)
I'll tell you what I know but take it with a grain of salt as I'm a WML newb. I'm certain someone more knowledgeable will chip in with more detailed info.
On demand generated scenarios: If I get it right, maps are loaded when they are demanded, so there can be run generator, that will prepare specific WML for scenario.
I think I saw something like that once but it was pretty bare-bones. Even if I imagined it, I'm fairly certain this can be done. You can already randomly generate maps so you could theoretically tie certain premade events to certain tiles (such as villages). Those events would need to have a core, but you could add some variation (e.g. We need help! X has been attacking our village. We'll pay you Y gold if you defeat them.)
Dynamic factions: If I am not mistaken, there can be run simulation in lua, where I can prepare state of the world.
Sorry, I'm not familiar with lua.
Clickable map: I am not sure about this, but between scenarios, there is map. In default scenarios you can select the direction based on choices. Is it possible to change map into sort of menu with regions, where player will select where he wants to go?
I'm not too sure about that. I don't think it can be done, especially if you want the global map to be randomized as well. However, something similar has been done. You make a scenario which serves as the global map and then by entering certain places (villages, castle tiles, etc.) you can enter individual scenarios. So the global map serves as a hub of sorts, where you can enter scenarios in the order that you like. I think that might work well for what you want to do. For reference, you can check out the 3rd scenario of "Genesis". There's actually quite a few campaigns that have a scenario like that.

Recently, Celtic_Minstrel did some work on alternative graphics for maps so they'd look like the maps between scenarios, as described in this thread. This would, for all intents and purposes, allow you to do exactly what you want. Not only would you have a parchment style map from which you could move to enter various scenarios, you would have all the functionality of a scenario as this is simply a new graphic style that could be applied to maps within all sorts of scenarios.
Changeable terrain: I would like to change ground tile on demand in campaign. For example setting forest to fire or spreading de. Tile will then change into several stages (1. burning tree, 2. ash covered wasteland, 3. plain).
This can already be done. There are several campaigns that use this though none come to mind atm. I'm fairly sure you can find good examples with a bit of digging around. Usually, this is done by making an option in the right-click dialog box and having that option change the terrain on the selected hex.
Dropable items: I would like to create simple inventory. Each unit could pick up item from the ground and also it could take an item. It is sufficient to have one item per unit. Also it is considerable to be able to drop it at units death.
Also possible, and done in various campaigns. "Legend of the Invincibles" has a huge inventory system so that would probably be a good place to look, you should be able to find all item-related things imaginable there.
Editable map: If I would be able to create clickable map, I would like to allow players to build at locations. It would be done by using money from their general pool and probably in limited map editor they would be able to spend money for designating plan for building cities/structures between scenarios. Each scenario would be than taken as some period of time and after some time in that region there would be that new structure. Also If there would be possibility of building, there would be also possibility of loosing building when loosing goal of scenario in that region
If you go with the hub scenario idea, I'm fairly certain all of this can be done. Villages and other stuff can be built by changing terrain and you could subtract the needed gold within the same event. If you want the passing time to have an effect on the global map, you could store the number of turns taken in scenarios and have events on the global map fire based on that, etc.
Looseable scenario: I would like to have possibility of retreating with player character and loosing scenario without ending campaign. Loosing shouldn't be taken as total fail. Only situation when player will loose is, when his character dies (maybe or he could get some other character with lower stats).
Possible: make an option available on right-click that lets you end the scenario and sends you back to the hub map. Re-enter the scenario at any time to play it again.
Multidirectional price for tile: Idea of this is, that it would be possible to have walls where player could walk with characters through the towers but not from the ground (or at least not all characters). So on the tile, there could be defined that its cheaper from this tile that from others.
I haven't seen something like this done and, while I believe it's possible, I don't think there's an easy or elegant way to do it. You'd have to make some sort of an indicator for a price to cross between terrains. Maybe if such terrains are rare, you could make do with some some relatively simple wml.

Assuming there are only a few such hexes, the way I'd go about it is to make them impassible so the unit cannot enter them normally. Then, when a unit steps on an adjacent hex, have a '!' pop up just to notify the player that a new option appeared in the right-click menu. This option would then trigger an event that would move your unit to the previously impassible hex at the cost of some movement points (cost would depend on the hex the unit is currently on). But there are a few issues with this, the main one being that you could no longer see the unit's movement range by hovering over it as the hex is treated as impassable. Idk, maybe there's some simpler solution that I'm not seeing.
Reaction to the tile: Player would get different stats for attack based on terrain he is standing on. Then there could be certain ways to change terrain (sort of behaviour as in poxnora, where terrain changed, when player took tower).
I assume it's possible. Have an event whenever a unit moves onto any hex. This event would modify the attack stats based on the terrain. But I'm not sure how that would mesh with other moveto events. Alternatively, maybe you could have the change take place in the 'attack' event. This way, changes wouldn't trigger on literally every step, but only when you actually attack. In this case, the changes would take place when you press the attack option in the attack dialog, so you won't be able to see how the terrain modifies your attack before you already attack. To fix this, you'd need to somehow make the attack dialog box take into account the changes beforehand. I'm not sure how exactly you'd go about it.
Actions invoke-able from menu: I know this goes little bit against kiss rule, but I would like to invoke some actions from unit menu. Similar to buying units there could be action to change terrain and other stuff.
That right-click menu that I mentioned can be customized to do all sorts of stuff, from opening the inventory, getting info on non-standard gameplay elements in some more complex campaigns, starting dialogues, casting spells, placing traps, changing terrain, etc. You can check the multiplayer scenario "Brotherhood of Light" to see an example of the spell system.
Multi layer map: At the window with the map, there could be switch which would show some statistics on map as political situation, race situation, etc.
Haven't seen this done and I don't know of anything close to this, but if it's something on a merely aesthetic level, I believe it wouldn't be too hard to do (though not exactly trivial either.)

In short, most of it can be done and a lot of it has already been done. The right-click menu will help you a lot, and it'd be good to implement the global map as a sort of a hub scenario. Aside from the campaigns I gave you for reference, there's also "Altaz Mariners". I haven't played it yet so I can't say much for certain, but from what I've seen on the forums, it has a hub scenario, randomized encounters, large world with interwoven side-quests, etc. It might be the most similar campaign to what you want and it's possible that it has most of features you're interested in so that would probably be the best starting point. Here is the link to the campaign thread so you can check out a list of features.

papperwing
Posts: 2
Joined: August 13th, 2018, 1:32 pm

Re: [mainline]: Dynamic campaign

Post by papperwing » August 13th, 2018, 8:29 pm

Thank you guys, you are gold!

You written a lot of stuff which will help me in further research a lot!

I am still not sure about that "scenario" map and will search how to modify and make clickable campaign map. But if that will not be possible, the idea of "scenario" map is also interesting.

Post Reply