The things youngsters today think: "Not that there is an awful lot one can actually do with a 16k ZX Spectrum." We used to know how to write efficient code, I worked in IT for a bank and I remember the engineers proudly showing me the massive (several large filing cabinets) 1mb of core memory on the mainframe that ran the entire bank.
I wrote a "Fox & Geese" type game for the original 1k ZX80 (I built from the kit) using BASIC and sold enough to cover the cost of the device, got sales from as far afield as Iceland and S.Africa. I've still got a file of letters from grateful buyers somewhere because getting anything remotely interesting in BASIC with only 1k was to say the least "a challenge", don't forget that the screen map used most of that 1k. To my intense frustration I had one byte free and couldn't find a good use for it.
Some better games emerged later by writing in machine code but then we got the memory expansions.