PhobosLab

phoboslab.org · Personal blog · on HN since 2008

Dominic Szablewski's site on browser games and graphics projects, including the JS Wipeout port, 13k Quake, and ImpactJS.

What HN saysHN commenters admire his work, linking his making-of posts and the Wipeout rewrite, and compare his skill to Fabrice Bellard's.
123HN people shared it
75linked it in comments
83stories submitted
6.5Kstory points
3 months agolast shared
2008people per year2026

Most-shared posts

  1. 1
    Are You A Typing Hacker? Prove It
    13 people · 762 points · first shared 2011 · 252 comments on HN
  2. 2
    WipEout (1995) Source Code Rewrite
    9 people · 6 points · first shared 2023 · discussion on HN
  3. 3
    The State of HTML5 Audio
    7 people · 109 points · first shared 2011 · 46 comments on HN
  4. 4
    Wipeout done in JS
    7 people · 10 points · first shared 2015 · discussion on HN
  5. 5
    13k JavaScript Quake – Making Of
    7 people · 4 points · first shared 2021 · 1 comments on HN
  6. 6
    Play GTA V in your Browser, Sort of
    5 people · 362 points · first shared 2015 · 158 comments on HN
  7. 7
    Reverse Engineering Wipeout
    5 people · 277 points · first shared 2015 · 27 comments on HN
  8. 8
    Drawing Pixels is Hard AKA why HTML5 games probably suck
    5 people · 7 points · first shared 2012 · 2 comments on HN
  9. 9
    QOI: Lossless Image Compression in O(n) Time
    4 people · 1.1K points · first shared 2021 · 293 comments on HN
  10. 10
    How Much Traffic is Too Much Traffic For CloudFlare?
    4 people · 186 points · first shared 2013 · 79 comments on HN
  11. 11
    Fan-made port of Wipeout (PSX) for modern browsers
    4 people · 39 points · first shared 2023 · 5 comments on HN
  12. 12
  13. 13
    QOA, the Quite OK Audio Format
    4 people · 1 points · first shared 2023 · discussion on HN
  14. 14
    Biolab Disaster - an HTML5 Game (plus Making-Of Video)
    3 people · 146 points · first shared 2010 · 38 comments on HN
  15. 15
    HTML Live Video Streaming Via WebSockets
    3 people · 134 points · first shared 2013 · 23 comments on HN

What HN people wrote when they linked it

truetraveller · 2021-10-27
Side note: this guy is Dominic Szablewski, author of the amazing ImpactJS, JSMpeg, QuakeVR. Probably a 10x developer. He rivals Fabrice Bellard of ffmpeg fame. Check out his site: https://phoboslab.org/
boricj · 2026-07-03
The making of is well worth a read: https://phoboslab.org/log/2021/09/q1k3-making-of
memalign · 2024-01-06
Made by the same developer as a handful of other games that pop up on HN: https://phoboslab.org/games I love this guy’s work!
coolliquidcode · 2023-08-14
I was wondering how he didn't get shutdown immediately and read his post about it linked in the top right. https://phoboslab.org/log/2023/08/rewriting-wipeout This part is great: > If anyone at Sony is reading this, please consider that you have (in my opinion) two equally good options: either let it be, or shut this thing down and get a real remaster going. > I'd love to help!
corysama · 2023-08-11
The developer "Making of" blog post is great: https://phoboslab.org/log/2023/08/rewriting-wipeout The game: https://phoboslab.org/wipegame/
NKosmatos · 2023-08-10
One of my all time favorite :-) Countless hours with a PS1 to get all gold medals (university years). I'd like to try the latest Wipeout Omega collection on PS4, pity they didn't create a version for PS5. You can try it online from: https://phoboslab.org/wipegame/
phoboslab · 2023-06-15
I've been working with the leaked wipEout source code for a while[1] and I can assure the quality of the Quake source is absolutely stellar in comparison. While Quake's source may not be up to modern best practices, the overall architecture certainly has a lot of structure and thought put into it. Modifying Quake to run on the Occulus Rift was a breeze[2], compared to the mountains of garbage I have to wade through with wipEout. [1] https://twitter.com/phoboslab/status/1653707447586922498 [2] https://phoboslab.org/log/2016/05/quake-for-oculus-rift
pronoiac · 2018-07-16
The linked model viewer is great: http://phoboslab.org/wipeout/
nielsole · 2016-11-06
According to the website http://phoboslab.org/#games it is from 2011. I remember playing and enjoying it around that time, too.
TazeTSchnitzel · 2014-10-26
I think Z-Type would work great adapted for Plover. Heck, with Plover installed, it'd be great now! http://phoboslab.org/ztype/
Gonzih · 2014-02-10
This is interesting, but... Font isn't perfect for such task. Also there seems to be no key to restart the game. Why game forces me to reach my mouse when it is focused on typing? In my personal experience best typing game is http://phoboslab.org/ztype/
bbx · 2013-11-02
Off topic: I knew this domain looked familiar. It's home of Asaph, a great micro-blogging tool: http://phoboslab.org/projects/asaph This was before I discovered Tumblr and GitHub (where it's currently hosted). I actually used it for a recent side project: http://impecrateur.fr
jere · 2013-03-19
Just dealt with some of these issues last week in 7drl. >image-rendering: optimizeSpeed; In some cases, you will want to scale the images drawn to the canvas, but not the canvas itself. This causes a lot of headache because of image smoothing and is not resolved by the above CSS. The answer is to set the image smoothing property of the canvas context to false. For example: ctx.mozImageSmoothingEnabled = false; ctx.webkitImageSmoothingEnabled = false; Worked great on Chrome and Firefox. For some reason, though, this does not appear to work in Safari. I'm still amazed that something so simple is so hard to accomplish across browsers (after all you're asking to turn off extra, slower functionality). A good article on the intricacies: http://phoboslab.org/log/2012/09/drawing-pixels-is-hard
ricardobeat · 2013-02-12
Yes. Firefox had terrible GC pauses until last year [1]. Chrome processes just a portion of the heap at a time to reduce pauses to a minimum [2]. You can minimize GC by being clever about re-using objects, avoiding waste. The top answer shows how GC happens less frequently when using a setTimeout loop instead of setInterval, I don't know the underlying reason but that was always recommended before requestAnimationFrame came along. These days you should use requestAnimationFrame whenever available - it allows the browser to plan ahead for a smoother framerate, adjust rate to the device capabilities, and save resources when it's in the background. [1] http://phoboslab.org/log/2011/08/are-we-fast-yet [2] https://developers.google.com/v8/design#garb_coll
Kiro · 2012-08-31
Contrary to what many people believe IE9 actually outperforms both FF and Chrome in many aspects. IE10 should be even better. http://www.phoboslab.org/log/2011/08/are-we-fast-yet "Of all browsers and systems I tested, IE9 subjectively produced the best results. It seems to precisely synchronize JavaScript execution with the refresh rate: the benchmark runs at exactly 60 FPS on my machine, even though the timer is scheduled every 16 milliseconds, or 62.5 FPS."
dugmartin · 2012-03-28
Correct. Audio support is one of the big features what is keeping me on Flash. This is a great rundown on the depressing state of audio support in HTML5: http://www.phoboslab.org/log/2011/03/the-state-of-html5-audio
joshkaufman · 2012-02-26
Excellent - I'm planning to use this with Z-Type (http://www.phoboslab.org/ztype/) to learn Colemak. Thanks!
stechert · 2011-03-10
HTML5 Audio. See a definitive rundown why Firefox 4 is the best answer by a wide margin: http://www.phoboslab.org/log/2011/03/the-state-of-html5-audio
opendais · 2014-06-18
You never read their terms of service which is likely why: * http://phoboslab.org/log/2013/02/how-much-traffic-is-too-much-traffic-… * https://www.cloudflare.com/terms Specifically, the Non-html caching bit. In other words, if you are significant user of bandwidth...Cloudflare will charge you accordingly [and as you can see from the solution in the blog post, it is much cheaper to just rent a dedicated server than go through Cloudflare if you are willing to give up the CDN cache]. Cloudflare doesn't care about anyone using relatively small quantities of bandwidth because even in aggregate, they aren't costing Cloudflare enough to be a problem. The other part is.... I doubt Cloudflare is paying "sticker price" for its bandwidth. Places like HE.net sell cheap bandwidth @ $.45/mbps. I wouldn't be surprised if Cloudflare has as good or even better rates at every POP they have. You are probably thinking of the retail price of Amazon's bandwidth [which is like $.10 a GB. To give you an idea, at $600/mo colo with HE.net you'd have about $2,000-$3,000 worth of bandwidth at Amazon's prices depending on the usage pattern].
rzzzt · 2025-12-23
An MPEG-1-based screen sharing experiment appeared here 10 years ago: - https://news.ycombinator.com/item?id=9954870 - https://phoboslab.org/log/2015/07/play-gta-v-in-your-browser-sort-of
mwkaufma · 2025-04-08
That's a cool reference, thanks for showing me. Similar energy to Q1K3 https://phoboslab.org/log/2021/09/q1k3-making-of
bityard · 2025-01-07
And the same guy that wrote a portable (+WASM) wipEout from leaked PSX sources: https://phoboslab.org/log/2023/08/rewriting-wipeout
dmajor2 · 2024-10-07
It looks like it was composed as tool for tiny javascript challenge: https://phoboslab.org/log/2021/09/q1k3-making-of . Could not get the examples to work however.
azakai · 2024-08-04
Direct link to playable wasm version: https://phoboslab.org/high_impact/biolab/
andrehacker · 2024-06-03
This is cool. I found that the first line didn't work but: curl "https://phoboslab.org/q1k3/" > index.html did the trick...
cmdr2 · 2024-06-03
It runs locally if you download the "m" and "l" files alongside it (for maps and models), and run it on a localhost server (to fix the CORS errors). curl "https://phoboslab.org/q1k3/index.html" > index.html curl "https://phoboslab.org/q1k3/l" > l curl "https://phoboslab.org/q1k3/m" > m python -m http.server -- I then zipped it up, and converted that zip file to 7 QR codes, so technically yes, we can fit Quake on a few QR codes.
severak_cz · 2024-04-09
I wonder where this codec is on complexity / bitrate graph from this post - https://phoboslab.org/log/2023/02/qoa-time-domain-audio-compression
earlone · 2024-01-11
There is also Wipeout on the web: https://phoboslab.org/wipegame/
AlbertoGP · 2023-12-15
And it is now possible to play it in modern computers, compiled from source, as reported 4 months ago: https://news.ycombinator.com/item?id=37082304 “Rewriting wipEout”: https://phoboslab.org/log/2023/08/rewriting-wipeout As I wrote at the time: “WOW! Just a `git clone`, download and unpack the .zip with the assets (end of the blog post), type `make` and it compiles on Linux without warnings into `wipegame`, run it and it works first time!” https://news.ycombinator.com/item?id=37086874

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close