This is the mail archive of the xconq7@sources.redhat.com mailing list for the Xconq project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: fixes to advance.g


(Stan, see #4 below).

> 1. Higher advances costs in each generation. I'm all for it. Just didn't
> have time to test out the numbers.

They seem to pretty much work.  The Elephant is a pretty powerful unit
which doesn't require a lot of advances, so it tends to dominate
combat.  But of course that isn't primarily a question of advance
costs.  The Republic is awfully expensive; I've added a comment on
that to the sources.

> BTW, the same applies to construction costs.

Well, yeah, something needs to be done about construction.  The other
culprit here is the way that after a little while one is able to
produce huge numbers of units (due to city size? or ore?).  If you
just make the fancier units cost more, I think you might have the case
where the optimal (but rather boring to execute) strategy is to build
massive numbers of dumb units and have them just clog up the
battlefield (takes ACP to kill them off).

> 2. Requiring navigation for the trireme. Kind of a hack (it is also
> required for the bireme) but makes sense for the reasons you
> mention.

OK, I've added a comment saying this.

> 3. Pruning "unnecessary" advances and units.

Well, that's why I commented them out rather than removing them, but
OK.  I've put them back in.

> 4. The hardcoded Granary code is something Stan added for the Civ2 game.
> That was done after I wrote my game, hence the now duplicated effect. I
> don't mind if you remove it, but you should check with Stan first. The Civ2
> game probably needs to be modified in that case.

Stan?  I hope you aren't going to seriously request that the code be
retained as it is ;-).  Maybe it is just as simple as having civ2.g
set um_occ_mult_production?

> 5. Commenting out the cash material. The idea was to add code for buying
> units etc. like in Civ2. But that wont happen anytime soon

OK, I've commented it out and put this explanation into the comments.

Here's the revised patch:

2001-02-20  Jim Kingdon  <kingdon@panix.com>

	* lib/advances.g: Comment the cash material, and the forum and
	marketplace units - they don't do anything.
	Add comment about advances which don't do anything.
	Make advances cost more at higher generations (otherwise the game
	degenerates into massive numbers of legions on each side around
	turn 25 or 30).
	Also require the navigation advance for the trireme so you don't
	the situation where you can build a trireme without canvas &c.
	* kernel/run.c (run_population): Comment out code which hardcodes
	the unit name "Granary" (the hardcoding is just too gross to live,
	but the whole concept seems odd, see comment for discussion).

Index: kernel/run.c
===================================================================
RCS file: /cvs/xconq/xconq/kernel/run.c,v
retrieving revision 1.64
diff -u -r1.64 run.c
--- run.c	2000/12/28 16:04:08	1.64
+++ run.c	2001/02/20 20:56:11
@@ -1667,11 +1667,20 @@
       Unit *occ;
 
       consump = unit->size * um_consumption_to_grow(u, m);
+#if 0
+      /* Wait a minute.  Building a Granary *both* increases our
+	 production and means we need less to grow?  Not sure whether
+	 the utype property would be um_occ_mult_production or a new
+	 one, but the whole concept seems dubious to me; why the need
+	 to tweak both production and consumption_to_grow?  Maybe this
+	 is vestigial code and if civ2.g sets um_occ_mult_production
+	 then all is happy?  */
       for_all_occupants(unit, occ) {
 	/* (Should use utype property instead). */
 	if (strcmp(u_type_name(occ->type), "Granary") == 0)
 	  consump /= 2;
       }
+#endif
       /* Use up more supplies as required to prepare growth. */
       unit->supply[m] -= consump;
     }
Index: lib/advances.g
===================================================================
RCS file: /cvs/xconq/xconq/lib/advances.g,v
retrieving revision 1.16
diff -u -r1.16 advances.g
--- advances.g	2001/02/19 03:52:01	1.16
+++ advances.g	2001/02/20 20:56:15
@@ -216,9 +216,9 @@
 (unit-type temple (name "Temple")(image-name "parthenon"))
 (unit-type workshops (name "Workshops")(image-name "village"))
 (unit-type granary (name "Granary")(image-name "granary"))
-(unit-type marketplace (name "Marketplace")(image-name "camp"))
+;(unit-type marketplace (name "Marketplace")(image-name "camp"))
 (unit-type school (name "Scribal School")(image-name "parthenon"))
-(unit-type forum (name "Forum")(image-name "parthenon"))
+;(unit-type forum (name "Forum")(image-name "parthenon"))
 (unit-type ziggurat (name "Ziggurat")(image-name "nest"))
 (unit-type palace (name "Palace")(image-name "parthenon"))
 
