superstellar

command module
v0.0.0-...-5062497 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2018 License: MIT Imports: 15 Imported by: 0

README

superstellar

Superstellar

Massive multiplayer galactic game written in Golang. It has been inspired by the old arcade space shooter called Asteroids.

Live demo

http://superstellar.u2i.is

Rules

Destroy moving objects and don’t get killed by other players and asteroids. You’ve got two resources – health points and energy points. You lose your health with every hit you get and every contact with the asteroid. Energy points are consumed when shooting and using a boost drive. The more objects you kill, the bigger your health bar grows. Good luck

Story behind the game

https://medium.com/u2i-blogs/we-made-a-multiplayer-browser-game-in-go-for-fun-242a5990ce29/

Installation & running

  1. Clone this repository to your $GOPATH/src directory
  2. cd to that directory
  3. Run go get
  4. Run go build && go install
  5. Run $GOPATH/bin/superstellar to run a server instance
  6. Open new console and go to the game source directory.
  7. cd webroot
  8. npm install
  9. npm run dev
  10. Go to http://localhost:8090

Running stress test util

You can run a stress test util that spawns any number of clients which connect to the server and send ramdomly correct user input messages.

  1. cd superstellar_utils
  2. go build && go install
  3. Run $GOPATH/bin/superstellar_utils 127.0.0.1 100 50ms for spawning 100 clients, with 50 ms interval.

Live profiling

It's possible to dump various information from the running server, e.g. stacktraces of all goroutines which might be useful in case of a deadlock.

  1. Run server
  2. Go to http://localhost:8080/debug/pprof/

Using JS __DEBUG__ flag

If you run DEBUG=true npm run dev you will see additional debugging informations. You can add your own debugging info in code. Just detect that we're in the debug mode:

if (__DEBUG__) {
   console.log("I'm in debug mode!");
}

Compiling protobufs

Run ./generateProto.sh

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
backend
ai
pb
Package pb is a generated protocol buffer package.
Package pb is a generated protocol buffer package.

Jump to

Keyboard shortcuts

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