T-Engine4 / ToME4 beta11 unleashed!

As promised here comes T-Engine4 and ToME4 beta11 !

I wanted to release it this sunday for the ARRP but I was with my wife at a medieval fantasy meeting, so no go (but you might get pictures later !).

Hopefully this late release can quality for the ARRP, but anyway it was scheduled to happen! Sorry if there are a few rough edges, I rushed to put it up as soon as I got out of the train!

Release highlights:

  • New class : the Cursed
  • New race: Noldor
  • New feature: Vaults!
  • New talents for archers and some other classes
  • Better UI, fully playable using the mouse
  • Display speed improvments
  • Much balancing and fixes

Expanded changelist:

  • Fixed alchemist channel staff description
  • Fixed alchemist description
  • Offensive Phase Door & Teleport will only apply the debuff if the target was teleported
  • Jeweler correctly deducts his fee when making a ring
  • Fixed the Trollshaws quest completion
  • Clicking on your spot now spends a turn
  • When finding lore items they register in the combat log
  • Added trails based on damage type to the Channel Staff spell, made it intoa real projectile and uses spell crit instead of physical crit
  • New zone: Path of the Deads, a special starting zone for undeads
  • Strings can have font style inlined: #{normal}# #{bold}# #{italic}# #{underline}#
  • Heavy & Massive Armour Training talents now increase armour by a bit more and reduce the chance of incomming critical hits
  • Undeads can also have escort quests generated
  • Objects can have a "not_in_stores" field to prevent them from appearing in any stores
  • Added more new world artifacts
  • The portal to Mount Doom in Eruan is one use only
  • New troll & canine tiles
  • Increased UI display speed. LogFlasher, LogDisplay, HotkeysDisplay, ActorsSeenDisplay, Tooltip and PlayerDisplay classes have changed and are now easier (and faster) to use. Converting is easy:
    • In your Game:display() change lines like self.log:display():toScreen(self.display_x, self.display_y)
    • to simply: self.log:toScreen()
    • To convert your own PlayerDisplay have a look at ToME's one, but basically you just need to create a texture with :glTexture() and then update it at the end of yoru display() and add a new toScreen() method
  • Escort quest AI will now try to not get stuck deciding between two possible ways
  • Escort quest AI will now run for the portal if it is in sight and the path is clear
  • The money achievements will pop no matter the mean of acquiring money
  • Allow on_grant() method of quests to return true to prevent the quest from being assigned
  • Amulets of the fish now have a description
  • Added a new unique jelly
  • Added new world artifacts
  • All starting zones now forbid big out of depth NPCs
  • Added Packing cunning generic talents, available to archers & slingers at start and unlockable by rogues
  • Projectiles run a checkAllEntities("on_projectile_target") on their destination
  • New talent category "Field Control" as dexterity based techniques. Available to archers/slingers and unlockable by fighter/berserker and rogues.
  • Added an easy mode: -30% damage, +10% healing, one self-resurrect at the level entrance every 5 levels
  • Can not escape from the endgame fight
  • New feature: Vaults !
  • New class: Cursed (thanks to Benli)
  • Magic Mapping is blocked by block_sense grids (like vaults)
  • Added a new encounter in the west that leads on a quest and unlocks the Cursed class
  • Extracter the rooms loader of Roomer generator into a RoomsLoader taht is now also used by Forest
  • Static map generator can now use a rotates variable (in the map def, like startx) can can be any of "default", "flipx", "flipy", "90", "180", "270"
  • Limmir is not teleportable anymore
  • Added scrolls of controlled phase door
  • Talents ids are now strings instead of numbers, this should make savefiles more compatible proof
  • Conveyance's space destabilization effect is now based on your spellpower
  • Added fs.rename() function
  • Savefiles now write to a temporary file and are then renamed, this prevents savefile corruptions
  • Ensure consistency check of the various files of a savefile: zones saved between a save and a crash will not load
  • Changed the Valley of the Moon map ot make it possible for non mages
  • Town generator can produce vaults
  • Fire/Acid/Lightning/Frost infusion got special effects (burn, blind, daze, freeze)
  • Added lore to Tol Falas
  • Reduced Thunderstorm mana drain
  • HotkeysDisplay, ActosSeenDisplay and LogDisplay can now use an image as a background "color"
  • Changed UI to split the various zones visualy and add background images
  • Added a warning to the portal to Mount Doom in Eruan that mount doom is a very fiery and dangerous place
  • Fixed Slime Tunnels and Mount Doom reentry
  • Aeryn will correctly complete the "Many prides of the orcs" quest
  • Added some new "fun" traps
  • Reaver unlock can now be done over the course of multiple games, so people will naturally get it over time
  • Added icons for main menu/craetures display/talent display
  • Hotkey display shows a tooltip for the mouseover
  • Fix icon application
  • Reduced the chance for jewelry to be ego at very high levels
  • Buffed a bit the endboss
  • Buffed one of the endgame boss drops
  • Can not teleport forward in Mount Doom
  • Tweaked Stone Wall spell
  • Added ghost NPCs, if you die to them: you can complain to Patryn on the forums :)
  • Increased number of spiders in Arhungol
  • Increased dragon power
  • drawColorStringBlended and drawColorString can now get a new argument that limits the size of the string to output
  • Inventories/Stores/... dialogs will not allow an item name to "bleed over" other parts of the dialog
  • Shattering Impact talent will not damage the user anymore
  • Maybe fix quake ..
  • Dialogs titles are in bold
  • Time Prison applies the same continuum destabilization effect as phase door & teleport
  • Left mouse click now confirms a talent use instead of rigth click
  • Right click on the map will now bring up a list of possible actions (pickup item, move to, use stairs, ...). Thegame is now fully playable using just the mouse!
  • Usuable talents show up in the right mouse contextual menu
  • All (nearly) dialogs can be exited by clicking outside their borders
  • New race: Noldor (Elves)

