Scenario Design Contest

chokepoints! To get to a key improvement, the player is forced to go through a certain plot that has a WP on it.
Yes, but sometimes there are nasty things like flying units that would go around. I made sure to prevent all fireballs and other flying fragons (or flesh golems) from crossing certain mountain ranges.

Can't you write a script for a plot in a worldbuilder savefile? Never played with them, but I thought that was one of their functions. So if you wrote a script that called a function for you it ought to work. Can't create player action buttons too easily, but you can provide pop-ups when they walk on the tile which offer choices maybe.
The issue was not to tie an effect to a plot but to avoid pop-ups. If the player repeatedly gets the popup but wants to wait for reinforcements to come before he triggers the effect, 10 turns worth of popups would be a real pain.
I should try the WBfile script, I haven't yet. But then, I'm done with plot-related events for the moment. If I need a new one, I'll check this.
 
Now I realise that a ranger carrying a bird cannot board a ship. That looks like a bug to me. Is there any reason for that, or is it a limitation of carrier units not being able to be carried? I can live with it, but it will look strange to have to relocate the falcon in order to be able to move his ranger...
 
No, that is WAD. Everybody knows that having birds on ships is bad luck. ;)
 
Now I realise that a ranger carrying a bird cannot board a ship. That looks like a bug to me. Is there any reason for that, or is it a limitation of carrier units not being able to be carried? I can live with it, but it will look strange to have to relocate the falcon in order to be able to move his ranger...

Its a limitation of the fact that storage capacity is only expected to be one level deep. So all checks and functions thta cycle through units only check one level in to look for things. Allowing tiered storage would add a lot of complexity to those checks that isn't worth what we would gain.
 
Its a limitation of the fact that storage capacity is only expected to be one level deep. So all checks and functions thta cycle through units only check one level in to look for things. Allowing tiered storage would add a lot of complexity to those checks that isn't worth what we would gain.
Thanks for the answer.
The problem for me is that it's not intuitive as a player to understand this. It took me a while to understand that it was the bird who prevented boarding the ship. Is there an available function to overwrite when the "can board" check?
Everybody knows that having birds on ships is bad luck
I suppose I can't replace the hawk graphics with a rabbit to explain the limitation? But then rabbits don't fly...
 
Its a limitation of the fact that storage capacity is only expected to be one level deep. So all checks and functions thta cycle through units only check one level in to look for things. Allowing tiered storage would add a lot of complexity to those checks that isn't worth what we would gain.

As a workaround, woud it be possible to add a "crows nest" transport space on naval units, to carry one hawk. so that the hawk could be rebased onto the ship itself, and you'd still be able to have a ranger with his hawk going overseas.
 
Units art not capable of carrying units of multiple Domains (land, sea, or air). You could have ships that carry only birds, but not those that carry birds and land units.
 
Could have the hawk forced out of the hunter when it loads.
Yes, but I'd need to get a functgion onBeforeLoad() or checkLoad() or something, which I don't think I have.
I'll probably just dump some help text at the bottom of the popup that spawns before the problem arises.
 
That was more considered towards Kael as a future fix. ;) (or anyone with enough free time and the skill to make this change in the SDK)
 
Could someone point me in the direction of a tutorial on how to make a scenario? I do not even know which files to edit, or if there is an editor program (do I just open world builder and make a map?). I also have no idea how to do anything with python or XML. I am as new as they come to this. I would like to tell a story, though.
 
A full fledged tutorial does not yet exist for how to make a scenario for FfH2, AFAIK.

But here are the basics that I figured out on my own. BUT BEFORE YOU DO ANY MODDING, BE SURE TO BACK UP YOUR FILES! Sometimes while fiddling around with xml and python files you can inadvertantly bork up the game. I've done it several times, and it is always nice to have the original files to fall back on again.


Anyway, additions to the following files make up a bare bones scenario:

1. A World Builder save game file

To follow the format used for FfH2 scenarios, save the WB file in the Assets/XML/Scenarios folder. This is where the other official scenario WB saves reside.

2. ScenarioFunctions.py in the Assets/python folder. This python file has all of the python functions that have been exposed to the scenario system. It contains the more commonly used python calls for things like onTurn and onUnitKilled. If you look at this file, you will see that after each "def BlahBlah:" the code looks for the specific scenario by WB save name and then executes scenario specific code chunks. For your scenario though, be sure to use the condition

