Flare 1.06

Flare 1.06 is now available for download. This update contains some fixes for the Torture Chambers and brings a few improvements to the Android port.

Torture Chambers

There were two issues that had been reported with this map. The first being that it was possible to attack the imprisoned enemies without consequence while the barriers were still active. I wanted to fix this without changing the existing hero attacks, so I ended up adding the ability to make groups of enemies invincible based on campaign status. Modders that are interested in this new feature should refer to enemygroup.invincible_requires_status and enemygroup.invincible_requires_not_status in the Attribute Reference.

The second issue was a bug with the “Warden’s Notes” quest in this map. The end of the quest contains a switch to unlock the chambers and a teleporter to return to the main area. Previously, it was possible for players to skip the switch and teleport back to the main area. This left players with no way to unlock the barriers. This has been fixed by requiring the player to use the switch before the teleporter becomes active. For players that had already encountered the bug, the quest should reset the next time you visit the Torture Chambers.

Android port improvements

The existing controls for the Android port had behaved like a desktop user with “Move hero using mouse” enabled. When using such a control scheme, the mouse cursor is generally near the hero in the center of the screen. This is acceptable for desktop users because the cursor is just a small arrow. On mobile, however, this cursor is replaced by the player’s finger. This results in the action being completely blocked, and thus a poor play experience. To remedy this, I’ve added a virtual joypad to the Android port. On the left is a virtual d-pad for movement. On the right are two buttons which correspond to the two primary attacks.

Another “flaw” on mobile is vastly higher DPI screens than most desktop systems. For reference, my desktop is around 92 DPI, whereas my phone is 300 DPI! So running Flare on my phone’s 1280×720 display resulted in the game running at the higher virtual resolution of 600p. This led to me adding a virtual_dpi setting, which lets modders define a target DPI for their game. I’ve set the fantasycore mod’s target DPI to my desktop’s setting, so the game will now use the lower 480p resolution on mobile. This results in everything being bigger and much easier to interact with. While disabled on desktop by default, I’ve also made it possible to enable DPI scaling in the Video options.

  Windows

 Linux

Changelog

Engine features

  • Allow modders to define a target screen DPI for resolution scaling.
  • Added video option to toggle using DPI scaling.
  • Add virtual joystick buttons for touchscreen devices.
  • Add ability to make groups of map enemies invincible based on campaign status.

Engine fixes

  • Fixed performance flaw when “always show statbar labels” was enabled.
  • Fix bug where incorrect Power menu tooltip was fetched when not using a mouse.

Game changes

  • Fix Torture Chambers quest breaking if the player skips the switch at the end.
  • Fix being able to attack imprisoned enemies in Torture Chambers by making them invincible while the barriers are up.
  • Reset Torture Chambers quest if it was finished without opening the barriers.

Translation updates

  • Spanish (es) update (Diego J. Romero López)
  • Scottish Gaelic (gd) update (GunChleoc)

Flare 1.05

Flare 1.05 is now available for download. It includes many new features, a few of which I will now highlight:

Developer mode improvements

The developer console has been made more compact and the old developer HUD has been removed. The new HUD displays the radius of hazards as well as the origin points of entities. The text output of position information is gone, as it would often be covered by the developer console. Replacing it is a tile cursor. Right clicking on a tile will display information about the mouse cursor position, the tile itself, and any entities that inhabit the tile. Holding right click will also calculate the distance from the player’s position.

Isometric draw order fix

We’ve had a long standing issue with the way some tiles were being drawn in relation to other objects on the map. Tiles that are part of larger objects are split in a way that would make them improperly overlap entities. This has been fixed for the majority of cases, but at the expense of some less optimized rendering code. So if you experience performance issues after updating to 1.05, please report them.

Multiple images in tileset definitions

Previously, Flare tileset definitions could only contain a single image file. This made it difficult for modders to expand on existing tilesets. It also made it impossible for old graphics cards to use the hardware renderer in combination with very large tilesets. Now, modders can freely add new images to tileset definitions, eliminating those two issues.

New game data attributes

  • (Powers) Powers can now be prevented from being placed on the actionbar with no_actionbar. Also, multiple instances of requires_item and requires_equipped_item are now supported.
  • (Events) Loot tables can now be used for rewards with reward_loot and reward_loot_count.
  • (engine/misc.txt) Modders can now control if the buyback persists across maps with keep_buyback_on_map_change.
  • (engine/default_keybindings.txt) A default set of keybindings can now be provided by mods.

  Windows

 Linux

Changelog

