Difference between revisions of "Characters"

From Wolfire Games Wiki
Jump to: navigation, search
m
m (Fill in more todos on file formats and system for characters)
Line 36: Line 36:
  
 
If you have a handle to a <code>MovementObject@</code> object in angelscript, you can convert it to an <code>Object@</code> by calling <code>ReadObjectFromID(movement_object.GetID());</code>.
 
If you have a handle to a <code>MovementObject@</code> object in angelscript, you can convert it to an <code>Object@</code> by calling <code>ReadObjectFromID(movement_object.GetID());</code>.
 +
 +
== Working with Characters in editor ==
 +
 +
'''TODO''': How to set a character as playable in the editor.
 +
 +
'''TODO''': List of supported character parameters and how to use them. Some of these things verge more into "game" territory and not "engine" territory, so should at the very least mention that it's fully changeable in script...
 +
 +
'''TODO''': List of species specific traits? Some of these things verge more into "game" territory and not "engine" territory, so should at the very least mention that it's fully changeable in script...
 +
 +
= How to create a character =
 +
 +
== Character XML files ==
 +
 +
'''TODO''': Description of XML format
 +
 +
== File path conventions ==
 +
 +
'''TODO''': Description of where to add files in mods so they don't conflict. Ala [[Hotspots#File_path_conventions]]
 +
 +
== Modeling ==
 +
 +
'''TODO''': Links to or docs on modeling, graphics features like fur fins, various texture channels and what their components (alpha etc) mean, UVs, object space normals, etc. Also, any export info that would be necessary.
 +
 +
== Rigging ==
 +
 +
'''TODO''': Links to or docs on rigging and rig export
 +
 +
== Animations ==
 +
 +
'''TODO''': Links to or docs on animations and export, tagging, etc
 +
 +
== Attacks ==
 +
 +
'''TODO''': Links to or docs on attacks system and export, tagging, etc - related partly to animations.<br>
 +
 +
'''TODO''': Possibly also scripting attacks and animations, and character-bound input, etc - though maybe that should be in a different section?

Revision as of 00:44, 27 November 2017


Overview

Characters are a game entities that are directly controllable by a player or by the AI.

Characters have Rigged Objects attached, which support skeletal animation, rag doll animation, blends of those two, and character physics.

TODO: More in depth description, akin to that in Hotspots and LevelScripts

Documentation

Callable functions and data available inside character scripts

A list of functions, data, etc, is created automatically whenever you run the game, in a file on your hard drive. This lists what external code you get "for free" and can call from inside a character script.

  • Windows: My Documents\Wolfire\Overgrowth\aschar_docs.h
  • Mac: ~/Library/Application Support/Overgrowth/aschar_docs.h
  • Linux: ~/.local/share/Overgrowth/aschar_docs.h

This documentation will change with each version of the game, so keep checking back on this aschar_docs.h file to see the most up to date information.

There are also wiki pages which have more detailed documentation many of these functions. These pages have a danger of going out of date, but give more detailed documentation on some of the code:

Character instances in other scripts

Characters are exposed to other scripts as instances of the MovementObject class.

MovementObject instances are like other objects in the game. They support everything that is supported by Object, and also have their own special set of functions, properties, etc.

If you have a handle to a MovementObject@ object in angelscript, you can convert it to an Object@ by calling ReadObjectFromID(movement_object.GetID());.

Working with Characters in editor

TODO: How to set a character as playable in the editor.

TODO: List of supported character parameters and how to use them. Some of these things verge more into "game" territory and not "engine" territory, so should at the very least mention that it's fully changeable in script...

TODO: List of species specific traits? Some of these things verge more into "game" territory and not "engine" territory, so should at the very least mention that it's fully changeable in script...

How to create a character

Character XML files

TODO: Description of XML format

File path conventions

TODO: Description of where to add files in mods so they don't conflict. Ala Hotspots#File_path_conventions

Modeling

TODO: Links to or docs on modeling, graphics features like fur fins, various texture channels and what their components (alpha etc) mean, UVs, object space normals, etc. Also, any export info that would be necessary.

Rigging

TODO: Links to or docs on rigging and rig export

Animations

TODO: Links to or docs on animations and export, tagging, etc

Attacks

TODO: Links to or docs on attacks system and export, tagging, etc - related partly to animations.

TODO: Possibly also scripting attacks and animations, and character-bound input, etc - though maybe that should be in a different section?