This release features several design tweaks to the UI, most noticeably a new font (Lato) and a new design for the loading screen, along with many smaller improvements. Feedback is appreciated. As usual, we've been working hard to squash as many bugs as we can. There have been a large number of fixes and new features added to WML, Lua, Wesnoth Formula Language (WFL), and the AI.

As this is a development version, we would like to remind everyone how the testing and feedback process works for these:

Download and install, making sure to keep the latest stable release around in case the game breaks and you find yourself unable to get your daily fix of Wesnoth.

Playtest the game, try out some of the API additions for content creators, and write down your observations in a notebook or similar.

If you encounter issues, don’t panic; instead, grab some bug spray and protective gear, and head directly to our instructions for reporting bugs. Most importantly, keep in mind that we can’t know about any bugs you encounter unless you report them to us!

Near the end of the release notes below you will find a list of the most important bugs known at the time of release. Some items are due to be fixed in the next release, but for others we depend on contributed patches from volunteer coders like you! (If you are a coder, that is.)

Check our bug tracker for a full list of bugs and feature requests, including other bugs found after the release was published.

Read on for more details about the most notable fixes and additions in this release:

Changes to wesnoth.select_hex and wesnoth.highlight_hex. The former is deprecated, while the latter is no longer deprecated but has different behavior. To duplicate the behavior of select_hex, highlight_hex may be used along with the new select_unit function.

The Wesnoth formula language used by $(...) substitution, the formula= key in standard unit filters, and a few other places has received some significant updates. The changelog has the full list, but some highlights are:

New operators for string concatenation, ranges, and testing containment

New string interpolation syntax

Dot operator can access identifier-friendly string keys in maps

Function definitions work outside FormulaAI and GUI2

Many new functions for math and string manipulation

Exponentiation operator is now right-associative (meaning 2^3^2 now produces 512 rather than 64)

Dice operator is now synced

Improved formula debugger

The "fai" and "faiend" keywords are deprecated in favour of "wfl" and "wflend" respectively. This is part of a move to more clearly distinguish [wiki]Wesnoth Formula Language[/wiki], the language itself, from FormulaAI, which is just one use of the language in Wesnoth.

The attributes leader, total_movement, movement_left, and states in WFL unit variables were renamed to canrecruit, max_moves, moves, and status respectively; this was done to make them match the Lua and WML names for the same things. Also, the special attribute in WFL weapon variables is now specials. The old names will continue to work for now, but they may be removed in a future version.

After several development cycles of adding new and/or experimental features to the AI engine, a long overdue AI code cleanup effort was undertaken in order to facilitate future AI maintenance and development. This included a refactoring and reorganization of the code of the current AI as well as the removal of non-functional, outdated or deprecated code.

As a result, the format for configuring some AI parameters has been simplified. The AI functionality has also been extended in several ways. For example, it now allows Lua facets and the [modify_ai] tag has been extended to allow editing the internal jobs of the recruitment_instructions aspect.

While making these changes, we tried to retain backward compatibility as much as feasible. Thus, most of the changes are invisible to the WML and custom AI developer and the vast majority of existing UMC code will continue to function as is. It is, however, unavoidable that some old AIs or AI configurations will require updating. A summary of those changes is given below. For more details, see the full changelog and the Wesnoth wiki.

Several aspects that no longer did anything anyway: number_of_possible_recruits_to_force_recruit, recruitment_ignore_bad_combat, recruitment_ignore_bad_movement

The recruitment aspect; however, this is automatically translated to a recruitment_instructions aspect, which means it will now be honored where it was previously ignored

Stages that were either old and deprecated or experimental and unmaintained/broken: old recruitment, fallback, Strategy Formulation with RCA

Candidate actions that were either old and deprecated or experimental and unmaintained/broken: old recruitment, simple move-to-targets, global fallback, Akihara recruitment, experimental recruitment

The protect_my_unit [goal] type

A number of changes were made to the way Lua AI components are declared in the WML and how the code is called by the engine. The wiki documents the new method in detail, but unfortunately these changes are likely to break some AIs. However, the fixes will be simple in most cases:

If you used old-style Lua candidate actions (with execute= and evaluate= keys) together with an explicit [engine]name=lua tag, they will no longer work as written. In many cases, the fix will be simple - the code within [engine] frequently begins with a line similar to local ai = .... Simply removing this line will be sufficient to fix most such cases; if you accessed a "data" variable in the AI, see the Experimental AI definition (data/ai/ais/ai_generic_rush.cfg) for an example of how to fix it.

If you used old-style Lua candidate actions without an explicit engine tag, you may need to remove a line similar to local ai = ... from some of your code. In general, anything of the form ai = <something> needs to be changed.

If you used new-style (external) Lua candidate actions (with a location key), they will still work for the time being (provided that they use the exec_parms= and/or eval_parms= keys), but we recommend updating them nevertheless. The exec_parms= and eval_parms= keys should be combined into an [args] tag, and the argument list of your execution and evaluation functions should be changed from (ai, cfg, self) to (cfg, data). The data parameter is the same as self.data was before; however, provided you do not have an explicit [engine] tag, self.data will continue to work.

A Stray ; character will appear pre-entered in the command console and will need to be deleted before entering any commands.

