Dialogue boxes are now a thing. You can set the default background color, font color, font size, and font family of a sprite, as well as give specific settings to each dialogue box. You can also create selectable options, which will set a reference variable that can be used in later If statements. Options can be conditional as well; if you give an option a condition it will appear only if that condition is true.
I may make a more specific editor for creating large, complex dialogue trees more easily later, but this will suffice for now.
You can insert variables and expressions into text boxes. Parts of the text that are in {curly braces} will be evaluated as expressions. For example, "Hello, {_game._username}!" can be used to greet the player.
There are still some more things to be done with dialogue, which will come along with new targeting and conversation mechanisms. There will also be free text inputs, although the usefulness of those will be limited.
Despite all this, I'd like to discourage excessive use of dialogue trees for atmospheric reasons. Basically if world builders "put words into the player's mouth", the player's personality may change arbitrarily from world to world, making them harder to characterize from the player's perspective. To that end, I'm considering the idea of including certain "gestures" into the game that will allow the player to communicate with NPCs in ways that do not involve dialogue trees. I don't want to overdo it with the buttons though. I'm thinking four main gestures: threat/anger, peace/calm, laugh/taunt, and surrender/sadness. In addition to being possible reactions to dialogue, these gestures can have additional effects on enemies and neutral creatures, like provoking them into attacking, scaring them away, or getting them to join you.
There will still be dialogue trees of course, but I think it would be a nice touch to give players another option for communication, letting most worlds maintain the player as a (mostly) silent protagonist.
I am playing around with the controls, so some things may feel different. Jump height has been lowered significantly to give free-motion and grid-motion similar capabilities; you can now only jump over one pit at a time while dashing. The shift button is used for dashing.
There is an interesting effect where jumping repeatedly makes you move a little faster, especially if you time your button presses well, but also makes your movement harder to control. While initially unintended, I rather like the effect and may utilize it later.
It is worth noting that all player physics only apply to default behavior. You can use a function to change any player variable you want, like _jump, _speed, _accel, and so on. Or you can simply turn the player sprite into a custom creature, that's always fun...
Oh, right, if your world looks weird, Daren, it's because I changed the rendering order of layers and tilemaps to operate in reverse. Basically so that layers and tilemaps that are "on top" in the object list will appear "on top" in the game, making it more intuitive. You can reorder them easily enough though.