Skip to content

Releases: PurpleKingdomGames/roguelike-starterkit

0.5.0

07 Jan 22:18
Compare
Choose a tag to compare

New, Noteworthy, and Breaking Changes!

Scala.js 1.15.0

All PKG libs aim to stay current with Scala.js, and so the RLSK has been upgrade to 1.15.0. You will need to upgrade too!

Bugfix: Generated FontInfo no longer breaks Scala.js linker

A couple of versions back, full character support was added to the generated tile information including FontInfo instances, and this led to nondeterministic failures in the Scala.js linker. This wasn't Scala.js's fault, the implementation in this library was poor, and has now been fixed.

Breaking Change: FOV / Bresenham's line algorithm removed!

It has been transferred to Indigo, but otherwise works identically:
https://github.com/PurpleKingdomGames/indigo/releases/tag/v0.16.0

Breaking Change: PathFinder removed!

The implementation of path finding in the RLSK was not much better than Indigo's soon-to-be-deprecated SearchGrid, please use Indigo's new PathFinder instead:
https://github.com/PurpleKingdomGames/indigo/releases/tag/v0.16.0

TerminalEmulator is now backed by SparseGrid data type

The original terminal emulator was backed by Indigo's old QuadTree implementation, but version 0.16.0 of Indigo has completely reworked that to the extent that it is no longer suitable for the terminal's use case. Instead the TerminalEmulator is now backed by the SparseGrid type, which is much more appropriate and slightly more performant.

General improvements:

  • Fixed #47: Terminal exposes size field
  • Fixed #46: Add Terminal alias to package

Generated Notes:

What's Changed

Full Changelog: v0.4.0...v0.5.0

0.4.0

27 Nov 00:16
Compare
Choose a tag to compare

Breaking and noteworthy

  • This release contains a prototype version of a UI system for roguelikes. Currently includes Window, Button, Label and ComponentGroup types.
  • Deprecated TerminalEntity - this was the original terminal rendering solution, but it has long been superseded by CloneTiles.
  • Top level package is now simply roguelikestarterkit (i.e. import roguelikestarterkit), this is to be consistent with how the rest of the PKG libs are packaged.
  • PathFinder has had some work to make it simpler and more user friendly. This does not make it better at finding paths! (It may even be worse, test suggest not but...?)

Bug fixes

General improvements

  • MapTile now has withColors method
  • TerminalEmulator screenSize renames to size to be consistent with RogueTerminalEmulator
  • RogueTerminalEmulator has a clone() method, for when you really want a copy.
  • Methods to allow conversion between RogueTerminalEmulator and TerminalEmulator types
  • Able to render regions of a terminal
  • TerminalClones have convenient toSceneUpdateFragment method
  • You can now modify clone instances during creation, for exciting new effects!
  • Terminals have new modifiers like map, fillCircle, and modifyAt to name a few.
  • import roguelikestarterkit.syntax contains a toPoints extension method for Rectangles that produces a grid of points.
  • PathFinder has a nextMove method to give you just the ...next move!
  • PathFinder no longer needs a dice instance, it is not random.
  • PathFinder chooses the tile most directly heading towards the target.
  • PathFinder's locatePath no longer includes with current position / start.
  • Preserve tile sheet colours - If a tilesheet include colours, we now ignore those and only tint the grey scale values.
  • Add support for dynamic lighting.

Full Changelog: v0.3.2...v0.4.0

0.3.2

08 Nov 18:20
Compare
Choose a tag to compare

This release introduces higher-performance nearly-drop-in alternatives to two of the standard components, both with their own trade-off's.

  1. RogueTerminalEmulator is a faster, more dangerous version of TerminalEmulator. It is a mutable structure and so is much faster, but requires a little more thought in it's use (perhaps). Unlike the original, it is packed, not sparse for more constant memory usage.
  2. TerminalMaterial is a leaner version of TerminalText, with the (slightly dubious) drop shadow functionality removed. It requires less data all round, and has simpler, faster shader code.

What's Changed

Full Changelog: v0.3.1...v0.3.2

0.3.1

03 Nov 08:50
Compare
Choose a tag to compare

Minor improves and fixes release:

  • Upgrade to Scala.js 0.14.0
  • TerminalClones now form a Monoid (#6)
  • Tile has a 'safe' fromInt constructor (#7)
  • Generated tiles include null and nbsp characters (#9)
  • Bug Fix: You can now use two different tile sheets at the same time (#8)

Full Changelog: v0.3.0...v0.3.1

0.3.0

26 Sep 18:28
Compare
Choose a tag to compare

Functionally identical to previous release. Built against Indigo 0.15.0, Scala 3.3.1, and Scala.js 1.13.2.

0.3.0-RC2

04 Jun 21:24
Compare
Choose a tag to compare

Brings the Roguelike-Starterkit up to date with Indigo 0.15.0-RC2 and Scala 3.3.0. No functional changes.

0.3.0-RC1

20 Apr 21:01
Compare
Choose a tag to compare

This release is an RC release as it depends on Indigo 0.15.0-RC1.

This release brings the Roguelike Starterkit up to date with Indigo 0.15.0-RC1, and also ports all of it's shaders to Ultraviolet.

Additionally, all foreground text colour values have been converted from RGB to RGBA and you can now optionally render a hard 1 pixel drop shadow at no additional cost.

0.2.0

25 Sep 13:22
Compare
Choose a tag to compare

An absolutely tiny release to keep the Roguelike-Starterkit in lock-step with the new Indigo version (0.14.0) and it's dependencies.

0.1.0

13 Jun 21:34
Compare
Choose a tag to compare

This is the first official release of the Roguelike-StarterKit, which provides terminal rendering tools for Indigo games based on the Dwarf Fortress asset packs.

I have been using this myself for quite a long time now and it's pretty stable.