The MP server has trouble with Local player types in campaigns (bug #21965 [Gna.org]). We have decided to postpone dealing with this. In the meantime, you might try assigning such sides to the host, or running multiple instances of Wesnoth.

As is to be expected with development releases, there may be many, many more changes in addition to the aforementioned, including WML and Lua API additions for user-made content creators, translation updates, and fixes for recent and long-standing issues. Most of these items are listed in the full changelog. If that seems too overwhelming, you might be glad to know we also provide an alternative players changelog including only those changes deemed to be relevant to the average player.

Do not be disappointed if the game crashes every now and then! Development versions are not the best for those in need of a stable gaming experience, who should stick to the current stable 1.12.x series instead. However, if you want to help us test what will eventually become the next stable 1.14.x series, you definitely should check out this release and report to us any problems you find so they can be fixed in a timely fashion. Content authors are also especially encouraged to port and test their content under new development versions to detect any problems with their add-ons or Wesnoth in advance.

All known Linux packagers have been contacted, and binaries for your distribution may have already been created. Information about where to get the respective binaries or how to install them can be found on the Linux binaries page in the wiki.

Downloads for other platforms may be found on the Download page in the wiki as they become available.

⁂

The multiplayer server for 1.13.x is up and running. This server can only be used to play with other players running the latest development version.

The add-ons server for 1.13.x is already running. It was started for 1.13.0 and it serves all development releases from this series.If you encounter any problems involving add-ons not working as expected, please notify the content’s author or maintainer.

If you find any bugs, do not hesitate to report them, but please read the instructions on how to report bugs first! As bug reports in the forums tend to be forgotten, you will get better results using our bug tracker. We require your help for finding and fixing issues, no matter how obvious, trivial or complicated they seem!

Have fun!

Creator of Shadows of Deception (for 1.12) and co-creator of the Era of Chaos (for 1.12/1.13).SurvivalXtreme rocks!!!
What happens when you get scared half to death...twice?

The new UI changes are lovely, especially the loading screen!
One thing I noticed is that the font size of the story-text in campaigns seems to be a bit to small now compared to the new UI, dialoque font size and so on.
Another thing is the recruitement window. I really like the new style but i think it would be nice to have at least 8 units within the window before one needs to scroll down to see the next one. The Drakes are the only mainline faction who fits in the window, for all other factions the player needs to scroll for 1 or 2 units. I suggest it would be fine just to lower the height of the unitboxes a bit, so that all 8 units fit into the window. (:
Otherwise, this update is a big improvement to the game, thanks again and keep up the good work!

Congratulations on the new release and thanks to all the devs for their hard work on this amazing game!! The new loading screen is beautiful!

Some minor observations about the graphics (the first two may be issues on my end- I'm using Windows 10).
-The speaking portraits seem unusually large- here's a screenshot in fullscreen (1366x768) mode, where the speaker takes up almost half the screen:

Spoiler:

-For the recruit dialog, it looks like the Attacks part needs more room - e.g. in this screenshot the info for the second attack is cut off.

Spoiler:

Screenshot 2016-08-05 00.49.12.png (150.49 KiB) Viewed 7875 times

(I don't see the purpose in using icons rather than words to indicate race/alignment; it seems more confusing and I assume custom UMC races won't have icons. Also, if these aren't placeholder icons, I'm sorry to say that I find them rather ugly.)

I got crash in the first attempt to load it. The second attempt was successfull but the language automatically turned to German. I put it into Russian and it worked.

The bug with Eastern Invasion/The Eastern Invasion seems to be solved, it is translated correctly in Russian for now despite I did no moves to fix it (probabaly shadowm did it). However it is still Eastern Invasion in all other languages except Italian where it is translated as L'insasione dall'est.
But 'Campaign' string in the main menu still is untranslated in all languages except Italian where it is Campagne. Bravo to the Italian translator! He fixed it manually.

Alignments are still untranslated in all languages. Well, I finally informed Ivanovic about these bugs because I see that obviously it better to be fixed in general for all languages (if it is possible) than to be fixed individually by every translator as Italian guy did.

Last edited by Aldarisvet on August 5th, 2016, 10:18 pm, edited 1 time in total.

Hi,
(sorry for my bad English, i'm French)
I just downloaded this last version of Wesnoth (1.13.5) for Mac os X. I have the version 10.8.5 of Mac os, so it should be right, but when I want to open wesnoth, it doesn't work : the icon jumps, then it stops jumping, and nothing happens. My computer tells then that the app does not respond.
I have downloaded the previous version (1.13.4), same...
(I'm sorry, I suppose I should have told it on another place, but I don't know where)

Despite this, congratulations for keeping up the updates

EDIT : It works now !
But some little problems of translation in French.

Last edited by LapinusCretinus on August 6th, 2016, 12:26 pm, edited 3 times in total.

Aldarisvet wrote:The bug with Eastern Invasion/The Eastern Invasion seems to be solved, it is translated correctly in Russian for now despite I did no moves to fix it (probabaly shadowm did it). However it is still Eastern Invasion in all other languages except Italian where it is translated as L'insasione dall'est.

Whether you add the "The" or not depends on the language. Once I get around to translating this, I will definitely add a "The", no matter if the English original contains one or not. Leaving it out sounds unnatural in my language in this context

nuorc wrote:As the notation is changed anyway, I thought I'd mention that I'm not sure that 'damage x strikes' is the intuitive way; does anyone have an opinion about 'strikes x damage'?

I think we did discuss it, and while it's possible that objectively speaking "strikes x damage" might be slightly more immediately obvious to a complete newbie (but that's a big if), switching around the numbers in what's arguably the most central kind of notation in the game would throw off the majority of players (those who have actually played the game for years) so I'd find it rather hard to justify.