Skip to content

Releases: Driftwood2D/Driftwood

Alpha-0.0.11

23 Oct 21:50
Compare
Choose a tag to compare
Alpha-0.0.11 Pre-release
Pre-release

Apart from a few smaller feature additions, this release is mostly about restructuring the project.

Two new API libraries were created -- Folkdance and Stageshow. Folkdance is a reference library which will mostly handle advanced entity-entity, entity-player, and entity/player-world interactions. Currently it contains an InventoryManager and a PlayerManager. Stageshow is a special effects and choreography library.

Stdlib was dissolved, some of its functions moved into the core engine and others into the aforementioned new libraries. In addition, the testing worlds, libraries, and documentation were split into submodules. Note that this means extra steps are necessary to collect everything together to build from source, so a Linux binary release is included. This release gives the Makefile the ability to generate releases.

There is now a __common__ directory inside the data directory. Libraries placed in this folder are automatically added to the data path at startup. Stdlib was initially moved from the source directory to here, but then it was replaced by Folkdance and Stageshow.

JSON schemas were consolidated into strings in a Python file to defeat a complication when building on Windows.

The underscore character is now a shortcut for accessing temporary variables in the engine. Instead of Driftwood.vars["variable"], you can now reference _["variable"].

It is now possible to append or prepend path segments to the config file's path from the command line, instead of only being able to replace it.

InputManager now has contexts, so that for example you can have different keybindings for menus than for player control.

Widget Tree handling was moved to the core engine, and resides in widgettree.py.

The engine now sets its working directory to the directory of the config file you are loading.

And of course, there were many bugfixes.

Alpha-0.0.10

06 Oct 00:10
Compare
Choose a tag to compare
Alpha-0.0.10 Pre-release
Pre-release

In addition to the usual bugfixes, this release's major features are lazy map loading and more complete graphical occlusion which speed things up significantly, especially for large areas, as well as a more complete widget tree description language which supports things like newlines and relative positioning. Entity descriptors now also support Jinja2.

Alpha-0.0.9

02 Oct 00:12
Compare
Choose a tag to compare
Alpha-0.0.9 Pre-release
Pre-release

The first release since hiatus!

This release adds bugfixes and the following features and changes:

  • Switch to Universal Binary JSON for the database format.
  • Beginnings of support for occlusion. Loading and rendering times are heavily reduced.
  • STDLib support for loading and inserting widgets from descriptor files called Widget Trees, which currently support Jinja2 templating with variables, includes, and multiple layers of container widgets.
  • Code restructuring.

Alpha-0.0.8

31 May 06:21
Compare
Choose a tag to compare
Alpha-0.0.8 Pre-release
Pre-release

Now with a Windows 10 binary!

Features in this release:

  • Check all public method arguments for validity.
  • Add Python 3.5 type annotations. (Also increase minimum Python to 3.5.)
  • Remove ability to control ticks per second, preferring automatic calculation. Set Max FPS instead to limit TPS.
  • Custom global event handlers. You can define a function such that it can be referenced by a shortcut name within the map editor.
  • Support loading external Tiled tileset files.
  • Lots of refactoring and bugfixes.

Alpha-0.0.7

29 Apr 21:31
Compare
Choose a tag to compare
Alpha-0.0.7 Pre-release
Pre-release

This is mostly a bugfix release, but also adds a few new features.

  • Cleaner/prettier way of calling scripts from each other.
  • New method for looking up tiles.
  • Entity graphics can now have multiple layers.
  • Remove selfpath configuration option.
  • Bugfixes

We may like to start accelerating our releases by completing less features in each one.

Alpha-0.0.6

26 Apr 16:32
Compare
Choose a tag to compare
Alpha-0.0.6 Pre-release
Pre-release

This is a feature packed release. Here are some of the bigger changes we made in this version.

  • The player can move diagonally in pixel movement mode.

  • You can open another database during runtime, allowing for things like save files.

  • The cache has more responsibilities now and cannot be disabled. We also cannot find a situation in which setting ttl to a low value would not solve any problem.

  • Add define() and undefine() functions to ScriptManager for defining custom triggers that give you some syntactical sugar in the map editor.

  • Pressing tilde (or your configured key) in-game while input.debug is true in the config file will interrupt the game with a pdb prompt in the console. You can execute event scripting code live here. When done, type "continue".

  • Fixed some code issues in the testing world.

  • Improved and fixed bugs in resource handling.

  • Finished first chapter of documentation.

  • Other bugfixes.

Alpha-0.0.5

18 Apr 03:48
Compare
Choose a tag to compare
Alpha-0.0.5 Pre-release
Pre-release

The biggest change in this release is the addition of pixel mode entities. Rather than walking a tile at a time, this new class of entities can move pixel by pixel. Tile based and pixel based entities can collide and interact.

Previously, tile/spritesheet graphic IDs started at 0, and the animation member IDs started at 1. This was confusing, so now they both start at 1, with 0 meaning no graphic.

You can now hold shift (or your configured key) and use the movement keys to face a direction without walking.

You can now change the database root or disable halting on the command line.

This release also refactored and rewrote some of the entity code not related to pixel entities. Bugs were fixed in entity and input handling.

We have also included a binary package for Windows which should not require you to install any dependencies. It has been tested on Windows 10 and may not run on earlier versions.

Alpha-0.0.4a

11 Apr 10:40
Compare
Choose a tag to compare
Alpha-0.0.4a Pre-release
Pre-release

Code cleanup, removed ancient tests folder, added missing code to testing world, fixed some segfaults and crash conditions.

Alpha-0.0.4

11 Apr 07:02
Compare
Choose a tag to compare
Alpha-0.0.4 Pre-release
Pre-release

Features:

  • Replace ScaffyDB with a JSON/zlib based flatfile database.
  • Compile bytecode before packing pyz executable.
  • Manually unwind SDL resources on shutdown instead of using the unreliable __del__ method in most cases.
  • Timestamps count engine ticks instead of SDL ticks.
  • Move most rendering operations into the new FrameManager.
  • Text and container widgets.
  • Command line database editor utility.
  • Bugfixes and tweaks.

Alpha-0.0.3a

17 Oct 21:38
Compare
Choose a tag to compare
Alpha-0.0.3a Pre-release
Pre-release

Added Windows path bugfixes and a convenient batch file, and also some lighting bugfixes.