Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Code Review of Doom For the iPhone

Soulskill posted more than 4 years ago | from the old-dogs-new-tricks dept.

First Person Shooters (Games) 161

Developer Fabien Sanglard has written a code review for id Software's iPhone port of Doom. It's an interesting look into how the original 1993 game (which he also reviewed to understand its rendering process) was adapted to a modern platform. "Just like Wolfenstein 3D, Doom was rendering a screenframe pixel per pixel. The only way to do this on iPhone with an acceptable framerate would be to use CoreSurface/CoreSurface.h framework. But it is unfortunately restricted and using it would prevent distribution on the AppStore. The only solution is to use OpenGL, but this comes with a few challenges: Doom was faking 3D with a 2D map. OpenGL needs real 3D vertices. More than 3D vertices, OpenGL needs data to be sent as triangles (among other things because they are easy to rasterize). But Doom sectors were made of arbitrary forms. Doom 1993's perspective was also faked, it was actually closer to an orthogonal projection than a perspective projection. Doom was using VGA palette indexing to perform special effect (red for damage, silver for invulnerable...)."

cancel ×

161 comments

Sorry! There are no comments related to the filter you selected.

Already done (1, Informative)

ultranova (717540) | more than 4 years ago | (#31020748)

Doom was ported [wikipedia.org] to OpenGL a long time ago.

Re:Already done (0)

Anonymous Coward | more than 4 years ago | (#31020770)

did you even read the article?

Re:Already done (2, Funny)

Anonymous Coward | more than 4 years ago | (#31020790)

When in slashdot, nerds dont RTFA.

Re:Already done (5, Funny)

VShael (62735) | more than 4 years ago | (#31020792)

did you even read the article?

You must be new here...

Re:Already done (2, Funny)

sznupi (719324) | more than 4 years ago | (#31020944)

What makes articles slashdotted anyway?...

Or is that some mystery not approachable "even" by 6-digiters?

Re:Already done (2, Funny)

JosKarith (757063) | more than 4 years ago | (#31021002)

10,000 geeks hitting a server designed for 1000 connections max. Simultaneously.

Re:Already done (1)

evil_aar0n (1001515) | more than 4 years ago | (#31022760)

That's unpossible. A true /.-er wouldn't bother to rtfa, thus leaving the server unmolested.

Re:Already done (1)

matt_gaia (228110) | more than 4 years ago | (#31023598)

Speaking as a 6-digiter, I would have to agree. And no, I didn't bother RTFA either.

Re:Already done (1)

VShael (62735) | more than 4 years ago | (#31021064)

Oh, they'd click the link perhaps. But take the time to actually READ it?

Re:Already done (1)

lorenlal (164133) | more than 4 years ago | (#31021136)

My guess is that we open the link in another tab or window, read the first paragraph, and when many of us realize TFS is the same as that paragraph, we already have the relevant information.

That or the bizzaro edition of this site .\ reads the articles, resulting in it not being available, but they have hardly anything to say about it.

Re:Already done (2, Funny)

buanzo (542591) | more than 4 years ago | (#31022254)

.\ is the MS-DOS oriented slashdot, right?

Re:Already done (1)

sznupi (719324) | more than 4 years ago | (#31022854)

Antislashdot?

Let us never meet, for the resulting release of energy will catastrophically disrupt the lithosphere (considering basements...)

Re:Already done (1)

Mister Whirly (964219) | more than 4 years ago | (#31023276)

.\ != \.



(Slashdot will not let me just post symbols apparently>)

Re:Already done (2, Insightful)

EricWright (16803) | more than 4 years ago | (#31021690)

There are those who read (and create the /. effect) and those who post. The intersection of those groups is vanishingly small.

Re:Already done (0, Troll)

Rogerborg (306625) | more than 4 years ago | (#31021328)

And the iPhone runs OpenGL ES, so what's your point again?

Re:Already done (1)

hedwards (940851) | more than 4 years ago | (#31021370)

The point is that somebody already did the work involved with the 3D vertices, if I'm getting it right. Yes, OpenGL ES is somewhat different, but if I'm understanding it's not really that different and the biggest architectural changes had to already be made anyways.

Re:Already done (1)

Xest (935314) | more than 4 years ago | (#31021418)

I'm not sure what rendering API it used, but I had Doom on my Nokia 7650 running just fine around 2002 as well. I think it's been ported most places in many different ways.

Re:Already done (1)

Provocateur (133110) | more than 4 years ago | (#31022500)

How is the gaming experience of DOOM on your nokia? On the PC, are you a mouse+keyboard gamer? I remember it being close to being intuitive on the PC, but then it has keys AND a mouse. I can imagine a game like Tetris being easily playable, but an FPS? (As you can see I'm having a major disconnect here :) )

Re:Already done (1)

petermgreen (876956) | more than 4 years ago | (#31022738)

Did you actually play doom in the era when it came out or have you only played modern ports with default controls set to match modern expectations?

Games from that era (up to and including duke and quake) were designed to be playable with just a keyboard.

IIRC doom really only had five main controls, forward, backward, turn left, turn right and fire. Plus weapon select controls of course but you didn't need to have your hands on those all the time. In those days players weren't expected to aim vertically or to strafe.

It wasn't until much later that the standard control scheme of today (keyboard for forward backward and strafe, mouse for turning, aiming and firing) became the expected way to play (the oldest game I can remember playing with that scheme as default was UT).

Re:Already done (0)

Anonymous Coward | more than 4 years ago | (#31023642)

DOS Doom supported a mouse, remappable keys, and with the novert hack could reasonably approximate wasd+mouselook (without looking up and down, of course).

Playing with keyboard only was doable, but we figured out early that mouse and keyboard was a vastly superior way to control FPS games.

Re:Already done (1)

Xest (935314) | more than 4 years ago | (#31022772)

Well keep in mind that Doom doesn't really require mouse look, it played pretty well- this is a fairly old phone, that had a keypad (again we're going back to 2002) and a small stick controller on it, so really it gave you all the back, forward, turn left, turn right, strafe, shoot, change weapon keys you wanted just fine.

I certainly wouldn't want to play anything that required mouselook on a phone like Quake onwards. In fact, I had Quake on my old iPaq back around 2004 - 2005 and although it ran well, and had the onscreen style mouselook it really wasn't too great.

I'd say Doom is a popular port purely because it doesn't have the complexity of modern FPS controls- effectively it's one of the last FPS games you can really get away with playing like that decently before it started really requiring mouselook. Duke Nukem 3D would probably be the last possible one, but even that's quite a push to play without mouselook.

Interestingly, I think this is actually a disadvantage of newer phones that are touch screen only or near enough, it severely limits gaming- I wouldn't want to try playing Doom on my HTC Magic or an iPhone for example because of lack of decent input options for such a game, touch screen inputs really don't cut it for an FPS IMO.

Re:Already done (1)

jdowland (764773) | more than 4 years ago | (#31021442)

iPhone doom is a port from an existing GL port of doom (namely prboom) back to idsoftware and onto the iphone. So yes, someone has done it years ago, and yes, id leveraged that.

Pushing pixels (4, Interesting)

MtHuurne (602934) | more than 4 years ago | (#31020820)

Forgive my ignorance, but couldn't you have the original software renderer write to an in-memory buffer and then upload that using glTexSubImage2D()?

Re:Pushing pixels (2, Funny)

pananza (1228694) | more than 4 years ago | (#31020826)

Nah, too easy and direct approach.

Re:Pushing pixels (2, Interesting)

Lord Pillage (815466) | more than 4 years ago | (#31020862)

Or glWritePixels() would work too. Might be a little bit closer to the original method. But then again, I didn't RTFA, so I wouldn't know.

Re:Pushing pixels (1)

91degrees (207121) | more than 4 years ago | (#31020920)

Don't think that exists in OpenGL ES.

Re:Pushing pixels (4, Interesting)

RedK (112790) | more than 4 years ago | (#31020940)

glDrawPixels is not supported under OpenGL ES which is what the iPhone uses. An in-memory buffer used as a texture is about the only way for fullscreen images (vertex arrays drawn using GL_POINTS is another solution but would not be fast enough).

Interesting... (0, Troll)

Anonymous Coward | more than 4 years ago | (#31020960)

http://www.nytimes.com/2010/02/04/us/politics/04scotus.html?hp [nytimes.com]

FTA: “Go back and read why Tillman introduced that legislation,” Justice Thomas said, referring to Senator Benjamin Tillman. “Tillman was from South Carolina, and as I hear the story he was concerned that the corporations, Republican corporations, were favorable toward blacks and he felt that there was a need to regulate them.”

I just find it interesting that Democrats are always on the wrong side of racial issues. Always. Whether it's American slavery, the Civil War, Reconstruction, Eugenics, or the modern-day example of how they strive to keep minorities enslaved on the government entitlement plantation. It's interesting to look at the vote totals by party in both houses of Congress for the Civil Rights Act of 1964: http://en.wikipedia.org/wiki/Civil_Rights_Act_of_1964#Vote_totals [wikipedia.org] . Once again, Republicans led the way for racial justice - and as a result the Democrats lost the South. And yet minorities still vote overwhelmingly for Democrat candidates, despite the mountain of evidence that Democrats want to keep them ideologically and materially enslaved, and Republicans want to see them be able to stand on their own two feet. I just don't understand...

Re:Pushing pixels (1, Interesting)

Anonymous Coward | more than 4 years ago | (#31021020)

I'm sure they thought of that.

Just like Wolfenstein 3D, Doom was rendering a screenframe pixel per pixel. The only way to do this on iPhone with an acceptable framerate would be to use CoreSurface/CoreSurface.h framework.

I know that sending data to GPU's is hideously slow, can anybody tell us how well a raycaster blitted via OpenGL would perform on the iPhone?

Re:Pushing pixels (0)

Anonymous Coward | more than 4 years ago | (#31021212)

Yeah, and enjoy 15fps "motion".

Re:Pushing pixels (1)

elrous0 (869638) | more than 4 years ago | (#31022310)

My grandpa had to get through the war on 5fps, you spoiled whippersnapper!

Re:Pushing pixels (0)

Anonymous Coward | more than 4 years ago | (#31023434)

Sorry, in my childhood we'd have had to _fake_ low fps since there was no framebuffer.

Re:Pushing pixels (1)

egomaniac (105476) | more than 4 years ago | (#31023002)

You'd be lucky to get 1fps doing that. Not only is iPhone texture upload horrendously slow, but glTexSubImage2D reprocesses the entire texture even if you just change a single pixel of it. Plus you need power-of-2 textures, so you're looking at a 512x512 texture upload every frame. Not going to happen. /iPhone game developer

Re:Pushing pixels (1)

MtHuurne (602934) | more than 4 years ago | (#31023724)

It would be used to upload the entire frame at once. And while the texture itself must have power-of-2 sizes, the updated rectangle is not restricted in that way. It is certainly possible that it won't get decent frame rates on the iPhone, but it works fine on desktops, even ones with a weak GPU.

Classics never die (5, Insightful)

adosch (1397357) | more than 4 years ago | (#31020846)

I remember playing Doom in the mid-90's on my friend's Gateway 2000 Pentium 100Mhz. I still play it to this day from time to time (openGL port on Linux). It's mindless, self-indulging, gory, non-challenging (now, not then!), and it's becoming one of timeless those FPS games that won't die because it's story line is simple and not drug out, you're thrown right into the mix and you can keep your objective as simple as you want: Make it to the end of the map.

Re:Classics never die (3, Interesting)

goldaryn (834427) | more than 4 years ago | (#31020932)

It's mindless, self-indulging, gory, non-challenging (now, not then!), and it's becoming one of timeless those FPS games that won't die because it's story line is simple and not drug out,

In my opinion, DOOM was a good game but it wasn't ground breaking in the same way that Quake was a few years later. It was the first FPS to do real 3D, and gave birth to real FPS competitive play, based on the groundwork that DOOM did with FPS LAN play. Aside from that, the Quake engine led to all sorts of interesting gamemodes and mods that live with us still (Team Fortress was originally a Quake mod), and the physics of Quake 1 still has a legacy today (rocket jumping, bunny hopping).

I think the insurgence of DOOM ports to phones is because the pseudo 3D interface of DOOM lends itself more to the controls of mobile devices. It'd be nice to see more Quake and Duke3D ports.

Re:Classics never die (4, Funny)

Hadlock (143607) | more than 4 years ago | (#31020950)

DOOM was a good game but it wasn't ground breaking in the same way that Quake was a few years later. It was the first FPS to do real 3D, and gave birth to real FPS competitive play, based on the groundwork that DOOM did with FPS LAN play. Aside from that, the Quake engine led to all sorts of interesting gamemodes and mods that live with us still (Team Fortress was originally a Quake mod), and the physics of Quake 1 still has a legacy today (rocket jumping, bunny hopping).

You sir, have a career in video game blogging! Let me sign you up for a 3000 word "Top 10 Groundbreaking games of the 1990s" blog entry.

Re:Classics never die (1)

CodyRazor (1108681) | more than 4 years ago | (#31021826)

You sir, have a career in video game blogging! Let me sign you up for a 30 word "Top 10 Groundbreaking games of the 1990s" 6 page blog entry.

Fixed that for you.

Re:Classics never die (1)

baKanale (830108) | more than 4 years ago | (#31022916)

Only 6 pages? You're clearly not trying hard enough. Make it 11 pages; 10 pages, one for each of the top ten, and one for the intro page.

Re:Classics never die (1)

jaraxle (1707) | more than 4 years ago | (#31023632)

He actually meant only 6 pages of worthwhile content. The other 5 pages worth are nothing but ads.

Isn't that how it's done these days?

~jaraxle

Re:Classics never die (1)

weirdcrashingnoises (1151951) | more than 4 years ago | (#31022986)

30 word 6 page?

what font size is that?

or maybe, how many large moving picture ads per word is that?

(not that I would actually see them)

Re:Classics never die (2, Interesting)

goldaryn (834427) | more than 4 years ago | (#31020954)

Aside from that, the Quake engine led to all sorts of interesting gamemodes and mods that live with us still

I forgot to say: Action Quake was another Quake 1 mod, which eventually became Counter Strike.

Re:Classics never die (2, Interesting)

jaggeh (1485669) | more than 4 years ago | (#31020996)

It was S.E.A.L. Quake not Action Quake

Although my favorite quake mod was malice.

Re:Classics never die (0)

Anonymous Coward | more than 4 years ago | (#31021316)

Action Quake was for Quake 2, that was madly popular, sadly its superior spiritual sequels (Action Half-Life, AHL2) never matched its popularity.

Swat Team for Quakeworld was the earliest CS-ish mod there was, even more so than the infamous Navy Seals Quake which is done by gooseman, a left-handed gun enthusiast who went on to become famous for Counter-Strike. He did the weapon models for AQ2 as well.

Re:Classics never die (1)

floodo1 (246910) | more than 4 years ago | (#31023268)

Action Quake was the 2nd best game (whether released or modded) in the FPS genre, only behind TF (or mega-TF). Better watch out from above otherwise I'd put a handcannon to your dome and pull the trigger before I landed :)

Re:Classics never die (1)

Rhaban (987410) | more than 4 years ago | (#31021006)

the physics of Quake 1 still has a legacy today (rocket jumping, bunny hopping).

And how is that a good thing exactly?

Re:Classics never die (2, Insightful)

Sir_Lewk (967686) | more than 4 years ago | (#31022574)

It added a whole new kind of depth to the gameplay. Suddenly, the game wasn't just about how well you could aim, and how well you knew the maps and where the pickups where, it also mattered how good you were at moving. It was so influencial and loved, that future quake engines made it a point to allow alternative movement styles, the pro mods (CPMA stands out in particular) enhanced and added movement tricks, and entire mods were created around completely around the concept (DeFragged). The quakes were really the perfect games for FPS fans, you could pick them up easily enough because the basics were simple and the weapons were easy to use, but there were always more ways that you could improve your gameplay. If you mastered killing people with weapons, and memorized all of the maps, you cou always find better ways around the maps with the weapons.

The concepts developed in Quake I-III helped make those games legend and have made a presence in nearly every FPS since then. Now I understand that in some gaming circles, movement tricks are look down upon, somehow seen as cheating or as degrading to other peoples gaming experiances in general. I've heard of people being banned from Modern Warfare 2 servers for being "unrealistic". More than anything, this saddens me, and signifies to me an end of an era where fun and skill were important in gaming, not misguided ideas of realism.

Re:Classics never die (5, Insightful)

Antiocheian (859870) | more than 4 years ago | (#31021334)

The groundbreaking REAL 3d game was Ultima Underworld. Amazing story, great music and paced to the action (due to midi synthesis) and total 3d immersion.

Pay your respects to Looking Glass.

Re:Classics never die (2, Insightful)

Anonymous Coward | more than 4 years ago | (#31023360)

....and before doom, a thing that most people seem to forgot..

Re:Classics never die (1)

SimonTheSoundMan (1012395) | more than 4 years ago | (#31023752)

Before any of that, Elite for Acorn BBC Micro. First 3D game, and also used triangles for shapes. Now that is ground breaking.

Re:Classics never die (1)

kerrbear (163235) | more than 4 years ago | (#31021478)

Marathon was better :-)

Re:Classics never die (1)

stjobe (78285) | more than 4 years ago | (#31023678)

Back under your rock, Apple boy!

(just kidding, I was dead envious at my Mac-owning friends when I saw Marathon for the first time)

Re:Classics never die (1, Interesting)

Anonymous Coward | more than 4 years ago | (#31021976)

Disagree, it was the first game that realized how fun wolfenstein was and made it better (Ken's Labyrinth etc doesn't count) Also, made people learn about BBS's just to play it over modem (which it did rather well). Quake was cool that it moved people to polygons (which turned to 3D accelerators and gaming today) but it was so dark, and even when it came out had dated graphics. (almost turning people off to the polygon idea in the first place, guess they knew it was ugly so made it as dark as they could to hide it) Remember lots of friends learning to make Doom levels, quake wasn't worth the time...

Multiplayer (1)

phorm (591458) | more than 4 years ago | (#31022286)

Doom as a general game as cool. Doom as a multiplayer/deathmatch game was freaking incredible at the time.
While the whole "pixel 3d" theme may not have been new, I don't recall any other games of the like that were LAN'able or could be played on a 9600 baud modem.

Maybe there were some, but I don't remember any.

Re:Classics never die (1)

molo (94384) | more than 4 years ago | (#31022468)

Doom and Quake were groundbreaking in different regards. Doom was the first popular multiplayer FPS (LAN games). Quake was the first popular fully-3D FPS, and also provided the ability to play games over IP..

Also, as far as bunnyhopping, that is an artifact introduced in the QuakeWorld engine with its predictive networking model. In classic NetQuake (the original IP quake protocol), bunnyhopping had no effect.

-molo

Doom was groundbreaking in ATMOSPHERICS (1, Informative)

Anonymous Coward | more than 4 years ago | (#31023184)

Doom was groundbreaking in ATMOSPHERICS. Come on, in the second level that corridor with the lights out except the bust light flickering down the bottom with (unbeknownst to you at the time) Imp just out of sight under it?

Atmospheric.

Quake brought us Brown.

If it is considered groundbreaking, then the ground it broke was one that gave us Ubuntu.

It also, unlike Quake (and not repeated again until Serious Sam), gave us HORDES of enemies. Better yet, they'd start fighting. One much later level had a diagonal corridor that had the walls drop and scores of various demons were hiding. You ran through and the Imp missiles hit Cacofiends or whatever and they became pissed off, fighting Imps. Meanwhile, other monsters got in the crossfire and THEY got pissed off.

If you were careful in your aim, you could get rid of them all and only have had to shoot a handful of them. Just don't miss 'cos that might spoil the personal barney going on between two demons, who hate you more than they hate each other.

Tactical too.

Quake? No. Quake 2 got a lot closer in playability and lost the brown mostly.

Re:Classics never die (1)

operagost (62405) | more than 4 years ago | (#31023600)

In my opinion, DOOM was a good game but it wasn't ground breaking in the same way that Quake was a few years later. It was the first FPS to do real 3D, and gave birth to real FPS competitive play, based on the groundwork that DOOM did with FPS LAN play.

FPS LAN play is the reason why Doom WAS groundbreaking.

Re:Classics never die (2, Funny)

imakemusic (1164993) | more than 4 years ago | (#31021532)

it's story line is simple and not drug out

Unlike, say, Pacman in which the main character spends the entire game eating pills.

I think the word you're looking for is 'dragged'.

Re:Classics never die (1, Informative)

Anonymous Coward | more than 4 years ago | (#31022274)

Actually, I think it is "drawn".

Re:Classics never die (1)

Jesus_666 (702802) | more than 4 years ago | (#31021650)

Take a look at Marathon. It's what Bungie did on the Mac while id released Doom for the IBM. Essentially Doom with fewer weapons, alt-fire and funny monologues. Durandal still ranks high in my list of the best insane AIs. The story is more complex than that of Doom but fairly simple to follow. Well, until you get to the third - pardon - infinitieth part, which is a time travel bonanza full of alternate pasts you never get to see.

The engine used for Marathon 2 and Infinity is available as Aleph One; the first part has been ported as an addon called M1A1. Everything is available straight from Bungie [bungie.org] for OS X, Linux and Windows.

Re:Classics never die (1)

anss123 (985305) | more than 4 years ago | (#31021764)

I tried Aleph One but I thought it was rather boring. Felt like they took the library level of Halo and stretched it out into a full game.

Mind you I think Wolf3D and Quake SP is boring too so my gaming taste isn't exactly mainstream.

Re:Classics never die (1)

Jesus_666 (702802) | more than 4 years ago | (#31022026)

The terminals saved the game for me. The gameplay isn't the most inspiring but the writing is great. Still didn't pull me all the way through Marathon 2, though.

Re:Classics never die (1)

Hatta (162192) | more than 4 years ago | (#31023492)

I remember playing Doom in the mid-90's on my friend's Gateway 2000 Pentium 100Mhz.

And that was way over powered for Doom. I played Half-life for the first time (all the way through) on a P133. Yeah it sucked, but not as much as not playing Half-Life. Doom was certainly playable with a 386, and a 486 was more than enough. These days I can even play Doom on my Sansa C250 with Rockbox, and my printer has a faster processor than the computer I first played Half-Life on.

Bloody Hell (2, Funny)

Anonymous Coward | more than 4 years ago | (#31020942)

I thought it was "Code Review of Doom" for the iPhone not "Code Review" of "Doom for the iPhone".
I've seen some "code reviews of doom". I was looking forward to some juicy ApplePain.
Oh well.

Re:Bloody Hell (1)

theJML (911853) | more than 4 years ago | (#31022800)

I read it the same way. I thought perhaps they were reviewing the source code for the OS or something and then I find "Doom"... which being an interesting game, isn't as great as reviewing the source code to the iPhone OS would be.

He's wrong though (5, Interesting)

Anonymous Coward | more than 4 years ago | (#31020956)

Doom 1993's perspective was also faked, it was actually closer to an orthogonal projection than a perspective projection

Not remotely true; DOOM's perspective is/was perfectly correct (apart from the monsters being billboards, of course - but they were perspective-correct billboards).

The method for achieving perspective is rather unconventional, but the maths works out the same.

Matching up floor and ceiling in an animated view with fake perspective is basically impossible.

[I did a port of DOOM before it was open-source, so I know a thing or two about this.]

Re:He's wrong though (0, Troll)

jaggeh (1485669) | more than 4 years ago | (#31021018)

The anonymous coward has a point! Beleive his unsupported claim at once!

Re:He's wrong though (5, Informative)

Anonymous Coward | more than 4 years ago | (#31021164)

You are correct. What TFA probably means is that walls, floors and ceilings are drawn in strips, and that for every strip all the texels are looked up according to a straight line. But that doesn't mean at all that hence Doom just uses an orthogonal projection, since it actually let's things diminish in the distance properly. A lot of real three dimensional games actually linearised texel lookup, but that says nothing at all about the overall projection a game uses. If you want to know what an orthogonal projection looks like, go play Age of Empires. As an added comparison, take a look at Mode 7 tricks on the SNES. You can actually perspectively correctly display a flat surface on it. How is this done? By setting a different orthogonal projection for each (in this case horizontal) line. That does not mean however that games using this therefore use an orthogonal projection, because the parameters are different for each scanline and the overall projection is perspective.

Re:He's wrong though (1)

petermgreen (876956) | more than 4 years ago | (#31022972)

In a true perspective view different parts of a wall vertex will be different distances from your viewpoint, therefore they will not be a straight vertical line. In the psuedo perspective that doom and duke used a wall vertex is always a straight vertical line.

This is more noticable in duke than in doom because duke lets you move your view up and down and therefore see angles further from the vertical than doom does.

Re:He's wrong though (1)

dpilot (134227) | more than 4 years ago | (#31023498)

Go try Heretic or Hexen - the originals based on Doom, and then make your call. Doom restricted things so you couldn't look up or down, and simplified the perspective issue. Heretic (followed by Hexen) added the ability to look up and down, and showed pretty bad perspective distortion.

I'd like to read this article (3, Funny)

drinkypoo (153816) | more than 4 years ago | (#31020972)

But it won't fit on a 800 pixel wide screen. WTF? I thought it was a code review, not a flash game.

Re:I'd like to read this article (1)

goldaryn (834427) | more than 4 years ago | (#31021022)

I'd like to read this article (Score:1)

1) This is Slashdot

Please read and at least attempt to understand comment before replying, kthxbye.

2) See point 1.

Re:I'd like to read this article (4, Informative)

slim (1652) | more than 4 years ago | (#31021142)

You need the Readability bookmarklet [arc90.com] .

A little off topic. (0)

Anonymous Coward | more than 4 years ago | (#31021034)

IDDQD Anybody? If only I could remember more important things like I can a cheat code from 10 years ago.

Re:A little off topic. (0, Troll)

jaggeh (1485669) | more than 4 years ago | (#31021056)

down up left left A right down

idkfa

supercalifragisexy

L R L R ABBABBA

scotty me up beamie

Re:A little off topic. (1)

Clover_Kicker (20761) | more than 4 years ago | (#31021092)

idspispopd

Re:A little off topic. (1)

damn_registrars (1103043) | more than 4 years ago | (#31021376)

idspispopd

Somehow I don't see that being easy to enter on an iphone while playing doom...
Although the important one was really IDKFA

Re:A little off topic. (0)

Anonymous Coward | more than 4 years ago | (#31021378)

ABACAB

up up down down left right left right B A start

dipstick chojin \ekg

satanra

destruct (okay, not a cheat code... but still fun noneoftheless)

Re:A little off topic. (0)

Anonymous Coward | more than 4 years ago | (#31022370)

thereisnocowlevel
sallyshers

These are implementation notes, not a code review (3, Insightful)

HisMother (413313) | more than 4 years ago | (#31021094)

<pedant>
This isn't a "code review" -- it's a short monograph (with Quicktime movies!) that talks about how Id got DOOM working well on the iPhone. A "code review" is, well, a critique of code, and the style, correctness, and efficiency, thereof.
</pedant>

What's with this CoreSurface licensing restriction (4, Insightful)

mikelieman (35628) | more than 4 years ago | (#31021114)

The only way to do this on iPhone with an acceptable framerate would be to use CoreSurface/CoreSurface.h framework. But it is unfortunately restricted and using it would prevent distribution on the AppStore.

Now this is what really annoys me. Here are tools. Appropriate tools. But you aren't allowed to use the tools, because what you're going to use them for offends The Gods.

What was that RMS was saying again?

Re:What's with this CoreSurface licensing restrict (4, Insightful)

slim (1652) | more than 4 years ago | (#31021238)

What was that RMS was saying again?

Don't bring attention to RMS's pragmatism. It confuses those who prefer to think of him as a hippy.

Re:What's with this CoreSurface licensing restrict (0, Troll)

TheVelvetFlamebait (986083) | more than 4 years ago | (#31022082)

Hmm. I think you're the one who's confused.

Making these tools free to use is pragmatic, and could come from any reasonable advocate of free software.

Hard line refusing to use proprietary software/platforms is more RMS's philosophy, and is, for most people, not at all pragmatic.

Does that clear things up?

Re:What's with this CoreSurface licensing restrict (4, Interesting)

Fahrvergnuugen (700293) | more than 4 years ago | (#31021412)

Disallowing the use of private APIs ensures that your software will continue to function with new versions of the iPhone OS. The private APIs might change, but the public ones will not. The real questions is whether or not there should be a public API for CoreSurface.

Re:What's with this CoreSurface licensing restrict (0)

Anonymous Coward | more than 4 years ago | (#31023622)

The real questions is whether or not there should be a public API for CoreSurface.

No kidding, I mean, WTF would anybody ever use THAT for??

Re:What's with this CoreSurface licensing restrict (0, Troll)

anomnomnomymous (1321267) | more than 4 years ago | (#31021456)

What was that RMS was saying again?

"Oooh, there's something eatable in between my toes: Shall I eat it?!"

Or were you referring to another quote of him?

Re:What's with this CoreSurface licensing restrict (1)

SatanicPuppy (611928) | more than 4 years ago | (#31023032)

Yea...But no. I appreciate their decision to limit their supported frameworks: it's basically the same decision as a console makers. They want a stable, easy to support platform that is still robust enough to allow people to do interesting things.

It's not their job to support every conceivable framework. It's your job to develop within the boundaries that they've set, same as people have been doing with consoles and embedded devices for years.

Re:What's with this CoreSurface licensing restrict (1, Funny)

Anonymous Coward | more than 4 years ago | (#31023048)

What was that RMS was saying again?

I don't remember, I was too busy watching him while he was talking [youtube.com] .

Doom is still incredible (2, Interesting)

renrutal (872592) | more than 4 years ago | (#31021146)

Heh, I remember playing Doom in my uncle's computer back in 94 as as 9 year old boy, and loved it, adored it.

16 years later, now an employed programmer, I still think it is made of black sorcery and an ingenious amount of coding. That's awesome!

Does Carmack /id Soft have a donation paypal-esque account? I'd love to give them what is due for all those early years of pure fun.

Re:Doom is still incredible (1)

XxtraLarGe (551297) | more than 4 years ago | (#31021322)

Does Carmack /id Soft have a donation paypal-esque account? I'd love to give them what is due for all those early years of pure fun.

How about just buying one of their more recent games?

Re:Doom is still incredible (1)

dskzero (960168) | more than 4 years ago | (#31021400)

I don't really want to pay them for the annoyance that was Doom 3 to be fair and honest.

Re:Doom is still incredible (1)

blahplusplus (757119) | more than 4 years ago | (#31021386)

Just buy their games. Go buy some copies of doom, quake or Doom 3 or wait for RAGE and buy a bunch of those.

Re:Doom is still incredible (-1, Flamebait)

Anonymous Coward | more than 4 years ago | (#31021760)

Considering you didnt have your own computer, and likely weren't coding when you were 9 years old, you are probably a shitty programmer today.

Re:Doom is still incredible (1)

daveime (1253762) | more than 4 years ago | (#31023322)

I'd take his 16 years experience backed code over your 3 year college degree in Visual Basic anytime.

Re:Doom is still incredible (2, Informative)

shutdown -p now (807394) | more than 4 years ago | (#31023068)

You can still buy id classics on e.g. Steam.

If you can dream it you can Doom it. (1)

TheLeopardsAreComing (1206632) | more than 4 years ago | (#31021284)

So when can I expect Counterstrike for my iPhone?

Re:If you can dream it you can Doom it. (1)

pandrijeczko (588093) | more than 4 years ago | (#31021968)

When Google release the Nexus outside of the USA? Oh, sorry, not *THAT* kind of Counterstrike...

By the way, I'm not normally finnicky but since you're an Apple user, I'm allowed to be - the Valve game is called "Counter-Strike", note the hyphen.

Re:If you can dream it you can Doom it. (1)

TheLeopardsAreComing (1206632) | more than 4 years ago | (#31023092)

Ha ha you're correct... I don't hang out enough at the coffee shop enough to be considered an "apple user" though. But from an ASIC design standpoint (when it first came out) it was pretty impressive what the iPhone could do -- I'm looking forward to seeing how the open nature of google will change the mobile device industry. I feel like the older games that people are porting over to mobile devices are popping out now because it presents software developers an interesting but achievable challenge... limited graphics, cache, memory, drive space, etc. There does not seem to be much seriousness in the whole process.

Doom via phone, like most iPhone stuff, is not new (1)

cacheMan (150533) | more than 4 years ago | (#31021406)

The Sony Ericson P800 and the Motorola A920 had Doom ports that were very true to the Doom experience... in 2003.

As an unlocked A920 user, there is very little on the iPhone that I didn't see on that device. Apple's real accomplishment has been wrestling control away from the carriers who {locked down/disabled/walled gardened/made crappy} all of the devices that they sold.

I am happy for what Apple has done. It has allowed me to buy a Motorola Droid from Verizon without all of the restrictions it would otherwise have had.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>