I’ve got your precious random events right here

By on August 30, 2012 5:32:20 PM from JoeUser Forums JoeUser Forums

Frogboy

Join Date 03/2001
+1470

image

Fallen Enchantress has random events. It’s just that there aren’t many and the odds of one showing up in a given turn are in 1/10,000.

So as we get ready for Beta 5, which is all about bug fixing, polish, and balance, we are finally starting to add a lot of new random events.

image

 

image

 

This is the part I should probably mention that any monkey can make a quest. You do need the powerful tool known as notepad. That’s how I’m doing it. It’s just XML and it’s pretty straight forward to make a fairly simple quest or random event (i.e. kill fooz or fetch me a holy hand grenade or escort my goat, etc.).  But there’s nothing stopping you from making a massive, epic quest.

In this random event, I set it so that after turn 50 there is a 0.1% chance of the event being triggered each turn. So odds are, you will rarely get this event (maybe once every 4 or 5 games).  But in addition to spawning a nasty cave with these nasty monsters in it, I also had it spam the world with a bunch of escaped darklings.

What’s nice about this is that modders (and guys like me) can control the “experience” of the game through the use of the turn trigger.

I’m thinking about coding in a power based trigger. That is, if the player is just dominating (or alternatively, getting really hurt) I could have the game trigger some interesting events to whoever is winning (or losing) to mix things up. I did this with Galactic Civilizations with quite a bit of success in keeping things moving.

Of course, with GalCiv, only I could make this stuff. With Fallen Enchantress, not only can a stupid monkey like myself crank this out, but you guys could too.

