This is something that is a complete pain in the arse to do in construct2. And if you look at their forum- it has been requested many many times but none of the solutions is really useable for a serious project. They are all hacked in solutions with huge disadvantages.
For that reason they are lacking a bit in action rpg games or adventure games. In general it is hard to do any story games there.
So without further adeu, I wish gamedevelop had a way to easily create speech text boxes that can be triggered by a mouse click/hover (for adventure games) or by standing next npc (rpg NPCs). They can be controlled via the event sheet logic, used in the object properties as automatism to load external text files for each individual NPC.
How would that be designed? I am not sure.
They could load an external text file (good for localization!)
It would be nice to be able to tell it to change speech avatar (optionally) and even depend on some sort of variables what the npc says.
-Text object type could be made more complex- with the ability to contain avatar data, skin data, variable condition (much like how rpg maker does it).
- it could be an automatism, which lets you quickly gain fine control over the speech bubble with absolute minimum code.
- the automatism could allow you to load the text from a text file that is an external resource (localization). The text file could contain some basic syntax that the automatism can understand right away. The syntax could borrow from AGS or RMXP ideas- to determine when to change to next text slide during conversation, when to show an avatar from an animated sequence, when to put text in bod or italics, when add an icon symbol to cheaply show emotion, etc etc. All the stuff that rmxp can do extremely easily.
- As a final extra- a special editor can help the user not have to learn the syntax.
- Where do you store the automatism? similar to rpg maker , it makes sense to store it in the object that triggers the event. Or it can be stored inside the text object type. Or it can be a new object type instead of an automatism.
One could look at how it is done in
AGS (for adventure games)
RPG maker (for rpg games) - probably the best place to look for inspiration- as that feature is the engine’s bread and butter
What are the advantages of story games:
- it is easier to create an entertainment value through story- the reason why so many beginners start with rpg maker.
- action adventure games are not that easy to do- especially for html5 atm. This can be a niche where GD can carve a nice cosy place for itself.
What are the existing issues in text speech
- The biggest issue is the amount of code that you must write to make one. Then reusing it. The entry level experience you must have to do it properly is pretty high. I have not seen anyone implement a dialogue system properly there or in any other html5 exporting engine that has action oriented 2d game support.
- Localization- keeping all the npc text in external file(s) that are easy to translate/edit.
- Ugly solutions to simple problems. For example how do you draw an avatar image next to the text. You have to hard code it in the event sheet. How do you reuse the same code for many dialogues between the player and many many different npcs or story events? it’s tough