 |
|  |
 |
|
Martin the Dane
|
 |
Aarhus, Denmark
Feb 2000 time: 06:21
|
|
First: I totally agree that there should be some way of replacing the lost men in a unit, and also that there should be some experience bonus to every unit based on the battels the unit has been fighting.
Well guess this should be in the military model thread, so I'll move on, and possibly poste something there.
quote: Originally posted by Richard Bruns
It should definitely be impossible to build roads in enemy territory. After all, if you have an army there to protect the builders, the game calls it your territory. I think that roads through uninhabited land should also be prohibited. A good coherent model for road builidng would be:
You use the current interface to plan a road. Funds are allocated automatically, as per military tactics. If the road is in a province you control, the money comes out of the province economy and it is automatically built. Otherwise, you need to move a unit with engineers over the road builidng spot, and the money for the roads comes out of that unit´s supplies.
Obviously we don´t have unit supplies introduced yet, so until then a road can be built from civ funds if a unit is on top of the planned site.
|
I like the idea of automatic alocation of resources to roadbuilding. But I don't think all the funds for the roads should be drawn from the province, but that's a minor detail.
I do not like the idea of having to micromanage roadbuilding in uninhabited land, having a road building unit that could build roads as it moved along would be ok, as an enemy could kill the unit in order to stop the roadbuilding. This unit should then have a very low speed and an upkeep based on the roads it was building. the unit could also be used to speed up roadbuilding in ones own territory. Furthermore it could be an idea to draw pop directly to the roadbuilder unit, for a shorter or longer time, to speed up roadbuilding.
And finally I do agree that the cost of roads should reflect the size of the map.
|
|
|  |
 |
|
LFS
|
|
regarding men lost in battle - it is an issue i really noticed in the carthage scenario, battles seem to knacker both sides. This is fairly un-historical, most ancient battles were fairly one sided in terms of the overall result - certainly there were battles where the victor took excessive casualities but they were exception not the rule.
(good ol Pyrrhrus comes to mind, but even his 2 major victories cost him only around 7000-8000 - about half that per battle- out of some initial 30000, and that was considered 'pyrrhic'. This game seems to make pyrrhic more desirable than a normal result).
I think the game does need some way of reflecting the generally one-sided nature of victories, and returning lost men back to the victor may be a way of achieving this - the victor recovers his wounded who lives to fight another day.
though the the current model does seem like it may well deal with combat during the period of the rifle and machine gun (circa 1860 - 1918)
|
|
|  |
 |
|  |
 |
|
Richard Bruns
|
|
NC, USA
Nov 1999 time: 06:21
|
|
After the first few games, where I do things more or less by the book, my playtesting philosophy is probably best described as "Abuse the game until it breaks." Well, I broke something.
I wanted to play around with the game and the economics model, so I played Jericho as Emar, the civ on the bottom of the list, in order to give me the power to play around. I swiftly used my warrior to take over the civ to the south of me after they left their homeland undefended. I was curious to see what would happen if I colonized some sand dunes, so I took some of their people and marched southeast, and plopped them down in the middle of the desert on turn 17 to see what would happen to their population. I wanted to see if I could use civ funds to build up farms in that new province before they all starved.
The game never reached Turn 18. It kept running the turn, so I figured I had caused a bug, and I quit the game. After checking the economics log, I saw a gazillion lines saying:
ERROR null sector: farm
I then went back and proceeded withthe same strategy again, taking note of what happened before I hit the end turn button. The square said:
Popoulation is 500
No owning civilization
and there was no border around the square.
I was unable to open the province econ window, because there was apparently no province to open. I was also unable to pick up the population again, even though my unit was still standing right on top of them.
The white line around that square never moved, even though I was still able to select other squares. Also, the units box stayed the same even though the pother squares were selected. The escorting unit still had the setter icon as well, which means that the at least the graphical glitches start the instant the people are placed on the farmless square. Disbanding the unit did not add to the population of the square, but it did, oddly enough, put an end to the graphical glitches, allowing the white selection box to be moved as normal.
I am quite sure that this bug is reproducible. I wish you luck in getting rid of it before I manage to find something else to break. 
|
|
|  |
 |
|
Richard Bruns
|
|
NC, USA
Nov 1999 time: 06:21
|
|
I tried this also, and got slightly different results. I started Dawn, dropped everybody, picked them up except for 2 people, and moved 2 squares NW. The bar at the bottom said that the population was 2, but the square detail frame said that the population was 1914. Apparently there is a gap between the bottom bar and the actual information, because it always skips counting the population of the last square that got a boost.
The Econ Info window showed product numbers that I would expect from a fully populated square, and a Labor of zero for all 4 sectors. Wages were all very low, except for production wages which were negative. Prices for farm and production were also very low, which makes sense because the square was apparently producing at its full capacity but there were very few people to consume the stuff.
On the next try, I picked up all but one person. The next turn, that square had 2189 people, an even bigger growth in population. The third time, I picked up all but one person, and the result was 2098 people, which was odd because the latter square had 12 farm sites and the former had 8, meaning that whatever is behind this bug causes a greater population jump for fewer farm sites. But this may just be random, because the third square I tried it on gave a population of 2392, despite appearing identical to teh square that gave 2189. I assuming population growth has a random factor; I have not seen the mechanism documented anywhere.
I think I saw a symptom of this bug in the "Initial sector Stats for Turn:" section, where it lists labor for farm at 2.8579216, or about 2,858 people, on the first turn. So somehow the full value of all 5000 people is being calculated before the turn ends. My theory is that they produce all that food, but then when the food is applied to the population growth, it uses a base of only 2 people so there is a huge surplus and the population jumps. This would explain why only putting down 2 people causes a bug, since it calculates stuff the instant they get put down, and there is a null error since they can´t make enough food by themselves.
However, it is interesting to note that, later in the log, it lists Labor = 0.0011432171, which is what I would expect for only two people.
Here is a log showing square details and the population the turn after settling. Except for the first turn, all these came form a population of one person left behind, and except for the third turn, they were all on plain squares with 8 farm sites. Around turn 4, I switched to a market economy, and before settling the 14th province I switched back to a traditional economy. The bigger numbers then are especially odd because I was colonizing with about 4500 people instead of 5000. It is easily apparent, however, that a market economy causes a lot less of this population growth for some reason.
Number | Population
1 | 1914
2 | 2189
3 | 2098
4 | 2392
5 | 502
6 | 487
7 | 503
8 | 494
9 | 500
10 | 498
11 | 510
12 | 517
13 | 521
14 | 2272
15 | 2313
16 | 2271
Obviously, with this kind of population base, fending off the barbarians was easy. I could make warriors sprout up everywhere. But they moved around a lot, and it got annoying to have to chase them down all over my civ.
By the way, please fix those memory leaks as soon as possible. On many computers it is so bad I can´t even finish a game.
I would also like to report something that I have seen many times before but have not seen any comment on. I call this the "1% army supply bug", but it may not really be a bug. I´ll let the econ log do the explaining for me:
----- Army Supplies For Civ------
Army Supplies Needed (existing army) = 1.05
militaryPayRate for Natufian = 100.0
Army Supplies Available/Needed From Economy = 15.18957 / -8.509571
cost20 = 3.9245846
Army Supplies set to 1.0%
How is it possible that a negative number of army supplies are needed? This usually happens when the army size is low. It may also be related to changing the tax rate. A more reasonable calculation fomr the log, when the army was bigger is:
----- Army Supplies For Civ------
Army Supplies Needed (existing army) = 8.719662
militaryPayRate for Natufian = 100.0
Army Supplies Available/Needed From Economy = 14.098911 / 4.8525476
cost20 = 11.982861
Army Supplies set to 8.901634%
|
|
|  |
 |
|
Richard Bruns
|
|
NC, USA
Nov 1999 time: 06:21
|
|
I am not a programmer, and I am competent enough to figure out why Clash runs at the speed of molasses. These things have 32 megs of RAM, most of which is of course eaten by the OS and a gazillion other extra things that the administrators load them up with.
I can usually run about 30 to 50 turns before the game starts to rely on the hard drive for virtual memory. However, the number of turns it takes to reach this bottleneck seems directly related to the number of provinces in the game. It ran a lot slower when I tested the settlement population jump described in the post above. This seems to indicate that economy model calculations are at least partly to blame. And as mentioned before, the event popup boxes and several other GUI elements are memory hogs.
|
|
|  |
 |
|
Richard Bruns
|
|
NC, USA
Nov 1999 time: 06:21
|
|
After getting on one of the better computers, with 256 megs of RAM, I just finished winning Jericho as Jericho. The game ran fine. I followed the basic strategy of swift northern expansion, taking over my northern neighbor so that all fighting took place in that province while Jericho churned out warriors. I also used the tactic of sending my weak and badly damaged units on suicide missions to ravage their territory, picking up their people while our armies were busy fighting me in the south. They usually had a garrison that prevented me from taking the main city, but I could still do damage in the outskirts of their civ.
I soon started noticing bugs relating to these zero population squares. For some reason, they always remained mine even though enemies would walk over them, as shown by the attached picture. I also got combat notices saying that they won fights in those squares, even though nobody was there. Here is one of these fights, from the log:
==== Beginning of combat ====
Combat in [7, 8] plain
Scout output phase: 0.0
Manoeuvre output = 0.0
Manoeuver output phase: 0.0
Fight won by Emar
==== End of combat ====
Also, any square with zero population was never re-colonized, even after I took over the capitol of that province. The people in that capitol expanded diagonally, refusing to send anyone to the zero population squares. I had to move people there manually, and then growth continued as normal. It seems that there is no migration from one part of the province to another, and that all squares must grow their population from their own people. I realize, of course, that this behavior is designed to fix the cheat that I discovered earlier, but if I own both the empty square and a square capable of colonizing it, than colonization should continue as normal.
I would also like to note that I have never, at any time while playing any of the demo scenarios, seen militia come up in any fight.
Attachment: ownerbug.jpg
This has been downloaded 152 time(s).
|
|
|  |
 |
|
Mark_Everson
|
 |
Canton, MI
Jan 1970 time: 00:21
|
|
quote: Originally posted by Richard Bruns
I just finished winning Jericho as Jericho.
(snip
I soon started noticing bugs relating to these zero population squares. For some reason, they always remained mine even though enemies would walk over them, as shown by the attached picture. I also got combat notices saying that they won fights in those squares, even though nobody was there. Here is one of these fights, from the log |
Hi Richard, congrats on winning Jericho. But as I said in the Jericho thread, Picking up people that aren't your original folk is IMO a cheat, and shouldn't be used. YMMV 
On the bug, its already in the list, sorry you didn't see it. Its a good idea to check the bug list for new entries every once in a while. . .
quote: -164 (Mark) When population of a square is taken away so that square pop is now 0, square doesn’t change possession when conquered. At least it appears to take special circumstances for it to be conquered, although it can happen eventually. It appears the code to change square possession is ignored if pop = 0, suggest the test become if the square has an administration it can change hands. I looked for the code, but couldn’t find it after about 15 min of looking around, so I quit. [Med D7.3]
Workaround: never remove all population from a square, just leave a few and its ok. |
I didn't know about some of the other issues with 0 pop though, so your effort wasn't entirely wasted. Just use the workaround immediately above and it'll be fine till we fix it in the next demo.
On militia, I think the unit power/population size ratio in Jericho is such that they would never appear. Militia only show when they might win the fight. Hopefully Laurent will correct me if I'm wrong.
|
|
|  |
 |
|
Richard Bruns
|
|
NC, USA
Nov 1999 time: 06:21
|
|
I didn´t pick them up to use them, I picked them up to lay waste to the enemy´s territory. THat is IMO a perfectly acceptable and historical way to do things. The unit escorting them was usually shaughtered eventually, meaning that they vanished into thin air.
|
|
|  |
 |
|
Richard Bruns
|
|
NC, USA
Nov 1999 time: 06:21
|
|
Oops, I should be working with known bugs. I´ll give a general report:
Bug 145 has been fixed, as far as I can tell. I am not seeing those problems anymore, even on the old systems.
I have not seen anything as egregious as bug 156 recently, but I sometimes get new units built even though I had not allocated any military funds for about a dozen turns. These units are also in recently conquered provinces.
I´ve never seen 157 again.
I´ve noticed that units only seem to use roads if both the starting square and destination are connected by a road. (160)
f135b has already been fixed.
One feature I would like is for the units box not to always appear on top. If I minimize the game and bring it back up again, the units box always appears on top of any event boxes tehre might be.
|
|
|  |
 |
|
Mark_Everson
|
 |
Canton, MI
Jan 1970 time: 00:21
|
|
I've sent out the Clash Testbed with Laurent's tech mods to Richard and Martin. If either of you guys didn't get it, please let me know.
If there are specific question on how to create scenarios using the xml files, I think it'd be good to start a "Scenario Design Details" or some such thread. It seems that would be of some utility going forward. BTW the Events and Scenarios thread is still the place for high-level discussions of what kind of characteristics our scenario languages should have. If someone starts the Details thread, pleas put the link above in it also.
[edit] One think I forgot to mention is that you will see errors in the dos window on scenario read-in that say "Uninteresting tag...". This means that the parser found an xml tag it doesn't know how to interpret. In the current case they are mostly tags from the diplomacy model that aren't implemented yet. But watch that space, because if you misspell a tag in your changes of scenarios that is where the only notification of the error will show up.
Good Luck on your respective goals with the testbed!
I am appending the readme that goes with the testbed. The tags for the xml example won't show up right, but I'm too lazy to fix it. . .
------------------------------------------------------------
Clash Testbed 7.5 (post-Demo 7.2.1 code) Feb 2, 2003
Please delete the entire old version of the clash testbed (if applicable) before installing this one.
New info:
v. 7.5 Is the post-Demo 7.2.1 code made available so that Richard, Martin, and others can mess with the
scenario files. A new version that supports the tech model more fully (better econ support) will be made
available as soon as practical.
The manual for the xml resources files is now quite detailed. It is critical if you want to understand what is
going on in the scenario files. It is called dataformat.xml
I put in some tags to allow modifications of tech model RP generation for economic activities. One is for Tech
investments using economic orders (ResearchCost), and the other for RPs generated by labor in economic sectors
(RPsPerLabor). Here is an example from Jericho.xml
0.05
0.1
This reduces research cost to buy RPs (tech activity econ orders) by a factor of 20 from normal, etc. The tags
shown go within government which is within civilization. Although it goes in a specific civilization tag at
the moment, the effect is global.
For the moment econ effectivenesses are handled as follows: effectiveness = 5.1 + knowledge of relevant tech.
This subverts the normal definition that effectiveness should double when knowledge does, but is done this way
to avoid possibly breaking the economy. I will figure a better way to do it when I get a chance.
Known bugs:
1. DON'T use the Ruler button, exept to look at it (it is quite slick). It has preliminary govt stuff in it,
that isn't active yet.
Clash Testbed 7 manual
Hello Everyone:
This is a testbed for Clash demo 7+. There are several purposes for the testbed, including, but not limited
to:
1. A graphics testbed
2. An early-alpha tester for running the system through its paces and giving bug reports.
3. Providing a model designer or manual writer with an early version with which to do their thing.
Before you do anything, please make sure you have installed and run the lastest demo. That will ensure both
that you have the Java program necessary to run the testbed installed properly, and also that you know
basically what's going on in the program.
Running the program, and the command-line switches
IMPORTANT:
Before following these instructions, you should have already unzipped the files to C: Preserving the Directory
Structure.
You run the program by executing the batch file RUN_ClashTestbed. You can also add a number of "command-line
switches" at the end of the last line in the batch file. (Edit the batch file using notepad or another text
editor) The default last line says:
java game.manager.GameMain
By adding the -seed "flag" you can make the random number generator use a fixed seed, which gives the same
sequence of random numbers every time. This is Really useful for giving a path to a programmer that
consistently reproduces a bug. To add this behavior change the last line to:
java game.manager.GameMain -seed
You can add any number of such switches. The switches are also used to change between different xml files in
the class\resources directory. More about that later. A complete list of command-line switches can be found
at the bottom.
Note once you run the batch file, you can just enter the last line by hand in a Dos window with any switches
you prefer if that's easier. Each time you reboot you'll need to use the batch file the first time.
The standard tiles are, oddly enough, in the "tiles" folder. Just put any extra tiles in that folder, and put
their names in an alternate xml images file. More about how to do that below.
Using the xml files (only needed for tile and initialization parameter editing)
The xml files are in the class\resources sub-directory. I think it is pretty self-explanatory what general
category is handled in each file
It generally applies to all Clash xml files that:
1. Forward references are not supported. (You can't give a unit a "Philanderer" element unless that element
was defined Earlier in the file.)
2. Any tag which writes to all fields in an object will over-write any
previously set fields for that object. This is a specific case of the
previous rule.
Bug Reports
To report a bug, please use the format already in use in the current bug report file as shown in the second
post of the D6 thread. When the program crashes, you will get a diagnostic output in the Dos window. Please
copy this, if relevant, and attach it to the bug report. Unfortunately these outputs frequently overflow the
screen buffer. If you have an error message that overflows the DOS window you can redirect the error output to
an "error.txt file that will appear in the ClashTestbed\class directory. To do this you must us the -ef flag.
("ef" for error file) Send the file or its contents as the bug report. It is probably best to by default run
using error logging. To do that you can use the RUN_ClashTestbed_ErrorLog batch file. This file also has the
-seed flag set so that behavior that lead to the bug, if relayed precisely, will duplicate the bug when one of
the coder runs it.
For twitchy but non-fatal behavior where something appears to be wrong, you can check out the various text
diagnostic output files for individual models. FE "economics.txt" has some very detailed output on selected
parts of the economy. (These files all appear in the ClashTestbed\class directory.) Look especially for lines
that begin with "Error". For these non-fatal bugs please give a good a description as possible and email the
model output text file to the coder. Bug reports should be posted on the forum.
Support
Contact Mark at markeverson@comcast.net, or
For support on the images or xml file stuff, Gary at gthomas@takaro.co.nz
Let us know what features you would like for the testbed, and xml file capabilities in general.
Good Luck!
Mark
Command Line Switches
(Must be in command line mode (FE batch file) to use)
-ef = error logging to a file
-no = no AI movement
-seed = random numbers use constant seed for reproducible behavior
-800x600 = start in 800 x 600 res mode to simulate 800x600 screen
-allecon = allows Player access to economic orders/info for non-player civs
-riotsoff = turn off riots model (demo 7 feature, default is riots are on)
Switches allowing ability to replace a resource (xml) file by command line arguments:
-r images c:\clash\somefilename
will completely replace the default images file with the named file.
-e images c:\clash\somefilename
will overwrite the resources file with the named file. Use this to
replace only some of the images.
Note: the file name should NOT have an extension specified, and the actual file MUST have the extension .xml
Also, -e cannot be used to overwrite just some fields in a main element - it overwrites the whole element, so
you can't overwrite just
flat 3
to just change the defense
- you have to have all the other parameters of that terrain as well.
Legal changes are to images, terrain or settings (bizarre but legal).
Last edited by Mark_Everson on 02-02-2003 at 23:18
|
|
|  |
 |
