spac

module
v0.0.0-...-9c16532 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2020 License: MIT

README

spac

Spac is a 2D MMO game written as a proof of concept for game development in Go and as an intellectual challenge.

Screenshot of gameplay

Getting Started

These instructions will get you a copy of the server and client up and running on your local machine for development and testing purposes.

Prerequisites

Spac depends on faiface/pixel for graphics, which uses OpenGL to render. Because of that, OpenGL development libraries are needed for compilation. From pixel's readme:

The OpenGL version used is OpenGL 3.3.

  • On macOS, you need Xcode or Command Line Tools for Xcode (xcode-select --install) for required headers and libraries.
  • On Ubuntu/Debian-like Linux distributions, you need libgl1-mesa-dev and xorg-dev packages.
  • On CentOS/Fedora-like Linux distributions, you need libX11-devel libXcursor-devel libXrandr-devel libXinerama-devel mesa-libGL-devel libXi-devel packages.
  • See here for full details.

NOTE: Due to a bug with Go 1.8, compiling on macOS with XCode will fail. Updating to Go 1.8.3 resolves this issue.

Installing

Installing spac is as simple as cloning this repo into your Go path (in the appropriate location, $GOPATH/src/github.com/20zinnm/spac) and running:

go build -o spac-server github.com/20zinnm/spac/server

To start the server, just run the compiled binary:

./spac-server

The CLI includes help dialogues that explain parameters.

Next, to run the client, run:

go build -o spac-client github.com/20zinnm/spac/client

Again, start the client by running the binary:

./spac-client

And voilà!

Authors
  • Meyer Zinn - St. Mark's
License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Acknowledgments

This project would not have been possible without:

  • Michal Štrba, whose excellent work on pixel helped greatly in implementing the client.
  • Jake Coffman, whose faithful port of the chipmunk2d physics engine contributed to the pseudo-realistic physics the game enjoys, and whose tanklets project served as a source of inspiration for spac.

Directories

Path Synopsis
cmd
common
net
net/builders
builders implements a pool of flatbuffers Builders and prevents data leaks in pool members.
builders implements a pool of flatbuffers Builders and prevents data leaks in pool members.
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL