Yes, it seems to. Running the following simple sketch in the emulator returns a different value each time it’s run as a new game or the reset button is pressed.
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, 6.5.3.4.1):
The sizeof operator shall not be applied to an expression that has function type or an incomplete type
And (6.2.5.19):
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)
Just for you Kevin: a build where the A + B buttons cycle through different dither patterns for the floor and ceiling! Arduboy3D-dither-select.hex (67.2 KB)
Which combination do you think works best? Post a screenshot!
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.
It should generated a new random level when you hit the exit ladder so this is a bug!
I quite like this too. Have you tried on the actual hardware or just the emulator?
Hmm don’t tempt me to try! I think with the black and white display it might get too noisy if floors and ceiling has textures too, especially in the distance
The only .hex flashing tool I have is avrdude itself because I’m used to compiling source code.
(I do far more development than actually playing games.)
I’ll try it on device later if I get chance.
At the moment I’m busy helping out with some projects.
Well that’s easily solved, just implement anisotropic filtering. :P
Seriously though, I know what you mean.
Distant tiles get noisy enough when doing raycasting on a full colour screen.
This is unbelievably cool. Can’t wait to see where it goes. Would you be able to upload the source to github so I can mess around with it for my studying purposes as a newbie?
I am super impressed! Wonderful job.
On my first run I got to floor 3 with a score of 281. This sure feels like a full game. And could be even more if you could store things on a flash chip