---------------------------------------------------------------------- Freeciv Spelregels (Rulesets in Engels) ---------------------------------------------------------------------- (Oorspronkelijk door David Pfitzner, dwp@mso.anu.edu.au) (Vertaling: Pieter J. Kersten, kersten@dia.eur.nl) Snelstart: ---------- Spelregels staan wijzigbare verzamelingen gegevens voor eenheden, vooruitgangen, terrein, verbeteringen, wonderen, naties, steden, regeringsvormen en diverse andere spelregels toe, zonder de noodzaak tot hercompileren, op een wijze die consistent is over een netwerk en over opgeslagen spelen. (In de toekomst kunnen er andere categorieën spelregels komen.) - Om Freeciv normaal te spelen: doe niets speciaals; de nieuwe voorzieningen hebben alle standaardwaarden die Freeciv het standaardgedrag geven. - Om een spel te spelen met regels meer als Civ1, start de server met: ./ser -r data/civ1.serv (en met de andere argument die u verder normaliter gebruikt; afhankelijk van hoe Freeciv geïnstalleerd is kunt u het pad naar de map moeten opgeven in plaats van "data"). Start de client normaal. De client moet netwerk-uitwisselbaar zijn (wat doorgaans inhoudt dat u dezelfde versie van client en server moet draaien) maar verder zijn er geen bijzondere eisen. (Hoewel er spelregels van derden kunnen zijn die gebruik maken van speciale afbeeldingen, in welk geval de client hierover de beschikking moet hebben en gestart moet zijn met de toepasselijke '--tiles' optie.) Zowel als een Civ1 stijl als hierboven heeft Freeciv nu ook een Civ2 stijl, hoewel op het ogenblik beide stijlen nagenoeg identiek zijn aan de standaard Freeciv regels. Merk op dat de Freeciv KI mogelijk niet zo goed overweg kan met andere regels dan standaard Freeciv. (Zie opmerkingen verderop.) De rest van dit document bevat: - Meer gedetailleerde informatie over het maken en gebruiken van maatwerk/gemengde spelregels. - Informatie over implementatie en notities voor verdere ontwikkeling. ---------------------------------------------------------------------- Gebruik en wijzigen van spelregels: ----------------------------------- Spelregels worden opgegeven met nieuwe serveropties. De opdracht hierboven van "./ser -r data/civ1.serv" leest slechts een bestand die deze opties instelt (zowel als een paar van de standaard serveropties). De nieuwe serveropties zijn: techs, governments, units, buildings, terrain, nations, cities, game. Het zijn in zoverre speciale serveropties dat ze tekstwaarden accepteren, maar verder gedragen ze zich als normale serveropties. Probeer bijv. de serveropdracht "explain techs" maar eens. Voor elk van deze opties specificeert de waarde van de optie een map onder de Freeciv data-map met daarin bestanden met de naam techs.ruleset, units.ruleset, buildings.ruleset, enz. Bijv. de opdrachten: set techs default set governments default set units civ1 set buildings custom set terrain civ2 set nations default set cities default set game custom zouden resp. de volgende bestanden specificeren: data/default/techs.ruleset data/default/governments.ruleset data/civ1/units.ruleset data/custom/buildings.ruleset data/civ2/terrain.ruleset data/default/nations.ruleset data/default/cities.ruleset data/custom/game.ruleset (Dit is slechts een voorbeeld en kan niet erg slimme spelregels opleveren; de map data/custom en het bestand data/custom/buildings.ruleset bestaan niet in standaard Freeciv.) De spelregelbestanden in de data map zijn gebruiker-wijzigbaar, dus u kunt ze wijzigen om andere- en maatwerk spelregels te maken (zonder hiervoor Freeciv te moeten hercompileren). Het wordt u aangeraden om _niet_ de bestanden in de bestaande "default", "classic", "civ1" en "civ2" Freeciv-mappen te wijzigen, maar om ze naar een andere map te kopieëren en ze daar te wijzigen. Dit is omdat het dan duidelijk is dat u gewijzigde spelregels gebruikt in plaats van de standaard-. Het gebruikte formaat in de spelregelbestanden zou voor zichzelf moeten spreken. Een aantal punten: - De bestanden zijn niet allemaal onafhankelijk, aangezien bijv. eenheden afhankelijk zijn van vooruitgangen in het techs bestand. - Wonderen en stadsverbeteringen hebben een nieuw veld, "variant". Dit staat beperkte wijzigingen toe in het effect van specifieke wonderen en stadsverbeteringen waar zulke wijzigingen geïmplementeerd zijn. Zie de "TEDOEN Varianten" sectie verderop voor waar deze variant tot dusverre geïmplementeerd is. - Eenheden hebben een nieuw veld, "roles" analoog aan "flags", maar die bepaalt welke eenheden in de diverse omstandigheden van het spel gebruikt worden (anders dan de intrinsieke eigenschappen van de eenheid). Zie ook het commentaar in common/unit.h - De [units_adjust] sectie van het units bestand verdient enige uitleg. Het bevat het attribuut: firepower_factor. De waarde voor firepower_factor wordt gebruikt wanneer een gevecht wordt berekend: alle gevechts firepower-waarden worden vermenigvuldigd met firepower_factor, wat inhoudt dat de effectieve hitpoints van enige eenheid in werkelijkheid gelijk is aan (hitpoints/firepower_factor). In feite is het deze effectieve waarde voor hitpoints die gerapporteerd wordt aan de client voor alle hitpoint waarden. (Deze gecompliceerde opzet is noodzakelijk zodat de KI-berekeningen niet de mist in gaan bij het gebruik van Civ1-spelregels.) - De cities sectie in het nations spelregelbestand verdienen enige uitleg. In eerste oogopslag bevat het eenvoudigweg een met komma's gescheiden lijst van stadsnamen tussen aanhalingstekens. Echter, deze lijst kan ook worden gebruikt om steden te voorzien van hun voorkeurs terrein-type. Steden kunnen gemarkeerd worden als passend of niet-passend bij een specifiek terreintype, wat ze meer (of minder) waarschijnlijk maakt om te verschijnen als "standaard" naam. Het exacte formaat van de lijst in deze vorm is " (