Data tools

Jump to: navigation, search

What are the tools for editing gameplay values (where would the health value for an NPC be stored and how would one alter it?)

HeroEngine does not implement anything that is game-specific. To do so would mean creating something so generic it would be of no use to anyone. Instead we provide a strong foundation for you to build your own game mechanics. So the idea of what an NPC is, or that there are even "heal values" in your design is something that you specifically implement via the DOM Editor and HSL.

However, we do provide many capabilities that provide for the sophisticated underpinnings required to build real-life MMO game mechanics. For example, our Spec Oracle system is designed for you to express the idea of "Specifications". A Specification is like a template, and the Spec Oracle is responsible for keeping a list of these specifications. For example, item specifications, NPC specifications, weapon hardpoint specs, abilities, status effects, enhancements, whatever. You just extend this to add them as your design requires.

Specifications can give rise to instantiations (called nodes) that represent the concurrent version of the spec... like the actual item. The system lets you easily express what data is immutable and shared (for massive memory conservation) vs. that which is mutable and unique to every instance. Further, this system allows you to express how, when and how much of this data is transmitted to clients and under what circumstances. For example, a given player's client needs to know a lot about his inventory of items but other players need to know little or nothing on a case-by-case basis. All of this is highly game-specific and no generic design would ever be optimal or even close to "right." So we provide the tools for you to build these things.

The Spec Oracle also expresses a GUI for editing of values that can easily be extended with custom editing features (either per field or an entirely unique GUI, etc.). Typically you'll use the automatic dynamic GUI to get started and then slowly add custom editors for really unusual things in your design. This will be the tools your game design team uses to build out and ultimately tweak and balance the mechanics.

All of these systems are provided to you, but again you can opt to implement something entirely different. For example, say you want combat values to come from Excel CSV files. Then you can write script to do exactly that too!

Personal tools