Skip to content

Main repository for SOMAS2020 Coursework

License

Notifications You must be signed in to change notification settings

Darrekt/SOMAS2020

 
 

Repository files navigation

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.

About

Main repository for SOMAS2020 Coursework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 63.0%
  • Jupyter Notebook 18.6%
  • TypeScript 16.8%
  • JavaScript 1.1%
  • CSS 0.4%
  • HTML 0.1%