link to play
role: Programmer, Game designer
genre: fighting, roguelike, beat 'em up
Engine: unity
Code language: c#
programming:
- 2D Grid-based Movement System;
- A.I. Behaviour Tree; 
- Grid pathfind: a* search algorithm;
- Observer Pattern;
- Scriptable-Objects as game events;
- Interfaces.
game design:
- Combat system; 
- Progression system based on scriptable objects.
grid movement system
The grid is instantiate by the 'Level generator script', then it starts the coroutine 'Generate' to create the grid. 
Grid
Grid
Grid
Grid
BattleTile
BattleTile
BattleTile
BattleTile
BattleTile
BattleTile
Behaviour tree
Behaviour tree is a node based structure iused in computer science, robotics, control systems and video games. It provides a hierarchical way to model and control the behavior of agents or entities in a system. it's not necessary to know how the tasks are implemented and is scalable in the long run. it's A more modular and flexible aproach than the hierarchical state machines.
A behavior tree is graphically represented as a directed tree in which the nodes are classified as root, control flow nodes, or execution nodes (tasks). For each pair of connected nodes the outgoing node is called parent and the incoming node is called child. The root has no parents and exactly one child, the control flow nodes have one parent and at least one child, and the execution nodes have one parent and no children. Graphically, the children of a control flow node are placed below it, ordered from left to right.
A Behavior Tree is structured as a tree, where each node in the tree represents a specific behavior or task. There are three main types of nodes in a Behavior Tree:
1. Root Node: The top-level node that starts the execution of the tree. It has one or more child nodes.
2. Control Nodes: These nodes determine the flow of execution within the tree. Examples include sequence nodes and selector nodes.
3. Sequence Node: Executes its child nodes in order, from left to right. It only proceeds to the next child if the current one succeeds.
4. Selector Node: Executes its child nodes from left to right until one of them succeeds. If a child fails, it moves on to the next one.
5. Task Nodes: These nodes represent the atomic actions or behaviors that an agent can perform. They are the leaves of the tree and perform specific actions or tasks.
Node node
Node node
Selector node
Selector node
Sequence node
Sequence node
Tree
Tree
Exemple: Custom Task Node
Exemple: Custom Task Node
progression system
each level has a number of stages, the stages informs what enemies, gimmicks and items can appear. The chance of a certain object to spawn is based on the quantity of that object in a list. 

You may also like

Back to Top