= 0 A.D. Alpha 27: ——— = Go to the [wiki:Changelogs changelog overview], if you are looking for a different release. [[BR]] Check the [wiki:Alpha27?action=history history overview] to only read updates of this site. [[BR]] [[TOC]] Development started by Wildfire Games on 04/10/2022 (r27104). [[BR]] Feature Freeze: **TBD.** [[BR]] String Freeze: **TBD.** [[BR]] Translation Freeze: **TBD.** [[BR]] Commit Freeze: **TBD.** [[BR]] Release: **TBD.** [[BR]] Release Announcement: TBA. [[BR]] Tickets: [https://trac.wildfiregames.com/query?status=closed&group=resolution&milestone=Alpha+27 link] An overview of all tickets handled is found at the respective [http://trac.wildfiregames.com/query?milestone=Alpha+27&max=50 milestone] on trac. [[BR]] To download and install the developmental release of 0 A.D., have a look at the [wiki:BuildInstructions build instructions]. The following list presents all changes noticeable to the end user up to r27528. Many small bugfixes, typo fixes and code cleanups are not mentioned here. [[BR]] See also [wiki:PortA26ToA27 Port A26 to A27] == Gameplay == r27142 Only entities capable of capturing contribute to the regen-rate of structures (Phab:D4679). [[BR]] r27244 Garrison Domestic Animals into the Corral to get a !ResourceTrickle of Food (Phab:D4380). [[BR]] r27391 Add area damage to elephants (Phab:D4173). [[BR]] r27399 Change default action from capture to attack (Phab:D4697). [[BR]] r27400 Add Roman Centurions (Phab:D4872). [[BR]] r27406 Han fixes (Phab:D4873): - Adjust the cost of poison arrows and poison blades. - Reduce the obstruction area of rice paddies so that they are easier to place. [[BR]] r27455 Allow to garrison the Han minister in the corral. [[BR]] r27455 Use different default hotkey ("C") for capturing (Phab:D4908). [[BR]] r27527 Double wall turret placements for stone walls (Phab:D4914). [[BR]] r27586 Allow ships to turn while in motion for more natural movement. [[BR]] r27775 Differentiate Sparta (Phab:D4736): - Syssition and Champions available in phase 1. - Champions may promote to "Olympic Champions". - Unique technologies for champion hoplites, melee units, and skirmishers. - Unlock for Neodamodes spearmen, a cheap spearman that cannot gather. [[BR]] r27779 Differentiate Athens (Phab:D3727): - Adds Hippocrates as a unique phase 2 hero. - Elite Hoplites can promote to champion spearmen. - 3 Unique technologies - Use a range aura of 2 armor for Iphicrates. [[BR]] r27794 Fix Liu Bang's Cavalry Aura (Phab:D5080). [[BR]] r27827 Give Agis a metal discount aura, increase health. [[BR]] r27828 Differentiate Macedonians (Phab:D5096): - Move Siege workshop to town phase. - Access Bolt Shooters in town phase. [[BR]] r27829 Train women from houses without researching fertility festival (Phab:5112). [[BR]] r27831 Add a small splash attack to catapults (Phab:D5053). [[BR]] r27834 Differentiate Chariots: Costlier, faster, more health, but slow acceleration (Phab:D5119). [[BR]] r27836 Briton/Gaul druid aura: "Deas Celtica" (Phab:D5116). [[BR]] r27852 Carthage apartments accessed in village phase, houses can upgrade to apartments (Phab:5117). [[BR]] r27858 Return Carthage Sacred Band cavalry to the temple (Phab:D5126). [[BR]] r27864 Add a "Cataphract" mixin: +1 armor of all types, but +10% metal cost and -5% speed (Phab:5141). [[BR]] r27865 Reduce bolt and catapult prepare time to reduce clunkiness (Phab:D5131). [[BR]] r27871 Add a longsword mixin that adds a splash attack (Phab:D5145) r27890 Add Dog Kennel special building for britons (Phab:D5153). [[BR]] r27898 Add a "Hero" temple for the Ptolemies (Phab:D5169). [[BR]] r27900 Add the Marian Reforms unique technology (Phab:D5109): - Unlock training Centurions, Onagers, Legionary Swordsmen and Legionary Skirmishers. - Lose access to Extraordinarii infantry, spear cavalry. - Allied cavalry are re-skinned to Auxiliary cavalry. [[BR]] r27901 Add the Onager to complete reforms technology (Phab:D5114). [[BR]] r27902 Let marines train from the gymnaium, use iphicratean reforms to unlock "dock" variants of marines and archers (Phab:D5168). [[BR]] r27910 Enlarge chickens so they can't hide in grasses (Phab:D5177). [[BR]] r27915 "Nile Delta" bonus for Ptolemies, all farming techs available in village phase. [[BR]] r27922 Garrison rams for added speed and acceleration (Phab:D5179). [[BR]] r27934 Add "Roman Roads" unique technology for the romans: +5% speed for land units (Phab:5183). [[BR]] r27951 Increase Ptolemaic bolt shooter fire rate (Phab:D5170). [[BR]] r27954 Add "Satrapy Tribute" to persian throne hall, allowing the player's choice of trickle (Phab:D5192). [[BR]] r27956 Add "Woad Warriors" civ bonus for britons, faster infantry (Phab:D5190). [[BR]] r27958 New tech for the Mauryans called "Ahimsa": +100% berry gather rate, but -80% fish and meat gather rate (Phab:D5175). [[BR]] r27963 New temple technology "Sacrificial Ritual": Healers train 40% faster, and the metal cost is removed (Phab:D5188). [[BR]] r27978 Remove territory decay from Roman Army Camp and Siege Walls (Phab:D5215). [[BR]] r27990 Move Persian Immortals to the barracks, make them cheaper and weaker (Phab:D5202). [[BR]] r27996 Naval Overhaul (Phab:D5213): - Ships do not use BuildingAI. - Ships are split into unit roles: scout ship, arrow ship, ram ship, fire ship, and siege ship. [[BR]] == Maps == r27635 Fix incorrect fruit bush in Gulf of Bothnia frozen. [[BR]] r27899 Add a new 2 player skirmish map "Isthmus of Corinth" (Phab:D5164). [[BR]] r27903 Update "Watering Holes" 4 player skirmish map. [[BR]] r27909 Fix very steep shores in Elephantine (Phab:D5132). [[BR]] r27992 Add water level support to Flood (Phab:D5139). [[BR]] == AI == r27141 Implement simple emergency detection (Phab:D4645). == Modding == r27245 Use Requirements helper for requirements (Phab:D4514). Allows: - Having multiple requirements. - Having entity requirements. - Negating tech requirements. [[BR]] r27883 Remove Engine.!IsGameStarted (Phab:D5143). == Balancing == Include community balance mod: - r27392 Move tier 2 blacksmith technologies to Town Phase. - r27393 Rebalance healers by making them cheaper. - r27394 Pericles and Themistocles improvements. - r27395 Axe cav minor buff. - r27397 Rebalance some civ and team bonus. [[BR]] r27407 Han: Reduce pop cost of ministers (Phab:D4874). [[BR]] r27410 [Community Mod] Includes (Phab:D4877): - CC/colony cost changes - Roman camp in p2 - Spearcav acceleration increase - Alexander hero auras - Seleucid civ bonus [[BR]] r27584 Reduce Batch modifier of Upgraded Han CC. [[BR]] r27585 Reduce Catapult and Siege Ship range. [[BR]] r27668 Rebalance Elephant Splash damage (Phab:D5008). [[BR]] r27848 Reduce Loom Cost 200food -> 100food (Phab:D5118). [[BR]] == Engine == - r27106 Adds PS::span and std::string_view to CmdLineArgs. (Phab:D4677) - r27110 Fixes vertex attribute stride in Canvas2D. - r27156 Skips renderer resources preloading for screenshots. - r27160 Reset m_EndsWithSpace to fix the uninitialized read of it introduced in rP26915. (Phab:D4806) - r27164 Allow 0.0.0.0 IP in StunClient tests added in rP25448. (Phab:D4792) - r27174 Fixes without PCH build in StunClient missing include for std::byte added in rP25453. (Phab:D4814) - r27192 Remove user.cfg from javascript - r27202 Restrict access for Read/WriteFile functions - r27230 Add JS bindings for in game camera attributes. (Phab:D4667) - r27236 Updates glad library to 2.0.2. - r27268 Fixes calling SDL functions in CVideoMode after SDL_Quit. (Phab:D4836) - r27275 Makes GLES using high precision for both vertex and fragment shaders. - r27329 Adds StaticVector implementation. (Phab:D4838) - r27335 Update enet on Windows to 1.3.17. - r27385 FSM cleanup: (Phab:D4868) - r27388 Refactors window creation in CVideoMode. (Phab:D4866) - r27398 Optional column "sort_order" attribute support olist GUI - r27409 [SM91] Update to Spidermonkey 91.1.3 APIs (Phab:D4428) - r27412 Adds Vulkan backend. (Phab:D4876) - r27426 Commit the Spidermonkey tarball, as it puts extra strain on CI, and package manager builds don't have internet. - r27438 Fixes creating window on macOS in case of missing Vulkan driver. Fixes #6681 (Phab:D4884) - r27440 Fix bundled spidermonkey code in Premake. - r27441 Fix a case sensitive issue on macOS. macOS usually do not use a case sensitive filesystem, hence why it got unnoticed. - r27442 Fix a bug with Python >= 3.11 where -rU was removed as an open flag. (Phab:D4888) - r27451 Fixes builds on some platforms for libfmt 4 after rP27329. (Phab:D4890) - r27457 Update clean-workspaces.sh after SpiderMonkey's upgrade to 78.6.0 and 91.13.1. - r27460 Fix and cleanup the SM91 build, fixes #6676. (Phab:D130410) - r27461 Don't include source/test_root.cpp in bundles. (Phab:D4895) - r27469 Fix FMT and NVTT not linking with the correct SDK. (Phab:D4898) - r27470 Follow proper Shutdown sequence when using -dumpSchema, fixes #6696. (Phab:D4903) - r27492 Fixes shadows cascades iteration. - r27493 Updates shadows camera frustum after its recalculation. - r27499 Fix: Crash atlas in relation to Terrain.cpp CalcPosition (Phab:D4900) - r27512 Fixes DisplayVersion in NSIS on Windows. (Phab:D4892) - r27513 ATLAS UI be aware of GUI Scale user config (Phab:D4915) - r27517 Fix a warning in gloox headers on Windows after rP27490, refs #3004. - r27521 Fixes Atlas previews after rP26142. (Phab:D4919) - r27555 Fixes --with-system-premake5, fixes #6710, refs rP23675. - r27556 Removes ogl.h from PCH. (Phab:D4950) - r27564 Fixes GL ES version report after GL_INVALID_ENUM triggered by glEnable(GL_TEXTURE_2D). - r27599 Use a lower default MTU for ENet hosts, and make it configurable. (Phab:D4967) - r27601 Removes assertion from MinimapTexture on entities overflow. - r27603 Adds an option to disable mouse grab in fullscreen. (Phab:D4974) - r27606 Use premake5 beta2's `externalincludedirs` when available (Phab:D4980) - r27607 Adds more libraries to feedback reports. (Phab:D4949) - r27717 Removes waiting from MapGenerator. This makes the game window more responsible during map generating. (Phab:D3676) - r27740 Use std::function in the Loader. (Phab:D4989) === Vulkan === Changes related to Vulkan particularly: - r27109 Removes drawing via IDeviceCommandContext from CMinimap. (Phab:D4779) - r27110 Fixes vertex attribute stride in Canvas2D. - r27134 Replaces border color of sampler by enum. - r27136 Reduces uniforms sizes for the Canvas2D shader. (Phab:D4796) - r27137 Moves vertex buffer offset to SetVertexBuffer. - r27138 Reduces the number of SetVertexAttributeFormat calls in Canvas2D. - r27139 Fixes calls to SetVertexAttributeFormat with zero stride. - r27145 Fixes vertex attribute format in minimap and passes dependent textures as parameters. - r27147 Reduces uniforms sizes for the minimap shader. - r27148 Adds AcquireNextBackbuffer to CDevice to have something to present. - r27151 Adds BeginFramebufferPass/EndFramebufferPass instead of SetFramebuffer. - r27152 Adds usage flags to backend textures. - r27167 Moves skybox vertex array creation and uploading before its rendering. - r27173 Moves Backend enum from CVideoMode to backends. (Phab:D4809) - r27182 Disallows backend buffer uploading inside framebuffer pass. (Phab:D4815) - r27184 Makes AcquireNextBackbuffer returns true in case of successful backbuffer acquirement. - r27198 Wraps gl_Position in a macro to avoid duplication for different versions. - r27199 Wraps vertex attributes in a macro to avoid duplication for different versions. - r27204 Wraps gl_FragColor in a macro to avoid duplication for different versions. - r27207 Moves particles data uploading out of framebuffer pass. (Phab:D4820) - r27208 Reduces the uniform size of a texture transform of debug overlay shader. - r27209 Reduces the uniform size of an instancing transform of overlay solid shader. - r27222 Removes unused UV1 stream in OverlayRenderer and moves vertex data setup out of a loop. - r27232 Moves post processing out of scene rendering to avoid framebuffer pass duplicate. (Phab:D4827) - r27236 Updates glad library to 2.0.2. - r27256 Adds framebuffer attachment load and store operations. (Phab:D4830) - r27282 Reduces shader inputs duplication and wraps them in a macro. Refs #6636 (Phab:D4837) - r27313 Removes SetViewport from CRenderer. (Phab:D4849) - r27328 Switches from pipeline state descriptions to pipeline states. (Phab:D4850) - r27331 Fixes vertex attribute format mismatch for silhouette debug rendering. - r27363 Switches from per draw vertex attribute format to precompiled vertex input layout. (Phab:D4852) - r27379 Adds preferred depth stencil format to renderer backend. - r27387 Adds dependent libraries for Vulkan. Refs #6636 (Phab:D4869) - r27412 **Adds Vulkan backend.** (Phab:D4876) - r27418 Fixes silhouettes on Vulkan by using VkStencilOpState. - r27421 Ands new depth stencil format to support all combinations on Vulkan. (Phab:D4878) - r27422 Recreates Vulkan swapchain on window resize. (Phab:D4879) - r27446 Removes unnecessary PreDraw from Vulkan CDeviceCommandContext. - r27450 Hides some warnings for VMA. (Phab:D4889) - r27475 Fixes querying descriptor indexing features and properties on some drivers. - r27477 Disables descriptor indexing on macOS. - r27478 Adds a warning in case of Vulkan window creation failure. - r27488 Add MoltenVK support to fix Vulkan on macOS. (Phab:D4905) - r27494 Enables non-solid fill for Vulkan to allow wireframe drawing. - r27495 Creates image views for Vulkan textures only when needed. - r27496 Prevents using R8G8B8_UNORM format for Vulkan textures as it can be supported as a native format only by workarounds. - r27501 Fix Molten VK printing too many log messages (Phab:D4913) - r27502 Adds more features to report for Vulkan backend. - r27503 Uses Vulkan physical device indices as the last comparison for device selection. - r27510 Extends logs for Vulkan available device. (Phab:D4917) - r27511 Fixes descriptor set overwrite when multiple textures reference it with delayed deletion. Fixes #6717 (Phab:D4916) - r27516 Makes Vulkan device selection stop searching after a first suitable queue family. - r27522 Fixes overflow of inplace vertex and index Vulkan buffers. (Phab:D4920) - r27536 Fixes invalid swapchain size during a window minimize. (Phab:D4932) - r27537 Increases minImageCount for Vulkan swapchain only when there is a room for that. - r27541 Check for the existence of libMoltenVK - r27552 Implements framebuffer readback for Vulkan to allow screenshots. (Phab:D4940) - r27573 Switches VMA to Vulkan 1.1. (Phab:D4947)