Code Monkey home page Code Monkey logo

airmash-frontend's Introduction

Build Status

airmash-frontend

This repository contains the last available copy of the Airmash frontend app, as extracted from archive.org, with a bunch of edits intended to make things more readable and maintainable:

  • Tidied HTML (HTML tidy, introduced a bunch of bugs, was kind of a mistake).
  • Identified all the third party JS library versions in use and replaced them with canonical upstream releases. The official pixi.js breaks the HUD rendering, so there is a patch to make it match the Airmash release.
  • Carved up all the original JS into files living under src/js/. Each file represents what appears to be one of the original source modules.
  • Reindented all the JS, and applied some highly selective use of jsnice.org to improve readability of some functions, particularly in graphics. The Git log details each use individually.
  • Modified the connection code to not rely on airma.sh DNS layout. Instead it reads the game data from https://data.airmash.online/games, and constructs each server's WebSocket (wss://) URL from host and path.
  • Print a nice error when WebSocket connections fail.

Building and deployment

The code has been repackaged with npm to use webpack for building the final frontend code. To build locally, issue these commands after cloning the repo:

npm install
npm run build

The output will be created in dist/, and can be served using a local web server for testing (e.g. something like cd dist ; python3 -m http.server).

For development, DEBUG=1 npm run build cuts build time down by disabling minification.

This repository contains proprietary code

The original Airmash game was never published as free software, and so the 8,000 lines of non-library JS are covered by copyright. The copyright owner appears disinterested in updating Airmash, but that does not mean their rights have disappeared. Don't copy code you find here into projects you care about!

The existence of this repository is not even a grey area โ€“ it's directly infringing. But it seems such infringement is the only option we have left to keep the game alive.

Pristine copies of the original assets are available under the archive.org-original tag.

Patches welcome

One reason I love Airmash so much is because it was such a beautiful piece of code. They managed to fit a compelling multiplayer action game in a web browser, that's really a work of art. I'd love to preserve that art as much as possible, but it's also important for the remaining Airmash players to work together to preserve what remains of the game.

So with that said, please assume quite a permissive policy with regard to what can be merged into this repository, and please understand this repository belongs to everyone.

airmash-frontend's People

Contributors

congratulatio avatar dependabot[bot] avatar blackcrawler avatar spatiebot avatar lgg avatar wight-airmash 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.