Code Monkey home page Code Monkey logo

doom's Introduction

Doom in WebGL

This is a complete rewrite of Doom where the original wad files can be used (not supplied) to play the game, the wad assets are extracted and converted on-the-fly creating custom textures and converting levels to real polygons to be used in WebGL 1.

Current Status

More of a map viewer than a game currently, no UI, collision detection, AI or interaction yet.

Preview

Doom 1 Doom 2

Running

  • Copy .wad file ('DOOM1.WAD', 'DOOM2.WAD', etc) to 'assets/wads'
  • Ensure NodeJS is installed
  • Run npm i to install dependencies
  • Launch web npm start

Roadmap

  • 3d scene
  • flats
    • flat textures
    • [/] atlas creator
    • animated flats
  • [-] walls
    • textures
    • transparency
    • clamped textures
    • animated walls
    • [/] empty walls - hall of mirrors effect
  • line def specials
    • floors
    • ceilings
    • doors
    • locked doors
    • lifts
    • stairs
    • crushers
    • light changers
    • exit
    • teleport
    • property transfer (extra)
    • scroll (extra)
  • performance
    • render visibility check
    • gpu level streaming
  • automap
  • [-] sky
    • working
    • custom sky shader
  • collision detection
  • Sector specials
    • Light (blink random)
    • Light (blink 0.5s)
    • Light (blink 1.0s)
    • Light (blink 0.5s) + damage 20% per second
    • Damage 10% per second
    • Damage 5% per second
    • Light (Oscillates)
    • Secret
    • Door (closes 30 seconds after level start)
    • End
    • Light (blink 0.5s synchronised)
    • Light (blink 1.0s synchronised)
    • Door (opens 300 seconds after level start)
    • Damage 20% per second
    • Light (flickers random)
  • [-] static 'things'
    • render
    • sector height/lighting
    • 3d models
    • collision detection
  • enemies
    • render/animate
    • collision
    • ai
    • 3d models
  • [/] hud
    • health
    • guns
    • inventory
  • vr
    • render view
    • touch controls
    • locomotion
  • extras
    • particles (smoke, bullet shells, blood splatter)
    • decals (bullet holes)
    • high res textures
    • bump maps
    • specular maps
    • custom water shaders
    • reflections
    • path tracing lighting model
  • audio
  • single player playthrough
  • multi player
    • deathmatch
    • coop
    • custom game types
  • custom wad
    • zdoom additions
    • [-] hexen
      • wad loading
      • specials

Known Issues

  • Sprite animation frames out of order

Legal

This project is in no way affliated with ID Software, ZeniMax Media or any subsidiaries. No copyright material has been used creating these works.

doom's People

Contributors

andrewlowndes avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.