May 18, 2001, 01:28
|
#1
|
King
Local Time: 23:15
Local Date: October 30, 2010
Join Date: Mar 1999
Location: El Paso, TX USA
Posts: 1,751
|
Cspl
Any designer who builds scenarios for ToT has GOT to examine Angelo Scotto's new Event Creation tool. I spent a week editing the Instruction Manual, and have to say that this tool absolutely blows me away! CSPL functions by editing Civ2 game files while they are running in computer memory. This allows scenario designers to create entire CATEGORIES of events that simply aren't available in Civ2! The download file also contains a large manual which functions as a step-by-step tutorial. To give you an idea of CSPL's capabilities, here's some of the examples from the manual:
1) (Ch5) WorldLink: In this example we will link two ToT maps east-west. This effect is impossible to obtain normally, but with CSPL it becomes quite easy.
2) (Ch6) "Colonization"-type Improvements: This early Sid Meier game allows Improvements present in a city to determine which units can or cannot be built in that city. For example, an artillery unit cannot be built in a city if a Barracks is not present there. In Civ2 only techs determine which unit can be built and so an event such as the one described above is simply impossible to obtain with ToT. This effect IS possible with CSPL and we'll code exactly this event.
3) (Ch7) Submissive Civs: With Civ2:MGE the AI became much more aggressive, making it difficult to build scenarios which depend upon long term alliances. In this example we will make alliances between civs more solid by changing Attitude values directly in memory. Let's say we are creating a scenario based on WWII and we want to implement two civs, English and Americans. With CSPL they can have normal contact and diplomacy ennabled and STILL keep their alliance for the whole game.
4) (Ch8) The Moving Wonder: One of the annoyances about Wonders is that they're stuck in the cities in which they're built. In some scenarios it would be interesting to move wonders from city to city, almost as if they were units. Imagine a Special King unit which acts as a wonder when present in a particular city (maybe as Shakespeare's Theatre to calm down the citizenry or as King Richard's Crusade to boost production in the city) or an Einstein unit which acts as a moving Copernicus observatory. This is exactly what CSPL will do in this example.
5) (Ch9) SwitchCiv: This effect can be used to simulate civil wars in which the player now controls a new faction, or you can use this effect in multi-protagonist scenarios (play the first half with one civ, the second half with another), and a lot of other interesting effects (such as scenarios designed with companies instead of civs where the player is hired first by one company and then by another, etc). In the following example let's have the player start with the white civ and at turn 10 the player controlled civ will become the green one.
6) (Ch10) Miner Unit: Imagine having a CSPL program which changes a tile to a special terrain type (Mine) which was not used on the map at the start. Imagine also a special unit, the Miner, and a CSPL coded event of this type: "IF Miner is on Mine THEN Send number of Money/Shields/Food to Miner HomeCity". Obviously, controlling Mines with Miners in this way would be vital for each player (although it's doubtful the AI would be able to "learn" how to do this). Miners should send resources to the HomeCity only once per turn.
7) (Ch11) Unit "Level Ups": In Colonization, Indians who were able to defeat European soldiers could seize their rifles (or horses), thus changing the Indian unit into a more powerful one (natives+guns).
There are a lot of situations in Civ2 where similar functionality would be very useful (in sci-fi or fantasy scenarios for example, apart from the historical example given above). We could also imagine a hierarchy of levels: Starting from level0, units will battle against other units gaining sometimes (for each 10 units killed or something similar) a level advance and thus a change to their unit type. Or you can use the exact opposite. If after a battle the winner unit has a health bar in the red, this means it sustained too much damage and it is then transformed into a weaker unit type. Both effects (and variations thereof) are possible with CSPL.
8) (Ch12) Specialized Artillery: I know, ToT already has artillery and howitzer units, but our artillery unit will definitely be more interesting. Imagine having an artillery unit which is able to create a shell unit (a missile) when the player presses a key. Obviously, to avoid players creating infinite shells in the same turn, we need to implement a rule. Let's say that each time an artillery unit "fires", it's health bar goes down by 1/3. When it is under 50% (let's say), we cannot fire but we have to wait until the health bar goes over 50%. OK, this is exactly what we're going to implement.
The examples above are interesting, some even astounding, but it's just the tip of the iceberg. Almost ANY kind of event you can conceive of CAN be created using CSPL! As I told Angelo, "This isn't a tool to manipulate Civ2....it's a whole new game"!
For a limited time only, the new improved CSPL (with edited manual and library bug fixes) is available exclusively from the Ancient Empires web site! (At least until other web site owners grab it and post it!) You'll find it on the AE Tools Page. Enjoy!
|
|
|
|
May 18, 2001, 04:49
|
#2
|
Emperor
Local Time: 02:15
Local Date: October 31, 2010
Join Date: Dec 1969
Location: Baltimore, MD
Posts: 4,325
|
quote:
Originally posted by Kull on 05-18-2001 01:28 AM
1) (Ch5) WorldLink: In this example we will link two ToT maps east-west. This effect is impossible to obtain normally, but with CSPL it becomes quite easy.
|
I object. It is most certainly possible to obtain normally in ToT.
|
|
|
|
May 19, 2001, 00:24
|
#3
|
King
Local Time: 22:15
Local Date: October 30, 2010
Join Date: Dec 1969
Location: Emeryville, CA, USA
Posts: 1,658
|
This product has potential. I'm waiting for the next version in which city and unit data can be accessed in full. There are some bytes in the unit structure which has not been used by the game. We can manually set up these bytes and program on it. For example, we can intentionally set a byte to be 'division' value and order all units of the same division to follow a perticular order; we can also set a byte to be 'special talent' of the unit, for example can move twice or can be fully charged for a settler type unit so that is can finish any task in one turn. Similarly for cities we can set a count for city walls so that it will not be destroyed before the 3rd or 4th occupation.
|
|
|
|
May 19, 2001, 01:08
|
#4
|
Local Time: 02:15
Local Date: October 31, 2010
Join Date: Jul 2005
Location: In search of pants
Posts: 5,085
|
Is there any chance of a similar tool being created for FW? ToT's just too bloody slow on my 166er and my 1000er isn't coming in until Tuesday.
------------------
Leons Petrazickis (St. Leo)
http://aventine.cf-developer.net/minizigg/
petrazi@sprint.ca
|
|
|
|
May 19, 2001, 09:39
|
#5
|
King
Local Time: 23:15
Local Date: October 30, 2010
Join Date: Mar 1999
Location: El Paso, TX USA
Posts: 1,751
|
Darth: Your Kyokujitsu maps do contain East-West map links, but you have to admit it doesn't look "normal"! CSPL allows you to create a seamless transition from one map to the next without having to jump through portals. In that respect it's at least visually superior. One area in which CSPL is probably INFERIOR with respect to such linkages, is AI cognizance. Humans will know that sailing/walking/flying to the map edge will automatically send you on to the next one, but I suspect the AI would never figure this out.
Xin Yu: Are you sure that capability doesn't already exist? Remember, the examples cited above are just the tip of the iceberg.....mere hints at what's possible for those who use the tool to its fullest.
St.Leo: Don't hold your breath! Angelo is pretty much burnt out from the effort already expended on CSPL, and even upgrades to the ToT version are probably not going to happen anytime soon.
However, there MAY be hope for FW scenario creators: Most of Angelo's work was based on the information gleaned from Allard's Hex Editing document. Ipsofacto, that means CSPL is probably 98% compliant with Fantastic Worlds already! Sooooo, if there are any C++ geeks out there who'd like to perform a HUGE service for the Civ2 community, please take a look at CSPL and see if you can make it FW compatible. If you want your name in the "Thank You" section of a hundred readmes, I can't think of a better way to get it there!!
|
|
|
|
May 19, 2001, 14:08
|
#6
|
King
Local Time: 22:15
Local Date: October 30, 2010
Join Date: Dec 1969
Location: Emeryville, CA, USA
Posts: 1,658
|
struct Unit
{Position pos;
bool Veteran;
byte Type;
byte Owner;
byte HealthLost;
byte MoveLost;
byte FuelUsed;
byte Commodity; //It has only sense with Caravan units
byte Orders;
byte HomeCity;
Position Goto;
WORD ID;
};
See, only those could be used. There are a lot more in unit info. For example, settler 'charge', whether moved or not (not moved units can heal, some not-moved units can do paradrop, etc.). There is also a flag which can put a star in the unit's health shield.
|
|
|
|
June 9, 2001, 12:37
|
#7
|
Chieftain
Local Time: 06:15
Local Date: October 31, 2010
Join Date: May 1999
Location: Portugal
Posts: 47
|
I have downloaded this tool but there's a file missing, "CSPL.res". Does anybody now where can I get it? Thank you.
|
|
|
|
June 9, 2001, 21:06
|
#8
|
Prince
Local Time: 02:15
Local Date: October 31, 2010
Join Date: Dec 1969
Posts: 331
|
Tell me SOMEONE could make this FW-compatable!
I own ToT and FW (and MGE but I no longer design with it). Personally, I like FW much more. I think that the graphics are actually nicer, and I like the gameplay better. The only thing (IMO) that ToT has over it, is obviously the possibilities, ToT has many more.
If someone could come up with a way to turn this program FW compatable... Think about it
Thanks,
JP
|
|
|
|
June 14, 2001, 15:06
|
#9
|
Local Time: 02:15
Local Date: October 31, 2010
Join Date: Jul 2005
Location: In search of pants
Posts: 5,085
|
You guys should remember that FW is a C program and that MGE and ToT are C++ programs. I am not sure whether that presents much of a difficulty or not.
|
|
|
|
June 15, 2001, 03:03
|
#10
|
King
Local Time: 23:15
Local Date: October 30, 2010
Join Date: Mar 1999
Location: El Paso, TX USA
Posts: 1,751
|
Ooops! Dizepam is correct.....there was a small file named CSPL.res missing from the download. Happily, that has now been corrected and the site now features an updated zip file. My apologies!
|
|
|
|
June 21, 2001, 16:25
|
#11
|
Prince
Local Time: 00:15
Local Date: October 31, 2010
Join Date: Apr 2001
Location: in an undisclosed strip club
Posts: 737
|
I was wondering if anybody has taken on the task of making this compatible with FW (and MGE).
__________________
"I would rather have a German division in front of me than a French one behind me." -- General George S. Patton
"Guinness sucks!" -- Me
|
|
|
|
June 28, 2001, 06:37
|
#12
|
Warlord
Local Time: 06:15
Local Date: October 31, 2010
Join Date: Oct 1999
Location: Milan, Italy
Posts: 127
|
Xin Yu: Great idea! like i said, the new version will have full access to city, civ & unit section, i forgot something?
BTW Xin Yu, in another thread i saw you're realizing a program similar to CSPL (able to access Civ2 memory while loaded) have you found a way to detect if city screen is opened or closed?
A last thing, it's not true that you can't say if a unit has been moved or not , the MoveLost parameter represent the quantity of move points lost by the unit in current turn (i took it directly from Tot memory), so if the unit has been moved this parameter will be positive elsewhere it will be 0 (and this means that the unit can do paradrop, can be healed and so on)
St Leo, JPetroski & Jimmywax: I don't want to implement CSPL for Tot (as Kull said i need relax ) but (again as Kull said) CSPL is heavily based on Allard's Hex Editing document, probably you'll need to find location of structures in Civ2 memory (they'll be different from Tot) and change a bit of other things and then you'll have CSPL for FW.
Xin Yu, are you interested? (BTW SouceCode is a real mess with a lot of comments in italian, so i don't think it can be really useful, maybe if i'll find the time to clean up a bit the code...)
Sorry for the CSPL.res problem, it's a fault of mine, i forgot to add it to the package.
Angelo
|
|
|
|
June 28, 2001, 07:29
|
#13
|
Emperor
Local Time: 07:15
Local Date: October 31, 2010
Join Date: Dec 2000
Location: The European Union, Sweden, Lund
Posts: 3,682
|
What exactly does this program do?
I cannot use it myself since I use a mac (and I only have MGE) but would I in theory (if I had the right version) be able to ask a PC user to do something whit a scenario file and then continue editing it myself (and if there is any doubt the pc and mac version does use exactly the same structure for scenario files)?
Do the program edit the scenario file or some game file (in which case the above situation would be impossible)?
__________________
No Fighting here, this is the war room!
|
|
|
|
June 28, 2001, 13:16
|
#14
|
King
Local Time: 22:15
Local Date: October 30, 2010
Join Date: Dec 1969
Location: Emeryville, CA, USA
Posts: 1,658
|
Quote:
|
Originally posted by Angelo Scotto
BTW Xin Yu, in another thread i saw you're realizing a program similar to CSPL (able to access Civ2 memory while loaded) have you found a way to detect if city screen is opened or closed?
A last thing, it's not true that you can't say if a unit has been moved or not , the MoveLost parameter represent the quantity of move points lost by the unit in current turn (i took it directly from Tot memory), so if the unit has been moved this parameter will be positive elsewhere it will be 0 (and this means that the unit can do paradrop, can be healed and so on)
|
Angelo:
How to find out whether a city window is open:
When a city window is open, search for 'City of ...' (the string on the title of the window) and find the address. Then closed the window and that string will change. So just check the address to see if it starts with 'City of' then you'll know. It is not a perfect method, since a) some scenarios will change labels and not use 'city' as city's names; b) the address may change from game to game -- I have only tested a couple of games so I'm not sure the address will keep the same. However, at least I'm one step closer to find the true address for the city window.
Here's what I vaguely remembered from a past experience, it may not be true:
Have you tried moving a settler several steps via railroad then to a mountain square? The settler may fail to enter that square. Which means, there is a flag for unit moved even no moving points are lost.
For changing CSPL to FW:
I don't have FW. But I can try MPE. I use Microsoft Visual C++ for programming. If you use the same software then we can cooperate. To me, it's better to work as a team then try everything by myself.
Cheers.
|
|
|
|
June 28, 2001, 19:37
|
#15
|
Local Time: 02:15
Local Date: October 31, 2010
Join Date: Jul 2005
Location: In search of pants
Posts: 5,085
|
CSPL changes data stored in a computer's memory while Civ2 is running. Therefore, you would have to rewrite it from scratch for it to work on a Mac.
BTW, you guys could use Cheatomatic to help determine memory addresses for porting to FW.
|
|
|
|
July 5, 2001, 04:25
|
#16
|
Warlord
Local Time: 06:15
Local Date: October 31, 2010
Join Date: Oct 1999
Location: Milan, Italy
Posts: 127
|
Henrik:
Unfortunately, as StLeo said, i see few chances to convert CSPL to Mac.
CSPL was build under Windows and uses heavily native Win32 code, even if someone will be able to convert the library under MAC i think that CSPL user-made programs will use always some Win32 specific function.
Xin Yu:
I usually code in VC++ but CSPL was realized in Borland C++, i think you should keep that language 'cause it's free.
I would like to help you but, as mercator can tell you, i'm not very good in team programming, plus in this period i'm working on other projects.
Anyway, if you don't mind to wait a couple of month i accept.
Greetings,
Angelo
|
|
|
|
July 5, 2001, 12:54
|
#17
|
Emperor
Local Time: 07:15
Local Date: October 31, 2010
Join Date: Dec 2000
Location: The European Union, Sweden, Lund
Posts: 3,682
|
__________________
No Fighting here, this is the war room!
|
|
|
|
July 5, 2001, 16:03
|
#18
|
King
Local Time: 02:15
Local Date: October 31, 2010
Join Date: Jan 2000
Location: Massachusetts, USA
Posts: 2,048
|
You and you stinking Mac will suffer, Henrik!
FMK.
|
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is On
|
|
|
All times are GMT -4. The time now is 02:15.
|
|