Below is the complete XML for this particular quest (90% of which is copy and paste):

   1:   <QuestDef InternalName="RandomEvent_AdventureProblem_2">
   2:      <DisplayName>Troublesome Adventerers</DisplayName>
   3:      <Description>
   4:        Into the throne room comes three very sad looking adventurers. They explain, at considerable length, that they met at a local pub and decided to go on a quest together. Unfortunately, this quest brought them to the ancient dungeon of Orilinor, Curgen's jailer.
   5:   
   6:        This dungeon was thought to be lost and, frankly, it would have been better had it stayed lost because upon opening it, a couple centuries worth of monster breeding has now been unleashed into the country side.
   7:   
   8:        "And, a demon known as Anithan is still there," he says.
   9:   
  10:        What do you want to do?
  11:      </Description>
  12:      <ShortTextAccept>Sigh. Can't you people get real jobs? You'll be helping clean up this mess.</ShortTextAccept>
  13:      <AllowQuestRejection>0</AllowQuestRejection>
  14:      <RewardText>Book of Demon Summoning</RewardText>
  15:      <RewardImage>Tech_Third_Book.png</RewardImage>
  16:      <SuccessText>
  17:        Anithan is defeated and the book is yours. Using the books of your private study to translate the runes in the book, you are able to summon a demon to do your bidding. Unfortunately, the book disintegrates upon use.
  18:      </SuccessText>
  19:      <QuestClass>Minor</QuestClass>
  20:      <Repeatable>0</Repeatable>
  21:      <TriggerType>TurnNumber</TriggerType>
  22:      <TriggerData>50</TriggerData>
  23:      <TriggerChance>10</TriggerChance>
  24:      <PostTriggerChance>10</PostTriggerChance>
  25:      <SpawnRating>1</SpawnRating>
  26:      <Image>BG18_Dark.png</Image>
  27:      <Treasure>
  28:        <GameModifier InternalName="Reward1">
  29:          <ModType>Unit</ModType>
  30:          <Attribute>GiveExperience</Attribute>
  31:          <Value>30</Value>
  32:        </GameModifier>
  33:      </Treasure>
  34:      <Treasure>
  35:        <GameModifier InternalName="Reward2">
  36:          <ModType>Unit</ModType>
  37:          <Attribute>UnitJoinArmy</Attribute>
  38:          <StrVal>DeathDemon</StrVal>
  39:          <StrVal2>Pox the Demon</StrVal2>
  40:          <UnitClass>Unit</UnitClass>
  41:        </GameModifier>
  42:      </Treasure>
  43:      <QuestObjectiveDef>
  44:        <ObjectiveID>0</ObjectiveID>
  45:        <NextObjectiveID>1</NextObjectiveID>
  46:        <Description>Find and defeat Anithan.</Description>
  47:        <Treasure>
  48:          <GameModifier>
  49:            <ModType>Map</ModType>
  50:            <Attribute>CreateGoodieHut</Attribute>
  51:            <StrVal>Orilinor's Dungeon</StrVal>
  52:            <Unitclass>GH_Quest_Cave</Unitclass>
  53:            <Radius>12</Radius>
  54:          </GameModifier>
  55:          <GameModifier>
  56:            <ModType>Map</ModType>
  57:            <Attribute>SpawnMonster</Attribute>
  58:            <Value>24</Value>
  59:            <Unitclass>Darkling</Unitclass>
  60:            <StrVal>Escaped Darklings</StrVal>
  61:            <Radius>12</Radius>
  62:          </GameModifier>
  63:          <GameModifier InternalName="Join">
  64:            <ModType>Unit</ModType>
  65:            <Attribute>UnitJoinArmy</Attribute>
  66:            <StrVal>Iru</StrVal>
  67:            <StrVal2>Amanda</StrVal2>
  68:            <UnitClass>Unit</UnitClass>
  69:            <Level>6</Level>
  70:          </GameModifier>
  71:          <GameModifier InternalName="Join">
  72:            <ModType>Unit</ModType>
  73:            <Attribute>UnitJoinArmy</Attribute>
  74:            <StrVal>Syndicate_SpyMaster</StrVal>
  75:            <StrVal2>Lucila</StrVal2>
  76:            <UnitClass>Unit</UnitClass>
  77:            <Level>6</Level>
  78:          </GameModifier>
  79:          <GameModifier InternalName="Join">
  80:            <ModType>Unit</ModType>
  81:            <Attribute>UnitJoinArmy</Attribute>
  82:            <StrVal>Mercenary</StrVal>
  83:            <StrVal2>Kelen</StrVal2>
  84:            <UnitClass>Unit</UnitClass>
  85:            <Level>6</Level>
  86:          </GameModifier>
  87:        </Treasure>
  88:        <QuestConditionDef>
  89:          <Objective>
  90:            <Icon>Mana_32.png</Icon>
  91:            <Text>Find the cave that leads to the dungeon, defeat Anithan.</Text>
  92:            <IsOptional>0</IsOptional>
  93:          </Objective>
  94:          <Class>Success</Class>
  95:          <Type>ClearGoodieHut</Type>
  96:          <TextData>GH_Quest_Cave</TextData>
  97:          <Flag>RevealTarget</Flag>
  98:        </QuestConditionDef>
  99:        <ChoiceText>You manage to cause a cave in, sealing off the entrance to the vast lambrynth underneath but not before Anithan and his servants confront you.</ChoiceText>
 100:        <ChoiceMedallion>F_Domination_Full.png</ChoiceMedallion>
 101:        <ChoiceMedallionFrame>Medallion_Frame_17.png</ChoiceMedallionFrame>
 102:        <QuestChoiceDef>
 103:          <Description>Defeat Anithan</Description>
 104:          <NextObjectiveID>1</NextObjectiveID>
 105:          <Encounter>
 106:            <Liklihood>100</Liklihood>
 107:            <BattleIdentifier>Anithan</BattleIdentifier>
 108:            <WillRespawn>0</WillRespawn>
 109:            <WanderingRadius>0</WanderingRadius>
 110:            <UnitInstance>
 111:              <UnitType>DeathDemon</UnitType>
 112:              <UnitName>Anithan</UnitName>
 113:              <Level>1</Level>
 114:            </UnitInstance>
 115:            <UnitInstance>
 116:              <UnitType>Juggernaut_Escaped</UnitType>
 117:              <UnitName>Failed prototype</UnitName>
 118:              <Level>1</Level>
 119:            </UnitInstance>
 120:            <UnitInstance>
 121:              <UnitType>DarklingWarrior</UnitType>
 122:              <UnitName>Darkling Horde</UnitName>
 123:              <UnitGroupingType>UnitGroupingType_Squad</UnitGroupingType>
 124:              <Level>1</Level>
 125:            </UnitInstance>
 126:          </Encounter>
 127:        </QuestChoiceDef>
 128:        <QuestChoiceDef>
 129:          <Description>Ah. Yes...well..quite. We will just be leaving you to your cave.</Description>
 130:          <NextObjectiveID>0</NextObjectiveID>
 131:        </QuestChoiceDef>
 132:      </QuestObjectiveDef>
 133:      <QuestObjectiveDef>
 134:        <ObjectiveID>1</ObjectiveID>
 135:        <NextObjectiveID>2</NextObjectiveID>
 136:        <PopupObjectiveMsg>0</PopupObjectiveMsg>
 137:        <QuestConditionDef>
 138:          <Objective>
 139:            <Icon>Mana_32.png</Icon>
 140:            <Text>Defeat Anithan</Text>
 141:            <IsOptional>0</IsOptional>
 142:          </Objective>
 143:          <Class>Success</Class>
 144:          <Type>BattleFinished</Type>
 145:          <TextData>Anithan</TextData>
 146:          <MoreTextData>Victory</MoreTextData>
 147:        </QuestConditionDef>
 148:        <QuestConditionDef>
 149:          <Objective>
 150:            <Icon></Icon>
 151:            <Text>Battle Lost</Text>
 152:            <IsOptional>0</IsOptional>
 153:          </Objective>
 154:          <Class>Failure</Class>
 155:          <Type>BattleFinished</Type>
 156:          <TextData>Anithan</TextData>
 157:          <MoreTextData>Defeat</MoreTextData>
 158:        </QuestConditionDef>
 159:      </QuestObjectiveDef>
 160:      <QuestObjectiveDef>
 161:        <ObjectiveID>2</ObjectiveID>
 162:        <NextObjectiveID>3</NextObjectiveID>
 163:        <Description>Return to your capital with the untranslated book of demons.</Description>
 164:        <QuestConditionDef>
 165:          <Objective>
 166:            <Icon>Mana_32.png</Icon>
 167:            <Text>Return to the capital with the untranslated book of demon summoning.</Text>
 168:            <IsOptional>0</IsOptional>
 169:          </Objective>
 170:          <Class>Success</Class>
 171:          <Type>UnitEntersCapital</Type>
 172:        </QuestConditionDef>
 173:      </QuestObjectiveDef>
 174:      <QuestObjectiveDef>
 175:        <ObjectiveID>3</ObjectiveID>
 176:        <QuestEnd>1</QuestEnd>
 177:      </QuestObjectiveDef>
 178:    </QuestDef>
Locked Post 76 Replies
Search this post
Subscription Options


Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 5:41:55 PM from Elemental Forums Elemental Forums

Love it!

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 5:42:43 PM from Elemental Forums Elemental Forums

I think you should proofread before posting Froglord - Adventerers?

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 6:03:58 PM from Elemental Forums Elemental Forums

Quoting ea6527,
I think you should proofread before posting Froglord - Adventerers?

see above where frogboy refers to himself as a "stupid monkey". You want to spell things right in your quest, Mr Fancy High School diploma. go right ahead.

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 6:15:36 PM from Elemental Forums Elemental Forums
Awesome. Random events are a great way to keep the game interesting. Just one request: would it be possible to increase their frequency? I keep hearing about these neat random events, but I've never seen one! I'd like to be guaranteed at least 1 random event per game. And I love the idea of power based triggers. If I'm dominating the AI in the late game, it would be thrilling to have some massive, epic event disrupt my game plan, such as a portal opening to another world and a Titan comes through with an army, intent on devastating the countryside. Would be great to have events that involve some unique and super-powerful monsters on par with the wildland bosses. That would go a long way towards making the late game more exciting and challenging.
Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 6:17:50 PM from Elemental Forums Elemental Forums

You do need the powerful tool known as notepad.

 

Pff, low-level garbage. Tremble before my Notepad++!

 

Now if only I could get a Flaming Notepad+++.

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 6:33:57 PM from Elemental Forums Elemental Forums

Quoting ea6527,
I think you should proofread before posting Froglord - Adventerers?

You say something, college boy?

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 6:35:11 PM from Elemental Forums Elemental Forums

Is that a random event in your proverbial pocket?

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 6:56:24 PM from Elemental Forums Elemental Forums

Quoting Madcatter,

You do need the powerful tool known as notepad.

 

Pff, low-level garbage. Tremble before my Notepad++!

 

Now if only I could get a Flaming Notepad+++.

How to make a Flaming Notepad+++ (note- the + signs indicate levels. Notepad++ is better than notepad due to correct grammar)

Step 1: Buy a license for Notepad++ and install it. Using unlicensed, notepad, will yield in flaming notepad+.

Step 2: Run Notepad++.

Step 3: Pour Benzine++ on screen. It's advised to take the computer as far as possible at this stage.

Step 4: Light said Benzine++ using a Match++ (using a match will yield the same effect). You now have a Flaming Notepad+++ for the next minute.

*Disclaimer++: We do not take any responsibility for any kind of damaged goods or injury.

 

 

