Skip to content
Dread Knight edited this page Jul 2, 2020 · 6 revisions

The purpose of this document is to serve as an overall design guideline for developing new units.
It is not meant to educate on the basic info, which is provided on the website documentation.
//TODO: clean up this wiki page from the basic info, which should be merged into documentation if essential //TODO: provide examples of good and bad practices for each category

Sets

This game project strives for 3 sets of units, each having creatures from 7 realms that range from 7 level types, plus a few other creatures that summoners (materializing the creatures) or summons (creatures by a materialized creature). That means over 150 units, hence the need of this document, which will hopefully serve as an overall guideline.
//TODO: as a reference, mention how many playable characters some of the other reference games have, like HoMM3/Dota2/LoL //TODO: perhaps include sets here and deprecate the other page https://github.com/FreezingMoon/AncientBeast/wiki/Factions

Role

Each unit should nicely fill into an available position from a certain realm and set, adhering to that specific theme and fulfilling an unique role during combat, essentially filling a void, by providing something that other creatures do not. Every unit should have a recognizable outline while the amount of details and color pallet is not overdone, also exaggerations are definitely a very nice touch. A great video on that https://youtu.be/8wm9ti-gzLM
//TODO: talk about generic roles in eSport games, especially in mobas

Size

Creatures come in 3 sizes, occupying 1 (small), 2 (medium) or 3 (large) hexagons. Larger creatures are more expensive and are usually higher level (but there can be exceptions to this), meaning increased stats and more powerful abilities, other downsides being harder to maneuver or attacking sideways, while smaller units have a tendency for a more supportive role during combat.
//TODO: provide pixel size for technical stuff

Stats

Each creature has 9 stats and 9 masteries. The stats define the main traits, while the masteries how well versed they are at performing or enduring specific abilities, representing the types of damages (with exception of the pure damage type).
//TODO: check table for picking unique stuff

Abilities

Units have 4 abilities along with upgrades, the first ability is a passive one, automatically upgrading itself after staying alive a number of rounds, next one is usually a melee range rather basic attack but still having some kind of gimmy-trick to it in order to set it apart somehow and keep things interesting, then a more powerful ability that costs more energy and last, an ultimate one that tends to be very expensive but can have a huge impact on the combat's outcome. Active abilities become better after a specific number of uses; it's ideal for all upgrades to not be designed as dual-edged swords as much as possible, since they can't be avoided. Good ability design is when a player can easily figure out what that creature can do just by looking at it, everything serves a purpose! Take great importance of the main details.

The ability icons are svg format, usually found on Game Icons, style being transparent background and 4px black outline for all the shapes.

Design

Due to the fact that we're reusing mirrored left/right and diagonals mirrored sprite sheets, all the units should be fairly symmetrical overall in terms of negative shape, except held gear (which could in practice switch hands provided unit is ambidextrous).

Creatures should have recognizable negative shape and should properly differentiate themselves from other existing ones. They shouldn't be bloated with too many attention drawing tiny details and it should be fairly obvious overall what they're capable of, as well as to which realm they belong to. A great video about how to design character design can be found here https://youtu.be/8wm9ti-gzLM

Animation

Each creature is 3d modeled using Blender. We're rendering each action into a sprite sheet, using our custom Blender add-on called Spritify https://github.com/FreezingMoon/Spritify