Code:
if gc.getGame().isOption(GameOptionTypes.GAMEOPTION_WB_EXTRA):

3. CIV4EventTriggerInfos.XML, CIV4EventInfos.XML, and CVRandomEventInterface.py are the three files that work together to make custom events for your scenario. If you search in the regular forums, you can find lots of threads about how to design events. generally speaking, however, CIV4EventTriggerInfos.XMLdefines the triggering conditions and what the choices will be; CIV4EventInfos.XML defines the choices themselves and what happens if you choose them; and CVRandomEventInterface.py can contain python code chunks that executed by the individual choices. Generally, the XML files have options to make common things happen, but if the thing you want isn't available in the "pre-packaged" XML, you can have an event trigger a custom python snippet. Also, keep in mind that scripted events wil likely be triggered by a condition contained in the ScenarioFunctions.py file. Random events, can just be defined by the three above.

4. CIV4GameText.XML contains all of the text entries for interface items and help. The previous files have references to entries in this file, and the CIV4GameText.XML is where you put all the "texty" things. I call this the "flavor file," because it is where you put all of the creative writing!

5. If you want to be really hardcore, you can hack into the CvEspionageAdvisor.py file, which is what the FfH2 team re-purposed to act as the scenario selector screen. (Pretty sneaky, guys!) I figured out how to add in my scenario so that it shows up as a choice on the screen, and launches correctly.

That, in a nutshell, is it!

Good luck with your scenario design!
 
Thanks for the help, Lutefisk. Although right now I am in a baffled, "Yah right, like I can do this" state of mind as I look at the files you specified... :eek:
 
I'm a little disappointed that there aren't any scenarios dealing involving Brigit the Shining. I'm not sure what the details should be, but it could be nice to have a scenario where you have to liberate her from the Ring of Carcer.
 
She is in mine, but is in my last test, the hero who came nearby was only level 13 when he passed by the ring, and the story doesn't revolve around her... But I think you're right, she's an interesting character, and a subplot to free her (a nice reward by herself) could be interesting.
I still have tons of balancing to do though.
 
I saw several people earlier in the thread who wants to include Perpentach in their scenario (or have it revolve around him)... I would gladly provide whatever poems I can come up with if anyone needs some... Also, Lutefisk, your idea sounds decent! If you need some text/events text/names/lore entries, I would be honored to try and help you out :)
 
I was recently thinking it would be very cool to add a scenario about the Three Brothers an their Gems of Creation, but then I remembered the severe limitations on what we can mod. I don't think I'll be entering anything, although I do plan to update the original scenarios for my modmod whenever that gets released.
 
Thats pretty handy Duruk - thankyou.

Out of interest does anyone know the number of tiles for each map size?

Edited note - ah...partly worked this out from this thread http://forums.civfanatics.com/showthread.php?t=134226

Obviously Erebus mapscript not listed, but in summary at "standard" map size (w= wide, t= tall);

Archipelago World Wrap l to r 84 w * 52 t
Balanced World Wrap l to r 84 w * 52 t
Custom Continents World Wrap l to r 84 w * 52 t
Fantasy Realm World Wrap at all map seams (top edge wraps to bottom, left edge to right) 52 w * 32 t
Great Plains No world wrap 44 w * 32 t
Highlands No world wrap 64 w * 40 t
Hub No world wrap 64 w * 40 t
Ice Age World Wrap l to r 84 w. Glaciation 36 tiles tall Uncertain of total height
Inland Sea No world wrap 52 w * 32 t
Islands World Wrap l to r 84 w * 52 t
Lakes No world wrap 52 w * 32 t
Maze World Wrap l to r 56 w * 32 ts
Mirror No world wrap 52 w * 32 t
Oasis No world wrap 52 w * 32 t
Pangaea World Wrap l to r 64 w * 40 t
Ring 64 w * 40 t
Team Battleground No world wrap -Square Maps 32 w x 32 t
Team Battleground No world wrap -Rectangular 40 w x 24 t (used for a team setting)
Terra World Wrap l to r 104 w * 64 t
Tilted Axis World Wrap top to bottom. Equator and poles run top to bottom, too 64 w * 64 t
Wheel No world wrap 64 w * 40 t
 
Back
Top Bottom