Giter VIP home page Giter VIP logo

wanderer's Introduction

NPM version NPM downloads

Wanderer

A terminal based 2D open world game. Where you can build stuff, shoot stuff, and blow stuff up.

Web version

There is now a beta web version of the app available! If you browse to wandererapp.herokuapp.com, you can try it out.

Currently, the architecture is not very fast, so there may be some lag, but if there is enough interest in it, I will add more dynos.

Installing

Make sure you have node and npm installed.

$ node -v
v4.1.2
$ npm -v
2.14.4

If you get errors instead of version numbers visit the NodeJS site.

Install the game globaly:

$ npm install --production -g Wanderer

Or if you don't care about having a few dev dependencies:

$ npm install -g Wanderer

Now run the game and have some fun:

$ wanderer

Controls

Note: Controls are not very well layed out currently since the game engine itself has been the priority. They are subject to possibly durastic change in the near future.

  • left - a
  • right - d
  • up - w
  • place block down - g
  • place block up - r
  • remove block down - v
  • remove block left bottom - z
  • remove block lett top - q
  • remove block right bottom - x
  • remove block right top - e
  • shoot left - u
  • shoot right - i
  • drop bomb - h
  • drop tnt - t
  • detonate tnt - p
  • re-render screen - y
  • drop tesseract - b
  • move tesseract left - j
  • move tesseract right - k
  • rotate tesseract - m
  • teleport to ground - k

Multiplayer

Run the game with the m option and a url to the server you are joining:

$ wanderer m http://<servername>.<domain>:<port>

Server Setup

Note: Currently the server setup is a little limited. With each run, a new world is generated and worlds cannot be saved. Changing this is a high priority, so there should be a WorldManager of sorts in the near future. The default port is 3030 and is not configurable currently.

Run the app with the s option.

$ wanderer s

For development

Fork the repo and clone it to your box.

$ git clone <your_forked_repo>
$ cd <your_forked_repo>

Create a branch

$ git branch <your_feature>
$ git checkout <your_feature>

Install dependencies

$ npm install

The directory structure of the app is currently pretty simple. Modules/Functionality are stored in modules/, types and utilities are stored in types/, external processes (such as the structure analysis and tesseract monitor) are kept in proc/

Notes

Tested on:

  • Arch Linux tty terminal
  • Xterm on Arch linux
  • KDE Plasma Konsole on Arch Linux(Works but with some fonts there are display issues. Recomend the Terminus font)
  • LXDE LXTerminal on Arch Linux(Works but with some fonts there are display issues.)
  • Gnome Terminal on Ubuntu 15.04
  • Windows 7 Command Prompt
  • Windows 10 Command Prompt(A few input issues noticed)
  • Windows 10 MINGW64 teminal emulator(A few input issues noticed)

Out of all these options, I've gotten by far the best results out of a straight Linux tty terminal. Yah, ya don't need a GUI to play this game.

wanderer's People

Contributors

dependabot[bot] avatar jpfeiffer16 avatar

Watchers

 avatar

wanderer's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.