My name is Dominic Szablewski. I build games, experiment with JavaScript and occasionally tinker with low-level C.

Read my blog below and follow me on Github or Twitter.

A Simple Archive Format for Self-Contained Executables

— Monday, September 2nd 2024

Read ›

Porting my JavaScript Game Engine to C for No Reason

— Sunday, August 4th 2024

A small and simple game engine for 2D games, completely written in C

Read ›

Rewriting wipEout

— Thursday, August 10th 2023

A (nearly) complete rewrite of the classic 1995 PSX game wipEout

Read ›

QOA Benchmark Results and File Format Specification

— Tuesday, April 25th 2023

The final specification for the Quite OK Audio format defines the exact format for this very simple lossy audio compression format.

Read ›

Time Domain Audio Compression at 3.2 bits per Sample

— Thursday, February 2nd 2023

QOA is a fast and simple audio compression format with a reference implementation in 400 lines of C.

Read ›

The QOI File Format Specification

— Monday, December 20th 2021

The final specification for the Quite OK Image format defines the exact format for this very simple lossless image compression format.

Read ›

Lossless Image Compression in O(n) Time

— Wednesday, November 24th 2021

QOI, the Quite OK Image format, offers 20x-50x faster image compression compared to PNG and fits in 300 lines of C

Read ›

Q1K3 – Making Of

— Monday, September 27th 2021

A "Tour de Force" of cramming the essence of Quake into 13kb of JavaScript

Read ›

Voidcall – Making Of

— Monday, September 23rd 2019

The amazing challenges of implementing a real-time strategy game in 13kb of JavaScript

Read ›

MPEG1 Single file C library

— Saturday, June 15th 2019

The what, why and how of an MPEG1 decoder in a single file C library

Read ›

Rewriting Pagenode

— Sunday, December 16th 2018

The CMS I began writing 14 years ago, now released as a library

Read ›

Underrun – Making Of

— Thursday, September 20th 2018

How I compressed a twin-stick WebGL shooter game into 13kb of JavaScript

Read ›

Impact Is Now Free & Open Source

— Thursday, May 3rd 2018

My HTML5 Game Engine Impact is now available for free.

Read ›

Decode It Like It's 1999

— Thursday, February 2nd 2017

Behind the scenes of my MPEG1/MP2 decoder, written in JavaScript.

Read ›

Quake for Oculus Rift

— Friday, May 27th 2016

The founding father of First Person Shooters updated for VR.

Read ›

The Absolute Worst Way To Read Typed Array Data with JavaScriptCore

— Tuesday, November 24th 2015

My journey to read some data from JavaScript Typed Arrays in a fast way.

Read ›

Quake for Oculus DK2, Direct Mode

— Wednesday, July 29th 2015

Read ›

Play GTA V In Your Browser – Sort Of

— Monday, July 27th 2015

Read ›

What makes an On-Screen Keyboard Fun?

— Thursday, July 9th 2015

Read ›

Reverse Engineering WipEout (PSX)

— Tuesday, April 14th 2015

A Model Viewer for the original WipEout for PSX. A detailed journey into the 20 year old data formats of the game.

Read ›

Xibalba & WebVR

— Monday, February 2nd 2015

Read ›

XType Plus – an HTML5 Game for the Nintendo Wii U

— Thursday, July 31st 2014

Read ›

Xibalba – A WebGL First Person Shooter

— Monday, July 28th 2014

The screencast/making-of of a simple 3D game for WebGL.

Read ›

Fast Image Filters with WebGL

— Sunday, November 3rd 2013

Read ›

A Tale of Bad UX

— Tuesday, October 29th 2013

Read ›

HTML5 Live Video Streaming via WebSockets

— Wednesday, September 11th 2013

Read ›

Quake for Oculus Rift

— Friday, July 5th 2013

Read ›

MPEG1 Video Decoder in JavaScript

— Tuesday, May 7th 2013

Read ›

Ejecta

— Wednesday, September 26th 2012

Read ›

Drawing Pixels is Hard

— Thursday, September 13th 2012

Read ›

Where the Innovation Stops

— Friday, August 31st 2012

Read ›

Letter to John Carmack

— Friday, August 3rd 2012

Read ›

What the Fucking Fuck, Apple?

— Tuesday, July 3rd 2012

Read ›

X-Type – Making Of

— Wednesday, June 27th 2012

Read ›

Measuring Input Lag in Browsers

— Tuesday, June 19th 2012

Read ›

What the requestAnimationFrame API Should Have Looked Like

— Sunday, May 6th 2012

Read ›

JavaScript on the XBox 360

— Friday, April 27th 2012

Read ›

Hate IE with a Passion

— Wednesday, March 14th 2012

Read ›

JavaScriptCore Project Files for iOS

— Monday, June 13th 2011

Read ›

iOS and JavaScript - for Real this Time!

— Wednesday, April 27th 2011

Read ›

Multiple Channels for HTML5 Audio

— Friday, March 11th 2011

Read ›

The State of HTML5 Audio

— Wednesday, March 9th 2011

Read ›

Game On Spotlight: Z-Type

— Monday, February 14th 2011

Read ›

