Skip to content

A strategy game based on real-time flocking behaviors. Work in progress.

Notifications You must be signed in to change notification settings

palmdrop/BattleBoids

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Battleboids

A university project and a strategic battle simulator featuring boid simulations.

Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Contact

Battle

About The Project

BattleBoids is still a work in progress. The game is the main focus of a bachelor's thesis at the Chalmers University of Technology and the University of Gothenburg. The thesis description can be found here.

The game uses real-time flocking simulations as one of its core game mechanics. The implementation is directly based on the model described by Craig Reynolds in his 1987 paper, "Flocks, Herds, and Schools: A Distributed Behavioral Model", wherein he details how complex flocking behavior can arise from a small set of simple rules. The project started with a theoretical examination of these rules and the possible game concepts they could be used for. In the end, to get the most out of the complexities of flocking behaviors, we decided to create a game where two players compose a flock each using a few available different units. These two flocks then fight on a battlefield. Once the battle has started, the game is purely a simulation: the challenge for the players is to create a strong flock composition that will counter the opposing flock.

The game also features a short campaign mode. This mode is single-player and allows the player to play against a few predefined enemy flocks. This game mode introduces new units as the player progresses.

Accompanying the project, we'll write a scientific report detailing the theory behind the project, our methods, and the results. Once this report is finished, it will be uploaded to this repository and a link will be included here.

Battle setup

Concept

When an entity is given the three forces as outlined in Reynolds paper (Collision Avoidance, Velocity Matching, and Flock Centering), and placed in a 3D euclidean space together with other entities, the entities begin to move in a way that resembles a school of fish or a flock of birds. This is interesting as it suggests that complex flock movement is in reality very simple and can be simulated using minimal computing power. However, the computing power required increases drastically as the number of simulated entities increase.

The Project's objective is to take this fact and create a game around flocking behavior while using appropriate data structures and multi-threading to simulate a large number of entities.

We expand on Craig Reynolds' original three rules, and introduce additional rules, or "behaviors", that govern the boids. Each behavior has accompanying weights, ranges, or strengths, that can vary among boids. This allows us to create different classes of boids.

With these different boid classes and the battle mechanic, we hope to highlight the intricacies of flocking in a more nuanced and eventful environment than a regular flocking simulation.

Post battle roaming

Built With

The game is built using the Unity game engine and uses a variety of add-ons to enable a large number of boids simulated, particularly Burst from the unity Dots project.

Getting Started

To get started, simply clone the repository and open it up with unity. The game is in development and hence some functionality may not yet be implemented, and many bugs may remain.

Prerequisites

Unity version 2020.2.2f1

Installation

At this point, there are no released binaries. A release will be published in this repository when the project is ready.

Roadmap

The game aims to be completed sometime during March 2021. The final report, a release of the game, and possible documentation will be published at a later stage.

Contact

Anton Ahl - Github - ahanton@student.chalmers.se

Anton Hildingsson - Github - gushilanb@student.gu.se

Frans Bergman - Github - fransb@student.chalmers.se

Joachim Ørfeldt Pedersen - Github - gusrfejo@student.gu.se

Johannes Kvernes - Github - kvernes@student.chalmers.se

Vidar Höök - Github - vidarho@student.chalmers.se

Project Link: https://github.com/palmdrop/BattleBoids

About

A strategy game based on real-time flocking behaviors. Work in progress.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages