Show HN: Explore Quake/Half-Life maps in your browser


192 points | by sbuggay 179 days ago


  • switz 178 days ago

    This is really cool. It's such a fun project to pursue. I actually spent a few years building a native application for analyzing CS:GO demos, with a fully custom rendered 3D world for Source maps, along with demo parsing, player animations, and the ability to rewind and fast-forward instantly. You can take a peek at it here:

    I saw in your README that you're looking to add source support, might I recommend building off of zik's code? He already is quite far along in rendering Source maps in webgl:

    Best of luck, feel free to reach out if you ever want to connect.

    • Jasper_ 178 days ago

      I've wanted to integrate Source maps into for a while, it's been a pretty major request for the site. If you wouldn't mind, I'd love to ask some questions about rendering them. Do you have any contact information?

      • switz 178 days ago

        Sure, my email is in my profile.

      • sbuggay 178 days ago

        Oh wow, I had actually just watched that 3kliks video on Rewind recently. That's some pretty amazing tech. Thank you for sharing zik's code as well, I will definitely be taking a look at this.

      • terracatta 179 days ago
        • sbuggay 179 days ago

          Wow this is awesome, thanks for sharing. I worry about supplying the .WADs for textures. Quake and Half-Life are both open source now but I'm not sure if their resources files are.

        • MrBuddyCasino 178 days ago

          This is super impressive. How do the animations and effects work? This can't just all be static data, but game code too?

          • Jasper_ 178 days ago

            Depends on the game. Nintendo stores most of their animation and particle effect data in a mostly declarative format which I've reverse engineered and reimplemented in TypeScript.

            For instance, the particle engine is here

            • MrBuddyCasino 178 days ago

              Jesus Christ, a 5000 LOCs reverse engineered from what is probably a binary file format. I admire that level of dedication, must have been a huge amount of work.

          • airstrike 179 days ago

            I love this, thank you. Sadly you have to hold the mouse button while moving the camera around but it's still amazing.

            • Jasper_ 178 days ago

              Thanks for the suggestion. If you refresh, open the DevTools console with F12, and type `main.viewer.inputManager.releaseOnMouseUp = false`, the grab will stick until you press Escape now.

          • saberworks 178 days ago

            Nice! A visitor to my super-old Dark Forces II: Jedi Knight site ( wrote and contributed something similar for Jedi Knight maps. (The site uses frames and thus I can't easily link to a page where you get the whole menu; if you start at the root just click "Levels" and pick a category.)

            Example: Github:

            The textures are present but blurred to avoid the copyrighted textures issue.

            • w0m 178 days ago

              holy cow this brings me back to highschool. thanks for the hours I wasted here waaaay back.

            • debaserab2 178 days ago

              Very cool. I just loaded up some Half Life maps that I made when I was 15 and it ended up being a little trip down memory lane. Thanks for that!

              • sbuggay 178 days ago

                That's awesome :) I'm glad the drag and drop feature worked for you.

              • tpetrina 178 days ago

                Long time ago I was a fan of KZ mod in CS 1.6 and I made this: It's open source, but there is no "pipeline" to generate stuff on the fly.

                You have demo player and you can explore some maps freely

              • yakshaving_jgt 178 days ago

                Amazing! I spent ages building a Counter Strike map with the Valve Hammer Editor back in 2004. I was super proud of it, but I never got to play it! My other, sillier creations ended up being played quite often at my then local Internet gaming café.

                Now I'll get to explore it once again :)

                • tW4r 178 days ago

                  Super cool! By any chance were you on the old facepunch forums? I remember something similar on one of the devlog threads

                • airstrike 179 days ago

                  Really cool! Add CS:GO to the list and you'll get hugged to death in no time!

                • java-man 179 days ago

                  is there an option for inverting the mouse movement?

                  • sbuggay 179 days ago

                    I've added it, you can press "\" to toggle mouse Y inversion.

                • jaworrom 178 days ago

                  Brings back so many memories!