Impact Sales Report

— Monday, January 24th 2011

Read ›

Z-Type

— Monday, January 10th 2011

Read ›

hqx Scaling in JavaScript

— Wednesday, December 29th 2010

Read ›

Brace for Impact!

— Monday, December 20th 2010

Read ›

I Have a Problem

— Monday, October 18th 2010

Read ›

Impact for iOS

— Monday, October 11th 2010

Read ›

Biolab Disaster

— Monday, September 13th 2010

Read ›

Syntax Highlighting in 1023 bytes of JavaScript

— Monday, August 9th 2010

Read ›

“Load More” is not the Answer

— Thursday, July 8th 2010

Read ›

Songfever

— Friday, June 25th 2010

Read ›

9 Years of Sleep

— Saturday, May 1st 2010

Weird sleep cycles produce pretty graphs.

Read ›

Flash Animation Without Flash

— Tuesday, February 16th 2010

Read ›

Google Chrome Frame is Here to Save Us All!

— Tuesday, September 22nd 2009

Read ›

Colemak

— Friday, July 24th 2009

Read ›

UVC Camera Control for Mac OS X

— Wednesday, July 15th 2009

Read ›

Yuckfu Dev Diary #12 – Let's Try That Again

— Monday, June 22nd 2009

Read ›

Yuckfu Dev Diary #11 – Buy, Buy, Buy!

— Wednesday, April 22nd 2009

Read ›

Yuckfu Dev Diary #10 – It’s Beta Time!

— Tuesday, April 14th 2009

Read ›

Yuckfu Dev Diary #9 – HUD and Tutorial Mode

— Friday, March 6th 2009

Read ›

Redesign – Yes, Again

— Thursday, March 5th 2009

Read ›

My New Portfolio

— Sunday, February 15th 2009

Read ›

Klangpong

— Sunday, January 11th 2009

Read ›

Instant Avatars

— Tuesday, December 23rd 2008

Read ›

Picturelicious, Paypal and Getting Rich

— Friday, December 12th 2008

Read ›

Your Favorite Movie in a Single Picture

— Saturday, December 6th 2008

Read ›

Yuckfu Dev Diary #8 – Details, Details, Details and a Gameplay Video

— Thursday, November 20th 2008

Read ›

Yuckfu Dev Diary #7 – All New Graphics

— Friday, October 17th 2008

Read ›

Is Google’s Chrome Upside Down?

— Tuesday, September 2nd 2008

Read ›

Yuckfu Dev Diary #6 – Flat Shading or Textures?

— Wednesday, August 27th 2008

Read ›

Yuckfu Dev Diary #5 – OpenGL, Fonts and You

— Saturday, August 16th 2008

Read ›

Yuckfu Dev Diary #4 – Gameplay

— Friday, August 8th 2008

Read ›

Yuckfu Dev Diary #3 – Loading and Displaying 3D Models

— Tuesday, July 29th 2008

Read ›

Yuckfu Dev Diary #2 – Visual Concept

— Saturday, July 26th 2008

Read ›

Yuckfu Dev Diary #1

— Friday, July 25th 2008

Read ›

iPhone Code Signing Sucks

— Thursday, July 24th 2008

Read ›

New Server, New Layout

— Sunday, July 13th 2008

Read ›

The Importance of Special Effects

— Saturday, July 12th 2008

Read ›

QuickSearch.js – Shortwave for the Paranoid

— Monday, July 7th 2008

Read ›

Fixing Favatars

— Saturday, July 5th 2008

Read ›

Comment Spam 2.0

— Friday, June 6th 2008

Read ›

How I hacked Digg

— Wednesday, June 4th 2008

Read ›

The Fountain in a Single Picture

— Friday, May 23rd 2008

Read ›

Euro Pimp!

— Tuesday, May 20th 2008

Read ›

What’s Wrong with Clean-URLs?

— Monday, April 28th 2008

Read ›

Asaph 1.0

— Sunday, April 6th 2008

Read ›

Asaph Beta 2

— Wednesday, March 26th 2008

Read ›

Asaph Microblog – Beta

— Friday, March 21st 2008

Read ›

How Not to Build a Page with Drupal

— Wednesday, February 13th 2008

Read ›

All Hail the New PhobosLab

— Tuesday, February 12th 2008

Read ›

Ron Paul vs. Barack Obama?

— Saturday, January 12th 2008

Read ›

Flash Music Visualization Engine

— Monday, January 7th 2008

Read ›

What I Learned About Flash and ActionScript 3

— Sunday, December 9th 2007

Read ›

Image Clouds

— Tuesday, November 13th 2007

Read ›

IE Textarea 100% Width Bug

— Monday, October 8th 2007

Read ›

Whiteout – Minimalistic Skin for VLC Movie Player

— Friday, September 14th 2007

Read ›

Automatic Escaping of SQL Parameters

— Tuesday, August 21st 2007

Read ›

Generic Syntax Highlighting with Regular Expressions

— Thursday, August 2nd 2007

Read ›

Hello World!

— Sunday, July 8th 2007

Read ›

© 2024 Dominic Szablewski – Imprint – powered by Pagenode (4ms) – made with <3