This is a project done just for fun and to experiment a bit with HTML5 canvas and ES6 OOP. It's based on the original Doom videogame and it's main challenge will be recreating 3 dimensions in a 2D environment.
-
The core of the game involves the main class and the classes that control the logics of the game.
-
The Game class is the responsible of the game generation and passes all the references to the different classes that control the logics.
-
The Time class creates an interval that is the responsible of the game logics updates.
-
-
Event handlers are the responsible of the event tracking.
- the KeyHandler tracks all the key events
-
The view engine are all the tools that make the game to be displayed.
-
the RenderEngine class is the responsible of rendering each element of the game tracked by the camera rays in the provided context.
-
the Camera class is the responsible of tracking by Ray Tracing the elements that should be rendered by the RenderEngine.
-
the Camera class is the responsible of getting the distance between the camera and the game objects.
-
-
Game objects are the elements involved in the game that user can interact with.
-
the Player class generates a player, an avatar that user can control and move around the scene.
-
the EnvironmentBox class generate all the environment basic elements.
-