=== Game Maker? ===
I discovered Game Maker after a few semesters of Java programming classes. I've always coded, and I wanted to make playful, imaginative things. College wanted me to make piles of apps using JAVA Swing. I began to google for a faster way to play.
So GameMaker. Started by one college professor in the Netherlands to teach students game design. The software provides built-in event handling for common inputs and a 2D graphics system. Basically, you attach pictures to objects, drop objects into rooms, and you're playing a game. It's come a long way since those days, but is still a really fun way to prototype fast and to get into game-making.
=== Slidge? ===
You go along dropping graphical objects and event-driven logic into something like a game, but when it's time for text, you quickly realize you need text to "typewrite" itself, and to word-wrap, and to fit within boxes, and you need a character avatar to animate with it, and you need choice boxes on the screen to select the next dialog choice...
It's a problem that comes up on a weekly basis over on the [[https://forum.yoyogames.com/index.php|Game Maker Forums]]. Game Maker leaves a large hole when it comes to pre-configured behaviors and object prototypes. If you just want to drop some working textboxes into your newly coded game...you're going to have to do a lot more coding.
There are other dialog/Visual Novel engines on the Game Maker Marketplace, but these all suffer from a host of difficult problems:
***Lack of flexibility in story structure** ({{togglewrap>flex|Details)}}\\
VN tools usually have static links: you choose A, it goes to dialog A, choose B and it goes to B. Cut-Scenes are usually limited, too--what if I want the "end scene" of a game to be made from several sets of ending sequences, depending upon choices throughout a game? Most VN tools can't stitch together an ending scene like Mass Effect 2. Slide has these features.
***Lack of advanced text features** ({{togglewrap>text|Details)}}\\
There's a lot of expectations on text in modern games: Custom fonts, colors, emojis, "wiggling" animated words, text wrapping, and auto-pagination, for example. Text is often expected to drive in-game events, like changes in character expression, too!
***Lack of modular design to add features** ({{togglewrap>mod|Details)}}\\
VN tools can get pretty complicated--Slidge certainly is! But some effort //should// be made to keep the dev-customize-able parts clear. Many of Slidge's parts are interchangeable and modable, and all data is JSON-based.
***Requiring tons of engine-specific functions** ({{togglewrap>functions|Details)}}\\
Usually, implementing someone's VN engine requires learning a set of custom commands and parameters, and then diving into their code to discover ways to customize the other 90% of the features. Slidge certainly has self-contained custom functions, but launching the engine is simple, cleanup is automatic, and customization is visual.
***Inability to preview visuals while designing the game** ({{togglewrap>preview|Details)}}\\
Adding dialog via code is a tough way to make custom scenes. Slidge places a visual editor over the top of your game (or an empty game) so you can set everything up visually, then import the resulting JSON into your final game
***Lack of data integration between the engine and the rest of a game** ({{togglewrap>data|Details)}}\\
Bringing data into a VN tool from a game shouldn't be hard for the dev! Suppose the player inputs a name into the game, and I want that name to be used in dialog? Suppose I want a choice selected in a dialog scene to affect a stored piece of data back in the rest of my game? Slidge uses a central Map data structure and a tag-based syntax to pull data in and send data out easily.
**Sooooo. Using Game Maker? Adding VN elements? SLIDGE!**