Backrooms- Level Pizza (My first ever "finished" game) - Advice/Critiques highly appreciated

Hi all, I just pushed a working version of my first game ever to itch.io and opensourced it on GitHub. It’s a 3D (obviously) infinite walking simulation of sorts with the setting being the Backrooms. The goal is to find the edible pizza before the sentient pizza monster attacks you.

Itch.io link:
https://zacguymarino.itch.io/backrooms

GitHub link:

GitHub link to JS file:
https://github.com/zacguymarino/backrooms-pizza/blob/0e38cf4cbdc772c981759b75f5a6e68a312ec6ca/backrooms/main.js

It works, but it is VERY buggy, hence why I added the advice/critique in the title of this post. Most of the bugs happen at the beginning of gameplay… almost like the motor is still warming up if that makes sense. If the pointerLockControls move too quickly or if the player moves rapidly in general, one of a few things may happen. Sometimes the screen turns entirely white (in dev mode) or black (on itch.io) until the player continues to move and look around at which point, sometimes, it will render properly again. Another thing that happens sometimes is the player will just seemingly teleport, even into walls. If a wall teleport happens, sometimes you can maneuver to a corner inside that wall and re-clip out of the wall instead of having to reset the game. Anyway, I would appreciate any feedback and/or advice on improving the playability of the game (especially at startup) - and I hope you enjoy the game/concept in general. As a first game, I’m semi-proud of it, but I intend on improving it over time before moving onto game 2.

Please feel free to ask any overarching questions about how the code is structured or why I am doing something the way I’m doing it - if that helps to give advice/critiques.

BLP

Okay, I drastically improved the play-ability by making the objects which are currently unused at any given point (kind of set aside, position-wise) invisible (i.e. object.scene.visible = false). It’s still far from perfect, but it’s certainly better than it was.

1 Like

As a first attempt it is good. I did not figure out what to do. Basically, I was just wandering in a maze until I found a pizza … and this ended the game.

Part of the user experience is influenced by the graphics. You may try to add some shadows (as shown in the demo picture, but not present in the game when I played it), and also fix the texture on the side panels of walls.

When I started the game there is some long period of loading things. I’m not sure what is actually loaded, but such types of maze could be easily generated at runtime (either randomly or over a predefined pattern), instead of having all the rooms as GLB files.

Some years ago I was making a maze for a project (navigation is with the mouse, no ASDW is needed).

1 Like

Hi, thanks for the response! Yeah, the point of the game is simple… find the pizza that you found before the pizza monster finds you. You must have gotten lucky any never encountered the pizza monster (which is actually more likely to spawn than the pizza you found).

Shadows are a good idea. In this game, all of the lighting is ambient so I’m not sure that shadows would be a thing unless I added additional types of spot lighting (which maybe I will do in time). The “lights” in the ceiling are actually just emissive materials.

As for fixing the walls, this would be very easy to do (just uv unwrap them in blender)… but I kind of took a stylized approach and decided to let the default unwrapping remain as is because the imperfections, in my opinion, add to the off-ness of the backrooms setting. Call it a justification to be lazy, maybe it is, but that’s what I’m sticking with for now haha

Thanks again for taking time to check it out and respond, I really appreciate that.

1 Like