Web Experiment: Build Map Viz

Today experiment is a .MAP visualizer, for maps created with the Build Engine (Duke Nukem 3D) created by Ken Silverman.

I grew up playing videogames during the 80s and 90s and one of the games that struck me the most in my childhood was Duke Nukem 3D.

Not only for its fun gameplay, amazing technology and postapocaliptic setting, but because the CD included the level editor created by Ken Silverman.

I expend so many hours creating my own maps. You could even edit the ones from the game. I remember taking the first map of the game (E1L1) and adding a whole new building with several floors and elevators. Its a pity that all those maps got lost in time…

This week I decided it should be a beautiful homage to the game to try to visualize a map file using WebGL, as a way no know better the technology behind it.

One of the things I remember when creating my maps (and playing the game) is that maps where created by interconnected top-down sectors (like in Doom). This video shows a nice explanation of how it works.

I searched on the internet for the file format specification for the .MAP files and for my surprise it was extremly easy to parse. Every map contains three arrays, one with sectors, one with walls and one with sprites. Thats all.

It is interesting to see that the map format is very agnostic to the gameplay, it leaves some empty bytes per sector and wall, so the programmer could use them to add the gameplay properties.

Once I had parsed the info I tryed to create a wireframe to show the contour of every sector. To my surprise that turned to be working quite fast.

The next problem was floors and ceilings. The game allows sectors with holes, and because it doesnt contain the sectors triangulated, it meant I had to do the triangulation by myself.

I sent an email to Ken Silverman to ask for some help and I was delighted with his fast and insightful response. He told me that the map structure contains first the outer wall and afterwars every hole.

With that info a searched for a triangulation algorithm and what was my surprise when I found earcut, a tiny library in javascript that triangulate polygons and support holes! super easy to integrate.

You can test the app here: http://tamats.com/apps/build/

I plan to add support for textures soon but that wont be easy, meanwhile, enjoy this holographic look.

Comments

