Home - EasterEggProductions/adventure-mode-godot GitHub Wiki

Welcome to Adventure Mode!

Information on the various components of the project, along with how to use or extend them, will be here. Along with other best practices information.

Table of Contents

Primary Objective

Adventure Mode is intended to be a robust template project to showcase the power of the engine, and allow for other developers to build from to create their own games.

Core Components

Other than core Godot pieces, there are two systems working on Adventure Mode (aMode). Dress Up, handling adding and removing skinned mesh renderers to skeletons, or other accessories such as swords or shields. And Modular Mobility, a character controller system for modular character capability.

Dress Up

Dress Up operates with two types of resources. Garments and Accessories. Garments contain skinned mesh data, and when applied appear on the Actor skeleton. Accessories are more general, any node scene can be instanced by one, and then it is put on a BoneFollow3D and tracked to that bone, such as holding a weapon.

It is intended for this system to grow to have features such as automatic booting of items already on a bone if something else is equipped in their stead, or runtime mesh merging to keep the number of skinned meshes low. Combining the meshes and materials. Ideally, It would support some kind of suppression system as well, such as shrinking in a garment that is meant to be underneath another type of layer. A shirt under armor for example, or that armor under a robe. Similar to Morrowind.

Modular Mobility

Modular Mobility is the primary character movement component of Adventure Mode. It combines and controls the animation of 3D characters, and establishes some sort of format to create interchangeable modular components. However, though it works well, it is incredibly janky, and will change significantly as it is improved. Hopefully it also eventually grows to encompass a few more features, such as riding a horse.

Dungeon Tools

There are three primary components within Dungeon Tools. The first is a system for managing world scenes, or 'levels' along with managing their state for multiplayer synchronization, saving, loading, and resetting. The second is a set of prefab objects (keys, doors, switches, etc.) that the user may construct dungeon levels with. These objects can be connected together within the Godot editor to achieve whatever interaction the user desires. The third and final component is the dungeon tools Godot plugin, which allows the user to visually see the relationships between different objects.

Multiplayer

Currently a prototype join code is in the code. Multiplayer is basic and uses Godot's built in multiplayer tools.

Secondary Components

In the course of making a highly functional demo, some pieces are not categorized so neatly, but are still important to the experience.

Contributing

Contributions are welcome, so long as they are released under compatible licenses. There are some general guidelines on artistic contributions as well, to hopefully keep the template project visually coherent.

Artistic Guidelines

Keep in mind that all the art assets were made with the intention of being overridden. Presumably someone would take this template, add in enemies, NPCs, a story, etc, and also their own art.

Meshes

Meshes should be low poly. Hero meshes under 2,000, common enemies under 500. It may be difficult to use a contemporary quad and subdiv workflow to make assets that mesh well with the N64 style. But if you can do it, and it looks good, that would be nice.

Textures

Keep textures as small as possible, as not to bloat the repo with binary data. Git cannot track binary files such as png or jpg files very well, so every time there is a change it keeps a whole copy. As such, using small 32x32 textures, or procedural ones such as gradients or noise is preferable, as git can track those much better.

Animations

Animations for the MannyQuinn (MQ) skeleton armature are all made in blender. Reference files for these will all be made available later. Two additional bones for items held are included. This was to prevent Dress Up accessories from needing two offsets for the right and left hand, but has the side effect of neat little tossing animations being possible, or attacks with an item switching hands, like spear twirling.

Certain attacks follow a combat tempo, with defined wind up, strike, and recovery periods. Those are not hard coded and can be tweaked by animators.

Audio

Sound has a unique ability to add an enormous amount of depth to a scene. However again, git has trouble tracking binary files. To strike a balance here sounds and effects are welcome, but should you contribute a sound please be sure you have proper license to do so, and strive to have your effect sounds be something suitable for being a small part of a diverse library. For example, instead of a 5 minute forest ambiance track, a smaller track of wind, with a few bird chirps could be appropriate. Don't be afraid to contribute sound, you would be surprised at how well your phone microphone can work. And any neat sound you come across can be recorded. The Mass Effect Reaper sounds were from a dumpster!

⚠️ **GitHub.com Fallback** ⚠️