I used to make little homebrew gameboy & gameboy advance games - writing that scanline renderer suddenly gave me a bit of insight in to why they worked the way they did!
I started writing a more generic scanline tile/sprite "library" for TinyScreen/Arduino, which I've put on github:
https://github.com/jonwingrove/tinyscreen-spritetile-lib ...
Nice. That's how all the character roms work when blitting the characters to
the screen.
... 3d - I guess it depends what I'm working on and who with! I'm not much of an artist - programmery type only, really!
...
Programmer art can be quite cool.
... (edit: ps, just had a look at some of the stuff on your site - that 64x64 renderer for DCPU is very cool - maybe I should think about something like that, too...) ...
Ahh ... thx a lot. Well, I think *everyone* interested in programming 3d
graphics/engines should have written such a tiny 3d rendere on whatever tiny
hardware (
), because it really teaches one a lesson on
so many fronts.
If Notch wouldn't had canceled 0x10c, I would had programmed a little game for
the DCPU. I was actually a lil further than what is seen on the page. I
extended the "Procedural surface generation" stuff much further, switched to
quaternions for rotation which really played out in two ways, first; more
precision, and second, I could get rid of the drift of the rotation matrix
resulting in a shearing effect, which is way bad. Re-normalizing a rotation
matrix is a nogo (computationally very expensive, even using some rude tricks I
got from Brain Hook, using cross-product etc.). However, using quaternions
(representing the same rotation) you just re-normalize the quaternion and be
done with it. :+ So the "Procedural surface generation" on the page, a full 3d
tunnel in this case, deforms way smooth and steady by now. I even was on
the verge of making a little game prototype where you start to fly through a
tunnel making some hostile encounters. Here is a small gif;
but it doesn't show any of the improvements/bending stated above,
unfortunately. When you start flying into the tunnel it starts to bend into a
corkscrew while starting to rotate etc. Pretty cool. I hope I can work on this
project again somewhat further down the road.
Here is another demo showing me tinkering around with the board computer;
Yeah, the craft actually has a board computer! So you can rewrite the firmware
of the craft resp. update it ... on-the-fly! xD Amazing, isn't it?
... Thought about writing a Wolf3d style renderer for the TinyScreen - but my first worry was that I'd have to flip it sideways to get it fast enough with buffer copying only working as horizontal lines... although maybe there's a memory efficient way of storing the data I'd need in order to render it quickly line-by-line...
Yeah, Wolf prefers going vertical. Trying to reorder the data would be a
nice exercise, I guess.