Skip to content

Latest commit

 

History

History
83 lines (60 loc) · 2.03 KB

README.md

File metadata and controls

83 lines (60 loc) · 2.03 KB

SOMAS 2020

Main repository for Self-Organising Multi-Agent Systems (SOMAS) Coursework for 2020, Imperial College London.

Running code

See Setup & Rules for requirements.

# Approach 1
go run . # Linux and macOS: Use `sudo go run .` if you encounter any "Permission denied" errors.

# Approach 2
go build # build step
./SOMAS2020 # SOMAS2020.exe if you're on Windows. Use `sudo` on Linux and macOS as Approach 1 if required.

Parameters & Help

go run . --help

Output

After running, the output directory will contain the output of the program.

  • output.json: JSON file containing the game's historic states and configuration.
  • log.txt: logs of the run

Visualisation Website

See website/README.md

WebAssembly Build

Scripts provided to compile the program into WebAssembly for the website.

If you have node

node ./website/scripts/buildWasm.js

Otherwise

On Linux/maxOS,

./build_wasm.sh

On Windows,

build_wasm.cmd

Testing

go test ./...

Structure

Important documents pertaining to codebase organisation, code conventions and project management. Read before writing code.

Internal SOMAS2020 packages. Most development occurs here, including client and server code.

  • clients Individual team code goes into the respective folders in this directory.

  • common Common utilities, or system-wide code such as game specification etc.

  • server Self-explanatory.

More generic packages dealing with general use-cases, such as system-related or file-operation utilities.

Source code for visualisation website.