Hey, I'm making a civilization map, if you haven't played one yet its basically trying to put Sid Meier's Civilization onto a starcraft map, what I need suggestions for is a mood system for my citizens, the map is fairly complicated already so I'm looking for a simple system, if you want to know how my map is operated, I have attached it, or just ask and I'll explain.
BUT, basically heres how it works:
The map is divide into 30 or so "Counties", each county can have a certain number of buildings, and each gives different amounts of many, etc. etc. There is a technogoly "tree" if you will, but its more like a line lol, and you progress through the ages expanding your empire with new cities and such.
So far its been a success, but expanding has been too easy, and I want maintaining a city harder than just garrisoning men against enemy attack, thats no fun! So I'm gonna add moods, but I need a simple citizen mood system that incorporates buildings (temples and colloseums make citizens happy) rebellions, and maybe "police" forces (garrisoned men in the city helping keep citizens happy); that might not be so simple after all...
but any suggestions?
P.S. Read brief first if Downloading the map, it'll explain mostly everything you need to know, then come to me if you have any further questions
Maybe you could have switches randomize to randomly pick a mood every few mniutes, and when people of a city are in a bad mood, have a death count for that bad mood slowly go up. when the death count for a bad mood gets too high, then the city riots or some other action happens. the condition for lowering the death count for a bad mood can depend on what the bad mood is.
thats what i would do
Could you explain in more detail? maybe have some trigger examples? what do you mean by a death count? because i have about 30 different available locations for cities.
You could trigger good or bad citizen reactions based on the number of men the player has v.s. the number of "happy buildings" he has.
So like, if you have 80 people and nothing but 1 temple, people get angry and start revolting. Some of your units turn hostile and you have to kill them, or whatever.
If you have some sort of reasonable balance between citizens and happy buildings, like 50 people and 3 buildings, then people are content and everything's normal.
And, if you have only 30 people, but 4 temples and 3 colloseums, people get really happy and you get something good for it.
Triggering these events is as simple as using the "Bring" condition.
By the way, there is information about death counters
here.
i guess with death counters all your cities would have to have the same mood. maybe you could have burrowed units near each city to describe its mood.
like for example you could have this trigger run every few minutes:
Condition:
whenever you want it to happen
SWITCH 'randomization' is clear
Action:
SET SWITCH 'switch 1' random
SET SWITCH 'switch 2' random
SET SWITCH 'randomization' set
preserve trigger
this trigger would run whenever you want the city's people to change moods.
with 2 switches being randomized, there are 4 possible outcomes so 4 different moods that can cause a city to riot. if you wanted different number of outcomers just randomize more or less triggers
then have this trigger
Condition:
SWITCH 'switch 1' is set
SWITCH 'switch 2' is set
SWITCH 'randomization' is set'
Action:
create 1 (unused zerg unit) for (some neutral player) at location (location of a city)
with properties burrowed, invincible
SET SWITCH 'randomization' clear
DISPLAY TeXT MESSAGE 'your city is sad or angry, (tell them what it is so they know what to do)'
preserve trigger
you would have different triggers for each combination such as one for
switch 1 set and 2 clear,
switch 1 clear and 2 clear.
Also, you would use different zerg units for different moods
then have anther trigger to detect when a city gets too angry
Condition:
BRING if (that neutral player) brings at least (5*) (unused zerg unit) to (location of a city)
Action:
your actions for the city rioting, like being destroyed or something.
REMOVE UNIT AT LOCATION remove all unused zerg unit
preserve trigger
*you coud use whatever number you want. a small number would make it harder for you to keep the city happy. It also depends how often the first trigger is run.
Then, you would have a trigger for what players can do to keep a city happy
Condition:
whatever they must do to make the city happy
Action:
remove 1 unused zerg unit from location of that city
For example, you could have defilers be renamed as saddness. and when the neutral player has 5 sadnesses burrowed under a city, the city riots and they lose 100 minerals to pay repair costs. then remove 5 sadnesses to that they dont constantly lose 100 minerals every second.
you could have it so lets say whenever you have the first trigger run, if the player brings some specific unit to a city, it removes 1 sadness right there, so that if they bring tha right units to the city in time, it stays happy and doesnt riot
QUOTE(qw3rty @ Sep 19 2006, 09:35 PM)
i guess with death counters all your cities would have to have the same mood.[right][snapback]564308[/snapback][/right]
not true, you could predetermine 30 units to represent each county. through the use of current player, you could easily modify the cities individually for each player. albeit, having each city functioning seperately is alot more work.
then each city would have only 1 possible mood, and u need to use up 30 units.
i figured with my method you could have 2 4 or even 8 different possible moods for each city, and only use up 2 4 or 8 zerg units.
I didnt download the map but to me it seems like a civilisation style map wouldnt use too many zerg units. Im not positive, but im guessing that he doesnt reall have other uses for the defiler, or the hero defiler, or infested terran, etc.
But truth be told the simple idea about Bringing happy buildings and certain number of people seems good too if you do not need something complicated. or instead of randomization you could just have the same zerg unitsd always be made.
that just wouldnt be as realistic.
Okay, well i've tried one style already where the cities gains a unit every turn, aka growing in population, and if you dont have enough farms they get mad or die, and if theres to many mad they revolt, and theres "happy" buildings too, but that was so much work, i need like 3x as many triggers as i had now, and something was wrong with it.
ANYWAYS
i like a combonation maybe, like no random triggers cause thats alot, and no death counters, but creating a buried unit for population, and if too many they get mad, BUT how would the player know the mood at any one time of the city? because these counties aren't named so i cant use "display txt" cause he wont know which city its talking about...
Maybe they cant know? or maybe i can make the units visible, but then they're in the way..... i dunno, any more suggestions? or modifications on previous suggestions?
maybe have some flying units ur not using and name them things like
'happy' 'ok' and 'angry' so
condition:
if neutral computer owns exactly 1 burrowed guy at location of city,
action:
remove all 'ok' at location for neutral player
remove all 'angry' at location for neutral player
create 1 happy at location for neutral player
if he owns 2 burrowed guys or 3 burrowed guys u could do that
These units are well suited to be used for death counters:
QUOTE
Goliath Turret
Nuclear Missile
Alan Schezar Turret
Tank Turret (Tank)
Edmund Duke Turret (Tank mode)
Edmund Duke Turret (Siege mode)
Tank Turret (Siege Mode)
Scanner Sweep
Cargo Ship
Mercenary Gunship
Map Revealer
Disruption Web
Was Starbase
Was Repair Bay
Unused Zerg Building
Unused Zerg Building 5
Unused Protoss Building
Unused Protoss Building
Mineral Field (Type 1)
Mineral Field (Type 2)
Mineral Field (Type 3)
Cave
Cave-in
Cantina
Mining Platform
Independant Command Center
Independant Jump Gate
Ruins
Kyadarin Crystal Formation
Vespene Geyser
Zerg Marker
Terran Marker
Protoss Marker
Zerg Beacon
Terran Beacon
Protoss Beacon
Zerg Flag Beacon
Terran Flag Beacon
Protoss Flag Beacon
Dark Swarm
Left Upper Level Door
Right Upper Level Door
Left Pit Door
Right Pit Door
Start Location
Flag
Young Chrysalis
Psi Emitter
Data Disc
Khaydarin Crystal
These units cannot die. You may use their death count for players 1-8 without having to worry about outside interference.
That's 400 free death counters for everyone to use.
Unit slots are far more valuable. Creating and removing units for trigger conditions is a waste of units, locations, space on the map, etc.
well death counters sound good, but lets see, 8 players, 32 counties i think, and about what say... about 6 triggers per county. thats about 2000 triggers.....
QUOTE(Kenoli @ Sep 20 2006, 03:07 AM)
These units are well suited to be used for death counters:
[size=1][/size]These units cannot die. You may use their death count for players 1-8 without having to worry about outside interference.
That's 400 free death counters for everyone to use.
Unit slots are far more valuable. Creating and removing units for trigger conditions is a waste of units, locations, space on the map, etc.
[right][snapback]564426[/snapback][/right]
What about mineral chunks and vespene tanks/sacs?
QUOTE(PCFredZ)
What about mineral chunks and vespene tanks/sacs?
Those can be killed.
The units I listed can't be killed at all, the only way that their death counts will change from 0 is if you use a Set Deaths action on them.
But, if you're not using the mineral/gas chunks in your map, or the ones you're using aren't going to be attacked, then they are fine to use.
I usually use critter death counts too, because I hardly ever put them in my map.
Any unit works, you just don't want the death counts to get changed outside of your trigger actions.
okay say i use death counters, and do all 1000-2000 triggers, i might as well figure out away to do population growth, starvation, and moods all in one, instead of just random triggers, i have a building called a farm, max 3 per county, and that should fit in somewhere, any more suggestions?
p.s. if theres no simple way to do this, does someone actually wanna help with the triggers? cause this map has already taken a while, i don't think i can go through another 2000 triggers
....
I seriously doubt that you'll need 1000 triggers for such a simple thing.
ya, seriously, learn to use current player. you'll only ahve to do 1/6 of the triggers that way. the triggers would be very simply anyhow.
okay yaya i calculated wrong w/e but still 200 seems big........
fine i'll give it a shot, but still, how would i incorporate population growth, starvation due to lack of farms, and the moods all in one?
ADDITION:
Okay this is what i geuss i have so far:
I'll use death counters for Population, adding 1 every turn, too a max of course, all population is created happy (countdown timer 1:00)
I'll use binary countdown to figure out the ratio of farms to population
If the population gets over a certain ratio of ppl per farm, then they start getting angry, which i will record with another death counter
"Happy Buildings" will help reduce the number of angry citizens
And finally just to add a twist i will set up some random triggers to set citizens to "happy" or "angry"
theres still some things missing, i need a trigger or something to display the current cities mood, and population, and just maybe a trigger to reduce the cities population because of starvation, which also means i need a reward for a larger population
Remember to add a trade system. And enemy natives. Possibly neutral natives too which you could make an alliance with and they provide you with warriors for free. And if you attack the neutral natives,they attack you.
There's manny civilization maps,make this one special and add somenthing original to it.
well i tried trade, but it took up too much units, and made the map look cluttered, and don't worry this civilization is original
well, you could always make trade virtual instead of with a beacon system(if thats what you were using).
ya thats what i was using, but virtual trade kinda sucks, its not very realistic...
ADDITION:
So last thing, if i was too add a trade system, i would want it virtual, but realistic, so not due to allies, but promixity too allies, or something like that, any suggestions?
errr, i don't think you got what i meant. yo trade, you're using a beacon system right? where you move your units onto your allies beacons to give it to them?
oh that kind of trade, you mean tribute system, i thought you meant like, making a certain amount of money each turn from foreign trade.....
well, i'm talking about trading unit/moneys. as in , 'i'll give you 300 minerals for those two seige tanks.'
what do you mean?
i mean gaining minerals every turn, profit of "trade" with foreign countries, so say you have a trading partner, you will recieve more money each turn, then if you were just alone, how would you trade untis in your example?