Engine features

  • Tileset definitions now support multiple images.
  • Display a message when unable to use a consumable item from the inventory.
  • Add a hint to consumable/book tooltips to expose their interactable nature.
  • Add ability to prevent certain powers from being placed on the actionbar.
  • Multiple entries of “requires_item” and “requires_equipped_item” are now supported for Powers.
  • Add “keep_buyback_on_map_change” to engine/misc.txt to disable saving the buyback between maps.
  • Add “reward_loot” and “reward_loot_count” to Events for rewarding via loot tables.
  • Support hidding the developer console title label.
  • Mod-level default keybinding support added.
  • Improved developer mode with inspection cursor.
  • Passive powers can now continuously cast their post_power.

Engine fixes

  • Fixed incorrect render order for some objects; aka “character partly hidden by front of tent”.
  • Fix stats/powers not updating when changing equipment in some cases.
  • Prevent auto-equipping items if they would cause existing items to be unequipped.
  • Fix revive effect not being applied when the player has zero HP.
  • Removed unused color key attribute parsing from tileset definitions.
  • Fixed building on FreeBSD.

Translation updates

  • Spanish (es) update (Eric R)
  • Scottish Gaelic (gd) update (GunChleoc)
  • Italian (it) update (MOB2)
  • Polish (pl) update (Pawonashi)
  • Portuguese (pt) update (Rui)
  • Russian (ru) update (Ademaro)
  • Ukrainian (uk) update (Sergiy Borodych)

Flare 1.04

Flare 1.04 is now available for download. It contains a few bug fixes that were overlooked in 1.03.

  Windows

 Linux

Changelog

Engine fixes

  • Fix a regression that caused book text that was not left-aligned to be cut off. (Justin Jacobs)
  • Fix a crash when teleporting to the default position of map with a summoned creature. (Justin Jacobs)

Game changes

  • Fall back to Liberation Sans when fancy fonts lack the appropriate glyphs for the current language. (Justin Jacobs)
  • Fixed translation script not grabbing subtitles from soundfx/subtitles.txt. (Justin Jacobs)

Translation updates

  • Scottish Gaelic (gd) update (GunChleoc)
  • Portuguese (pt) update (Rui)
  • Ukrainian (uk) update (Sergiy Borodych)

Flare 1.03

Flare 1.03 is now available for download. Newly implemented is the ability to trigger events from books (demo below). Flare 1.03 also includes a handful of bug fixes, as well as several translation updates. Many of the translation updates are from new volunteers that joined the Transifex team.

  Windows

 Linux

Changelog

Engine features

  • Buttons that trigger Events can now be added to books. (Justin Jacobs)
  • Add ability to control image display in books via campaign status. (Justin Jacobs)
  • Add ability to execute Events upon opening/closing a book. (Justin Jacobs)

Engine fixes

  • Fix crash when using invalid primary stat in stat_per_primary. (Justin Jacobs)
  • Fix crash when a book contains an invalid image filename. (Justin Jacobs)
  • Fix incorrect handling of newlines in tooltips. (Justin Jacobs)
  • Don’t spam “Entity stuck” message while pushing an entity out of a bad tile. (Justin Jacobs)
  • Keyboard key names such as “Backspace” and “Left Ctrl” can now be translated. (Justin Jacobs)
  • Prevent HP/MP/XP bar meter from exceeding the size of the bar. (Justin Jacobs)

Translation updates

  • Scottish Gaelic (gd) update (GunChleoc)
  • Greek (el) update (Nea Retrogamer)
  • Spanish (es) update (Diego J. Romero López)
  • French (fr) update (sang-froid)
  • Italian (it) update (MOB2)
  • Portuguese (pt) update (Rui)
  • Ukrainian (uk) update (Denis Lysenko, Микола Франчук)

On Transifex

If you’ve been following closely, you saw that I closed the Flare projects on Transifex yesterday. I cited Transifex as being unsuitable for our workflow. I’ve since been convinced to re-open the project pages and decided shift our workflow slightly to better adhere to the Transifex way of doing things.

For those completely unaware of our presence on Transifex to begin with, you can find both the engine and game projects on there. Translators interested in helping make Flare better in your language can join the flare-engine team. 14 of our 20 translated languages are without an assigned translator, so there are many places you can help.

And we will still be supporting our existing methods of submitting translations. So if you would rather submit your work as a Github pull request or send it via e-mail, feel free to do so.

Flare 1.02

Flare 1.02 is now available for download and fixes a few crashes along with some language updates.

  Windows

 Linux

Changelog

Engine features

  • Support multiple campaign statuses for requirements in engine/titles.txt. (Justin Jacobs)

Engine fixes

  • Fix crash on exit caused by not clearing the Hazard queue. (Justin Jacobs)
  • Fix regression that caused a crash when configuring mods in the wrong order. (Justin Jacobs)
  • Fix bug where player title wouldn’t update after “unset_status”. (Justin Jacobs)
  • Fix potential NULL dereference in vendor window. (Justin Jacobs)

Translation updates

  • Scottish Gaelic (gd) update (GunChleoc)
  • Polish (pl) update (Pawonashi)
  • Russian (ru) fix (Igor Paliychuk)
  • Ukranian (uk) update (Микола Франчук)

