A 3D dungeon crawler that uses procedurally generated rooms and enemies.

Fox and I decided to make a procedurally generated, 3D dungeon crawler-style game because we had never heard of something like it before. We planned on making pseudo-random enemies and random levels, with guns and swords to fight with. Each level would have enemies with various limbs, heads and body sizes holding weapons to threaten us. The dungeon crawler would continue, getting progressively harder, until the player died. This was the plan, and it continued until we tried to bundle our ES6 files with imports. The program crashed, because one file that was imported, was in the file system, and had a defined set of outputs mysteriously failed, with every class in that file undefined and the file never running. We asked every mentor we could, and they didn't know what to do. We then switched bundlers and used every type of syntax we could for importing, but alas, the bug persisted. Then one mentor suggested that we be our own bundlers--so we took six ~300-line files and bundled them together! We ran it, and one of the previously functional imports of a ThreeJS module broke-- three-orbit-controls. So we decided to copy the entire, ~2k-line module into the manual bundle file. Then we got an error message saying that, in the single bundle file in the project, there was a duplicate declaration--but the declaration was not duplicate; it was the same declaration. We asked all the mentors that we could find and all of them concluded that Javascript was utterly and totally broken; that we could not make any headway in fixing it.

Share this project: