A data-driven game engine for Nim
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dadren
examples
.gitignore
README.md
dadren.nimble

README.md

Overview

Dadren is a sprite-based top-down turn-based data-driven survival game engine.

Core Infrastructure Features

Configurable tilesets:

Custom tilesets allow for the rehauling of the game's graphical look

Procedurally generated world:

Algorithmically generated world for high variance and replayability

JSON driven entity components:

Data driven content allows for rapid creation and player modification

Environment Featues

Advanced World-generation:

Using blended noise complex biomes can be created.

Procedurally colored tile variants:

Recoloring tiles at runtime for seasonal and other effects

Global illumination and point lighting:

Utilizing sprite tinting to achieve 2D lighting effects

Day cycle:

A diurnal cycle that has graphical and gameplay consequences

Seasonal cycle

A seasonable cycle that has graphical and gameplay consequences

Item Dynamics

Physicality:

Items have weight and volume and potentially other physical properties

Composites:

Many items are composed of two or more combined items

Deconstructable:

Many composites are able to be deconstructed into their constitutent parts

Smashing:

Bashables and slicables can be deconstructed with physical attacks

Basic Materials:

Items which cannot be crafted from other items are basic materials

Containers:

Some items are able to contain other items based on relative volume and capacity

Obstacles:

Some items prevent movement and the placement of items

Surfaces:

Some obstacles are able to support other items on the same tile

Quality:

Most items have a quality which determines its general effectiveness

Durability:

Expiration of item durability leads to deconstruction or complete destruction

Competence and Parametric Skills

Categorical Actions:

Any action performable in the world belongs to some skill category

Categorical Competence:

A base categorical Competence determines a base bonus for associated actions

Parametric Skills:

Skills are specific and grant bonuses based on specific item types involved

Crafting Features

Basic materials based crafting:

Combining multiple materials allows for the production of goods

Item deconstruction:

The ability to deconstruct items into constituent materials

Item customizations and modifications:

Perform modifications that change items without changing the base type

Materials and Craftmanship variance:

Skill and materials and morale directly correlate to production quality

Health and Morale

Basic Needs:

Hunger, thirst and morale are constant upkeep factors

Physiology modeling:

Condition of body parts and their related tissues and bones are tracked

Immunology modeling:

Disease and afflictions can have stat and gameplay related effects

Morale effects:

The efficency of actions and the quality of crafting is affected by morale

Satisfaction:

The efficiency of actions and the quality of crafting can affect morale

Clothing and Armor

Area Clothing:

Clothing and armor types are fitted and worn on specific areas of the body

Multi-area Clothing:

Some clothing is worn on multiple areas at once

Coverage and Warmth:

Different clothing provides varying levels of coverage and warmth

Encumberance:

Different clothing provides varying levels of encumberance to body parts

Action Effects:

Actions relying on specific body parts may be effected by clothing encumberance

Layering:

Multiple items may be worn on the same area for combined effects and encumberance

Fitting and Modifications:

Items may undergo fitting and other modifications to change their properties

Stateful Clothing:

Some clothing can have various settings and states such as a mask with a visor

Flora

Biome specificity:

Certain plants grow in certain biomes

Growth Modeling:

Plants grow and develop overtime changing their look and characteristics

Seasonal Variance:

Plants may exhibit various properties during specific seasons

Non-deconstructable Smashables:

Plants can be smashed for materials but not deconstructed (they can't be picked up)

Hardiness:

A plant's hardiness determines the difficulty in smashing (slashing or bashing) it

Flowering:

Plants may flower during specific seasons allowing for harvest of unique materials

Harvestable:

Some plants may be harvestable for specific materials without smashing

Plantable:

Plants that produce seeds may be planted and if treated will grow as normal

Fauna

Biome specificity:

Certain creatures appear in certain biomes

Seasonal Variance:

Certain creatures may only appear during certain seasons

Behavioral State-machine:

Creature behavior is driven by a graph of states and transitions