Once and for all: should there be Events in Civ3?

Events for Civ3?

  • Yes.

    Votes: 65 65.7%
  • Yes if it doesn't affect the price too much.

    Votes: 10 10.1%
  • No.

    Votes: 12 12.1%
  • I have no clue what events are.

    Votes: 12 12.1%

  • Total voters
    99
I like the style of programming provided by the example by PeteT.

I would invite the guys at Firaxis to look like into TCL. It's a nice (not cute though) language which was designed for one thing: be adapted and extended for a particular purpose. That is, TCL doesn't do anything on it's own, it's just a kind of template of a scripting language to be incorporated in other programs to give them scripting ability with less pain. It's most famous use IMO was in the EggDrop IRC bot for adding functionalities (actually a lot of the basic functionalities are written in TCL in the base distribution). It's 100% free.

TCL Developer Site: http://www.tcl.tk/
 
Yes and Yes. Basicly, when the programmers creates a systems (or games), it has to think the user has knowledge of nothing about the system or games. So, the programmers has to make system that "bug-free" for any users, especially novice users including the "scripting"
quote:
--------------------------------------------------------------------------------

"I don't believe in giving scripting languages because the only additional power they give users is the power to create bugs." - Mike Breitkreutz, Firaxis
----------------------------------------------------------------------------
I really disagree with it. IMO, its just a lousy reason. Budget, or misdesign are more make sense.
 
So, the question is: do you want to see Atari include a scripting language into its next Civ3 expansion?

what next civ3 expansion? they're already working in civ4.
 
Are you sure Civ4 is being developed? Would it not just be a rumor based on some loose comment made by a Firaxis rep. a while ago? And even if it is, it could be aborted due to unforeseen reasons –something that happens frequently in the industry as I understand it.

If you’re right then just replace the question: “Do you want to see Atari include a scripting language into its next Civ3 expansion?” with “Do you want Civ4 to have a scripting language?” It’s the same argument from the player's point of view.

Originally posted by PeteT
I don't think that budget limitations had anything to do with Civ3's lack of a scripting language. As I understand it, if you want to put in a scripting language you really want to start at the beginning of your project.
If budget had nothing to do with it then it would be illogical for them to not add in a scripting language during initial development of Civ3 v.1.0. More than enough players specifically asked for Events to justify adding them in without having to worry about any losses in sales due to the slightly increased price (per individual item) and it doesn’t take a genius to see how successful Events were in Civ2 –not to mention that most recent successful strategy games that include an Editor incorporate event triggers (scripting language) of some kind. What other reason could they have…aside from just showing us that they are boss and no one else. ;)

Thanks for the example of BHS (I’m just not really into RoN –can’t stand the AI). Although that’s an example of what happens ‘behind the scenes.’ The language would be translated into the Editor for anybody to mess with.
With that in mind, I would like once again to praise Civ3’s Editor and say that if events were to be included, they would probably be user-friendly enough to make its use almost attractive to even those unacquainted with hard-core scenario design (i.e. an ‘Events’ screen in the Editor that saves non-programmers from having to deal with the jumble of parameters when viewing a language through a text file).

Originally posted by Warpstorm
This class is the modder not knowing how to use the language or routines and cranking out lots of bug reports that "this code doesn't work right" when, in fact, it is their own fault for not understanding how to program.
Yes, Civ2’s macro is quite primitive so it easy for players to mistake incorrect parameter values not allowing the event to function (which doesn’t activate the warning prompt when loading a scenario). Although, there have been bugs that have been identified in the macro which have never been dealt with (nor will they ever --MP no longer exists anyway). The Editor introduced with FW or MGE --I can’t remember which one-- allowed players to easily create event structures and that Editor was quite basic, just think how fluid Events editing would be using Civ3’s Editor interface! (I think the ‘bugs’ comment is BS –but I’m bias.)
 
-Well, events make civ2gold scenarios ten times more fun than the civ3conquests ones.

-And for the epic game: Why do you think are more people, still now, playing civ2 than civ3? I think is for the scenarios make by fans. That gives this game unlimited posibilities and real historical accuracy.

-The civ3 player scenarios are by far more bugged than the civ2 ones.
 
Yes, yes to events. It seems silly to not have them being that almost all of real civilization develped in response to natural events. Medicine, religion, building codes, .... added to the fact that so many mjor military campaigns have succeeded or failed based on weather.
It's all so obvious, that discussion is almost moot.
 
How could you say no? Of course they should! They would be crucial for WWII maps or other scenarios. I'd play Civ much more.
 
in danger of going back to my whine days at the coming of civ3: YES!!!! it was great in Civ2, but still very simple, I still can't believe they didn't even put them in conquests. for that reason C3C is the only civ game I haven't bought.
 
Since the macro language that was first introduced in Civ2:CiC was not part of the original program, the fact that Civ3 uses the same engine does not necessarily mean that the macro would also be used (odd though it may seem). So, the only reason to compare Civ2 and Civ3 is the effect on play. As has been said by others, it would provide Civ3 scenarios with far more flavor than they are presently capable of.

Will Civ3 ever see events?

It seems to me that Civ3 already uses triggers similar to that of Civ2’s macro to a degree:

- GA triggering via units/wonders/discovery.
- Unit-building wonders that trigger every x # of turns.
- Volcanoes.
- Free techs for scientific civs.
- Re-spawning of Barbarian tribes.

