xaro

module
v0.0.0-...-d471c43 Latest Latest
Warning

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

Go to latest
Published: Jun 26, 2019 License: Apache-2.0

README

Xaro

A space metroidvania game.

Getting Started

These instructions are meant for if you'd like to build the game on your local machine for development purposes.

Prerequisites

You'll need to install engo, mage, and dep in order to build this project. Engo wasn't included into the magefile because of dependency issues with glfw3 so you'll have to install it manually.

  • engo
    • go get -u github.com/EngoEngine/engo
  • magefile
    • go get -u -d github.com/magefile/mage
  • dep
    • MacOS
      • brew install dep
      • brew upgrade dep
    • Other platforms
      • curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
Installing

Install the repository directly into your gopath using this command.

go get -v github.com/hecategames/xaro

Once you have the three prerequisites installed then you can direct your terminal to the root directory of the project and with your gopath bin folder set as an environment variable for PATH you'll be able to use the mage command.

The mage command will run the magefile.go file which is what this project uses instead of a Makefile. Magefiles were chosen so it was easy to build the project cross platform.

mage

The mage command will clean the repo, rebuild dep, install dependencies, vet, fmt, lint, build, install the application and place the executable in the project's /bin folder. Then all you have to do is run the bash script to run the file.

# windows
./runXaro.sh

# others
sh runXaro.sh

Authors

  • Damien Stamates - Lead Developer/Graphic Designer

License

This project is licensed under the Apache 2.0 License

Acknowledgments

  • u2i superstellar
    • I took inspiration and code snippets from this open-source multiplayer game written in golang.
  • SolarLune
    • Taking inspiration from SolarLune's creativity and videos on game development and design.

Directories

Path Synopsis
cmd
Package general will store all the common functionality that all scenes can use.
Package general will store all the common functionality that all scenes can use.
pkg
component
Package component holds custom compenents used in Xaro.
Package component holds custom compenents used in Xaro.
errors
Package errors is used for custom error types used to make debugging easier.
Package errors is used for custom error types used to make debugging easier.
logging
Package logging stores multiple mockable zap loggers for Xaro to use.
Package logging stores multiple mockable zap loggers for Xaro to use.
player
Package player stores the playable character that can be used in all game scenes.
Package player stores the playable character that can be used in all game scenes.
resource
Package resource is used for scene resources such as walls and enemies.
Package resource is used for scene resources such as walls and enemies.
scene
Package scene contains all the scenes used in Xaro.
Package scene contains all the scenes used in Xaro.
system
Package system holds all the custom systems used in Xaro.
Package system holds all the custom systems used in Xaro.
tilemap
Package tilemap stores all the tilemapping functionality for scenes to use.
Package tilemap stores all the tilemapping functionality for scenes to use.
xaro
Package xaro is used to store the configs and scenes for the whole game.
Package xaro is used to store the configs and scenes for the whole game.

Jump to

Keyboard shortcuts

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