♠️ A charming engine. A simple and charming 2D game engine for Javascript.
MIT License
Ace is designed to be a really small and lighweight engine for 2D games.
That's it. It's perfect for the ones that are making simple games for fun or learning. If your intention is to making advanced and powerful games, there are a lot of better options outside there.
Ace is in a very initial development stage. It's not ready for production yet.
It'll be awesome if you become part of this. Contributions are really really welcome! Let's have fun! :)
npm install @imbrn/ace
or
yarn add @imbrn/ace
<script src="https://cdn.jsdelivr.net/npm/@imbrn/ace/dist/ace.min.js"></script>
or
<script src="https://unpkg.com/@imbrn/ace/dist/ace.min.js"></script>
For other installation options, or if you want to start developing your own version, check the building section.
import { Game, Scene, rect } from "ace.js";
// Implementing a game scene
class MyGameScene extends Scene {
constructor() {
super({ width: 1600, height: 900 });
}
udpate(elapsedTime) {
// update your game progress
}
draw(canvas) {
// draw your game state using Canvas API
canvas.fillStyle = "black";
canvas.fill(rect({ x: 0, y: 0, width: 1600, height: 900 }));
}
onClick(event) {
// capture user click events
}
onKeydown(event) {
// capture user keydown events
}
}
// Creating game
const game = new Game(document.querySelector("#my-canvas"));
game.currentScene = new MyGameScene();
game.start();
After cloning this repo, install the dependencies:
npm install
For building the library, run:
npm run build
This is going to create a build
folder with the generated Javascript files for CommonJS, UMD, AMD, ESM, browser and system modules.
For running the examples, you can execute:
npm start
This is going to start a local server with hot-reload enabled by default. Then, you can open your browser, access the address indicated in the console and add /example-name for accessing the example-name.