Skip to content

QwertyR0/Qngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


✨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.

Releases

No releases published

Packages

No packages published