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