GameLibZeroWEB WEBGL

EDIT: Example pack: Dropbox - glz_web_p5_examples.zip - Simplify your life
Hello community, I am pleased to announce that I finally have a “decent” and “clean” version of the GameLibZero code that I have been using commercially for so many years in java, now for HTML5 with the fantastic P5.JS!

I share the first version of the port of the library, I leave you a link to a benchmark so that if you have a few minutes, simply indicate in a comment the number of parallel processes that the benchmark generates, you don’t have to do anything, just see the link and let the magic happen :slight_smile:

During the following weeks I will be adding to the library a lot of features that I still need to add, but it is already functional to make simple web games.

I am going to prepare a collection of examples so that you can practice with it and make it easy to use.

It is a pleasure to be able to contribute something to this great community. a cordial greeting.
https://erkosone.itch.io/gamelibzeroweb-with-p5js-webgl

DESCARGA: Dropbox - glz_web_p5_benchmarkt.zip - Simplify your life

The code of benchmark:

let img = [];
let snd = [];
let fnt;
//-----------------------------------------------------------
function preload() {
    img = loadImages("data/images/", 0);
    fnt = loadFont("data/ARCADEPI.TTF");
}
//-----------------------------------------------------------
function Setup() {
    backgroundColor = "black";
    fadingColor = "white";
    setMode(1024, 600, true);
    setFps(30);
}
//-----------------------------------------------------------
function Draw() {
    if (fps > 25){
        for(let i=0; i<25; i++){
            new Test(); // create new 25 game objects..
        }
    }
    screenDrawText(fnt, 16, processList.length + "-" + fps, CENTER, 50, 8, 0, WHITE, 255);
    screenDrawText(fnt, 16, "GameLibZeroWEB - By Luis lopez martinez. 2023. P5.JS", CENTER, WIDTH/2, 8, 0, WHITE, 255);
}
//-----------------------------------------------------------
class Test extends Sprite {
    constructor() {
        super();
        this.st = 0;
    }
    frame() {
        switch (this.st) {
            case 0:
                this.graph = img[0];
                this.x = random(50, WIDTH - 50);
                this.y = random(50, HEIGHT - 50);
                this.st = 10;
                break;
            case 10:
                this.angle++;
                if(collisionMouse(this)){
                    this.tint(color(255,0,0));
                }else{
                    this.noTint();
                }
                break;
        }
    }
}
//-----------------------------------------------------------

This is the first pack of examples: Dropbox - glz_web_p5_examples.zip - Simplify your life

Includes how to create game objects, collision with mouse & rotated/scaled graphics, signals for kill & kill_protection to gameObjects etc…

GameLibZeroWEB works with frameBuffer for unique resolution APP to all displays.

Hola gente, estoy trabajando activamente en esta libreria para facilitar las cosas a la hora de hacer juegos…

Acabo de añadir muchos ejemplos sencillos, incluido un ejemplo con clip() noClip() implementado.

La descarga del proyecto esta al inicio del hilo.