top | item 47105525

(no title)

sigmoid10 | 8 days ago

Blowing more than 800kb on essentially an http api wrapper is actually kinda bad. The original Doom binary was 700kb and had vastly more complexity. This is in C after all, so by stripping out nonessential stuff and using the right compiler options, I'd expect something like this to come in under 100kb.

discuss

order

pitched|8 days ago

Doom had the benefit of an OS that included a lot of low-level bits like a net stack. This doesn’t! That 800kB includes everything it would need from an OS too.

oso2k|7 days ago

Maybe you’re misremembering or referring to Doom (2016). The original Doom was developed for DOS and id had to build a lot of its own network stack. BSD style socket based networking wasn’t a given in DOS.

Still, zclaw is an impressive achievement.

__tnm|8 days ago

yah my back of the envelope math..

the “app logic”/wrapper pieces come out to about 25kb

WiFi is 350 Tls is 120 and certs are 90!

epcoa|7 days ago

> vastly more complexity.

Doom is ingenious, but it is not terribly complex IMHO, not compared to a modern networking stack including WiFi driver. The Doom renderer charm is in its overall simplicity. The AI is effective but not sophisticated.

madduci|7 days ago

The whole ESP32 Libraries are kind of bloated. To enable Bluetooth, WiFi or HTTP handling, you need to embed some large libraries

__tnm|8 days ago

yeah i sandbagged the size just a little to start (small enough to fit on the c3, 888 picked for good luck & prosperity; I even have a build that pads to get 888 exactly), so i can now try reduce some of it as an exercise etc.

but 100kb you’re not gonna see :) this has WiFi, tls, etc. doom didn’t need those