TypeScript JavaScript HTML
jedeen and eonarheim [chore] Remove unused headings from changelog (#1023)
* [chore] Update changelog for 0.18.0 release
* Remove unneeded headers
Latest commit 78f46e9 Aug 5, 2018
Permalink
Failed to load latest commit information.
.github Split issue templates into separate files (#1020) Jul 20, 2018
.vscode [#907] Add VSCode extensions recommendations (#967) Apr 28, 2018
assets Update loader theme and startup (#630) Aug 19, 2016
docs [chore] Update getting started (#1025) Aug 4, 2018
sandbox [chore] Remove obsolete code for 0.18.0 release (#1021) Aug 4, 2018
src [chore] Remove obsolete code for 0.18.0 release (#1021) Aug 4, 2018
tslint Add Node.js sourcemap support and fix TSLint for VS Code (#657) Oct 1, 2016
typedoc-default-themes @ 7cb0a64 [chore] Update submodule (#917) Dec 5, 2017
.gitattributes Add Excalibur VS2013 solution with test project (use Chutzpah test ru… Jan 30, 2014
.gitignore [#794] [#936] Update TypeScript & add webpack support (#970) Jun 5, 2018
.gitmodules [#777] Add typedoc build command (#782) Apr 15, 2017
.npmrc [#794] [#936] Update TypeScript & add webpack support (#970) Jun 5, 2018
.nvmrc [#794] [#936] Update TypeScript & add webpack support (#970) Jun 5, 2018
.travis.yml [chore] Update travis to lock npm (#1001) Jun 5, 2018
CHANGELOG.md [chore] Remove unused headings from changelog (#1023) Aug 5, 2018
Excalibur.nuspec [#606] Convert codebase to external modules (#734) Jan 2, 2017
Excalibur.sublime-project Closes #239 Optimize Actor drawing Mar 26, 2014
GruntFile.js [chore] Fix Gruntfile to be compatible with Node 6.x Jun 5, 2018
LICENSE.md Update BSD license (#752) Feb 4, 2017
README.md [#794] [#936] Update TypeScript & add webpack support (#970) Jun 5, 2018
appveyor.yml Update to Node v8.4.0 (#878) Sep 9, 2017
deploy-docs.js [chore] Add 0.0.0 local version, use nearest Git tag for local versio… Apr 19, 2018
karma.conf.js [#794] [#936] Update TypeScript & add webpack support (#970) Jun 5, 2018
package-lock.json [#979] Prevent removal of actors that are killed and readded during t… Aug 4, 2018
package.json [chore] Change version back to 0.0.1 for older npms (#1013) Jun 22, 2018
prettier.config.js [chore] Run Prettier on Excalibur (#999) Jun 5, 2018
tsconfig.json [#794] [#936] Update TypeScript & add webpack support (#970) Jun 5, 2018
version.js [#794] [#936] Update TypeScript & add webpack support (#970) Jun 5, 2018
webpack.config.js [#794] [#936] Update TypeScript & add webpack support (#970) Jun 5, 2018

README.md

Logo

Build Status Build status Coverage Status Docs status npm version npm downloads Bower version NuGet version

Sweep Stacks

Excalibur is a simple, free game engine written in TypeScript for making 2D games in HTML5 canvas. Our goal is to make it incredibly simple to create 2D HTML/JS games, for folks new to game development as well as experienced game developers. We take care of all of the boilerplate engine code, cross-platform targeting, and more so you don't have to. Use as much or as little as you need!

Excalibur is an open source project licensed under the 2-clause BSD license (this means you can use it in commercial projects!). It's free and always will be. We welcome any feedback or contributions! If you make something with Excalbur, please let us know!

Get Started

Our user documentation is at http://docs.excaliburjs.com.

  • Follow our Installation guide to learn how to install Excalibur
  • Follow our Getting Started guide if you're looking to get started.
  • Learn what Features are available for you to leverage in your games
  • View the Release roadmap to see what's coming next

❗️ Note: We are still in version 0.x, which means this project may be a little rough around the edges. We try to minimize API changes, but breaking changes will occur in new released versions. Excalibur is a labor of love and the product of many hours of spare time. Thanks for checking it out!

API Documentation

Visit the API Documentation section for fully-annotated documentation of the API.

The master branch documentation is always available and up-to-date on our Edge documentation site.

Questions

Samples

Compiled examples can be found in the Excalibur Samples collection.

Contributing

Please read the Contributing guidelines. Whether you've spotted a bug, have a question, or think of a good feature, we thank you for your help!

Environment Setup

The Excalibur.js team primarily uses Visual Studio Code as a platform agnostic editor to allow the widest contributions possible. You can always use your own preferred editor of choice.

Prerequisites

After cloning the repository, run:

npm install

You can then run the npm tasks for various purposes:

# Run compilation, linting, and all unit & visual tests
# Recommend to do this before finalizing pull requests
npm run all

# Run engine core compilation only
# Useful for quick checks to ensure everything compiles
npm run core

# Run engine tests only (does not run compile task)
# Useful to run tests ad-hoc
npm test
npm run test

# Compile HTML visual tests
# Useful to ensure HTML sandbox compiles
npm run visual

# Start sandbox dev server (long-running)
# Run in separate terminal alongside `npm run visual`
npm run sandbox

# Compile API docs
npm run apidocs

License

Excalibur is open source and operates under the 2-clause BSD license:

BSD 2-Clause License

Copyright (c) 2014, Erik Onarheim
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.