0.7.0b1 online !

I’ve just pushed the 0.7.0 version on github. You can try the game here and the benchmark here.

As it’s still poorly balanced, I suggest you rather use the debug version at http://roguecentral.org/doryen/yendor.ts/game/index.html?debug=1 as you start with a lot of goodies that make survival easier.

It’s the first version featuring an actual widget toolkit and an actual scene manager. You can try the widgets in a new sample from the benchmark.


In this version, creatures corpses sometimes contain loot. Some chests are also placed at strategic places in dungeons.


After a few iterations of bugfixing and balancing, I’ll start working on 0.8.0 whose main goal is to bring more monsters in the rooms containing chests. This implies a behavior tree module in yendor.ts and a refactoring of the current A.I. code.


[edit] : contrary to what the readme reads, the GUI toolkit doesn’t use immediate mode anymore. It’s a standard class-based widget toolkit.



  • You can organize your inventory using containers (satchels, bags, pouches).
  • Drag’n drop support
  • container auto-naming (“a bag of weapons”)
  • less numbers, more text (“almost burnt out torch” instead of torch [7%])

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.