Have fun!

New UI, playing with the mouse and contextual menu

ToME4 next beta will be released monday for the ARRP but to make you wait until then here is a video of a playing session with only the mouse, just because I can! This also shows the new UI with nicer backgrounds and such and the right mouse click contextual menus.

Have fun!

Online profiles: first stats

Online profiles have multiple purposes:

  • To let players automagically transfer unlocks/achievements/... from one computer to an other
  • To let players display their stats on the web (currently in development)
  • To give me stats so I can enhance the game

So I compiled a few fun stats today, my first ones!

Today as of 01:00 the 15th september 2010 and since the release of beta9 the 14th august:

  • 437 online profiles registered
  • 414 online profiles that logged on more than once
  • A total of 184 days, 11 hours, 44 minutes and 7 seconds have been spent by all players inside ToME4
  • The deadliest monster of all times is .......... the RATTLESNAKE ! Closely followed by the forest troll

Voila! Have fun! Enjoy ToME4 and T-Engine4 !

PS: And remember people, rattlesnakes poison and every character starts with cure poison potions!

T-Engine4 / ToME4 beta10b unleashed!


A nasty bug slipped through beta10, if you have online profiles active you cant save the game.

Go to T-Engine4 and ToME4 beta10 ! you can download beta10b to fix it.

Sorry for the inconvenience.

T-Engine4 / ToME4 beta10 unleashed!

As promised here comes T-Engine4 and ToME4 beta10 !

Release highlights:

  • Winable game! The endgame fight is implemented with three possible outcomes.
  • Smarter AI, most monsters can now pathfind using distance maps
  • New class: Reavers
  • Support for engine self update (disabled for now)
  • Many speed improvments
  • Finished alchemists spells
  • Much balancing and fixes

Expanded changelist:

  • ActorFOV can now compute distance maps if __do_distance_map=true is set for your actors; new AIs can use distance maps to do low-cost pathfinding (ai: simple_dmap, flee_dmap, dmap)
  • Added achievements for most major plot events
  • Added a --force32bits flags to premake to allow compilation using luajit on a 64bit linux
  • Added an example_realtime module that is an exact copy of example module but in realtime (the gameplay sucks it's not adapted)
  • Added function to set the engine into realtime mode, calling tick() at the given frequency
  • Added jellies images
  • Added lore items, as you explore the world you can discover texts, writings and other stories, they automatically add up in a lore book, accessible from the game menu
  • Added Map:checkAllEntitiesNoStop() that will iterate over all entities no matter if a result is found
  • Added minor and major demons, beware some are nasty
  • Added new target types (for project): ballbolt, conebolt, ballbeam, conebeam
  • Added one new world artifact
  • Added potions of free action, they are not cheap but they are useful :)
  • Added snakes tiles
  • Added trails to some spells
  • Allow talent category points to be used on known categories, increasing their mastery by 0.1
  • Allow the Static generator defineTile() function to automatically define spots
  • Changed engine version to 0.9.10 (from 1.0.0), your module will not display anymore in the list until you change your init.lua accordingly
  • Changed lua table.sort() function to accept any index as a second parameter, if not a function it will assume the items to sort are tables and sort them by the given index
  • Chat class constructor can be passed a table as a third parameter to provide data to the chat script
  • Chat requests auto stop resting & running
  • Chats & Stores can only be triggered by a player
  • Chat texts revised by ushumgal
  • Corrected some alchemist talent descriptions
  • DebugConsole update
  • Decaying wont destroy artifacts
  • Dialogs now open with a fast "pop" animation (disable-able if needed by modules)
  • Do not show the golem HP if the golem is dead
  • Each achievement now have three versions, one for each difficulty level
  • Effective talent level (computed using mastery value) will be displayed in talent description
  • Factorized module instanciation/savefile loading into Module:instanciate()
  • Fire Alchemy third talent is now "Fire Storm", which finaly makes the tree complete
  • Fix character sheet for controlled summmons
  • Fix description of Stone Wall spell
  • Fixed Bathe in Light
  • Fixed Earth's Eyes
  • Fixed picking up all items with '*'
  • Fixed some zones that were mistakenly non-persistant: Angolwen, Vor/Gorbat/Grushnak/Rak'Shor Prides
  • Fixed typos
  • Fix fire bolt for the Imp summon
  • Fix (maybe ..) Quake talent
  • Fix Nature's Touch and Earth's Eyes
  • Fix online profile dialog size
  • Fix profiles data "leaking" into globals (this fixed the Blood of Life)
  • Fix saving while controlling a creature
  • Fix tooltip on grids hit by the Darkness spell
  • Game engines can also come in archived form in a .teae zip file
  • Greatly improved performance when moving around the map. Map:checkAllEntities() is now much faster, FOV code is also faster
  • Harno, the Herald of Minath Tirith will initiate a dialog if it is already speaking
  • Improved character sheet (displays some more resistances and betetr char dump)
  • Improved the integrated lua profiler (only works when luajit is disabled)
  • Improve handling of activable items
  • Improve savefile save performance
  • Invulnerability prevents drowning
  • It is possible to drop objets on the world map to destroy them
  • Jewelers can now craft special rings on demand
  • Main screen load savefile menu will correctly work for all modules with the keyboard
  • Most ToME NPCs now use distance map to pursue the player
  • New class: Reavers (Corrupter)
  • New :cloneFull() method on all objects, this makes a perfect clone of the given object and any subjects recursively without creting duplicates of subobjects. This is nearly instantaneous and thus could be used to create time travel spells and other neat things.
  • New engine.NameGenerator class
  • New quest: Lost Knowledge
  • New random quests: Escorts, you will find them randomly in some zones
  • New random quest: sometimes you will meet a lost adventurer (of a random class), you can help him by escorting him to a portal, but beware he dies easily. He might reward you for you kindness.
  • New zone: Ithilthum, Valley of the Moon
  • New zone: the High Peak where the final end game battle will take place!
  • New zone: the Slime Tunnels
  • NPCs will "transfer" their targets to their friends in sight if they do not have a target themselves
  • Password will not be displayed onscreen anymore
  • Phase Door & Teleport are now correctly restricted to their own ranges
  • Piercing arrow whot hit twice the same target
  • Probability Travel does not work over no-teleport zones and in the wilderness
  • Progressive teleporation resistance affects NPCs being teleported against their will
  • Projectiles can now leave a trail of particles
  • Resistances in ToME now go from -100 to 100 instead of 0 to 100
  • Right click on a hotkey will delete it
  • Summoned creatures give flying texts when doing damage
  • Talents can be auto cast by melee weapon hit
  • Talents can now require talents to not be known
  • TE4 can now handle multiple versions of the same engine (or even different ones). Engines are located in game/engines and the default one in game/engines/default
  • TE4 main menu will display a "news of the day"
  • Teleport: Angolwen will take you back to the correct worldmap
  • T-Engine can now auto-update itself (as long as it is not an update to the exe) (this is disabled for now, will be activated later)
  • The game is now winnable with 3 possible endings
  • The Shade of Angmar is immune to blindness
  • Tridents & Whips now use the exotic weapons mastery talent, which is hidden by default, will require a quest to unlock
  • Saves can now be made in the background while continuing to play the game. This obviously speeds ups considerably the gameplay since saves now "feel" instant.
  • *WARNING* Module makers: I had to change how savefiles work, there is a few changes needed in your modules for it to work.
    • * In Game.lua: change the Savefile code in saveGame() to be just a call to savefile_pipe:push(game.save_name, "game", game)
    • * In dialogs.Death too
    • * Take a look at either the example module or ToME to see how it works exactly, it's really easy to convert
    • * the Game:tick() method must check for savefile_pipe.saving and return true if it's true (otherwise the save will not continue in the background). Check the example module tick()
    • * In your PlayerDisplay you can add a line like that:if savefile_pipe.saving then h = h + self.font_h self.surface:drawColorStringBlended(self.font, "#YELLOW#Saving...", 0, h, 255, 255, 255) h = h + self.font_h endTo make a graphical display of the background saving thread.
  • Quitting while a save is going one will obviously still wait until it is finished

Have fun!

T-Engine4 / ToME4 beta9 unleashed!

As promised here comes T-Engine4 and ToME4 beta9 !

Major new feature: online profiles, useful for both the player and the developer, please use them :)

Release highlights:

  • Much balancing and fixes
  • Many new artifacts
  • Online profiles
  • New quest & zones
  • Last of the prides: Gorbat Pride
  • New & nastier monsters

Expanded changelist:

  • Tooltip correctly updates
  • Pyromancer/Cryomancer now have a good class description
  • Archery masteries now have a description of the damage they provide.
  • Fixed targeting if you self-target.
  • Static map generator can now take an entity as {random_filter={...}} to generate a random entity
  • New zone: the Flooded Cave
  • New zone: the Caverns of Osse
  • New random encounter in the far east.
  • Re-adjusted damage of some NPCs
  • Fixed mouse move outside of the map
  • Fixed projectiles outside of the map
  • PlayerProfiles online sync UI is now available! Thanks to shani
  • Various stats for ToME are saved in the profile, artifacts found, uniques killed, characters created and killed
  • Some player profile rpc calls can be asynchronous to not delay gameplay
  • Implemented Body of Fire for alchemy
  • Rewrote ToME archery system, fixing bugs, making it cleaner and more pleasing
  • Improved dialogs drawing code, should be a tad faster
  • No automatic choice at birth even with only one entry
  • Added tridents
  • Display item key when picking up
  • Fixed the EnterName dialog to release keyboard control when cancelled
  • Zone:getGenerator will check the generator exists
  • Greater Multi-Hued Wyrm is more powerful
  • Fixed log display, color will now "bleed" to the next line correctly
  • Increased the penalities of nightmare and insane modes
  • Added a new event at the end of Moria to better link the story
  • Renamed physical/spell/mental resistance to "save"
  • Added silence effects, prevents scroll use, spells and divine talents
  • Added nagas
  • Added disarm effect to some NPCs
  • Increased the rarity of non-native NPCs
  • Divination/Identify now correctly works in a radius
  • Phantasmal Shield now does correct damage
  • Quicken Spell has all ranks useful
  • Tooltip fixed position
  • Fixes giving the staff of absorption to the apprentice mage
  • Ressource cost in talent display now correctly accounts for fatigue
  • Added a Map.attrs(x, y, k, v) method to store various attributes on the map at x, y in a key 'k'. If 'v' is given it sets it otherwise it gets it. Actor:randomTeleport() wont teleport to places with the no_teleport flag set
  • Fixed the exit of Eruan
  • Orc necromancers have new powers in Rak'Shor Pride
  • Orc blood mages have appeared in Rak'Shor Pride
  • High level NPCs ca have stats over 60
  • Orc corruptors in Rak'Shor Pride
  • Rak'Shor Pride boss is now quite harder
  • New images for the remaining objects!
  • Walls created by Stone Prison are now diggable
  • Added rng.normalFloat() function
  • Fixed equilibrium using NPCs
  • New zone: Gorbat Pride (unfinished but playable)
  • Temporal spell Congeal Time now throws a slow moving bolt that can hit multiple targets
  • Stone Prison walls are diggable
  • Objects can have a "carrier" table field, just like "wielder", that adds properties when carried
  • Added eight new world artifacts
  • The Orbs of Command now grant a stat increase while carried

Have fun!

T-Engine4 / ToME4 beta8 unleashed!

As promised here comes T-Engine4 and ToME4 beta8 !

Many things got balanced and fixed this release, I will welcome comments! :)

Some internal changes to the engine to make things simpler/easier for module makers, make sure you read the change list.

Release highlights:

  • Much balancing and fixes
  • Images for nearly all objects
  • Many new egos and artifacts
  • Two new "secret" mage subclasses (unlockable)
  • Projectile system
  • New talents for warriors
  • Two new Orc Prides

Expanded changelist:

  • Fix map crash in Angolwen
  • Fix unided ego objects
  • Fix character sheet line feeds
  • Fix Shield Pummel shield attack
  • Fix warriors archery mastery
  • Personal achievements showing up in character dump
  • Tooltips show up over other UI elements
  • Apprentice mage quest does not mistake an Alchemist for an Archmage
  • Talents that have hostile actions will default to hostile targets
  • Generic talents will be displayed as such in the talents screen
  • Fix many alchemist issues
  • Wildfire talent line
  • Ice talent line
  • Golem can be renamed with the Refit Golem talent
  • New physical talent line for warriors: Superiority
  • New physical talent line for warriors: Warcries
  • New Projectile entities, some spells/archery/... use them to make a real projectile that travels the map (very very fast)
  • New ActorProject:projectile() function that works like project() that that creates a projectile
  • Many on hit effects wont trigger if the target is already dead
  • Rebalance and add new powers to Alchemist class
  • Fix game menu mouse/keyboard interaction
  • Add new bow artifact and egos
  • Add new sling egos
  • Add ammo egos
  • New egos: helms
  • New item type: cloth hats (wizard hat)
  • New artifact: Glamdring
  • New egos fors leather caps
  • Allow activable objects to run a talent
  • New egos: charged (prefix), allows to use a random talent, with charges (do not self recharge)
  • Added many new images by Mushroomhermit
  • Resting now gradually improves your life/mana/stamina regen rate, so that it does not affect short restst much but reduces waiting time on long ones
  • New artifact: the Tome of Flames (not available everywhere)
  • Divine/Glyphs are now all projectable to a distance
  • New Entity:getDisplayString() method that returns a string that makes drawColorString* display the entity image inside the text (only works on cards that can do framebuffer objects)
  • Inventory, stores, tooltips, ... now display the image
  • Fixed Sunburst description
  • Most zones can now have all existing NPCs, but non-native ones are rare, to spice things up a little
  • The scribe in Minas Tirith and Gates of Morning and the Staves & Wands store in Angolwen can now recharge charged objects
  • Added multi-hued dragons to the generic set of monsters, beware of the Greater Multi-hued Wyrm .. it is quite nasty
  • Added monster pits to some zones, have .. fun
  • Fix store selling not updating after object identification
  • Moved the cuttle little bunny to be old forest only
  • Can not read scrolls while blinded
  • New zone: Vor Pride
  • The Orc Pride bosses now have the rank of elite boss
  • Most NPCs that have sustainable talents will be created with them active
  • Changed the max life rank adjusting formula, this should result in more life for all actors at high level, specialy for bosses
  • Changed[1] and level.downs[1] to level.default_up and level.default_down. You must update your module, probably in Game:changeLevel().
  • New engine interface PlayerMouse, this handles the default mouse actions, so that modules can easily implent them. You are encouraged to switch to use it.
  • New engine interface GameTargeting, this handles all the complex targeting code for you. You are encouraged to switch to use it.
  • Updated both ToME and example module to the new interfaces
  • Example module now uses display strings and shows a tooltip for Grids
  • Example module now comes with both talent & actor seen display enabled
  • Do not compute FOV when blind
  • Stealth now works correctly for monsters
  • Improve faction function descriptions (yufra)
  • Fixed levelup stats to not take into account equipment
  • Redesigned how NPCs in ToME get rarity, this affects most zones
  • Added some more orcs
  • New zone: Grushnak Pride (THIS IS A TEST, the zone is not completly done)

Have fun!

New class: Alchemist

Coming next beta, the Alchemist class.

They can infuse raw mana inside gems and throw them like bombs, have a permanent golem companion, can use their staff better than anybody else (and at range!)

Here is a small example of an alchemist throwing out a lightning bomb:

T-Engine4 / ToME4 beta6 unleashed!

As promised here comes T-Engine4 and ToME4 beta6 !

OSX binaries will come hopefully tomorrow and the linux binaries are suspended for now until I find a good way to make them.

This release is mostly beta5 without the bugs, plus a few other nice display things to make your wait worth it :)


  • Fixes random crashes and load errors
  • Reworked the internal CMap, it now does not know what a terrain or an actor is, instead the map objects are just textures, positioned on a z-order, each map object can tell if it can be seen, remembered, ...
  • Trees are now made of two or more map objects, a patch of grass and one or more tree, randomly placed on the tile, to make forests look less tilish
  • Fix shaders to always use floats
  • Fix dual shot to only use 2 arrows
  • Random tree layout will try to place lower trees on top
  • Fixed FOV update when running
  • Don't allow jumpgate to work between levels
  • Fix lots of monsters that did not deal damage
  • Download without music (for slow connections) are available

Have fun !

T-Engine4 / ToME4 beta5 unleashed!

As promised here comes T-Engine4 and ToME4 beta5 !

OSX binaries will come hopefully tomorrow and the linux binaries are suspended for now until I find a good way to make them.

Release highlights:

  • Much balancing and fixes
  • Changed spells and physical damage formulas to be less dangerous at low level and to scale better
  • Split talents into talents (combat oriented) and skills (utility oriented) with points for each
  • First use of opengl shaders
  • Lots of new high level content to advance the story

Expanded changelist:

  • Window resizable again
  • Gates of Morning now has a unique map
  • Talents level screen now show next level and current level
  • Actors can now have no max level (and they do not in ToME)
  • Switch to left mouse click to move
  • Can keybind to mouse buttons
  • Moving the mouse in target mode will do freemode targetting
  • Left click in target mode cancels, any others accept
  • Using stacked objects will now give a correct message
  • Fix cloned actor placement
  • Objects default to price 0
  • Only one hymn is usable at a time
  • Fixed wilderness encounter chance
  • Unremarkable cave is now exitable
  • Fix chat dialog mouse input
  • Gems added, useless for now(well they can be sold), will be used for crafting later
  • Ego items now vary in price based on their level of bonus
  • Fixed shadow similacrum
  • Actor's Emote system
  • Chain lightning does not hit the caster
  • Tweaked exp chart, later levels should be easier to gain
  • Ardhungol is no more fully lited and rememberd
  • Most texts are now anti-aliased
  • Engine can outline ASCII tiles to make them more visible
  • Quick Weapon Set Switch key (x by default)
  • Chat class will give better error if it can not load a chat
  • Temporary effects last their correct durations
  • Changed all damage formulas to be less linear
  • Melee damage is now fully dependent of stats. A 15 STR actor wielding a mithril sword will not do devastating attacks (but still have powerful ones)
  • Melee/archery damage stat on weapons is renamed "power"
  • Refitted all damage formulas to use more explicit and generic (and bound) functions
  • Players now start with all talents & stats assigned
  • Quick Birth
  • Water now uses OpenGL shaders
  • Changed some spell cost
  • Sandworm Tunnellers are now invulnerable
  • Confirmation prompt to stores
  • Allow the UseItemDialog to handle mouse correctly
  • OpenGL Framebuffer Object (FBO) support available to modules
  • New zone: Mount Doom
  • New zone: Eruan
  • New zone: Rak'shor Pride
  • New quests to advance the story
  • NPC stat leveling is limited in the same way the player is: natural max of 60
  • Sand drakes are now a 'D'
  • Split talents into talents and skills. Both have their own points. Talents are class defining stuff, mostly combat oriented while skills will be learnable by more classes and are mostly utility
  • Increasing stats/talents will recast sustained talents (with a few exceptions)
  • Archmages now get access to Enhancement school
  • Stealth & invis are now only checked every few turns, giving miore chances to rogues
  • Display hp/stamina/mana/... as color bars

Have fun!

Syndicate content