T-Engine4 / ToME4 beta3 unleashed!

As promised here comes T-Engine4 and ToME4 beta3 ! This release improves many aspects of the game, adds new content after Tol Falas, introduces a new unlockable class, the Sun Paladin. Note: the windows binaries are now compiled in debug mode, so people who experienced random crash please run it under gdb for me (see this link: Note2: When you'll have unlocked sun paladins you'll probably notice they do not start in a "logical" location, that's normal I'll implement it later but I wanted people to try them. OSX binaries will come hopefully tomorrow and this time around we fixed them ;) Changes in no particular order:

  • many fixes
  • when attacking the assassins in the special encounter they get hostile
  • some more info in the savefile description for ToME
  • tells the player when he spotted an hostile while running/resting what it is and if it is offscreen
  • Escape works in quantity prompts
  • 4 difficulty settings: Easy/Normal/Nightmare/Insane
  • toned down the starting traps damage
  • Forest level generator
  • Level generator now ensures connectivity from entrance to exit and to level guardian usnig A*
  • Trollshaws switch to "Forest" generator, using fBm noise
  • add Cavern level generator, also based simplex noise and some floodfill
  • Keybind screen scrolls correctly on 800x600
  • many typo fixes
  • player profiles, replacing some settings, achievements wont transfer but unlocks will
  • BSP generic class
  • Town map generator
  • better particle engine; particles can follow an actor
  • many new spell effects
  • scroll of shielding
  • fix phase door & teleport to not be stopped by LOS
  • fixed savefiles for OSX
  • fireflash effect
  • extended quest line after tol falas, moria is now available
  • most talents now warn the player when self-targetting
  • cannot die in the ambush of tol falas
  • killing ukruk is now supported in tol falas ambush
  • all sustained talents deactivate if the ressource they depend on reaches 0
  • changed all speed mods to be a percent and compute them right (+100% means twice as fast not infinitely faster)
  • reduced shadowstrike damage
  • all crits are now 150% instead of 200%
  • stun/freeze/slow/pinned/confusion/blind durations reduced based on rank and physical/mental/spell resistance
  • Freeze cooldown increased to 5
  • "hit warning" displays the direction of incomming ranged attacks
  • nasty surprise for the Master
  • monster can now have escorts
  • 2 new unique random boss
  • Monsters that can open door can now .. open doors :)
  • Anacondas dont stun, they constrict
  • New quest in the far east for access to the Gates of Morning
  • Added Gates of Morning (copy of bree for now, sorry!)
  • New zone: Ardhungol, lair of spiders
  • Sun Paladin class available

Have fun!

More spell effects! In video!

Beta 3 is coming in a few hours, and to make you wait here are some of the new spell effects you'll find inside! Here we can see fireflash, manathrust beaming, lightning and some more:

And there a demonstration of the hit direction warning and persistent spell effects:

Improved particle engine: chain lightning!

Coming to you next beta: an improved particle engine to display spell effects, like this chain lightning spell: Yes this is made with the same particle engine (scripted in lua obviously) that handles explosions. I also added spinning shields around the player/npc too but a screenshot does not do them justice, you'll have to see them live. (Or, how does one capture a video of an opengl app on linux ?)

Beta 2 is upon us!

As promised, here comes T-Engine4 & ToME4 beta 2! This releases fixes many little bugs, and some major ones, re-balances some things here and there, improves the interface and CPU usage. It also come with a very dirty example module which is much much smaller than ToME that people can use as a base for their own modules. The current endgame moved a bit with the addition of Moria but not much further, in the next few betas I will implement a good part of the missing zones for levels 20-50. And this time, OSX binaries are available! List of changes in no particular order:

  • try to stop passage of time after death
  • menu for sound & music disabling
  • allow window to dynamic resize
  • do not destroy objects when not able to equip them
  • A* algorithm (engine.Astar)
  • game pauses when it looses focus, no CPU used when paused
  • modules can return true from their tick() to pause the ticking until the next SDL event, reducing CPU usage drastically
  • mouse-right-click will now make the player either:
    • run to the clicked spot if a path can be found
    • run in the direct if no path is found
    • move one turn in the direction if hostiles are present or if the clicked spot is adjacent
  • MiniMap ! default keybind: TAB
  • move lua lane keeper to a lua file, to avoid 64bits problems
  • all coroutine.resume calls no do good stacktrace
  • Mac OSX support
  • PlayerDisplay does not run every frame, better displaying performance
  • fixed crash with no music found
  • template example module
  • bows & slings improve firing range
  • fixed Berserk (wont loose attack)
  • stats on levelup are bound without considering items
  • keybinds used in Birther
  • traps are correctly detected by the Sense spell
  • new world map special encounter
  • arcane combat is now sustained
  • black mamba & anacondas are rarer and higher level
  • adjust stats&life by rank
  • Shadowblades now have "Shadow magic"
  • nobody regens mana but mages
  • id from inventory screen now updates correctly
  • do not waste cooldown & resources when canceling archery
  • talents don't activate with the mouse by just dragging over, requires a mouse up
  • identify now works on equipment too
  • black bear is greyer
  • fixed all npcs to use auto_req for their stuff
  • added moria and a reason to go there, the end is quite loose at this point
  • Ukruk now has Rush
  • Stone Wall actually works now
  • added a_lomos_del_dragon_blanco music
  • fixed chain lightning
  • new display modes: ascii with color background
  • slings are made of leather
  • gradient lightning
  • all players now start with 2 potions of cure poison
  • reduced the size of the last level of elven ruins

Have fun!

Lightning effect is bright!

Ok .. pun intended! Anyway, coming next version: gradient lightning. Again this is a per-module setting, yay T-Engine !

The MiniMap is coming!

Today is a good day! A new feature will join ToME4 next release, the minimap! ToME4 Minimap display It should be self evident what it does. There are three modes:

  • no display
  • small display in the corner
  • big display over the map

Now I'll return to implementing the Moria, Golbug and the Orb of Many Ways!

New feature: Mouse movement

Mouse movement will come in next ToME4 release.

I believe I have got something that "flows" well, it works with a simple right click on the map:

- if there are no hostiles in sight it will compute an A* path, or a direct path if A* fails, and run along it until something interresting happens

- if there are hostiles in sight or if the clicked spot is one square away it will just move one turn in the given direction

CPU Usage

Some people have raised concerns about the 100% CPU usage.

While I do not believe this to be a problem for games I have still changed it for next release. The engine will check for the return value of the game:tick() method, if it is true it will not call tick() anymore until new events come in.

The display function will only be called if the game has focus.

So modules that require it can still run full time and others can tell the engine to be nice.

Happy ? ;)

ToME forever: Announcing ToME4 beta!

The board is set, the pieces are moving. For many years people have patiently waited for ToME3 to be released, for many years I have tried. But I always burned out of developing it too fast. It was a pile of old crappy code I could not stand working on anymore... So one day I set out on a new venture, to rewrite it all from scratch, to forget code I could not bear using anymore and to focus on a new engine, and a new game. This was about six months ago, and now after 20 private alpha versions I am ready to unleash the Tales of Middle-Earth: The Fourth Age and T-Engine4 onto the world!

T-Engine 4

This is the "spiritual" successor of T-Engine 3, the basic idea is the same: to make a roguelike game engine that allows the game maker to focus on making a game, not on handling the trivialities of coding. Being the lua fanatic I am the engine obviously uses it, and much more than in T-Engine2/3. There is a very small C core that is mostly unaware of any high level designs, it simply provides access to graphics, sounds, input, ... T-Engine4 can handle many things and is meant to be easily extended. Its lua core is documented and based on a simple OO design, leveraging the full power of Lua. A list of features can be found at but the most important ones are:

  • single unified UI using OpenGL on all platforms
  • support for many roguelike concepts from scratch without imposing limits on what can be done with them
  • easy input (keyboard & mouse) support
  • generic save/load code using serialization, simple objects do not even need to be aware of it, it works auto-magically
  • support for both graphical mode and traditional ASCII, potentially at the same time
  • many other things, checkout the site and try it

Tales of Middle-Earth: The Fourth Age

Because an engine is nothing without a game (and because I wanted to make a game), I developed ToME4 at the same time. As I developed ToME3 I was starting to feel restricted by the theme I had setup for myself, that of the quests for the ring in the third age. Do not get me wrong, I love the setting but it felt to me like I was meant to follow a pre-existing story and had little room for improvements, all I could do was bastardise it. So I took a hard, but IMO needed, decision for ToME4 and scrapped that altogether. It is based one hundred and twenty two years after the fall of Sauron, in a world that is in relative peace under the guidance the High Kings of the Reunited Kingdom (Gondor and Arnor). The player is not "the chosen one" that goes on to save the world from level 1 but instead a simple adventurer, out for glory and treasures. While there is a grand-evil-that-must-be-stopped it is revealed slowly as part of the player leveling up and should feel much less intimidating. The biggest gameplay change is probably the switch to a new stats&skills system. The primary stats are now Strength, Dexterity, Magic, Willpower, Cunning and Constitution (with a hidden Luck stat) and the skill system has been changed to follow a "standard" pattern for most skills. They are now called talents and usually have 5 levels. All talents are organised in talent types, usually 4 talents per type. This forces to have some interesting designs for each classes, melee classes have gained a lot from it and now have many combat techniques they can use. Some races, classes and other "things" also need unlocking before they can be used. Fear not, the mage class for example is indeed in the game but requires unlocking to be available, as are others. There is mainly two reasons for this design:

  • it allows to not overwhelm a new player with too many unknown choices at birth
  • it allows to give "rewards" without winning the game

At the start the player can be a human, dwarf, elf or hobbit and either a warrior, rogue or archer (with subclasses for each). ToME4 (and T-Engine4) are meant to be enjoyable by anybody, as such there is no hidden "macro", or tons of useless and cryptic options. Key-bindings and graphical modes are set-able in game with the main menu (available by pressing Escape from the game). Mouse support is available in most dialogs, it can even be used to activate talents. Both ToME4 and T-Engine4 are now in public beta, meaning they are usable but not done. T-Engine4 is mostly good and I did not modify it much for some weeks now, except to add some new independent features (like new map generators). ToME4 story is fully planned in my head and was meant to be split in two half. The first half is done and playable (and such the game is currently winnable), the second half will be implemented during beta. Now go to or and download it!

Syndicate content