Skip to content

Latest commit

 

History

History
103 lines (74 loc) · 2.5 KB

README.md

File metadata and controls

103 lines (74 loc) · 2.5 KB


✨A Tiny Javascript Game Engine

🎁Getting Started:

Qngine is a very simple Game Engine I built for Javascript. It is highly inspired from LÖVE. It's also my first game engine.

Installing:

Simply clone this repository with:

git clone https://github.com/QwertyR0/Qngine.git Qngine

and in the file Qngine run the command below to download the dependencies:

npm i

Running the Demo:

Simply run the command below:

node PATH_TO_THE_QNGINE_FOLDER/src/engine.js demoGame/

Making The First Program:

1. Create a game folder and also create a config.json and a main.js

2. Write this json below to your config.json

{
    "title": "TestGame",
    "gameFile": "./main.js",
    "enableWhiteByDefault": true
}

The "title" will be the window title of your game and the "gameFile" will the main gamefile you created as main.js.

3. Write this Javascript code below to your main.js

export async function init(w, pl){
}

export function loop(w, dt, pl){
}

export function draw(w, graphics){
    graphics.text("Hello World!", 0, 0);
}

4. Finally run it with the command:

node PATH_TO_THE_QNGINE_FOLDER/src/engine.js PATH_TO_THE_GAME_FOLDER

Don't forget to replace these PATH_TO_THE_QNGINE_FOLDER and PATH_TO_THE_GAME_FOLDER placeholders.

NOTE:

I only tested this on node v20.2.0

Qngine is still in development and you should expect bugs(like a lot).


Documentation:

Click here for the wiki.
Beaware that only %38.6 of the wiki is done.

For Help:

You can open an issue on github or just DM me on Discord.

My Discord: qwerty.r0

My Website: https://qwertyr0.is-a.dev/

Special Thanks to:

  • kmamal For making SDL bindings for node.js.
  • Blendi Goose For minorly testing and helping with some issues.
  • kTheLemon For minorly testing Qngine.
  • farukk9326 For making the icon.