|
Richard Bruns
|
|
NC, USA
Nov 1999 time: 06:21
|
|
Bug Report:
Maybe this should have gone in the technology thread, but since it is a bug and not a model discussion I will post it here.
I was altering the Elephant unit in Delenda. My goal was to replace the civilization tag of the current unit with a technology requirement, give that technology to the Carthaginians in the delenda scenario, and make it impossible for anyone else to research it. I added the following to technology.xml:
code:
<technology>
<name>Placeholder</name>
<tier>1</tier>
<growthrate>1.0</growthrate>
<upkeep>0</upkeep>
</technology>
<technology>
<name>Elephants</name>
<tier>2</tier>
<growthrate>1.0</growthrate>
<upkeep>.5</upkeep>
<helper>
<name>Placeholder</name>
<requirement>2.0</requirement>
<effect>0.0</effect>
</helper>
</technology>
and gave Carthage a knowledge of 3 in each. Then I altered the Elephant element so it required a knowledge of 1 in elephants, and removed the civilization tag.
I played as the Romans. They had a knowledge of 0 in both techs, as they should have. Placeholder was active, and Elephants was inactive. However, Elephants still appeared on the econ orders screen. I promptly started churning them out, building 13 in Rome and 8 in Marsaglia on the first turn.
On the second turn, the Elephants tech was active, although still at zero knowledge, and I was still cranking out Elephants. So something is wrong with the requirement tags. They appear to simply not function. However, they did function in Dawn. Chariots cannot be built until Horses reches the requirement. (Although it is possble to get Horses to the right level by research, even if you don´t discover the special)
I tested this by changing Delenda so that all the tech, activity, and military data were in the sceario.xml file instead of being read off other files. I was still able to build loads of elephants. I also tried adding the code:
code:
<buildingorders>
<minimal/>
<showorder>Legion</showorder>
<showorder>Elephant</showorder>
</buildingorders>
to the Roman government, but they were still able to build Elephants. I can´t figure out why the requirement works in Dawn but not in delenda.
There is another bug that may or may not be related:
I gave Romans a Metallurgy knowledge of 3, and added a technology tag to the Attack stat on the HeavySpear element that boosted the attack based on Metallurgy:
code:
<Element>
<Name>HeavySpear</Name>
<Default>Warrior</Default>
<category>foot</category>
<Attack><value>75</value></Attack>
<technology>
<name>Metallurgy</name>
<baseknowledge>1</baseknowledge>
<knowledgeeffect>0.2</knowledgeeffect>
</technology>
<Movement><value>15</value></Movement>
The first turn, Metallurgy was at 0 and inactive. The second turn, it was at 3 and active. However, the attack of Scipio was 812000 on both turns, exactly the same as the default file, when HeavySpear was not helped by Metallurgy. This meant that the technology was having no effect. To see if it was only existing units that were unaffected, I tried building more Legions. They came ot with exactly the same Attack number.
The java window said "Setter not found for technology in game.military.ElementArchetype" but there was nothing in the error file. Obviously Metallurgy was doing nothing, and the game was choking on it a little.
|
|
|  |
 |
|
Richard Bruns
|
|
NC, USA
Nov 1999 time: 06:21
|
|
I think I know the source of the requirements bug. When testing Dawn with the new tech tree, I found that I was unable to build the Chariot after getting Horses up to a knowledge of 1. I looked to see what was different, and saw that my Chariots unit defaulted to the Warriors unit, and the previous Chariots did not.
When I remove the default and define every aspect of an element seperately, the requirement works properly. Elements that I did not have the tech for could not be built. Obsolescence still did not have any effect, however.
So I am pretty sure that the bug has to do with the default element. The requirements of the default are apparently not overwritten. If the civ is capable of building the element that an element defaults to, then it will be able to build that element. If it cannot build the default element, it cannot build the other element either.
Confusingly, however, helper techs such as Metallurgy work perfectly with the new tech tree, with all units. Every unit stat except Movement and Mobility is helped by something, and they all seem to work properly. As I mentioned before, the game gives me a fatal error if I try to have any tech affect these two stats.
Another bug I found is that any wall that has food in its cost will never be built.
|
|
|  |
 |
|
Richard Bruns
|
|
NC, USA
Nov 1999 time: 06:21
|
|
Oops, double post
Last edited by Richard Bruns on 06-02-2003 at 01:04
|
|
|  |
 |
|
LDiCesare
|
|
La Ferté sous Jouarre France
Jan 2001 time: 05:21
|
|
Attack and other parameter values all works fine.
Look at your snippet and check where the </Attack> tag is. It should be AFTER the technology tags, not before.Thus the "Setter not found for technology in game.military.ElementArchetype error message. It is not very clear, I will admit. "Misplaced technology tag" or something like that would be better. If you have an idea of an error message that tells things, please say so. Those things are incredibly hard to make understandable.
I guess the same kind of error must be the cause of the requirements for elephants error. Can you check your files or show a snippet for the elephant element?
Movement and Mobility have nothing special, so I can't see why they would crash in any special way. They are exactly the same objects as attack, defense and so on.
Also make sure when you make an element to declare the default tag BEFORE all other tags (except name). Otherwise the default will happily overwrite just about everything you wrote before.
I did reproduce the active techs which should be inactive, and will work on fixing that.
|
|
|  |
 |