44 responses to “Web Experiment: Build Map Viz”

  1. VOid Avatar
    VOid

    This is really cool, I wish there was more information about it. That Bisqwit video you linked is fascinating, even if I barely understand the basics of it.

  2. Chana schrijven Avatar

    Quality content is the main to invite the users to visit the website, that’s what this website is providing.

  3. syncswap era Avatar

    The signed approval still showed as failed for me in SyncSwap. I checked the wallet activity and noticed the request had never been broadcast on my side.

  4. tron energy passive rewards Avatar

    I eventually understood the TRON Energy fee details once I stopped rushing through the confirmation screen. The breakdown helped.

  5. Altonfoort Avatar

    ????????? ????? ?????? ????????:

  6. wyp?acalne kasyna internetowe Avatar

    Zdecydowanie znalaz?em tutaj kilka przydatnych informacji.
    Niektóre informacje dobrze jest zobaczy? z troch?
    innej perspektywy. Przegl?daj?c ró?ne materia?y, znalaz?em te? wyp?acalne kasyna internetowe
    i pomy?la?em, ?e mo?e si? tutaj przyda?. Ch?tnie poczytam te?, jakie do?wiadczenia maj?
    inni.

  7. wyp?acalne kasyna internetowe Avatar

    Przy zestawieniach typu najlepsze kasyna online szczególnie wa?na jest metodologia porównania.
    Ranking oparty wy??cznie na bonusach mo?e wygl?da? zupe?nie inaczej
    ni? zestawienie uwzgl?dniaj?ce wyp?aty, p?atno?ci i warunki korzystania z konta.
    Dlatego dobrze analizowa? ró?ne materia?y; wyp?acalne kasyna internetowe mo?e
    by? jednym z punktów odniesienia, ale warto porówna? je z pozosta?ymi dost?pnymi informacjami.

  8. legalne kasyno online Avatar

    Dobrze opisany temat. W takich przypadkach dobrze jest spojrze? równie? na inne dost?pne materia?y.
    Jednym z dodatkowych ?róde?, które znalaz?em
    podczas sprawdzania tematu, jest legalne kasyno online.
    Ostatecznie najwi?cej daje porównanie kilku niezale?nych materia?ów.

  9. wyp?acalne kasyna internetowe Avatar

    Dobrze zobaczy? bardziej szczegó?owe omówienie tego zagadnienia.
    Przydatne mo?e by? równie? sprawdzenie, czy
    informacje z ró?nych ?róde? s? ze sob? zgodne.
    Jednym z materia?ów, które znalaz?em podczas dalszego sprawdzania tematu,
    by?o wyp?acalne kasyna internetowe.
    Kilka niezale?nych materia?ów daje zazwyczaj bardziej
    kompletny obraz.

  10. kasyno online Avatar

    To przydatny materia? do dalszego sprawdzania
    zagadnienia. Dobrze jest oddzieli? informacje
    mo?liwe do sprawdzenia od czysto promocyjnych komunikatów.
    Jednym z dodatkowych materia?ów, które sprawdzi?em, by?o kasyno online.
    W?asna weryfikacja pozostaje najlepszym sposobem na sprawdzenie najwa?niejszych kwestii.

  11. rango vs jumper Avatar

    My tip is to check the fee in the source token, not just in dollars. Rango made that clear before I confirmed the bridge.

  12. Josephtrusy Avatar

    ??????????? ????????????????? ???????????? ?????? ???????? ???? ? ??????????? ????????????? ? ???????????? ??????? ????? ? ??????? ??? https://dent-exposition.ru/zapechatyvayushhee-ustrojstvo-woson-seal-100-skladnoe/
    ???????? ???????????? ????????????? ???????????? ???????????? ????????:

  13. cowswap app Avatar

    The documentation helped me understand the flow, so trying CoW Swap felt less risky.

  14. ????????? Avatar

    I am in fact grateful to the holder of this site who has shared this enormous post at here.

  15. Roma Avatar

    Good ?nformation. Every driver c?n benefit from understanding m?r? about automotive care.

    ?ere is my blog post: vehicle troubleshooting (Roma)

  16. portal bridge eth Avatar

    I ran into a minor issue because my wallet used a shortened token name. The Portal Bridge token list displayed the complete name, and that helped me match it.

  17. baseswap guide Avatar

    I would not blindly choose either one; I check slippage first, then use whichever gives the better route.

  18. FrankTic Avatar

    1???? ????????? ?? ??????? ??????????? ?????????? ???????? ?? http://airspb.ru/images/pgs/1xbet.html ? ??????????? ????? ?? 32 500 ??????, ????? ???????? ????????? ??????? ??? ????.

  19. DavidWrike Avatar

    ??? ????? ?????????????? ?? ??????????? ? ??????????? https://www.cellulait.ru/blog/page/3/?post-paged01db32=2

  20. Danielcit Avatar
    Danielcit

    Find your game in our full casino range https://kazino-aviator.ru

  21. ReyesHah Avatar

    ??????????? ????????????? ??????? ???????

    ???????? ??????????? ? ???????? ?? ??????????????? ????????, ??????? ????????? ????????? ? ????????????? ?????????? ???????? ??? ???????? ? ??????;

  22. xmr bridge rates Avatar

    I sent with a low amount, compared the wallet result, and found the fee within reason.

  23. Georgejer Avatar

    ????? ???????? (P) ??????? ???????? ??? ?????????? ????????, ? ??? ?? ? ??????????? ?????????;

  24. buy tron energy Avatar

    I checked the wallet network before using Tron Energy delivery, since mismatched settings can create confusion.

  25. thorswap mobile Avatar

    My test transaction went through, and that was enough for me to keep THORSwap as a secondary choice.

  26. QuickSwap Avatar

    I chose QuickSwap when I needed a straightforward way to place ETH on another chain.

  27. ArthurTruro Avatar

    ???????????? ?? ?????? ??????? ????????? ??????? ?????????, ??????? ??????????????? ???????? https://krd.1mcentr.ru/???-??????-???????????????-?????/

  28. paraswap transaction Avatar

    I found the ParaSwap login issue was caused by blocked cookies, and changing that setting fixed it.

  29. 7k casino ??????????? ???? ??????????? Avatar

    Today there are lots of online casinos that it’s not always easy to understand the differences.
    Posts like this are always useful.

  30. 7? ?????? ???? Avatar

    Discovering well-written information about casino games
    takes time. I’m glad I found this article. Really appreciated.

  31. ArthurTruro Avatar

    ??? ?????? ????? ??????????? ???????, ??????? ?? ???????????? ??????????? https://krd.1mcentr.ru/

  32. Agononlibia Avatar

    Good day.

    I find that keeping my notes in plain text results in fewer distractions. With no fancy formatting to worry about, I can focus on the content itself. Its made my note-taking sessions more productive.

    I put mine here: https://openpagenotes.com/

    Would like to hear how you keep yours?

  33. kasyno z minimalnym depozytem Avatar

    This design is wicked! You certainly know how
    to keep a reader amused. Between your wit and your videos, I was almost
    moved to start my own blog (well, almost…HaHa!) Excellent job.
    I really enjoyed what you had to say, and more than that,
    how you presented it. Too cool!

  34. Adenofrin Avatar

    Adenofrin is formulated from organic components and is typically well-received
    by users.

  35. ArthurTruro Avatar

    ???? ??????? ???? ??????? ?????????????, ???????? ???????????? ??????????????? ???????? ? ????????? ??????? ?? ??????? https://krd.1mcentr.ru/

  36. Briantobia Avatar

    ????????????? ??????????? ????????? ??????????? ????????? ????????????? ??????????? ???????, ?? ?????, ????? ? ??????? ???????? ?????????? ?????????? ????????? ???? https://loldentrnd.ru/paradotology

  37. Dallasaided Avatar

    ???? ?? ??????????? ?? ?????????

    ????? ?????????? ????????????
    ??? ???? ? ??????????? ??????? ????????? ????????? ???????? ?????????? ???????????? ????:

  38. Briantobia Avatar

    ?????????? ???????????????? ???????????? ? ????????????????? ???????? ??????? ???????? ??? ????????????? ??????? ????????? https://loldentrnd.ru/page109713946.html

    ??????? ??????? ?????????????????? ???????? ? ???????

Leave a Reply

Your email address will not be published. Required fields are marked *