Giter Site home page Giter Site logo

glc-client's Introduction

Stories in Ready

What is this?

The canonical Game Lost Crash client that we use for hack day events. As such, the code here tends to be very experimental. glc-client will probably not eat your laundry (but we can't guarantee it).

The goal is to create a 2d online metaverse ("game lost crash" or glc for short) with user-defined rules and worlds: a distributed gaming platform, essentially.

This gaming platform can be used for e.g., shoot-em'-up games. Think of this metaverse as a collaborative and iterative attempt to help each other create 2d games (be they platformers, top-down RPGs, or what-have-you). In a sense, glc-client is also a communications platform, albeit one that encourages creativity and experimentation.

Components: Our languages consist of Go and Lua. Our stack consists of NSQ and MongoDB. We will eventually (ab)use IRC for messages. This is the frontend. For the backend, please see glcd.

Installation

You will need to download and install Love2D, which is a 2d platform graphical library for Lua. Get it at http://love2d.org/.

And of coure you will need to git clone this repository to a convenient location on your hard drive.

That's it!

NB: The code assumes a remote NSQ server which we have set up at lethalcode.net -- properly whitelisted, of course. (If you are experiencing NSQ connection issues, let us know your IP address.) For most purposes, you will not have to install anything else. Nonetheless, if you wish to run the entire network setup locally, the docker builds for this are still under progress -- stay tuned.

Starting up

All methods use the command line.

OSX:

Open up a Terminal and type in:

/Applications/love.app/Contents/MacOS/love <directory of glc-client>

You can cd to the directory containing glc-client and type in:

/Applications/love.app/Contents/MacOS/love .

I recommend creating an alias in ~/.bash_profile to execute the love binary directly. If you do not do this, output will not be visible on the console window.

Edit ~/.bash_profile with $YOUR_FAVORITE_EDITOR and add the lines:

alias love="/Applications/love.app/Contents/MacOS/love"

Run source ~/.bash_profile to make the new additions take effect. (This step only has to be done once: opening a new Terminal will automatically run the contents of this file).

Once the love alias is set up, simply typing the following in the glc-client directory will work:

love .

Linux:

love <directory of glc-client>

Example usage:

james@lattice:~/hackday/glc-client$ love .
logged:	** starting game lost crash client

Windows:

First, set up Love2d as per the instructions. Secondly, open a command line shell (Start -> Run -> cmd); cd to the directory containing glc-client and then run:

    "C:\Program Files\LOVE\love.exe" --console .

Keyboard Shortcuts

Use arrow keys for navigation.

  • <Esc> Quit game
  • <Tab> Enter/Exit console mode to chat with other players
  • <V> Change avatar
  • <S> Change avatar state
  • <Space> Fire bullet
  • <X> Jump to a random zone location
  • <L> Toggle through diferent layer of tilesets
  • <Lctrl-p> Take a screenshot. It will be saved in either $XDG_DATA_HOME/love/ (or $HOME/.local/share/love/) for Linux or $HOME/Library/Application Support/LOVE/ for Mac. (See love.filesystem for more information.)

Screenshots

obligatory screenshot

Trouble-shooting

There are more detailed instructions about running love directly here.

The code may indeed be broken. Look at the list of github issues to see if the bug has already been reported. Otherwise add a new issue!

Of course, you can ask us any question at (almost) any time on IRC at #gamelost on freenode.net.

License

Apache 2.0. See the LICENSE for more details.

glc-client's People

Watchers

 avatar  avatar

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.