I’ve really loved to play Nier: Automata this year. So much that I’ve decided to implement a mini game from the title as a WebGL application. I’ve used it to showcase the new THREE.InstancedMesh class and certain features from our AI engine Yuka like OBBs for collision detection.
In Nier: Automata you can play an android called 9S who is capable to hack other androids or robots. The hacking procedure is represented as a mini game where you have to destroy one or more opponent AI cores. It is similar to top down shooters but with minimalistic gameplay and graphics. I’ve not implemented the entire features of the real game (that would be crazy^^) but just the basic mechanics and simplified graphics. Right now, there are 14 small levels, I’ve planned to do at least 20 over time. However, it’s a fan project and open source so it would be cool if other devs get involved. The project is published at github.
Controls are quite easy (WASD + mouse) the actual gameplay should be intuitive (well it’s not from me but Platinum Games^^). Everything is work in progress and of course not comparable with the real game.
Interesting facts: The app uses no external 3D models. Only the geometry generators of
three.js and a single procedurally generated geometry. The app also makes experimental use of the Gamepad API. When you plug-in a PS4 controller, you should be able to control the vehicle with the gamepad. However, menu navigation is not supported, yet.
The game is probably more fun if you played Nier: Automata. However, it’s a nice showcase for web-based games. I’m convinced with more time, more devs and a real budget, you could implement the game 1:1 compared to the PC or console version.
Start Game (requires Mouse+Keyboard)