Hello everyone,
Today - 16 September 2026 - this project turns one year old. I built it almost entirely alone.
I’m a huge fan of NieR: Automata, and while playing its hacking mini-games, I often thought about creating something similar for the browser.
I was already familiar with WebGL and had mostly worked with Three.js, but I didn’t rush into a decision; instead, I researched other available 3D engines for the browser.
My main concern was whether it was even possible to connect a gamepad to a browser-based game. I discovered that Babylon supports this feature, and since nothing else was a deal-breaker, I simply chose that engine and got to work.
As I explored it, the capabilities of this BROWSE ENGINE really impressed me: it features built-in rendering pipelines, custom post-processing (you can use any manually written shader as a post-process effect), and highlight/glow layers - but the audio engine’s capabilities surprised me the most.
Once I realized all this, the project evolved from a simple sandbox with a couple of dozen levels into something much more ambitious (though, at that stage, only in my head
).
Here’s a small showcase of one of the chapters:
Now, about the HaсK [C]omplete itself:
The game consists of 10 chapters. The first five were adapted from the original NieR: Automata, as I was still learning the engine and figuring out how to build levels using a simple “config” system rather than hard-coding everything - allowing me to easily adjust lighting, shadows, and the placement of enemies, walls, and so on. Once those five chapters were complete, I began working on Chapter 6, where I wanted to try something entirely new: the level structures were inspired not only by NieR: Automata but also by earlier titles in the NieR and Drakengard universes:
Chapter I – inspired by NieR: Automata
Chapter II – inspired by NieR Replicant
Chapter III – inspired by Drakengard 3
Chapter IV – inspired by Drakengard 2
Chapter V – inspired by Drakengard 1
In these chapters, I aimed to make the most of the engine’s features to demonstrate its power and flexibility:
Music
Rather than just background audio playing throughout the chapter, the music acts as a gameplay element where layers (stems) switch based on the game phase (I tried to replicate the sound design of the original games).
Here is a showcase of the music system:
Camera
The camera isn’t static; the angle shifts depending on the game phase. I also utilized both perspective and orthographic cameras at times.
Split-screen
The screen splits in half (vertically or horizontally), and the player controls two characters simultaneously. While these levels are often symmetrical, some require real effort to beat
.
Split-screen showcase:
Game clock control
In some stages, enemies can speed up their own behavior or slow down the player’s actions.
Links
Honesty after one year solo
This is an early demo: playable, but several systems were written stage-by-stage.
Yes, after a year, I’m a bit worn out by the project - not all the systems were working quite as perfectly as I’d hoped, and that constant “struggle” took its toll. Now, I’m taking a well-deserved break. ![]()
Players: packaged Electron can crash (0xC0000005) when a stage loads or restarts. The window auto-reloads; that is not a real fix. Browser / Docker web builds are the stable way to play.
Code (TODO.md): enemy spawn/damage/death is still type-switches; VFX each invent their own IEffect; walls and plane/cylinder/sphere math are duplicated; menu input is copied across hooks; Cannon → Havok is only an evaluation, not done.
The look, audio, and levels got the obsession. The architecture is still a prototype in places.
Happy to answer questions - and thanks for Babylon.js.