Coder Social home page Coder Social logo

babydino2-2-3 / webprboom Goto Github PK

View Code? Open in Web Editor NEW

This project forked from plastics-eater/webprboom

0.0 0.0 0.0 485.61 MB

WebAssembly port of PrBoom (Classic Doom)

Home Page: https://raz0red.github.io/webprboom

License: GNU General Public License v2.0

Shell 3.63% JavaScript 0.52% Ruby 0.33% C++ 83.97% C 0.70% Objective-C 2.35% CSS 0.05% Makefile 8.11% HTML 0.02% M4 0.33%

webprboom's Introduction

License: GPL v2

WebPrBoom

WebPrBoom is a fork of the excellent WebDOOM WebAssembly port of PrBoom that was originally developed by UstymUkhman.

The original goal of WebPrBoom was to provide a version of PrBoom that is compatible with the Xbox One (series X/S) browser. Currently, WebPrBoom works well for most devices (including Xbox One) that support WebAssembly and have a physical input mechanism (gamepad, mouse/keyboard, etc.).

Play

To play WebPrBoom, visit one of the following URLs (GitHub is more reliable)

http://webprboom.com or https://raz0red.github.io/webprboom

Gameplay Video (Xbox Series X Web Browser)

WebPrBoom

Click the image above to view gameplay of WebPrBoom running on the Xbox Series X web browser.

Features

  • Menu to select game to play
  • Includes Doom 1 (Shareware), Freedoom 1, and Freedoom 2
  • Other PrBoom compatible games can be added via custom builds (Doom 2, etc.)
  • Gamepad support for menu and games
  • Keyboard/mouse support for menu and games
  • Save/load game support (persisted in browser storage)
  • Configuration persistence (in browser storage)
  • Pointer lock support (for mouse input)

Gamepad Controls

The following controls are described using the Xbox One controller.

Equivalent controls for other controller types (PS4, Switch, etc.) should also be compatible.

Name Controls Description
Move D-Pad or
Left Thumbstick                        
Player moves
Run X Button Player runs
Fire A Button Fire weapon
Strafe B Button Strafe when moving left and right
Use Y Button Opens doors, etc.
Previous Weapon Left Shoulder Select the previous weapon
Next Weapon Right Shoulder Select the next weapon
Show Menu Start
+
Select
Displays the menu
Show Menu (alternative) Left Trigger
or
Right Trigger
+
Click Left and Right Thumbsticks
This button combo is required due to the Xbox One reserving the Screen and Menu buttons for browser-specific controls.

To enter the menu, hold down the left trigger or right trigger and click (press down) on the left thumbstick and right thumbstick.
Controls Menu Menu Button
(Previously start button)
Xbox One Only

Displays a menu that allows for choosing between "browsing" and "game" controls.

When presented with a Yes/No prompt, the A button corresponds to Yes and the B button to No.

Note: Screen and Menu Buttons

There appears to be a bug in the Xbox One Edge Browser that periodically prevents the Screen (full screen toggle) and Menu (controls menu) button presses from being processed. If this occurs, click the Xbox button which will cause the left side menu to appear. Next, click the Xbox button again to make the left menu disappear. At this point, the Screen and Menu buttons should work correctly.

Mouse Support (Pointer Lock)

In addition to gamepad support, keyboard and mouse controls are also compatible with WebPrBoom.

It is important to note that WebPrBoom supports Pointer Lock on compatible browsers. Pointer lock binds mouse input to the game window, preventing the game from losing mouse input when the mouse travels outside the window. This functionality is critical when playing a 3rd person shooter. To enable pointer lock, double click on the game window (you may have to repeat this a couple of times). Once the pointer is "locked", the pointer (arrow, etc.) will no longer be visible. To "unlock" from the window, press the escape key (you may have to repeat this a couple of times).

webprboom's People

Contributors

raz0red avatar ustymukhman avatar vkrish-coder 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.