So you can make up for the lack of events in some ways (e.g. using the discovery and building of unit-building wonders to simulate the arrival of reinforcements –this is good for maps that don’t encompass the entire war zone).


Here’s the thing I don’t get: given that Civ3 uses Civ2’s engine, you’d think that just adding some triggers into the program would be a synch.

My question is this: if Civ3 uses the same engine as Civ2 what’s so hard about using Civ2’s macro in Civ3? :confused:
 
I'm pretty sure what events are. Say you're playing a Europe map, and on a preselected turn, the hordes of Gengis Khan pour in. That's an event, right?
 
Weather events are indeed needed. It would be nice to see what other ideas game makers could come up with, but econonomic turmoil or the advent of some kind of rift between wealthy and non wealthy nations would be interesting- in order to give civs that are way behind a chance- someone mentioned that the game is usually decided late industerial and that the end of the game is somewhat boring...to this i agree...but if a super power became "decandent" or "soft" and had every other civ attacking it...or terrrorists had access to chemical/nuke attacks
...something to add a bit of spice to the end.
 
YES! I could finally make my War of the Ring mod realistic and folow the books accurately.
 
Re: Events

Here's an example of Civ2's macro language (from p32 of the Conflicts in Civilization Instruction
Manual):

Code:
@IF
CityTaken
city=New York
attacker=English
defender=Americans
@THEN
Text
New York captured by the Redcoats! Enraged local citizens join the fight for liberty!
EndText
CreateUnit
unit=Militia
owner=Americans
veteran=false
homecity=none
locations
84,22
84,23
79,31
endlocations
@ENDIF

Here's what that looks like when written in BHS:

Code:
 trigger sample_trigger (city_captured_by( 1, 2, "New York" ) ) {
  
    popup_dialog(" New York captured by the Redcoats! Enraged local citizens join the
    fight for liberty!"); 

    create_unit( 1, 84, 22, "Militia", 1 );
    create_unit( 1, 84, 23, "Militia", 1 );
    create_unit( 1, 79, 31, "Militia", 1 );

}

Here "1" is the player ID of the Americans and "2" is the player ID of the English.

"city_captured_by" is a function defined as:

Code:
int city_captured_by(int who_defend, int who_attack, string city_name);

Returns 1 if who_attack captures city_name from who_defend.

And here's what that Civ2 example looks like when written in SLIC:

Code:
HandleEvent(CaptureCity) 'SampleHandler' pre {

    if (PlayerCivilization(player[0]) == CivilizationIndex("English") 
        && PlayerCivilization(city[0].owner) == CivilizationIndex("American")
	  && city[0].location==NewYorkLoc ){
	   
         message(city[0].owner,'NewYorkCaptured');
         event:CreateUnit(city[0].owner,UnitDB(UNIT_MILITIA),SpawnRebelsLoc,0);

    }
}


messagebox 'NewYorkCaptured' {
    Show();
    Text (ID_NewYorkCapturedMessage);
    // NewYorkCapturedMessage "New York captured by the Redcoats!
    // Enraged local citizens join the fight for liberty!"
}

where:

i) NewYorkLoc is a (global) location variable that you've set to be New York's location,

ii) SpawnRebelsLoc is a (global) location variable that you've set to be the place where you want the
Militia to appear,

and,

iii) the outcommented lines appear in the .txt file that you're using to save your text
in.

The "CaptureCity" event occurs whenever a city is captured: player[0] is the capturing
player and city[0] is the city (so city[0].owner is it's owner and city[0].location is
it's location).


As indicated, that's written in the language SLIC (Scripting Language Interface Convention). Joe Rumsey,
the lead programmer for Call To Power II, created the language so that this game would be the most
mod-friendly Civ style game around. It is FAR more powerful than the triggers mechanism of Civ2. For one
thing, the latter had seven events: CityTaken, Negotiation, RandomTurn, ScenarioLoaded, Turn,
TurnInterval, and UnitKilled. SLIC has well over 200 events. Not all of them are interesting, nor even all
that usable, but each of them is a 'hook' into the executable: they (and the ones in BHS and Civ2 for that
matter) allow you to change the actual game's program.


'Actions' Once you've set your hook, Civ2 gave you 9 types of 'action' that you can perform:
ChangeMoney, CreateUnit, DontPlayWonders, JustOnce, MakeAgression, MoveUnit, PlayCDTrack, PlayWaveFile,
and Text/EndText. With SLIC and BHS what corresponds to an action is just any acceptable block of SLIC or BHS
code. From this point of view there are literally infinitely many types of SLIC/BHS 'actions' because as
proper scripting languages they have all sorts of resources that enable you to specify what it is that you
want the computer to do.

I don't think you're going to see Civ3 get a scripting language. But if you lobby enough you might get one
in Civ4. The point of providing the above examples is to show you what, IMO, the sort of language you
should be lobbying for should be like.
 
Originally posted by Wormwood
I really want events, mainly because by mid-late game, the game is already won... ...Basically, we need events to make the late game less predictable.

Wormwood has a really good point here, I've recently taken up stopping playing civ games once I reach the late industrial age or even early industrial ages, coz I already know I'm going to win. It probably means I should move up to Emperor or Demigod, but still. Stronger natural disasters (not just woosy volcanos that don't even singe grandma's socks) would be another example of an epic game event that could possibly make me want to play out my civ games.
 
Back
Top Bottom