Skip to content

MH15/inconceivable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

inconceivable

a framework for modern web games

NPM Version

Inconceivable attempts to provide a framework for rapid game development that promotes modern JavaScript and Typescript.

inconceivable is under development, and not a production project

Installation

NPM

npm i inconceivable

Features

  • Map loaded and file format
  • Spritesheet support (we suggest you use the amazing SpriteSheet Packer)
  • Asset Server for maps, sprites and other static content
  • unobstructed access to the PIXI.js and Matter.js APIs

Getting Started

We recommend using Parcel and Typescript to develop games using this framework. Using Parcel (or a similar bundler) will decrease the size of your game (allowing more space for your stunning assets) and speed up your development cycle through hot module replacement. We find that Typescript reduces bugs in the development process, but if you choose to use vanilla JavaScript, a type definition file is provided to help with IDE autocomplete signatures.

Basic Project

The simplest Inconceivable game has an entry file and a spritesheet.

import { Game, Scene, GameObject } from "inconceivable"
let parent = document.querySelector("#game")

class MyScene extends Scene {
    Start() {

    }
    Update(delta) {
        
    }
}

Meta

Created by Matt Hall - @matthallosu - matthew349hall@hotmail.com

Distributed under the MIT license. See LICENSE for more information.

TODO

  • Error if Sprite in level file cannot be found in spritesheet.
    • Error on corrupted JSON.
    • Add a level layer property to allow nonrendered objects
  • Don't require hard reload on level file change.
    • Make Parcel hot reload on JSON changes
  • Create a Base Class for GameObjects with Physics support
    • Remove Physics methods from GameObject
  • audio support
  • Support Z index of layers
  • global configuration file (inconceivable.json)
  • change Game() constructor to take query string instead of HTMLElement.

About

experimental Typescript game engine

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published