This is an old revision of the document!


SLUDGE

A gaming engine for the desperate

The name invokes sensations of form and function…
The form, mostly a blob; the function, mostly dubious.

The Storming Leech Ultimate Dialog Game Engine is a collaboration between myself and my inner demons, designed over the course of several years and several misguided projects and developed since February of 2016. It's designed to work with Game Maker Studio.

The primary function is to solve the following all-to-common problem:

I'm working on my game and it's going great but now I need to add dialog. 
Does anyone know a good way to add wrapped, colored text with markup and textboxes 
and typewriter effect and avatars to my game?

It's a problem that comes up on a weekly basis over on the Game Maker Forums. Game Maker is great for developing or prototyping 2D games, but the open-ended, event-driven framework 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.

This asset solves the problem with a single self-contained object (and a folder filled with lots of useful scripts). You drop the object into your game, and dialog takes care of itself.

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
  • Lack of common text features
  • Lack of modular design to add features
  • Requiring code using libraries of engine-specific functions
  • Inability to preview visuals while designing the game
  • Lack of data integration between the engine and the rest of a game

As I've played with Game Maker over the years (since 2003), I've added visual editing tools to every casual game I've made, and I have had to solve and re-solve the problem of adding custom dialog too many times. I needed to put all of my most common needs into a single comprehensive engine. And that's SLUDGE.

Some features:

  • Wrapped typewriter text with tag support for changing color and font
  • Character portraits, with automatic interpolation animations
    • Characters can be made from layers, allowing you to re-use poses with many expressions
    • Sets of visible layers are stored as expressions and selected as you build your game
  • Choice boxes that can link and/or set data
    • Choices can appear/disappear based on data
    • Choices can set/increase/decrease stored data
  • Dynamic linking: links can change based on game decisions/data
  • Fully visual editor to position characters, text, and choices
  • Multiple text boxes, characters, and choices on-screen at once
  • Support for Game Maker's camera system to position graphics
  • Overflow handling; text breaks into multiple boxes as needed
  • Custom text tags to pause typing or play sounds in time with text
  • Made with localization in mind:
    • All text is in external files
    • Text is stored as “text”:“yourdata” with no messy code lines to clean
    • Language files can be swapped in and out by simply setting the language variable
  • Data generated by choices is stored in a map structure
    • Easy to get data from the engine for use in your game
    • Easy to change data that the engine uses for text/choices
  • Visual style editor: design textboxes and choice boxes within the editor
  • Visual character editor: set your character's layers and expressions on-screen
  • Modular design; each aspect of the engine operates pretty independently and granularly
  • 100% GML - my code works as well as yours for cross-platform

Basically, the idea is that you could make a complete visual novel without writing any GML code at all. Or, you can write your game to any level of detail you want, and then add on however much dialog you want.

  • slidge/what_is_slidge.1522905397.txt.gz
  • Last modified: 2018/04/05 05:16
  • by journeyman