Flare 1.01

Flare 1.01 is now available for download! It includes many bug & crash fixes, as well as a few game play changes based on player feedback.

Downloads

  Windows

 Linux

 Mac OS

  • The Mac OS version is still having issues, so a new version is not available at the moment.

Changelog

Engine features

  • Add “Renderer” option to the Video section of the Configuration menu. (Justin Jacobs)
  • Support loading some hard-coded Configuration menu values from menus/config.txt. (Justin Jacobs)
  • Add WidgetSettings class for loading previously hard-coded properties of some Widgets. (Justin Jacobs)
  • Add support for changing the buyback price after the player leaves the map. (Justin Jacobs)
  • Add ability for certain classes to open a specific tab of the Powers menu automatically. (Justin Jacobs)
  • Add ‘respec’ Event component for resetting XP/stats/powers. (Justin Jacobs)
  • Add ‘no_aggro’ Power attribute. (Justin Jacobs)

Engine fixes

  • Fix bug where if minions were blocking the player, they couldn’t be moved out of the way. Minions are now forced to move out of the way if the player is close enough. (Justin Jacobs)
  • Fix bug where removing a primary stat bonus would break passive powers that relied upon said bonus. (Justin Jacobs)
  • Fix crash on exit when using the sdl_hardware renderer on some systems. (Justin Jacobs)
  • Fix disappearing text caused be resizing the window in some cases. (Justin Jacobs)
  • Fix a regression in button and checkbox logic that prevented them from working with keyboard and controller input. (Justin Jacobs)
  • Fix rendering of tabs when individual tabs are too short or too long. (Justin Jacobs)
  • Adjust gamma slider range so that the default value is in the middle. (Justin Jacobs)
  • Clean up error messages that are displayed when the stash hasn’t been created. (Justin Jacobs)
  • Prevent the same key from getting bound to multiple actions. (Justin Jacobs)
  • Prevent editing joystick bindings when joystick is not in use. (Justin Jacobs)
  • Don’t try to send items to buyback when using SELL_WITHOUT_VENDOR. (Justin Jacobs)
  • Fix named Effects not showing up in Power menu tooltips. (Justin Jacobs)
  • Fix passive powers not respecting some power usage requirements. (Justin Jacobs)
  • Fix some events being activated when they shouldn’t if the player was inside of their location rect. (Justin Jacobs)
  • Fix Power attribute pre_power not working for AI creatures. (Justin Jacobs)
  • WidgetScrollBox now scrolls in 5% increments based on the size of its contents, as opposed to a hard-coded pixel amount. (Justin Jacobs)
  • Fix memory leaks in GameSlotPreview, LootManager, PowerManager, and ModManager. (Justin Jacobs)
  • Fix incorrect dimensions of SVG icon. (Alexander Wilms)
  • Fix Windows installer not using the correct working directory for launching Flare after install. (Justin Jacobs)

Documentation

  • Add documentation for creating Mac OS build. (Thomas Leavitt)

Translation Updates

  • Scottish Gaelic (gd) update (GunChleoc)

Game changes

  • Redesign final Fort Nasu puzzle, in response to the frustrations of many players. (Justin Jacobs)
  • Increase elemental ring bonuses by 10%. (Justin Jacobs)
  • Tweak slingshot stone graphics to make it more visible on some maps. (Justin Jacobs)
  • Add appdata.xml for use with various package managers. (Alexander Wilms)

1.01 coming soon, string freeze starting today

First off, I want to say thank you to everyone who’s been playing 1.0. The response has been very positive and I, personally, couldn’t be more happy.

We’ve gotten a lot of feedback on bugs and gameplay annoyances, which we’ve fixed for our next release. A full change log will be available when 1.01 is released some time this weekend.

There were a few new/changed strings in the engine and the game data, so we are starting a short string freeze for translators. Translations should be in by 2:00 PM EST on Friday, March 30. Below is a summary of the strings that need attention:

#######
### mods/default/languages/engine.pot
#######

#: ../../../src/DeviceList.cpp:55
msgid ""
"SDL software renderer\n"
"\n"
"Often slower, but less likely to have issues."

#: ../../../src/DeviceList.cpp:58
msgid ""
"SDL hardware renderer\n"
"\n"
"The default renderer that is often faster than the SDL software renderer."

#: ../../../src/SDLInputState.cpp:703 ../../../src/SDLInputState.cpp:707
#: ../../../src/SDLInputState.cpp:711
#, c-format
msgid "'%s' is no longer bound to:"

#######
### mods/empyrean_campaign/languages/data.pot
#######

#: ../powers/base/magician/thunderstrike.txt:4
msgid "Lightning strikes from the sky with a high chance to critically damage movement-impaired enemies.

Update: Translation is now possible via Transifex for both the engine and game.