Well, now that we ended ruining (or burning) somebody's day (seriously, the price on oil is skyrocketing...), here is the question:

From what I can see, we can mod so far:

Random events; Quests; Buildings; Techs; Spells; Items.

 

A few questions, since I'm not sure if it'll be moddable, and if not I believe it should:

Amount of abilities, ability effect and race effect/name on faction/sovereign creation.

Amount of different stuff that can be given to a custom unit (for example, making a Juggernaut use two weapons, or 5 rings, or two duplicate items, or train more than 3 abilities.

Randomizing techs- I am not sure what is the correct system, but allowing players to random starting techs, and if possible able to link them to parameters (for example, a random tech allowing to summon demons, only available if you got death magic, or another that allows researching book of water if you do NOT start with the book). Allow techs to open on certain conditions (completing a quest that opens a tech, for example).

City and population way of work- changing the 3 turn production cap, changing the amount of effect population has on resources, city level up times, taxes effects, city level up buildings.

Adjusting group sizes, and option to change the amount of them (maybe with python instead of normal xml), or allowing (I assume it's possible, but really not sure) the use of population as a resource in custom gear.

These are the things I believe will make modders life easier making mods for a game (which also means more replayability and sales)

 

That's all for now. Keep up the good work!

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 7:01:24 PM from Elemental Forums Elemental Forums

Look at what I just made:

Code: xml
  1. <QuestDef InternalName="Quest_Counterstrike">
  2. <DisplayName>Counterstrike</DisplayName>
  3. <Description>
  4. Set to strike on the anniversary of Curgen's death, a series of previously hidden redoubts opens up and releases a horde of Abominations onto the land. Beware.
  5. </Description>
  6. <AllowQuestRejection>0</AllowQuestRejection>
  7. <FullscreenMovie>Movies\Minicut_Event_Eclipse.bik</FullscreenMovie>
  8. <QuestClass>Minor</QuestClass>
  9. <Repeatable>0</Repeatable>
  10. <TriggerType>TurnNumber</TriggerType>
  11. <TriggerData>5</TriggerData>
  12. <TriggerOrigin>EventLocation</TriggerOrigin>
  13. <TriggerChance>10000</TriggerChance>
  14. <PostTriggerChance>10</PostTriggerChance>
  15. <Treasure>
  16. <GameModifier InternalName="OhCrapWeAreGonnaDie">
  17. <ModType>Map</ModType>
  18. <Attribute>SpawnMonster</Attribute>
  19. <Value>8</Value>
  20. <Unitclass>Juggernaut_Escaped</Unitclass>
  21. <StrVal>Released Abomination</StrVal>
  22. <Radius>16</Radius>
  23. </GameModifier>
  24. </Treasure>
  25. <QuestObjectiveDef>
  26. <ObjectiveID>0</ObjectiveID>
  27. <QuestEnd>1</QuestEnd>
  28. </QuestObjectiveDef>
  29. </QuestDef>

 

This spawns 8 really nasty creatures around the victim player for a radius of 16 around their capital.

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 7:05:17 PM from Elemental Forums Elemental Forums


*cheers wildly* 

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 7:11:31 PM from Elemental Forums Elemental Forums

Quoting Frogboy,
Look at what I just made:


This spawns 8 really nasty creatures around the victim player for a radius of 16 around their capital.

 

Rabbits?  Can players hope to find a Holy Hand Grenade?

 

Seriously, Brad, that's nice.  Though I'd like to see these kinds of things linked to tree-based outcomes from quests and AI player conversations.  Not rabbit abominations specifically, but an event that places a blessing/curse on your capitol, or causes two of your neighbors to promptly invade a third, or reveals an ancient library archive where it was previously buried deep in your own territory, or unleashes a giant Obsidian Rabbit Golem on your people...

 

I really need to stop thinking about rabbits.   Would it be possible though for modders to script tree-based messaging with choices with AI Players, and launch events as a result?

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 7:22:20 PM from Elemental Forums Elemental Forums


Yeah, random events and the ability to make them happen in game I love it.

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 7:34:06 PM from Elemental Forums Elemental Forums

Quoting Raledon,
A few questions, since I'm not sure if it'll be moddable, and if not I believe it should:

Amount of abilities, ability effect and race effect/name on faction/sovereign creation. - Already is

Amount of different stuff that can be given to a custom unit (for example, making a Juggernaut use two weapons, or 5 rings, or two duplicate items, or train more than 3 abilities. - Not for specific units I believe

Randomizing techs- I am not sure what is the correct system, but allowing players to random starting techs, and if possible able to link them to parameters (for example, a random tech allowing to summon demons, only available if you got death magic, or another that allows researching book of water if you do NOT start with the book). Allow techs to open on certain conditions (completing a quest that opens a tech, for example). - I don't think random techs are possible

City and population way of work- changing the 3 turn production cap, changing the amount of effect population has on resources, city level up times, taxes effects, city level up buildings. - Yes

Adjusting group sizes, and option to change the amount of them (maybe with python instead of normal xml), or allowing (I assume it's possible, but really not sure) the use of population as a resource in custom gear. - Definitely yes for the first bit, not sure if city resources can be added as a cost

These are the things I believe will make modders life easier making mods for a game (which also means more replayability and sales)

 

About half of these are already there. The game is open to modding if you go to the files, although messing with Core Files atm means you need to reinstall with every new patch since changed files will be ignored.

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 7:54:03 PM from Elemental Forums Elemental Forums

I’m thinking about coding in a power based trigger

Don't just think this.  DO IT PLEASE IT WOULD BE AWESOME AWESOME AWESOME!!!!!!

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 8:39:27 PM from Elemental Forums Elemental Forums

Raledon, the game already have 4 random techs.

Some book of fire/earth/wind/water appearing in the magic tree.

Sincerely
~ Kongdej

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 8:53:21 PM from Elemental Forums Elemental Forums

With regards to random events that trigger when they player is dominating - it seems like the wrong approach to simply punish the player for doing well (maybe I'm reading too much into the OP, but these are my thoughts anyway).

Perhaps a good compromise would be to spawn something that is a dangerous threat, but which helps end the game faster if you surmount it (access to a powerful spell, a powerful item, a powerful hero who assisted you in defeating the threat, etc.)

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 9:26:54 PM from Elemental Forums Elemental Forums

Part of the reason the endgame is so boring is that the leader player is not ganged upon by the weaker factions. This needs to be added at least as a possibility.

 

From a long time quest maker for Elemental I would just like to thank all the devs for listening to feedback about many quest features. The ability to create a goodie hut from a random event was previously bugged. Nice to see that it is now possible. I also like that quests can be linked by items. We can make an item like Altar's quest map as a reward at the end of a quest. That map can then initiate a new quest. It can even be a specified quest. Quests really feel like they have reached their full potential in the game. This is a wonderful improvement. Maybe another quest competition is in order? 

 

Oh, and it's Labyrinth, not Lambrynth. 

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 9:36:39 PM from Elemental Forums Elemental Forums

Quoting seanw3,

 
Oh, and it's Labyrinth, not Lambrynth. 

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 9:40:08 PM from Elemental Forums Elemental Forums

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 10:46:16 PM from Elemental Forums Elemental Forums

This is getting good!

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 10:58:50 PM from Elemental Forums Elemental Forums

Quoting Tohron,
With regards to random events that trigger when they player is dominating - it seems like the wrong approach to simply punish the player for doing well (maybe I'm reading too much into the OP, but these are my thoughts anyway).

I don't consider this punishment. If a player is dominating there needs to be a boost in difficulty a challenge for that player. So the idea is similar to what a good dungeon master would do when the player party is dominating the dungeon, put something that will slow them down or give them a challenge. Make the game more interesting for the player.

That doesn't go to say that this could be a punishment, especially if the event is too strong for even the dominating player to handle, then this would be a punishment to the dominating player with which I do not agree.

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 11:09:46 PM from Elemental Forums Elemental Forums

I like the general idea of random events, but I hate the idea of suddenly losing a game because 5 dragons unexpectedly spawned outside my capital.

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 11:22:58 PM from Elemental Forums Elemental Forums

Just curious if many players have been getting random events so far. I think I got the Meteor Shower one but the actual painting never showed.

Reason for Karma (Optional)
Successfully updated karma reason!
August 30, 2012 11:44:04 PM from Elemental Forums Elemental Forums

I got one recently where all monsters increased two levels.

Reason for Karma (Optional)
Successfully updated karma reason!
August 31, 2012 12:20:23 AM from Elemental Forums Elemental Forums

Excellent. Is there a thread where we can suggest events or are we too late for that?

Reason for Karma (Optional)
Successfully updated karma reason!
Stardock Forums v1.0.0.0    #108433  walnut3   Server Load Time: 00:00:00.0000985   Page Render Time: