The HappyTear Text Engine is a powerful and fully customizable dialogue engine for RPGs, platformer and pretty much every kind of game.

Note: It does currently not work on HTML5. It should work on all other platforms and was tested on Linux, Windows and Android.


  • Colors! Background images! Fonts! Bold! Italic! - Design your textboxes just as you like!
  • Typewritter Effect
  • Textbubble that follow objects - Small little bubbles over or under instances that just look cute... and cool!
  • Player locking - The player can either run around while the text progresses or you can just lock him
  • Wait for player input or time - Either wait for a button to press or just some seconds until the next
  • Multiplayer support - experimental
  • Textbubble collision detection - Doesn't that sound cool?
  • Sprites that indicate text progression - When you want the player to press a button you can indicate that with your own sprites!
  • Extendible! Plugin support! - Add own commands, variables, themes... without breaking future updates! Possible via an awesome plugin system
  • Incredible documentation - Seriously, it took me days to write it
  • Infinite amount of textboxes open at the same time!*
  • Command system - The whole engine works via an easy to use command and variable system
  • ..and so much more


  • Support for Colored Draw Text Custom by Hule Studios - Allows drawing sprites, rotated text and more by using a markup instead of commands
  • Questions/Answers - A system that allows for player interaction. Will support shop functionality for RPGs.

\ * Infinite=As much as a ds_map can take in Game Maker, which is a lot!

End User Licence Agreement (EULA).

Changes in 0.9.6

Fixed ANOTHER a bug that was created due to an oversight and change in GM 1.4.1451

Related bug fix in GM 1.4.1451

  • DS maps correctly return that they are undefined if they are undefined, rather than just returning 0

Version 0.9.6. Published October 28, 2014

Created with GameMaker: Studio v1.4.1451

Age Rating: 4+

Average Rating

Your review

You can only review assets you've bought.


Anonymous 26 December 2017


Simon J 07 November 2017


Derex c 28 September 2017

Seems nice i guess but idk how to use it

Anyone know where the documentation is?
It's really good! They should make like a fourm for it


Robert L 28 August 2017

Overall decent, great for a free product

For me it was a bit clunky and overly complex BUT its free, and the documentation and comments are top notch. Hard to argue with the price. It does what's advertised but don't expect to drag and drop this into your project. I'm looking for a light weight solution and this wasn't really it.


George H 09 April 2017

Probably one of the best I have seen.

You should make this paid, I have bought many dialog systems but when I found this I thought "oh its probably bad because its not paid for" Not a good thought. But make this paid friend, its worth it for anyone.


Anonymous 17 March 2017


Alex K 28 March 2016


I don't know what else to say, it's a great dialog engine. I have one suggestion though, answers. For example: you walk into an inn (inside your game, ofcourse), and you ask the worker to sleep for a night (the inn's function is to refill all of your hearts for some coins. So you chat with the worker and she'll say "Want to sleep the night for 5 coins?", and you get too choices, yes or no (but maybe make it so you can have an infinite ammount of choices). If you say yes it will take 5 coins and you go to sleep (that's another suggestion of mine, make it so you can run commands other than things that have to do with dialog). Anyways, that's it!


Barreytor D 25 December 2015

Better than any paid option I've seen

Compared to others, it has a relatively limited set of features, but on the other hand, it has clear examples that showcase everything it can do, the features it has are pretty much all that would be needed, and the code is pretty commented so any simple fixes are easy to do.

But that would only give it a 3/5 rating. No. The best comes in what for me are two important parts:

It does NOT store the texts as external files, which while could be handy and easy to manage it can also quickly become a mess of nonsense (and makes it more compatible!)

And this engine is made in such a way that adding features is not only a feasible thing to do, but also certainly easy! No more "Oh how I wish this thing could do this and that, if only I could add it", because it's actually a thing that can be done!

Hmm... I'm wondering if I could hit it hard enough to make it work in HTML5...

[EDIT]: I think I may have managed to make it work, though it's more a bandaid fix than anything.


Uncle R 08 November 2015

Very well made, indeed.

The amount of work that went into this text engine is unreal. Far better than most paid versions on the marketplace. Incredibly feature rich text / dialogue engine! Only one thing could make it better.... (below).

[EDIT] Still eagerly awaiting a question / answer feature to be implemented into this! :)


Ares T 20 June 2015

Very Welll Made!

Fully functional text engine that is easy to understand.

Thank you!


Victor L 06 September 2014


This engine is pure gold.
The documentation and the demo is very good.
I think all scripts, demos and engines that are sold in the Marketplace should aim to have this kind of documentation and support. Great work! I'm looking forward to the updates and the fixes for html5

This review was left for a previous version of this asset.

Package contents

Total size 125 KB

HappyTear Text-Dialogue 10.3 KB HappyTear Text-Dialogue Engine
Backgrounds datafiles Fonts Objects Rooms Scripts
text.gml 668 Bytes text_action_pressed.gml 1.49 KB text_add_command.gml 915 Bytes text_command_animation_c_close.gml 1 KB text_command_animation_c_line.gml 1.31 KB text_command_animation_c_noline.gml 296 Bytes text_command_animation_c_show.gml 851 Bytes text_command_logic_c_bold.gml 515 Bytes text_command_logic_c_close.gml 1.1 KB text_command_logic_c_color.gml 665 Bytes text_command_logic_c_font.gml 656 Bytes text_command_logic_c_italic.gml 526 Bytes text_command_logic_c_kill.gml 264 Bytes text_command_logic_c_line.gml 2.45 KB text_command_logic_c_lock_player.gml 521 Bytes text_command_logic_c_next_page.gml 1.18 KB text_command_logic_c_noline.gml 268 Bytes text_command_logic_c_none.gml 220 Bytes text_command_logic_c_reset_formatting.gml 481 Bytes text_command_logic_c_set.gml 758 Bytes text_command_logic_c_show.gml 2.26 KB text_command_logic_c_wait_input.gml 1.33 KB text_command_logic_c_wait_time.gml 846 Bytes text_create_conversation.gml 1.92 KB text_debugger.gml 1.32 KB text_demo10_multi1.gml 476 Bytes text_demo11_multi2.gml 594 Bytes text_demo12_onlyonce.gml 437 Bytes text_demo1_simple.gml 3.08 KB text_demo2_animations.gml 2.21 KB text_demo3_pointing.gml 1.56 KB text_demo4_multiple.gml 2.66 KB text_demo5_lock.gml 695 Bytes text_demo6_bubble.gml 1.98 KB text_demo7_colors.gml 5.01 KB text_demo8_manual.gml 2.16 KB text_demo9_disappear.gml 1.11 KB text_draw.gml 660 Bytes text_draw_c_banner_background.gml 1.23 KB text_draw_c_banner_enlargement.gml 1.46 KB text_draw_c_banner_extra.gml 494 Bytes text_draw_c_banner_metadata.gml 1.01 KB text_draw_c_banner_name.gml 1.08 KB text_draw_c_banner_position_auto.gml 1.04 KB text_draw_c_banner_position_manual.gml 1.22 KB text_draw_c_banner_textnext.gml 729 Bytes text_draw_c_bubble_background.gml 174 Bytes text_draw_c_bubble_enlargement.gml 592 Bytes text_draw_c_bubble_extra.gml 148 Bytes text_draw_c_bubble_metadata.gml 249 Bytes text_draw_c_bubble_name.gml 1.08 KB text_draw_c_bubble_position_auto.gml 4.72 KB text_draw_c_bubble_position_manual.gml 401 Bytes text_draw_c_bubble_textnext.gml 730 Bytes text_draw_c_pointing_background.gml 174 Bytes text_draw_c_pointing_enlargement.gml 195 Bytes text_draw_c_pointing_extra.gml 1.64 KB text_draw_c_pointing_metadata.gml 157 Bytes text_draw_c_pointing_name.gml 168 Bytes text_draw_c_pointing_position_auto.gml 177 Bytes text_draw_c_pointing_position_manual.gml 179 Bytes text_draw_c_pointing_textnext.gml 172 Bytes text_draw_logic.gml 3.72 KB text_draw_rectangle_texture.gml 829 Bytes text_draw_roundrect_texture.gml 1.92 KB text_draw_text.gml 3.66 KB text_ds_list_queue_dequeue.gml 412 Bytes text_ds_list_queue_head.gml 370 Bytes text_get_state.gml 992 Bytes text_get_surface_h.gml 364 Bytes text_get_surface_w.gml 361 Bytes text_reset_state.gml 569 Bytes text_resize_surfaces.gml 1.5 KB text_room_to_surface_x.gml 438 Bytes text_room_to_surface_y.gml 438 Bytes text_setup.gml 4.52 KB text_string_width.gml 573 Bytes text_update.gml 1.16 KB text_update_animation_autoenlargement.gml 1.79 KB text_update_logic.gml 2.81 KB text_update_logic_continue.gml 626 Bytes text_update_logic_disappear.gml 1.25 KB text_update_logic_disappear_sub.gml 919 Bytes text_wait_input_textnext.gml 684 Bytes

What is the issue?

Back to Top