athenajs
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/athenajs package

0.1.0 • Public • Published

AthenaJS

npm release license maintained

© 2017, Nicolas Ramz (@warpdesign). MIT licence.

A simple framework for building 2D games in HTML5 and JavaScript.

  • Read the tutorials to get started with AthenaJS
  • Visit the API documentation for a list of classes and methods available
  • Clone samples repository to get started with AthenaJS
  • For an example of a complete game written using AthenaJS check the athenajs-tetris repository

Features

Here is a non-exhaustive list of features of AthenaJS:

  • Unlimited number of scenes with an unlimited number of sprites
  • Image-based Sprites with any number of animations
  • Tiles-based Maps with horizontal & vertical scrolling
  • Special scene transition effects like Fades, Mosaic can be added easily
  • Map VS Sprite and Sprite vs Sprite collision detection
  • Map Triggers support
  • Sound support with volume and horizontal panning
  • Keyboard & Joytisck input event supported (touch support is planned)

Install

npm install athenajs --save

Quick Start

ES2015

import { Game, Scene, SimpleText } from 'athenajs';
 
// create a new game
const myGame = new Game({
    name: 'first-game',
    width: 320,
    height: 200
}),
// create a new empty scene
myScene = new class MyScene extends Scene{
    start() {
        const myText = new SimpleText('my text', {
            text: 'This is a test',
            color: 'black'
        });
        // add the object onto the scene
        this.addObject(myText);
    }
};
 
// play this scene
myGame.setScene(myScene);

ES5

in your html file:

<script type="text/javascript" src="athenajs.js"></script>
<script type="text/javascript">
    window.onload = function() {
    var Game = AthenaJS.Game,
        Scene = AthenaJS.Scene,
        SimpleText = AthenaJS.SimpleText;
 
    // create a new game
    var myGame = new Game({
        name: 'first-game',
        width: 320,
        height: 200
    });
    // // create a new empty scene
    // myScene = new class MyScene extends Scene{
    //     start() {
    //         const myText = new SimpleText('my text', {
    //             text: 'This is a test',
    //             color: 'black'
    //         });
    //         // add the object onto the scene
    //         this.addObject(myText);
    //     }
    // };
 
    // play this scene
    myGame.setScene(myScene);
</script>

Apps written using AthenaJS

Contributing

If you are interested in contributing to the AthenaJS code base, simply fork the repository and make a pull-request.

Once you have cloned the repository, simply type:

npm install && npm link && npm start

This will install the prerequisites, add a link to athenajs into your global npm modules directory and build & start watching for changes.

Now to start using athenaJS for testing, simply type the following in the directory of your project using AthenaJS:

npm link athenajs

This will add a link from your project to the global athenajs link that was just created.

License

Copyright (c) Nicolas Ramz.

Licensed under the MIT License.

Dependencies (3)

Dev Dependencies (14)

Package Sidebar

Install

npm i athenajs

Weekly Downloads

9

Version

0.1.0

License

MIT

Last publish

Collaborators

  • warpdesign