This is a list of main features of current S3_0 development version relative to freeciv-2.6. Last commit checked: commit a79f7e3526bbe8abbcf6b92a3e4f3fc00c3837a3 Author: Marko Lindqvist Date: Wed Apr 22 06:00:21 2020 +0300 Main changes: ============= - Civ2civ3 is now the default ruleset - Added Alien ruleset, and compatible tileset, Alio, to main distribution. They used to be available as separate modpacks - New installations use hex based maps by default, Hexemplio is the default tileset - Msys2 based installers are now the default on Windows, msys1 based installers are no longer supported General: ======== - Logging level can be given by level name to commandline parameter --debug. This is now also the recommended way as numeric values will change in future versions - Added new 'fracture' map generator - First turn is now T1, and T0 is only pre-game - By default, first team is named as "Team 1" and not "Team 0" - Gtk3.22-client is now the default client - Long deprecated xaw-client has been dropped - Sdl-client has been dropped in favor of sdl2-client - When turn timeout is in use, loading a saved game no longer gives full timeout time for first turn. It continues with the timeout it had at saving time. - libicu is used to improve UTF-8 support. It makes sure that freeciv never truncates strings mid-character Non-ruleset rules: ================== - Embassy grants knowledge of the amount of culture Included rulesets: ================== Civ1: ----- - There is only one barbarian nation controlling both Land and Sea barbarians - Triremes can leave coast temporarily, but sink on turn change if not next to safe coast - Units cannot be upgradet Civ2: ----- - There is only one barbarian nation controlling both Land and Sea barbarians - "Plant Nuclear Device" spy action added - Triremes can leave coast temporarily, but sink on turn change if not next to safe coast - Airbase hides units inside Experimental: ------------- - Marco Polo's Embassy grants embassies to already met players only Sandbox: (CHECK full list) -------- - In general; rules demonstrating each new ruleset engine feature added - Added single barbarian nation - Unit disbanding rules depend on government Multiplayer: ------------ - Buy cost of Small Wonders except Palace doubled. Except for Palace, this restores the same cost they had in freeciv-2.5. Custom rulesets: ================ - Resources are type of Extras now. All the customization available for extras is now available for them. - It's possible to have single barbarian nation controlling both land and sea barbarians - Support for spontaneously appearing or disappearing extras - Extras have a new 'generated' property. By setting it to FALSE one can disallow map generator from generating the extra while still having other properties of cause definitions like "Hut", "Resource", or "River" - Many more actions are now under action enabler control (CHECK) - Capture Units - Found City - Bombard - Explode Nuclear - Attack - Conquer City - Disband Unit, and new "Recycle Unit" split from it - Home City - Upgrade Unit - Paradrop Unit - Airlift Unit - All the diplomat actions that previously would consume the unit if it didn't have hardcoded "Spy" flag, and would not consume it if it did have the flag, split to two separate actions; one of which consumes the unit and one which doesn't - New spy actions "Steal Maps" & "Steal Maps Escape" - New spy actions "Suitcase Nuke" & "Suitcase Nuke Escape" - New unit action "Destroy City" - New unit action "Expel Unit" - New unit action "Heal Unit" - Attack action can be set to cause international incident (Casus Belli) - "Have_Embassies" effect is split to two; new "Have_Contacts" provides contact with all the nations, reworked "Have_Embassies" provides embassies only with those nations the owner has had contact with. - New effect "Action_Odds_Pct" for adjusting spy action success probability - New effect "Border_Vision" to see all tiles within one's borders - New effect "Stealings_Ignore" to make it possible for diplomats to steal tech from the same city multiple times, or easier for Spies - New effect "Attack_Bonus" - New effect "Conquest_Tech_Pct" to control how likely it is that a tech gets stolen from a conquered city - New effect "Building_Buy_Cost_Pct" to control how much buying a building costs - New effect "Unit_Buy_Cost_Pct" to control how much buying an unit costs - Effect "Action_Odds_Pct" now works with Tech Stealing actions - New requirement type "BuildingGenus" - New requirement type "MinTechs" - New requirement type "MinCalFrag" - New requirement type "ServerSetting" - Tech can have generic research_reqs requirements before it can be researched - Ruleset can allow founding cities on terrains non-native for the founder (from transport) - Ruleset can define "Goods", things that are carried via the traderoutes - Ruleset can define Tech Classes - New "DisasterProof" flag can make a building immune to disasters - Unit type can be made one that can try to escape stack death by giving it new "CanEscape" flag. Attacker can have new "CanKillEscaping" flag as a counter-measure. - Support for user defined unit class flags - Support for user extra flags - Some former Base and Road flags are now Extra flags, available for all extra types - NoStackDeath - Unit type flag "Trireme" renamed as "CoastStrict". Added new "Coast" flag that together with fuel setting forces unit to visit coast regularly - Unit type flag "Undisbandable" has been renamed as "EvacuateFirst" - New unit type flag "Provoking" forces autoattack against it - Ruleset can define which unit types never autoattack - New tech_cost_style "Linear", matching formula used when explicitly given values for civ2civ3 in 2.6 were calculated - Percentage of the city's population can be made to convert to city conquering nationality immediately - It's possible that combat ends before neither side dies, if it reach maximum number of rounds controlled by new "Combat_Rounds" effect - Output_Waste_By_Distance granularity has been increased so that less steep corruption or waste increase than previous minimum value of 1 would have given - Graphic tag for specialists can (and should) be defined separately. It's no longer hardcoded to be derived from the rule_name - Alt graphic tag for specialists has full support of graphics indexed by citizen number, making it more feasible fallback mechanism to use - New "only_killing_makes_veteran" ruleset setting can be used to prevent any battle that does not end to the death from granting veterancy levels Included scenarios: =================== - All included map-only scenarios can be loaded with any compatible ruleset. Rulesets that support those scenarios are civ2civ3, classic, experimental, sandbox, multiplayer, webperimental Scenario lua scripting: ======================= - Calendar access functions added - New lua function create_owned_extra(), deprecated create_base() - New lua functions game.rulesetdir() and game.ruleset_name() - New lua function edit.change_terrain() - New lua function Tile:is_enemy() - New lua function player.controlling_gui() - New signal building_lost - New signal nuke_exploded - New signal hut_frighten - hut_enter signal now has extra name parameter Custom scenarios: ================= - New README.scenarios documents scenario creation - New "ScenarioReserved" player flag can be used to make player unavailable for humans to pick in a scenario. - Scenario can be made not to lock on to specific ruleset, but to be usable with any compatible ruleset. - Savegame format has been refreshed to a completely new savegame3 format - Individual units have a new "stay" property. When set to true, AI won't move that unit but it will stay defending the spot where it's placed in the scenario. - It's no longer possible to set game start year from the Editor. It was never working properly. Server settings: ================ - xz is now the default savegame compression type - metamessage command has been replaced by metamessage server setting - Ruleset can be chosen from server commandline with a new parameter --ruleset - New caravan_bonus_style server setting to control formula used when calculating caravan arrival bonus - New trade_revenue_style server setting to control formula used for trade between two cities - New techleak server setting to control tech leakage rate - If revealmap has DEAD set, map is shown even to teams if all their members are dead - New multiresearch server setting to switch to mode where bulbs acquired towards certain tech cannot be transformed to bulbs towards another tech, but they remain for the original tech - New settings globalwarming_percent and nuclearwinter_percent to control rate of the environmental change - New setting spaceship_travel_time to control how long it takes for the spacehip to reach Alpha Centauri Server lua scripting: ===================== - Added database.lua hooks, so custom database.lua can control some user rights: - whether player is allowed to be delegated to another player - whether user is allowed to take or observe player - Lua script can now implement authentication other than ones based on md5 password hashes AI: === - AI calculations are made with higher precision (floating point math instead of int math) Clients: ======== - "Overhead" and "Iso" tileset settings have been combined to one "Square" tileset setting - Info label now shows how much culture player has - Owned extras can be edited in editor mode Tilesets: ========= - Most supplied tilesets have gained a lot of new extra unit sprites. They are available for custom rulesets to use - Radar graphics are removed - Ruins primary tag is now "extra.ruins", old "base.ruins" remain as alt tag for backward compatibility - Tileset can now specify which ruleset server should start with when the tileset is in use - Tileset can specify drawing order of the layers - Tilesets define offsets for city size number sprites - River outlet sprites to all directions are now mandatory. Previously outlet sprites to some directions were optional on hex tilesets - Supplied rulesets and tilesets use tag "specialist.entertainer" for entertainers Tools: ====== Ruledit: -------- - Can load also rulesets of freeciv-2.6 format. Always saves in freeciv-3.0 format. - Writes some standard comments to the ruleset saved - Added editing of more major types (CHECK) - Goods - Governments - Action Enablers - Extras - Terrains - Added requirement editing - Support for commandline optoion '--Fatal' added Ruleup: ------- - freeciv-ruleup is a new tool to update rulesets from the format of previous version to the current format Modpack installers: ------------------- - Support for modpack type "Group" for metapackages that just install their dependencies - New gtk3x gui version available. It's based on current gtk-4 development version Build & Portability: ==================== - Support for build-time project definition file, for the benefit of variants of freeciv - tinycthread thread implementation can be used, extending threading support in Windows - Libicu is a new dependency - Msys1 based Windows Installers are replaced by msys2 based ones by default - Both win32 and win64 builds - IPv6 support - Latest toolchain and components - Installers for gtk3.22-, Qt-, and sdl2-clients and ruledit - Windows 7 as minimum requirement - Msys2 environment baseline has been updated to 24th February 2020 level - Freeciv can be built to use json based protocol between server and client. Such a build is incompatible with normal builds - Possibility to cross-compile new installer_cross type Windows Installers from linux