/SOMAS2020

Main repository for SOMAS2020 Coursework

Primary LanguageGo

SOMAS 2020

Main repository for SOMAS2020 Coursework.

Running code

# 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.

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

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.

  • logger Logger for the application.

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

Source code for visualisation website.