:warning: If you just want to try out the game, read both the Overview and Play Instructions sections. The rest of this README contains more technical stuff relating to running and building the source code.
Deflectomania!, an Orange Red Yellow Game, is our first game prototype to be submitted as part of GameOff 2022.
Deflectomania! is a couch multiplayer game (up to four players) where you compete to become the last Space Ranger standing.
You have two items in your arsenal, a blazing gun and a force field.
The blazing gun shoots a limited amount of bullets at a time. Your bullets need to recharge to be able to shoot them again, so make sure you’re strategic about it… OR you just rain hell on your enemies what do we know.
As a Space Ranger you’re given a force field that’ll help you deflect incoming bullets. Time them correctly and you’ll be able to deflect them back at your enemies. Like the bullets, force field need time to recharge so use them wisely.
That’s all you need to know to start playing so gear up and show-’em who’s boss!
Latest builds can be found in this repos releases page
Using either a mouse / keyboard or controllers, you can play against up to 3 of your friends.
When opening the project for the first time, you might encounter errors regarding DOTWeen. If this happens, do the following:
DOTWeen should now be configured successfully and the project should work correctly now.
This repo makes use of Git LFS, which allows support for adding large files (audio, video, artwork, etc...) to a git repo.
To set it up, do the following:
git lfs install
once to activate it (you only need to do this once per user account)This repo uses LF
as line breaks. If you're running on Windows, you might face an issue when opening PRs, or doing any
commits in general, that any file you edit will use CRLF
instead of LF
.
This is most likely an issue with Git on Windows.
To fix it, run the following:
git config --global core.eol lf
git config --global core.autocrlf input
You can read about the difference between using LF
and CRLF
as
linebreaks in this stackoverflow post
.
This repo makes heavy usage of the CI / CD workflows provide by GameCI.
All the available workflows can be found in the .github/workflows
directory.
FSM in this project are implemented with the help of UnityHFSM
Documentation: https://github.com/Inspiaaa/UnityHFSM/wiki
This project makes heavy use of Unity Atoms, an event based system that encourages data-driven design.
To understand the reasoning behind using this package, feel free to watch the following two videos (If you're short on time, only watch the first video):
Unity doesn't support adding shadow casting to tilemaps by default. A workaround implemented in this repo is the script described in this forum post
TLDR: If you want to generate shadow caster for a tilemap, click on Tools
> Generate Shadow Casters
and shadow
caster objects will be created for the tilemaps in your current scene.
This project has Asser Usage Detector installed. To make use of it, you can do one of the following:
Please use the angular commit convention when adding new commits.
Not only does it make your commit more clear, but it also plays a key role in how semantic-release (see below) determines the next version number for a release.
<type>(<scope>): <short summary>
│ │ │
│ │ └─⫸ Summary in present tense. Not capitalized. No period at the end.
│ │
│ └─⫸ Commit Scope: animations|bazel|benchpress|common|compiler|compiler-cli|core|
│ elements|forms|http|language-service|localize|platform-browser|
│ platform-browser-dynamic|platform-server|router|service-worker|
│ upgrade|zone.js|packaging|changelog|dev-infra|docs-infra|migrations|
│ ngcc|ve
│
└─⫸ Commit Type: build|ci|docs|feat|fix|perf|refactor|test
The <type>
and <summary>
fields are mandatory, the (<scope>)
field is optional.
Must be one of the following:
Releases are handled automatically using semantic-release. Its
configuration can be found in .releaserc.json
.
Here's how releases are currently made:
alpha
branch will create a new alpha release. These will be tagged as v1.0.0-alpha.1
, v1.0.0-alpha.2
, v1.0.0-alpha.3
, etc...main
branch will create a new (ordinary) release. These will be tagged as v1.0.0
, v1.0.1
, v1.1.0
, v2.1.0
etc...Deflectomania! was proudly developed by: