An (probably) easy way is to connect a switch to a GPIO pin, then watch for special patterns of on/off sequences as cheat codes :), and you end up programming a computer in binary code.
Hm, that's hardly anything like doom. It is more like a very basic raycasting engine from several years before that. Doom in 9800 would be really impressive. This does not seem very special if you ever wrote your own engine like that.
Looks like they have part of what made Doom unique (at the time)-- they've got height differences and non-perpendicular walls, but don't quite have the same lighting and texture mapping capability that Doom had.
And the demo doesn't show whether or not they have Doom's dynamic capabilities (that let level builders make things like moving elevators).
This looks like it's probably somewhere between Wolfenstein 3D and Doom in terms of engine features.
OP's project isn't a simple port. They wrote an original DOOM-like engine,
from scratch, in assembly language. It only looks like
DOOM because they're using DOOM textures.
They wrote a raycasting engine in 9800 lines of assembly, running on a Pi, using Doom's textures. Is it Doom? No, but it's pretty darn impressive. Avoid gratuitous negativity.
Right, it does not seem to be a raycasting algorithm, and the author mentions of it in the youtube comments that it's a "rasterization" meaning perspective projection of textured polygons.
Which is why they should have advertised something like that. This is related to Doom only in that the music and textures are the same. I'll forgive a little negativity if it comes from someone correcting a dishonestly titled article/submission.
Just because it wasn't Doom doesn't mean it's without merit. This is a first year University project, written in small amount of assembly, with no supporting OS.
You implied it was a trivial achievement. Perhaps that wasn't your intention, perhaps you had intended to encourage, but if that's the case it wasn't obvious.
Considering the point of the Raspberry Pi foundation is to provide a readily available low cost general computing platform for learning and experimentation, it seems entirely appropriate that people would port stuff to it for the sake of porting stuff to it.
To add to that, http://www.techdigest.tv/2013/10/10_gadgets_that.html shows examples on a Nintendo DS, TI-Nspire (your link is for the older TI-83+), an old Minolta digital camera, iPod Classic, Zune, a Commodore Vic 20, and others.
I played doom on my ipod mini. I'm pretty sure this wasn't to stress the insane hardware of a pi so much as x86 is completely miserable to bare-metal program in.
It doesn't. I imagine it's still a fun way to learn ARM assembly and an impressive achievement. Note that apparently they didn't use any operating system and built their own controller from scratch.
It is still technically called a breadboard. The other type of breadboard you are thinking of is a "solderless breadboard." Original breadboards date back to the days before printed circuits when people would stick component leads through holes drilled in a piece of wood or some other material and wire them together.
I don't even know what to say ... 9800 lines of assembly is so few. I am very impressed. I think I might use more lines writing this in a "modern" language.
Keep in mind they are calling it a "replica", not a port. From the video there's some form of game logic, the raycaster and asset loader. Other than that, it doesn't appear to be the full game.
Still, though, AWESOME! Can't wait to check out the code when it goes up on Github (they said soon).
42 comments
[ 1.5 ms ] story [ 89.2 ms ] threadNice work BTW.
And the demo doesn't show whether or not they have Doom's dynamic capabilities (that let level builders make things like moving elevators).
This looks like it's probably somewhere between Wolfenstein 3D and Doom in terms of engine features.
https://news.ycombinator.com/newsguidelines.html
Any application that can be ported to Raspberry Pi will eventually be ported to Raspberry Pi.
http://m.youtube.com/watch?v=TuupoxmeQ6U
I've only heard the term breadboard being applied to the solderless prototyping boards (and the old school point to point type).
Game developers always impress me.
Still, though, AWESOME! Can't wait to check out the code when it goes up on Github (they said soon).