|
Richard Bruns
|
|
NC, USA
Nov 1999 time: 06:21
|
|
Yes, the ordering of the <default>tags was the problem. I was putting them after the requirements. It works now. However, in the version of the Dawn scenario that uses the standard files, the Chariot unit still cannot be built. Apparently the game adds to the requirements of the default unit instead of overwriting tham, and since the Dawn civ does not have Military Tactics needed to build a Warrior it can´t build the Chariot either. I will have to work around this.
As I said, I got the helper techs for most things to work in my new files, so I am not even going to worry about what went wrong in delenda. I got the Elephants to work properly with the new files; Carthage can build them but Rome cannot.
However, I can easily reproduce the movement and technology bug as follows. In my file, when the Chariot looks like this:
code:
<Element>
<name>Chariot</name>
<default>Warrior</default>
<requirement>
<name>Horses</name>
<knowledge>1</knowledge>
</requirement>
<category>lightwheel</category>
<Attack><value>40</value>
<technology>
<name>Horses</name>
<baseknowledge>1.0</baseknowledge>
<knowledgeeffect>0.2</knowledgeeffect>
</technology>
</Attack>
<Distance><value>15</value></Distance>
<Defense><value>30</value></Defense>
<Armor><value>3</value></Armor>
<Movement><value>30</value>
</Movement>
<Mobility><value>8</value>
</Mobility>
<Morale><value>11</value></Morale>
<Cost>
<FoodMultiplier>2</FoodMultiplier>
<ProductionMultiplier>3</ProductionMultiplier>
<ServicesMultiplier>3</ServicesMultiplier>
</Cost>
</Element>
the game runs perfectly. But when I make one addition:
code:
<Element>
<name>Chariot</name>
<default>Warrior</default>
<requirement>
<name>Horses</name>
<knowledge>1</knowledge>
</requirement>
<category>lightwheel</category>
<Attack><value>40</value>
<technology>
<name>Horses</name>
<baseknowledge>1.0</baseknowledge>
<knowledgeeffect>0.2</knowledgeeffect>
</technology>
</Attack>
<Distance><value>15</value></Distance>
<Defense><value>30</value></Defense>
<Armor><value>3</value></Armor>
<Movement><value>30</value>
<technology>
<name>Horses</name>
<baseknowledge>1.0</baseknowledge>
<knowledgeeffect>0.4</knowledgeeffect>
</technology>
</Movement>
<Mobility><value>8</value>
</Mobility>
<Morale><value>11</value></Morale>
<Cost>
<FoodMultiplier>2</FoodMultiplier>
<ProductionMultiplier>3</ProductionMultiplier>
<ServicesMultiplier>3</ServicesMultiplier>
</Cost>
</Element>
the game crashed with a fatal error and the error log displays the following:
Error display: ObjectBuilder invoke method setMovement, parameter game.technology.Parameter@4ee70b
java.lang.reflect.InvocationTargetException: java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
at java.util.AbstractList$Itr.next(Unknown Source)
at game.technology.Parameter.merge(Parameter.java:79)
at game.military.ElementArchetype.setMovement(ElementArchetype.java:141)
at java.lang.reflect.Method.invoke(Native Method)
at game.libraries.parser.SetMethod.setClassParameter(SetMethod.java:214)
at game.libraries.parser.SetMethod.set(SetMethod.java:114)
at game.libraries.parser.ObjectBuilder.setData(ObjectBuilder.java:73)
at game.libraries.parser.ObjectBuilder.setAllData(ObjectBuilder.java:62)
at game.libraries.parser.ObjectBuilder.(ObjectBuilder.java:53)
at game.libraries.parser.Parser.saveElement(Parser.java:95)
at game.libraries.parser.Parser$State.saveNewElement(Parser.java:246)
at game.libraries.parser.Parser$EndTag.addCharacter(Parser.java:469)
at game.libraries.parser.Parser$State.checkCharacter(Parser.java:169)
at game.libraries.parser.Parser.run(Parser.java:111)
at game.data.FileInput$DataFile.parseFile(FileInput.java:234)
at game.data.FileInput$DataFile.normalStream(FileInput.java:215)
at game.data.FileInput$DataFile.parse(FileInput.java:242)
at game.data.FileInput.setMilitary(FileInput.java:126)
at game.data.FileInput.setAll(FileInput.java:103)
at java.lang.reflect.Method.invoke(Native Method)
at game.libraries.parser.SetMethod.setPrimitiveParameter(SetMethod.java:189)
at game.libraries.parser.SetMethod.set(SetMethod.java:117)
at game.libraries.parser.ObjectBuilder.setData(ObjectBuilder.java:73)
at game.libraries.parser.ObjectBuilder.setAllData(ObjectBuilder.java:62)
at game.libraries.parser.ObjectBuilder.(ObjectBuilder.java:53)
at game.libraries.parser.Parser.saveElement(Parser.java:95)
at game.libraries.parser.Parser$State.saveNewElement(Parser.java:246)
at game.libraries.parser.Parser$EndTag.addCharacter(Parser.java:469)
at game.libraries.parser.Parser$State.checkCharacter(Parser.java:169)
at game.libraries.parser.Parser.run(Parser.java:111)
at game.scenarios.ScenarioFile.parseFile(ScenarioFile.java:88)
at game.manager.Game$AbstractScenarioSelection.execute(Game.java:151)
at game.manager.Game$ScenarioSelection.execute(Game.java:189)
at game.manager.Game.(Game.java:71)
at game.manager.GameMain.main(GameMain.java:11)
It doesn´t get much clearer than that. Something is busted in the way that Movement is affected by technology. The same thing happens with Mobility. I also got the same thing when I tried to make the Elephants tech alter the Health of the Elephants unit, which is odd since the Health of Warriors works perfectly, going up with the Biology tech. The Health of Elephants also goes up with Biology, since it defaults to Warrior, which is doubly strange. Also the Morale gave me a fatal error with the Elephant, even though the Attack stat did work fine with the Elephant tech.
|
|
|  |
 |
|
LDiCesare
|
|
La Ferté sous Jouarre France
Jan 2001 time: 05:21
|
|
quote: Apparently the game adds to the requirements of the default unit instead of overwriting tham, and since the Dawn civ does not have Military Tactics needed to build a Warrior it can´t build the Chariot either. I will have to work around this. |
Put a requirement for military tactics of 0.0 to override it. The defaults are supposed to be cumulative, but you can override one that way. I don't think a tech being inactive should be a problem, but it might.
I'll check the movement stuff. In theory, it should work... The exception means something wrong 's happening, and gives me some clues.
|
|
|  |
 |
|
LDiCesare
|
|
La Ferté sous Jouarre France
Jan 2001 time: 05:21
|
|
quote: I would also like to note that I have never, at any time while playing any of the demo scenarios, seen militia come up in any fight. |
Just noticed that.
They do happen, but you need a fight to be a close one in order for them to pop up. A clever player will usually avoid that, except maybe in defense. You can get some in siegewars, if you attack a square with a small enough army, up to and including in Minas Morgul. I once got both goblin and human militias fighting in that city.
|
|
|  |
 |
|
LDiCesare
|
|
La Ferté sous Jouarre France
Jan 2001 time: 05:21
|
|
I got the problem. It has nothing to do with Mobilty or Movement per se.
It has to do with defining a unit in a file which has a default in another file. The behaviour is random in that case. That is because each file is managed in parallel (in its own thread in programmer-ese). That means you can't have cross-file stuff like a default element in military and the element in the scenario. Actually, it CAN work, but there is no guarantee it will.
The code could be changed to allow that, but that would probably slow the file reading quite a bit. I am not sure I want to mess with that part of the code. I'll at least try to document it a bit.
|
|
|  |
 |
|
Richard Bruns
|
|
NC, USA
Nov 1999 time: 06:21
|
|
Ports seem to be broken. I tried to add ports to provinces in Delenda to see if that would allow me to make triremes, but I got an error message. I got the same error when I set the port to Rome and when I set it to Mare Nostrum, the sea square.
I used the instructions in the dataformat document to add the ports, and I´m pretty sure the xml was right, since I could tell from the error message that the game was trying to build a port. To duplicate this, download 7.7 and add:
<port>Rome</port>
or
<port>Mare Nostrum</port>
to the Latium province.
|
|
|  |
 |
|
LDiCesare
|
|
La Ferté sous Jouarre France
Jan 2001 time: 05:21
|
|
I checked a bit. Ports are supposed to be land square with an orthogonal water square, so Rome should be OK but not Mare Nostrum.
There is only one port allowed per province.
Can you post the error message? I will try to reproduce and won't have net access for the next few days, so if I can't reproduce, an error trace would be welcome.
|
|
|  |
 |
|
boomer70
|
|
I checked into this a bit further. The error is a NullPointerException thrown from TerrainData.isWater(TerrainData.java:189). I am sure I can protect against the NullPointer but I am not sure if the logic is correct here.
|
|
|  |
 |
|
yellowdaddy
|
 |
Saoir-Ebhor, Sasainn a tuath, Rialtas Aontach
Apr 2003 time: 05:21
|
|
i've had a couple of quick goes on the demo 7.
first thoughts - i don't entirely like the movement of units.
i'd like to click onec to select the unit, and click again to move it, and forit to change either start flashing or have a different colour around it in some way, just so i know i;ve selected the option i want. i clicked for ages trying to work it out, and naturally reached for the numeric keypad....
i like the waypoints, but i think an alert should come up when the unit meets another, or is requesting new orders.
and maybe a little number above the icon to differentiate it if it's the same type.
i've seen the rings idea which is nice - i've seen a few games just have 3 little different coloured lines above a unit to show the levels of different attributes, i suppose food, strength, and moves left or happiness.
something needs to be done about making a nice military management pop-up interface.
so you can scroll therough your units and assign instructions.
i agree that ni CTP2 they both deepened the game and killed the atmosphere with a barrage of panels - many of them were really good once you got familiar, some were just irritating.
CIv3 has cut of too many of the good bits of previous versions of Civ and Alpha.C.
e.g.:
the world map! from Civ 1
the rotating earth on Test of Time - ToT was great! a decent sucessor to Civ1
the range of units and gov types in CTP1
[i may be getting CTP and CTP2 mixed up - CTP2 was the one with the funny round bit on the interface, yes?]
the hilly terrain, and component type DIY units in Alpha C.
......
all the noise about those pointless 3D leader anims - you can even see them all on the diplomacy section - they don't really do a huge amount for the game, though they are nice to look at, i agree.
.........
the view city/palace/spaceship option in Civ is also a waste of space - i'm waiting for a basic Sim city style city managament - maybe SimCity will beat Civ to that aspect with the new city linking features.
..........
what will happen about water depths?
|
|
|  |
 |
|
Mark_Everson
|
 |
Canton, MI
Jan 1970 time: 00:21
|
|
quote: Originally posted by yellowdaddy
i've had a couple of quick goes on the demo 7.
first thoughts - i don't entirely like the movement of units.
i'd like to click onec to select the unit, and click again to move it, and forit to change either start flashing or have a different colour around it in some way, just so i know i;ve selected the option i want. i clicked for ages trying to work it out, and naturally reached for the numeric keypad.... |
??? Why didn't you play the tutorial first? It tells you how everything works. Moving using the arrow keys are a now implemented, and will appear in the next release.
quote: i like the waypoints, but i think an alert should come up when the unit meets another, or is requesting new orders. |
A generaly good suggestion. These would be good player-selectable options. Some players won't want to be bothered with a dialog every time as you suggest.
quote: and maybe a little number above the icon to differentiate it if it's the same type. |
?
quote: something needs to be done about making a nice military management pop-up interface.
so you can scroll therough your units and assign instructions.
|
Agree, please make comments in the military thread if/when you have detailed ideas
quote: what will happen about water depths? |
Oh, we'll put them in eventually, but they aren't critical right now IMO.
Thanks for the feedback!
|
|
|  |
 |
|  |
All times are GMT. The time now is 05:21. Apolyton Time is 00:21. |
top of page
|
|
|
Forum 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
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|