Yendor.ts 0.6.0 release

The main changes are :

  • a new noise module in yendor.ts similar to libtcod’s
  • lighting in generogue with various items (consumables like torch and candle, refillable like lanterns and magic like sunrod)
  • a major refactoring in generogue code, with files moved around, switch to ES6, use of ES6 modules, use of promises to simplify asynchronous code. For example, waiting for the player to pick an item is now as simple as that :

this.inventoryItemPicker.pickItemFromInventory("use an item", owner).then((item: Actor) => {
this.useItem(owner, item);


noise in yendor.ts

The noise module is now complete, featuring 1D to 3D simplex noise and fbm functions. All this can be seen in the benchmark.




lights update

I’ve just pushed a new version with various improvements :

  • candles and torchs burn away. You can see how much remains in the inventorytorch_inv
  • lanterns can now be refilled with oil flasks

On the implementation side, most of this relies on the existing actor features : destructible, ai and conditions. A torch is an actor with an Ai (because it needs to update every turn). It is destructible and has health points and a permanent condition that decreases its health points. The absence of corpse name for this actor means it is simply destroyed when its health points reach 0.

As for the lantern, the oil flask has a onUseEffector that “heals” actors of a specific type, pretty much like the health potion except it does not apply on the potion wearer but on an item from its inventory. Right now this only works when you have only one lantern in your inventory. I still need to handle the case where you would have to choose an item.



I finally started to implement TCOD’s lighting system into GeneRogue.



It’s still work in progress, torchs and candles never burn out and there are probably a few bugs. You can check the game here : http://roguecentral.org/doryen/yendor.ts/game/index.html

yendor.ts now has a noise module (currently only with 1D Simplex noise used here for light intensity variation). You can check it on the benchmark : http://roguecentral.org/doryen/yendor.ts/bench/index.html

GeneRogue’s actor factory has been rewritten to handle more complex actors. It’s now much simpler as item definitions rely on JSON data (check the actor_def.ts file)



Yendor.ts 0.5.0 release

This version brings a lot of refactoring in the GeneRogue code, extracting two new libraries from it :

  • umbra.ts :  scene graph manager + event bus + user input
  • gizmo.ts : a widget toolkit embryo

There are barely any changes to yendor.ts itself.

The dungeon generator in GeneRogue now creates door/key puzzles.

pixi and typescript have been upgraded to the latest releases.

Check it here.