DOOM 3DO Source Released On Github
New submitter burgerbecky writes The port that was as hellish as the game world itself, DOOM for the 3DO's source code has been released on github. The original programmer outlined the corners cut and why.
← Back to Stories (view on slashdot.org)
....who actually cares?
FTA:
Firstly, this was the product of ten intense weeks of work due to the fact that I was misled about the state of the port when I was offered the project. I was told that there was a version in existance with new levels, weapons and features and it only needed "polishing" and optimization to hit the market. After numerous requests for this version, I found out that there was no such thing and that Art Data Interactive was under the false impression that all anyone needed to do to port a game from one platform to another was just to compile the code and adding weapons was as simple as dropping in the art.
I'm starting to think that as a developer the automatic assumption should be that you are being hired for a death march unless there is strong evidence to the contrary.
much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell
It's interesting just to look at the overall organization of the code, although relatively few will probably invest hours in getting to know it well.
I noticed that the source code is released under the MIT license, but the submitter/coder also points out the DOOM 3DO IP is owned by ZeniMax, who retains exclusive rights. I assume that applies to names, trademarks, and graphics only.
While this code is historically important, and its release is excellent news, I would like to see larger companies like IBM and HP release code to old versions of useful or widely used products.
I would love it if HP would release the source code to older versions of HP-UX, Tru64 UNIX, and older Digital software.
I would also love it if IBM would release the source code to older versions of AIX, DB2, Informix, the Lotus products, and so on and so forth.
This source code would be great to have available due to its historical significance, because it was the software powering some of the most critical business systems in the world.
If I had 10 weeks to port Doom to the 3DO I would have cut my dick off too
Result before unions:
Sometimes programmers hired on death marches, feel free to leave and find better work.
Result after unions:
All programming now inherently a death march because unskilled "coders" most senior members of any team, cannot be fired and also direct architecture.
Leaving a job where the petty minded rulers feel like you slighted them means you will never work as a coder again because other union shops are told not to work with you.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
I had some opportunity to work with HP-UX (built GnuMake on it for a in-company build/QA system), it was always an interesting and very different beast. Is it still around in any form?
"There is more worth loving than we have strength to love." - Brian Jay Stanley
http://youfailit.net/?p=49
My guess is this guy will start selling this game, claiming he programmed it, and a 3DO emulator source he'll also claim as he did.
Be seeing you...
Yea, cause that is totally how unions work.
Reply modeled after real world examples, including Teachers Unions.
If you don't think any group with power over workers prevents "troublesome" workers from finding work, you are simply naive.
nice anti-workers rhetoric
What could be more pro-worker than protecting workers from predation? Being anti-union is inherantly being for the workers, not the overseers.
I forgot to add the third aspect of "after union" - you make 20% less pay and your union leader lives in a mansion.
are you just a temporarily embarrassed millionaire?
A) Never be ashamed at having a strong opinion.
B) Not even close to a millionaire, temporary or otherwise. I work for a living thank you very much.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
This port may not be the best, but it certainly had the best soundtrack of any other Doom version. As far as I know, it's the only port that actually remixes the original tunes into awesome redbook audio tracks. It sounds great.
come back out. It's interesting to compare the various ports of doom that have been released over the years.
Thanks for the hard work!
and continue to get made well in Germany with Union Labor. Also, I'm fed up with the guys putting parts on at the assembly line getting blamed for for shitty American Cars. They just tightened the bolts people. Yes, it's hard, mind numbing work; but at the end of the day it was management going to engineering to say "Make a car _this_ cheap that we can sell for _this_ much that created shitty American Cars. Engineers just do what they're told, and Management wasn't unionized.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
it's DOOM, why is this a 'bad thing'?
I've done a lot of low level stuff, and appreciate how difficult and rewarding it can be.
Takes a lot of heart to do a job that well!
I should have figured it would be going strong, it was a rough system to get used to but ran very solidly. Glad to see that's not something HP has killed.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Its always great to see code for console and computer platforms which don't otherwise have a lot of code available.
The source code for the Atari Jaguar version of Doom is out there somewhere too.
Personally I want to see more source for games (Doom or otherwise) on platforms like the NES, SNES, N64 and Genesis. Would be very interesting to see the code (assembly I would imagine) for a proper commercial SNES title...
I like the part about Art Data Interactive thinking one only needed to compile to code again. This describe a lot of Mac users today.
The verticle walls were drawn with strips using the cell engine
What's this have to do with unions? Do non-union industries have some mystical property that makes hiring-managers inherently non-petty?
They are of course just as petty, being the same people that would exist in both systems - but are not nearly as wired into each other as union leadership has traditionally been across companies.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
It may still be around, but HP is thoroughly screwing development on new HP-UX releases. One of their editions has been fundamentally broken since March and they haven't fixed it YET. I've been supporting HP-UX installations for 25 years (back to 7.0) and I no longer recommend it's use.
I reserve the right to use 'he' as a neuter pronoun when code is involved.
...
OK, you got me. I posted before seeing the very bottom of the article, and I'm totally sexist for assuming it was a dude.
Hey at least I read it.
What party is it you belong to that is AGAINST letting people have free will and the ability to work without TWO management chains overseeing what they do?
Sign me up for THAT party - said no-one, ever.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Oddly I don't see any posts about the source itself, but I found it pretty interesting to browse through... though I was trying to find the code that triggered state change for the enemies to fight each other when one hit another, I couldn't figure out where exactly that happened...
Very cool also it includes all of the graphics and audio assets.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Well, I've been looking for like 5 minutes and already found this gem:
https://github.com/Olde-Skuul/...
You missed the point of the term "temporarily embarrassed millionaire". As in, someone who supports policies that benefit the rich over the common folk,
It's true I did not understand what that awkward phrase was trying to say.
However since unions make workers over time poorer, not richer, and exist (again over time) primarily for the benefit of union leadership, they are a prime example of supporting the rich over the common folk.
I see a disturbing trend where every single person who is for unions claims to be for the workers instead of realizing they are in fact diametrically opposed. Very odd.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Steelworker jobs disappeared as a result of automation.
And automation was cost effective because...
I'll bet you really can't figure that out, can you?
No sir, no reason whatsoever that overpaying workers leads to fewer workers over time! Just unpossible!
"There is more worth loving than we have strength to love." - Brian Jay Stanley
That's really too bad, I id imagined it would be around for a long time to come... but if they aren't getting new installations because the've messed it up over time it's going to fade even if existing installations linger for some time...
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Nice try at ad-hominem, normally though to carry some credibility it comes with at least a half-hearted attempt to address points raised... I note you can't refute a single point made against unions for programmers, therefore why should anyone listen to your rantings? You mention "the British", when we are talking about the situation of real workers and unions in present day...
Unions once had a very good reason to exist, but regulations have far supplanted the need for them. What I am for is systems evolving for efficiency and the bests interests of those who have to live inside said systems; what you are for is ironically apparently for an unchanging world regardless of how facts alter, like a simple monkey you fling poo at any that cross your mind as a transgressor to your rigid opinion.
You speak of dimensionality yet you have none yourself; your argument is as flat as a coke opened years ago and left in the back of the fridge, forgotten and unwanted.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
the subject box.
Why would it be assembly? Granted C is not far above assembly, but there were plenty of language compilers available for the 65x816 on its various platforms.
This is wonderful. I love it. Thank you so much for posting this. I appreciate it.
Yes sure the 65816 on the IIGS got things beyond assembly. But the very-resource-constrained (in both RAM and ROM) SNES never got such a thing that I am aware of.
Assembly language was used because the C compilers for 6502 (Apple II, Commodore 64, Atari 400/800, NES) and 65816 (Apple IIGS, Super NES) weren't very good at optimizing. Sure, Koei most likely wrote sims such as Nobunaga's Ambition in C, as shown by the appearance of printf format strings when you run strings on the ROM. But those are turn-based and don't need to fit an update to the entire game state into 30,000 CPU cycles. And if cc65 is to be believed, optimization of C still isn't so hot. There are things about C that don't fit the 65xx architecture well, such as a tendency toward automatic local variables.
A few commercial NES games, such as Super Mario Bros., have been disassembled and commented on RomHacking.net. And of course, homebrew games for NES often come with source code.
And if anybody doesn't understand: The goto statement is considered harmful, except when it's not. When used in situations where structured programming (while and friends) expresses the intent more cleanly, it's harmful. But when used as the backend of a coroutine macro library, it's not. And when used to jump to cleanup code in exceptional conditions, as seen here, it's not.
It's a game console that nobody has ever heard of or cares about:
https://en.wikipedia.org/wiki/3DO_Interactive_Multiplayer
Without ellipses, reading comments that start in the subject field is admittedly confusing, but with them, I don't see any problem.
File under 'M' for 'Manic ranting'
wow, you were totally right. i read the original posting and the writing was so masculine I could not believe someone named "becky" wrote it. I was also baffled by the Sailor Moon fan-fic -- what self-respecting grown woman would write that? then you explained that becky is actually a man (who may or may not be a eunuch now). thanks for clarifying!!
There are some style issues, but statements like - "I had to rewrite all string.h in assembly in one day" are impressive. I bookmarked it as a living proof that woman can do real hacks (in positive way) and wanted to show it to everybody who claims otherwise.
Then I have read the bio... and now I'm confused.
he's a she!
Someone tell me why I care about another Doom port? There's already like 50...
Gamasutra did a great interview with Burger a few years ago: http://www.gamasutra.com/view/...
Show me a example of a man that was sucessful and popular before changing gender into a woman and I'll rethink my stance.
Your mom?
"BarbaraHudson" isn't female (let alone a dyke). BarbaraHudson = transsexual and due to that, obviously a mentalcase also. Only a nut would do that to themselves and it's indicative of someone that can't stand themselves as they are too.
I worked for NTG/3DO for just under five years, so I know (knew) the machine inside and out. It will be interesting to go through this code and see what kind of tradeoffs were made.
Some comments on the README:
*snerk* I could have told you at the time that a ten-week dev cycle was crazy talk.
An interesting and valid approach (3DO's OS had full memory tracking). I'd be interested to know which of the 3DO libs was leaking memory on you.
Were the floor/ceiling textures not power-of-two dimensions on each side? As I recall, you only got texture cracking when the dimensions were not power-of-two.
You could have decomposed the floor/ceiling textures into strips as well, but ultimately the lack of perspective correction meant you were going to have to do some heavy lifting somewhere.
Ah, yes, the Norcroft compiler (or, as I always called it, Norcruft). It was a piece of shit. It was also the only thing available that would run on the Mac. It was never anything but a C compiler, but kept throwing unblockable warnings about constructs that C++ would have problems with (such as implicit cast from void*). There was no MacOS port of GCC, and there were no usable ARM backends for GCC available at the time, anyway. (Bear in mind, this was before the Web existed in any familiar form, and you had to go trawling through USENET for clues -- not even AltaVista existed yet).
I'm sure many memories will come flooding back.
Editor, A1-AAA AmeriCaptions
Seriously, it's fucking source code. I don't care if the dev identifies as a man, woman, or plant. That doesn't make it any better or worse.
Well, the latter is only true for languages lacking specific mechanisms for exception handling, of course.
What language might that have been? C++ wasn't standardized until 1998, and the 3DO was discontinued in late 1996, having been Osborned by promises of the M2. Besides, the 3DO had about as much RAM as the original PlayStation (2 MB for CPU and 1 MB VRAM); how big is the support library for C++ exceptions?
The final fact is that your 19th-century dictionary definition won't stand up in a 21st-century courtroom.
The laws have changed, and treating a m2f transsexual in their former gender (by using their former name, by referring to them using male pronouns, etc) is illegal.
I don't know where you live, but her continuing to do so once you're aware of the situation is considered both a violation of our civil rights (discrimination based on sex) and criminal harassment.
Telling the court "but they can't give birth so they're not women" won't cut it when the courts consider m2f transsexuals to be female by law. Now if you're ever in the area and want to try it, I'll be happy to make an example out of you, the same as I did to the property developer, because I believe in paying it forward as a thank-you for all the women who made my life possible.
If this sounds a bit militant, well, maybe it's about time that people who don't respect others legal status and civil rights get some push-back and bad publicity. And it's posts like yours that make burgerbecky's act of posting the story here not just interesting because of the "old-skool tech", but also an act of courage knowing that there would be people who refuse to respect both her legal status and her civil rights, and will attack her based on who they think she was, and not who she is or really was.
So welcome to the 21st century. Now, if you don't like the laws, you can lobby to get them changed (good luck with that - even Putin isn't having luck wrt getting rid of the LGBTtQetc), or post a story about how your time machine will let you go back in time to a more intolerant era.
Considering that we have both the law and public opinion on our side, the time machine is probably the only viable solution short of seeing a psychiatrist to ask why you can't adapt to change and also help you to understand that your belief that animals are consenting to bestiality is just wrong on so many levels, as well as being illegal.
Me: It's not just the LGBTt who denounce bestiality. Where's the informed consent of the animal? Your comparison is ludicrous.
You: There was a BBC documentary about it a while back. I believe the consent (to them) came from the animals showing signs of enjoyment that they normally showed during sex with their own species. That and I think if the larger animals didn't want to participate, they certainly have the power to refuse.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
It's just something you do. I'm sure my coworkers complain about how incompetent I am. We magnify other's faults and lessen our own.
I don't recall American Cars rattling or coming apart. I recall the parts wearing out around 100,000 miles and being nearly impossible to fix. The missing welds you're describing would have been noticeable during a test drive. You're teacher's full of it.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/