Thanks for that link, it was fantastic. It remained mostly non-technical and yet was still a great nerd read. I always thought Carmack wrote fun stuff (and not just in code.)
The license situation with this game is interesting. Carmack based this new port on an updated "Redux" version of his original codebase which is under GPL, so the resulting iPhone game is under GPL as well. But the iPhone user cannot benefit from the free license: although the source is available, it's not possible to install a freshly compiled version of the game on the device.
I suppose that someone could submit a free version of the app to the App Store, but Apple would probably reject it as a duplicate. (I'm not sure if Wolf3D includes artwork or other external assets that are not GPL'd. If so, then a free version would have to provide replacements for those assets, which would essentially make it a different game.)
Here's a question which I would love to have answered: does the "anti-tivoization clause" in version 3 of the GPL prevent the distribution of a GPLv3 application on an iPhone-style closed platform? Or is "tivoization" strictly limited to code that's shipped with hardware?
This is amazing. I tried to run it in the iPhone Simulator but got a couple errors. Eventually I got it to run by commenting out some lines with functions references in the errors (366 and 405 in opengl_main.c if you have the SDK). I'm not sure what I broke but it works well enough to run when I switched to the 3.0 OS instead of the 2.0 default. It's not that much fun in the simulator since it isn't designed for use with one input.
When I tried to run it on my iPhone I kept on getting a "code signing identity" error with "John Carmack" or "Cass Everitt" mentioned. I spent a while messing around and eventually found Project -> Edit Project Settings, where I changed "Any iPhone OS Device" to the settings for my device, for each configuration setting.
Abra cadabra, I now have Wolfenstein on my iPhone and owe id $0.99 when the app is released.
The frame rate is less than ideal, but the controls are excellent (virtual thumbstick) and the game is very playable. I would actually probably be willing to pay $5 - $10, but a lot of that is for nostalgia and because I owe them for making this open source.
Looks like the plan was to release Episode 1 only (what the shareware Wolfenstein was) for $0.99, and Eps 1-6 for $5. I only see the $5 bundle on the app store though.
The man is amazingly unbothered by things, and he writes really interesting notes, too.
I started to get a sinking feeling. I searched around in the level for a view that would confirm my suspicion, and when I found a clear enough view of some angled geometry I saw the tell-tale mid-polygon affine swim in the texture as I rotated. They were using the software rasterizer on the iPhone. [..] The developers came back and said it [rewriting it for OpenGL] would take two months and exceed their budget.
[..] I told them to just send the project to me and I would do it myself. [..] my off the cuff estimate of "Two days!" was optimistic, but I did get it done in four
To be fair, it's probably 10x harder to repurpose someone else's code than to repurpose your own. So it probably would've taken anywhere from 40-60 days for someone else to do it. Plus, Carmack's code isn't exactly clear. :)
Have you ever gone back and looked at your own code that is ~2 years old?
It usually takes some time for me to get familiar with what I was trying to achieve, I should comment more, but what I'm trying to get at is that code that ~18 years old is probably very different from the code you're making today.
Yes, however if you wrote the code you can remember "where things come from", why things are the way they are (you have a vague recollection of refactorings) and that helps for perspective. A third-party can't do that.
Wonder how it compares with Quake for Pocket PC which I used to play about 4 years ago. Tricky to reproduce all the controls without many buttons but hopefully they'll come up with something. The accelerometer might come in handy.
Yep, still has the ability to induce motion sickness. My thumbs are slightly too big for the controls it seems but I'm glad they didn't use tilt controls, that really doesn't work for me.
You can also get the source code for it at ftp://www.idsoftware.com/idstuff/wolf3d/wolf3d_iphone_v1.0_src.zip if you want to play around with iPhone development.