@@ -253,24 +253,36 @@
 	(append infantry mounted siege complex naval))
 
 (define facilities
+	(granary temple school workshops stockade city-walls ziggurat palace
+	; forum marketplace
+	))
 
-	(granary marketplace temple school workshops forum stockade city-walls ziggurat palace))
 
 
-
 ;;;	MATERIAL TYPES
 
 
 (material-type food (name "Food")(image-name "sheaf")(resource-icon 1))
 (material-type ores (name "Ores")(image-name "shield")(resource-icon 2))
 (material-type ideas (name "Ideas")(image-name "arrows")(resource-icon 3))
-(material-type cash (name "Cash")(resource-icon 4))
+; The idea behind cash is to add code for buying units etc. like in
+; Civ2. But that wont happen anytime soon, so comment it out for now.
+;(material-type cash (name "Cash")(resource-icon 4))
 
 
 
 ;;;	ADVANCE TYPES
 
 
+; Note that many advances don't yet do anything.  This is intended to
+; be a temporary state of affairs, to be fixed by adding units which
+; use those advances.  The intent of this game is to have lots of
+; advances (even more than now, especially at high levels).
+; 
+; Part of the challenge with this game is to figure out what advances
+; (and units) are really important and what are dispensable. Just like
+; in real life!
+
 ;	1st generation advances.
 
 (advance-type barley (name "Barley")(help "Ancient Cereal")
@@ -305,6 +317,9 @@
 (advance-type pottery (name "Pottery"))
 (advance-type shaman (name "The Shaman"))
 (advance-type sheep (name "The Sheep"))
+(add (barley carpentry cattle charcoal clay-token einkorn
+      elders-council flax handicraft hemp idolatry leatherworking
+      mud-brick pottery shaman sheep) rp 10)
 
 ;	2nd generation advances.
 
@@ -332,6 +347,10 @@
 (advance-type tribal-law (name "Tribal Law"))
 (advance-type the-village (name "The Village"))
 (advance-type yoke (name "The Yoke"))
+(add (barter beer bellows construction donkey emmer gardening harness
+      kiln loom potash
+      pictograms potters-wheel priesthood ropemaking spindle
+      the-village tribal-law yoke) rp 20)
 
 ;	3rd generation advances.
 
@@ -354,6 +373,8 @@
 (advance-type sledge (name "The Sledge"))
 (advance-type syllabary (name "Syllabary"))
 (advance-type trance (name "Trance"))
+; Maybe we want to set advance-multiply-production
+; and/or advance-add-production on food?
 (advance-type wheat (name "Modern Wheat")(help "Hexaploid Wheat")
 	(notes ("A second species hybridization between Emmer Wheat and Goat Grass created the hexaploid Modern"
 		    "Wheat which is used in agriculture all over the world. It has a much better yield and hardiness than"
@@ -361,6 +382,9 @@
 )
 (advance-type wooden-plow (name "Wooden Plow"))
 (advance-type solid-wheel (name "Solid Wheel"))
+(add (artisanry assembly boatbuilding canvas ceramics cloth festival
+      furnace herbal-lore horse irrigation market mining numbers pulley shrine
+      sledge syllabary solid-wheel trance wheat wooden-plow) rp 40)
 
 ;	4th generation advances.
 
@@ -385,6 +409,10 @@
 (advance-type township (name "Township"))
 (advance-type wagon (name "The Wagon"))
 (advance-type writing (name "Writing"))
+(add (astronomy camel copper cylinder-seal divination dyeing glassmaking
+      joinery landsurvey lime merchant
+      metalworking river-transport saddle sailing stonecutting
+      temple-estate till-farming township wagon writing) rp 80)
 
 ;	5th generation advances.
 
@@ -401,11 +429,16 @@
 (advance-type leasehold (name "The Leasehold"))
 (advance-type mapmaking (name "Map Making"))
 (advance-type masonry (name "Masonry"))
+ medicine would seem like a logical candidate for size-limit-without-advance
 (advance-type medicine (name "Medicine"))
 (advance-type navigation (name "Navigation"))
 (advance-type omen-books (name "Omen Books"))
 (advance-type scribe (name "The Scribe"))
 (advance-type spoked-wheel (name "The Spoked Wheel"))
+(add (arithmetic astrology bookkeeping
+      the-border bronze calendar contract elephant ensi
+      forge leasehold mapmaking masonry medicine navigation
+      omen-books scribe spoked-wheel) rp 160)
 
 ;	6th generation advances.
 
@@ -419,6 +452,9 @@
 (advance-type mathematics (name "Mathematics"))
 (advance-type military (name "Military"))
 (advance-type trade (name "Trade"))
+(add (agriculture city-state code-of-laws
+      engineering foundry iron letter mathematics
+      military trade) rp 320)
 
 ;	7th generation advances.
 
@@ -430,6 +466,8 @@
 (advance-type road-building (name "Road Building"))
 (advance-type taxation (name "Taxation"))
 (advance-type the-bit (name "The Bit") (help "Advanced bridle for horses"))
+(add (court diplomacy geometry kingship literature road-building taxation
+      the-bit) rp 640)
 
 ;	8th generation advances.
 
@@ -437,15 +475,21 @@
 (advance-type currency (name "Currency"))
 (advance-type government (name "Government"))
 (advance-type philosophy (name "Philosophy"))
+(add (architecture currency government philosophy) rp 1280)
 
 ;	9th generation advances.
 
 (advance-type elected-council (name "Elected Council"))
 (advance-type judiciary (name "Judiciary"))
+(add (elected-council judiciary) rp 2560)
 
 ;	10th generation advances.
 
+; The sheer number of prerequisites for this one might mean that
+; 5120 is a bit excessive.  But let's stick with the pattern (more
+; of a sense of accomplishment if you actually do achieve it :-)).
 (advance-type republic (name "The Republic"))
+(add republic rp 5120)
 
 
 
@@ -864,6 +908,11 @@
 	(chariots spoked-wheel true)
 	(onager engineering true)
 	(swordmen military true)
+	; Requiring navigation for the trireme is a bit of a hack,
+	; a more elegant solution would be a higher level advance
+	; which follows on from navigation.   But we need this for
+	; now, trade doesn't require canvas, sailing, &c.
+	(trireme navigation true)
 	(trireme trade true)
 	(siege-ramp geometry true)
 	(sappers road-building true)
@@ -873,8 +922,8 @@
 
 	(stockade a* false)
 	(workshops artisanry true)
-	(marketplace market true)
-	(forum architecture true)
+;	(marketplace market true)
+;	(forum architecture true)
 	(temple shrine true)
 	(ziggurat stonecutting true)
 	(granary temple-estate true)
@@ -920,7 +969,7 @@
 ;;;	MATERIAL PRODUCTION AND CONSUMPTION
 
 
-(add cash treasury true)			;	Cash is globally available in the treasury.
+;(add cash treasury true)			;	Cash is globally available in the treasury.
 (add ideas treasury true)			;	Necessary for side-based research.
 	
 (table unit-storage-x				;	Only city can store materials.
@@ -936,7 +985,7 @@
 	((sea lake semi-desert) food 1)
 	((steppe forest) food 2)
 	((plain) food 3)
-	((plain) cash 2)
+;	((plain) cash 2)
 	((plain) ideas 2)
 	((sea lake) ideas 3)
 )
@@ -964,8 +1013,8 @@
 	(school ideas 200)			;	School increases ideas production by 100%.
 	(workshops ores 150)		;	Workshops increase ores production by 50%.
 	(palace ores 200)			;	Palace increase ores production by 100%.
-	(marketplace cash 150)		;	Marketplace increases cash production by 50%
-	(forum cash 200)			;	Forum increases cash production by 100%
+;	(marketplace cash 150)		;	Marketplace increases cash production by 50%
+;	(forum cash 200)			;	Forum increases cash production by 100%
 )
 
 
@@ -973,8 +1022,6 @@
 ;;;	RESEARCH
 
 
-(add a* rp 10)		;	Every advance requires 10 research points.
-
 (table advance-needed-to-research
 
 	(a* a* false)
@@ -997,7 +1044,7 @@
 	(pottery a* false)
 	(shaman a* false)
 	(sheep a* false)
-		
+
 ;	2nd generation advances (19).
 
 	(barter (clay-token sheep) true)
@@ -1083,13 +1130,13 @@
 	(forge (kiln metalworking) true)
 	(leasehold (till-farming landsurvey) true)
 	(mapmaking (landsurvey writing) true)
-	(masonry (lime stonecutting) true)			;		
+	(masonry (lime stonecutting) true)
 	(medicine (divination herbal-lore) true)
 	(navigation (astronomy sailing) true)			;	bireme
 	(omen-books (divination writing) true)
 	(scribe (temple-estate writing) true)			;	school
 	(spoked-wheel (joinery wagon) true)			;	chariots	
-	
+
 ;	6th generation advances (10).
 
 	(agriculture (calendar leasehold) true)
@@ -1113,7 +1160,7 @@
 	(road-building (engineering military) true)		;	sappers
 	(taxation (city-state military) true)			;	palace
 	(the-bit (iron saddle) true)				;	cavalry
-	
+
 ;	8th generation advances (4).
 
 	(architecture (engineering kingship) true)		;	forum


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]