Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

lazarv

Members
  • Content count

    20
  • Joined

  • Last visited

About lazarv

  • Rank
    Warming Up

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. lazarv

    WAD Commander and wasm-doom

    Thanks to all of you for the likes and comments so far! :) Thanks! WAD Commander will evolve and new features will be regular, including configuration file setup, like changing controls. I would like to also implement multiplayer later, but it will use web tech, that's why I dropped the original network code. What .wad files and what type of device did you use when you experienced slow performance? For me on desktop and iPad/iPhone it runs smoothly using nuts.wad, but my older Samsung S7 struggles with that map too, but running smoothly on normal maps. I'm already using the limit-removing rendering code from Crispy (only to support more PWADs, not the fancy stuff), I think it's not mergeable anymore. Also I'm planning to implement Boom-engine features for same reason. But yes, with a bunch (a lot?) of conditional macros it's doable to build from Chocolate with target set as Emscripten/WebAssembly. I chose the easier way and modified the code where it was needed. My most important modification was that I changed the runtime loop to be async, including modifications on screen update (wipe parts), but also disabled/removed window handling and such. I really want to return to the implementation of multiplayer mode, I think WebRTC (in which solution WebSocket is used in signaling server) is a more appropriate technology for this. It's hard to do it properly and a lot of async code needed and also more web UI for establishing connection between players. It's easier for C/C++ developers, using sync code almost anytime. :) I fixed the scaling/aspect ratio bug, thanks for pointing that out! Doom guy has a normal face now. :)
  2. lazarv

    WAD Commander and wasm-doom

    7 years after creating the HTML5 version of Wolfenstein 3D, I started to work on an online tool to play DOOM® and DOOM II® in the browser or as a progressive web app (on mobile and on supported desktop OSs). The MVP version of WAD Commander is now available on wadcmd.com. My development of a Doom engine for the browser started years ago. I experimented with an engine using CSS 3D after wolf3d (had a working engine for it, but performance was awful) and a full rewrite in JavaScript using WebGL by creating a converter for the maps from 2D to 3D. The later was very promising, but I had no time to finish it. Finally when WebAssembly became a real option to create online apps, I was able to run Doom properly in a browser. There was an original port of Doom to HTML5 using asm.js in 2011 by Alon Zakai, but that version was taken down and as I remember it was also not perfect and contained bugs because the browser was not ready and mature enough to run it. Since then, multiple more advanced games were ported to run in the browser, like Quake 3 or Doom 3 lately, but I wanted to stick to the original Doom. I think Doom is the ideal game right now to run in browser or on mobile. The newer games are too heavy in size and performance need for a good user experience. Now with all major browsers supporting WebAssembly I was able to create a port of Chocolate Doom with very good results. All things should work the same as the original version. The results were very good, the game ran on low-end mobiles very well too. I chose Chocolate Doom as a base because that is the most vanilla-compatible source port and it's using the SDL library. First I modified it to build successfully using Emscripten as a WebAssembly binary. I dropped the parts that doesn't make sense in the browser, this includes the networking parts, so currently there is no multiplayer support. I added support for music packs by creating a new music module using Web Audio API, but it has a fallback to OPL music (the OPL synthesizer was too heavy for some low-end devices). Also added a bunch of browser events for integration purposes. Source code for wasm-doom is available on github. Then I started creating WAD Commander which is basically a launcher using wasm-doom. You can drop or browse for your .wad and .deh files and start the game with those. At this point to support more PWADs I integrated the limit-removing parts from Crispy Doom into wasm-doom. Your files will be also stored locally in the browser so you have to do this only once for each file. I plan to constantly and regularly update WAD Commander with new features and upgrades as I have time for that beside my daily work. You can support this on Patreon, see details on the site. All suggestions and review are very welcome! Please visit wadcmd.com, thanks!
  3. lazarv

    Wolfenstein 3D HTML5

    Now my version of the game is updated and includes the Spear of Destiny missions as episode 7. Have fun playing! :)
  4. lazarv

    Wolfenstein 3D HTML5

    You can watch the Deathcam replays in my version. :)
  5. lazarv

    Wolfenstein 3D HTML5

    The id version uses pre-generated images for everything. Even the menu texts is an image sprite. It would be possible to write a converter in JavaScript and store the result in the local database. I plan to write a JavaScript converter for Wolf3D where you just have to drop the data files into the browser and everything is automatically converted and generated, but it's a whole lot of work. Using custom JavaScript code even new features or modifications of mods can work.
  6. lazarv

    Wolfenstein 3D HTML5

    Porting your version is absolutely possible, but HTML5 needs a whole different approach if you want to achieve a good result in performance. Implementing file system and such is too much overhead. Converting the resources to HTML5 friendly formats and using native browser solutions is the best way. But this will be a full rewrite.
  7. lazarv

    Wolfenstein 3D HTML5

    The movement is not performed in fixed steps, but I liked this style of controller configuration. It's only a controller setup which is currently not available to the player. The quit only works only in a new window that has been opened by JavaScript. Thank you for the bug report, N works now fine (clear the browser cache, if not). :)
  8. lazarv

    Wolfenstein 3D HTML5

    And which version is better? :)
  9. lazarv

    Wolfenstein 3D HTML5

    Alternative URL if the original link is broken due to bandwith limit. http://wolf3d.atw.hu/
  10. lazarv

    Wolfenstein 3D HTML5

    All maps, graphics, music and sound effects are available in this repository. https://github.com/id-Software/Wolf3D-iOS
  11. lazarv

    Wolfenstein 3D HTML5

    Play it online! http://wolf3d.freebase.hu/
  12. lazarv

    Wolfenstein 3D HTML5

    Yes, you can watch player stats, get information about the map, you can even hack the game if you know how, and modify it in real-time! :)
  13. lazarv

    Wolfenstein 3D HTML5

    It's a recreation. As far as I know, there aren't any Wolf3D-like JavaScript engines in existence. 3D JavaScript engines are real 3D engines, not a 2D map with semi-3D projection. Originally I just wanted to create a simple raycast engine in JavaScript and that emerged to be a Wolf3D port. The data structures of the port are not compatible with the original, it uses absolutely different types of data (JSON files actually). The reason is that the engine is coming from a HTML5-CSS3-JavaScript point of view. Beside that, creating other Wolf3D-engine game ports is really fast, e.g. all WDC maps can be converted, the graphics are simply exchangeable (only plain PNG-images), adding new music, graphics, enemies are nothing and even new engine features are easy to implement. I don't fully understand what do you mean by following the game state. Currently there isn't any console logging implemented (that would be a waste of precious performance time), and following the game state with browser developer tools is fairly complicated. The advantage of the HTML5 port is that it doesn't matter, which type of OS you have, just open a browser and navigate to the website, and the game starts immediately. You don't need any compilation!
  14. lazarv

    Wolfenstein 3D HTML5

    I wish I could do that! Even the shareware version is not tolerated by ZeniMax lawyers these days...
  15. lazarv

    Wolfenstein 3D HTML5

    HTML5 has nothing to do with Flash. It's without any plugins. That's the reason why I like it so much! :)
×