News: Introducing the Frisians



It’s been a year since the last development post, so it’s high time for a summary of what we’ve been up to. Along diverse bug fixes, these are some of the new features:

Graphics and Music

New improved field selector graphics

New music track 'Running out of Coal' by Stuart Marshall

Diverse refactorings to the graphics engine

New font renderer is ready for complex markup

Tutorials, Campaigns and Scripting

We have added two new missions for the Empire campaign, with advanced economy gameplay

Scenarios can now have animated revealing/hiding of fields and add custom buildings

Allow resetting of teams via Lua during a game

Added 2 new functions to Lua interface: list_directory and is_directory

Networking

Opening a router port is no longer necessary. This means no more fiddling with router settings for hosting a game.

We have also added support for IPv6

Increased password security by no longer storing and transmitting it in plain text

AI

The AI now uses a genetic algorithm. The genetic parameters are trained and then kept in .wai files. If you wish to help with training, please let us know.

files. If you wish to help with training, please let us know. Multiple changes and improvements to the building logic and to the AI hints

Prohibit seafaring buildings for AI on non-seafaring maps

When scouting with a ship, the AI nows considers whether a possible sea direction leads to unknown territories

Gameplay

New “Village” starting condition.

Diverse balancing tweaks

The worker program plant no longer takes tribe: as a parameter; immovables are now identified via their attributes only, and both world and tribe immovables are searched. As a side effect, tribe immovables can now have terrain affinity.

no longer takes as a parameter; immovables are now identified via their attributes only, and both world and tribe immovables are searched. As a side effect, tribe immovables can now have terrain affinity. Forester/Ranger now prefers good soil, and is thus more efficient

Scouts are aware of nearby military sites. The scout now switches between random walking and doing an excursion to enemy military sites.

Started implementing new “Market” building with a Barbarian prototype. Not functional yet.

User Interface

Converted all texts to the new font renderer. Formatting functions for the new renderer live in data/scripting/richtext.lua .

. Wider use of dropdown menus

New commandline option animate_map_panning

Refactored load- and savegame screens

Improvements to campaign message boxes, keyboard navigation and UI focusing

Added feature to update all ware priorities of a building when CTRL is pressed while clicking

The “Options” screen now saves to file immediately so that the changes will be remembered even if Widelands crashes afterwards

Internationalization

Implemented glossary generation for the Transifex glossary with help from the Translate Toolkit

Show translation statistics next to the language selection menu and invite translators if a translation is incomplete

Help and Documentation

Added immovables to in-game help

More cross-linking between map object classes and their description objects in the scripting documentation

Added/Improved scripting documentation for animations, worker programs, worker help texts, AI hints, World units and the Richtext system

Editor

Display of bobs, immovables and resources can now be toggled individually

Build System

Added support for gcc7.

Let Travis build each commit on MacOS in addition to our Linux builds

Allow compiling with AddressSanitizer, and choosing between gcc and clang on the first compile. AddressSanitizer has enabled us to get rid of a number of crashes and memory leaks – we highly recommend it.

Frisian Tribe

Last but not least, we have added a fourth tribe: the Frisians. It is still in an experimental stage and will need more work with balancing and model texturing. There are already two campaign missions available to introduce players to the tribe’s unique features. The Frisians are discussed in this thread.