They’re interesting, but most are very hardware specific,
and some I wouldn’t advise attempting if you can avoid it.
That would work to a degree, but you’re effectively just shifting the same pseudo-random sequence along a few entries which means that after a while people will start running into the same levels if they take a similar amount of time to skip past the title screen.
Pre-ANSI C is full of weird things.
Apparently GCC will still allow this for C if you pass the right flag.
In modern C (C99, 184.108.40.206.1):
The sizeof operator shall not be applied to an expression that has function type or an incomplete type
The void type comprises an empty set of values; it is an incomplete object type that cannot be completed.
I’m not sure what you mean by ‘ignore’.
That’s worrying, and it makes me really glad that modern compilers have come such a long way.
Well, they had less than 640KB to work with and 64KB data segments.
I probably would have done the same.
I got a table of reciprocals in Starduino that I read out of bound for 0 and 1 on purpose (uint8_t stepping = (reciprocals-2)[height] ) because 0 renders nothing and 1 only renders one scanline so it doesn’t matter if I add a garbage number at the end of the for-loop in those cases.
You save wherever you can. (and not having an MMU to worry about can be fun)
Whatever combination is used, I think the ceiling should be dark, the floor should be light and the patterns should have a small to medium frequency of dots.
Higher dot frequencies are too ‘busy’, and make it hard to process.
It’s a shame there’s not enough processing power left over to correct for perspective so the floors could be drawn as actual floor tiles instead of just drawn as a flat pattern.