Triggered events...

Daily 11/12/03

More work on Maps, Scenarios and Campaigns this week. I'm finishing up integrating custom maps into GalCiv. Just waiting for the interface hooks so that I can get the name of the file to load. I also added the ability to have custom star names in the MapEditor. It works well with our small trigger system. For instance, you should be able to create victory trigger when a named star system is conquered.

Here's an example of the trigger system in the scenario editor. Right now, we've only got provisions for 3 different types of triggers. The more triggers, he more testing and we don't have all the time in the world. This should be enough for now.

In this scenario, you'll have eliminate the Drengin while defending the star Arakis and maintaining reasonable relations with the Arcean and Altarians. Sounds fun huh? I also removed the Next Scenario field from the Scenario Editor. The scenarios will be tied together in the Campaign Editor.

In the map editor, I added the ability to name specific stars. We don't have the ability to name planets yet, but that can be added if needed. This was done to tie directly into the triggered events in the scenario editor.

Hopefully I'll finish integrating custom maps into GalCiv tomorrow. Not sure how much work is involved until I get in there more.

9,172 views 6 replies
Reply #1 Top
Sweet.
Reply #2 Top
I can't wait for this baby to come out! And If you don't have time for testing, I'd love to do it. It would be great to get my mitts on this one early.
Reply #3 Top
Nice. Here are a few triggers/events I'd like to see:

( Of course you can think of more ;) )

Triggers: IF (trigger1) AND (trigger2)
IF (trigger1) OR (trigger2)
Planet first sighted in sensor range
Planet settled
Star conquered
Star destroyed (through death star)
Ship named X destroyed
Ship named X reaches level Y
Race X discovers Tech Y
Declaration of war/alliance/peace between X and Y
Module of type X added to starbase near one of star (in sector?) of race Y

Events: Cause/Break alliance between X and Y (this combined with preceding triggers would let modders fix some diplomacis issues in Galciv so you wouldn't have to code them yourselves)
Declare war between X and Y
Destroy civilisation
Spawn (minor?) civilisation (spawning a major would be fun too - here come the Drengins!)
Give planet/star system to civilisation X
Give new ship(s) to civ X in sector Y (important: precise only sector or give several possible spawning locations so they don't start in the same place as enemy ships)
Create/Destroy star system/planet (adding planet to an existing system would be cool - allow to do some stuff with planetary creation techs: you could build a starbase, add a module requiring planetary creation tech and spawn a planet or star system in place of the starbase)
Change PQ of planet X or of planet nearest to square X (increment/decrement or +%)
Spawn/Destroy resource
(Most important) Show panel with text - allowing to play a video of some kind or display an image would be great too
Run a specific 'random' event (with all the moral choices and effects associated)

I can think of more if you like :D
Note that I'd really like events to be able to maniuplate not only the player but also the ai's, so for instance if terrans attack Drengins, then Yors decide to attack Drengins too even if they are not allied with Terrans (but they smell blood) (or they attack Terrans...)
Reply #4 Top
Forgot one important event!
Give tech T to race X.

You could also add a delay option in the events (like immediately or in N months)

A few comment on all those suggestions:
Techs have been used widely in civ2 to get triggered events in cascade.
There is also a set of civ2 triggers that allow you to do something at a certain date or randomy every turn with a given (usually very low) chance. (Typically used to add units to all the ai's in order to boost their poor tactical skills).

By providing some triggers/evetns with wide effects, you allow the modders to effectively patch teh game for you (see what has been done to call to power2 on apolyton.net if you can spare the time)
Reply #5 Top
That's quite a list. Thanks. We'll look into them. I already know we should do the booleans (AND, OR) but that adds a whole lot of complexity and we're worried about someone making so many triggers that a game can't be won.
Reply #6 Top
It's up to the modders to make sure their mod/scenario works. This usually works fine because modders tend to do a beta before delivering their mods.

About the set of triggers, modders always want more. If you're interested, you can check clash.apolyton.net, try to download the latest demo of the game, open the .jar and look for a dawn1.xml (or dawn, can't remember) file in teh scenarios/dawn folder. That's the language we use for events and triggers. The scenario is actually a tutorial for the game, and uses events just to get the player along. In the simple tutorial, we needed and events for victory conditions, destruction of enemy civs, taking/controlling of certain squares, we granted a boost to several techs, spawned enemy units, and drowned the player under text advices. This is not very complex, but does use many triggers. (we have a dataformat.html file which might be in the jar which should explain the list of all triggers/events we used - people on civ2 forums like apolyton's civ2 creation/scenario league could probably tell you which ones in civ2 they uses most). If you look at scenarios like Seeds Of Conquest for civ2 (must be found on apolyton or civfanatics webstites), there are events like changing terrain, spawning barbarians, spawning hero units, gifting a tech (if you play persians), causing war between Egyptians and Hittites (if you play Egyptians)... Seeds Of Greatness is the example of what I would like to be able to do in Galciv: Change the whole tech tree, (the graphics) and add a few events in case certain things happen, mostly certain dates.