A Doom-like engine on the Raspberry Pi – 9800 lines of bare metal assembly(reddit.com)
reddit.com
A Doom-like engine on the Raspberry Pi – 9800 lines of bare metal assembly
https://www.reddit.com/r/raspberry_pi/comments/3bg21j/we_made_doom_1993_on_the_raspberry_pi_9800_lines/
10 comments
Raspberry Pi seems to be the new target of Atwood's Law in place of Javascript.
Any application that can be ported to Raspberry Pi will eventually be ported to Raspberry Pi.
Any application that can be ported to Raspberry Pi will eventually be ported to Raspberry Pi.
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.
Porting Doom to everything has always been a thing. Way before Atwood's Law was ever a thing. It was the original Atwood's Law. :)
http://m.youtube.com/watch?v=TuupoxmeQ6U
http://m.youtube.com/watch?v=TuupoxmeQ6U
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.
not to denigrate the hard work... but without a keyboard, just how am I supposed to enter cheat codes??
Nice work BTW.
Nice work BTW.
The original Doom ran on 33MHz processor and 4MB RAM. I can't understand why it might have any problem running on RPi.
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.
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.
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.
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.
I doubt the music was played by the device, most probably it was dubbed in post processing.
'avoid gratuitous negativity' is a thought we all need to keep in mind more.
It's actually a rule of the site,
https://news.ycombinator.com/newsguidelines.html
https://news.ycombinator.com/newsguidelines.html
I think it should be a rule for real-life. I've found the less negative my thoughts, the better my general outlook on life.
What is gratuitous about what I said?
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.
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.
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.
As a first-year University assembly project in 4 weeks, I'd be a bit more hesitant to judge.
From the comments:
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.It's a common misconception, but Doom uses a BSP-tree based renderer, not raycasting.
This is their first year project...
Great work for a first year project. It was completed in 3 weeks according to the thread. I wouldn't have been able to pull it off.
good job guys. the controller on the breadboard looks pretty neat
that is actually not a breadboard, the stuff is soldered :)
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.
Isn't 'stripboard' the technical term for the soldered type of prototyping board (often known as veroboard in the UK)?
https://en.wikipedia.org/wiki/Stripboard
I've only heard the term breadboard being applied to the solderless prototyping boards (and the old school point to point type).
I've only heard the term breadboard being applied to the solderless prototyping boards (and the old school point to point type).
oh, I didn't know that :) in the context I've heard it, people usually referred to the solderless one
hhaha:)
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).
Still, though, AWESOME! Can't wait to check out the code when it goes up on Github (they said soon).
If only the cyber-demon was always that easy!
Game developers always impress me.