A fighting game with grid based movement and beat 'em up elements in which you play as a simple salary worker. After being fired and replace by a robot, she is about to release her 'rage on the machines'.
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.
- 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.
- 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.
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 actions or behaviors that an agent can perform. They are the leaves of the tree and perform specific actions or tasks.
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.