iOS Open Source – Wolfenstein 3D

There have been just a handful of games over the years that I’ve lost countless hours to, mesmerized and determined to see the games to the end. The first was Rogue, which was on the university BSD system when I was working on my graduate degree. There was something oddly enjoyable about topping your professor’s high-score, in the middle of the night while taking a break from said professor’s coding project. The other games that were all consuming: Wolfenstein 3D, Quake and Doom, all created by id Software.

I was thrilled to see an iPhone version of Wolfenstein 3D on the App Store. And that excitement pales in comparison to my reaction when I heard that John Carmack, id Software co-founder, released the iPhone implementation as open source, how cool is that?! You can find the code here: Wolfenstein 3D for the iPhone. I was able to compile, build and deploy the code onto my iPhone without a hitch.

There’s a note written by John about id Software and the history of Wolfenstein for the iPhone, this is worth a few minutes of your time. There is some good stuff in here, including a few programming notes that make this an interesting read.

John ends his note by mentioning that Doom for the iPhone is not far off. Ahhh, a few more days to come, lost to gaming bliss…

11 Comments

  1. I was pretty excited when he announced it and downloaded the code right away. I had a little bit of trouble getting it to run without commenting out two lines in opengl_main.c though, was wondering if you had come across anything similar. I’ve bought the app in the store already but am kind of curious why it wouldn’t build.

    Line Location Tool:0: collect2: ld returned 1 exit status
    Line Location Tool:0: symbol(s) not found
    Line Location Tool:0: _R_AppActivate in opengl_main.o
    Line Location Tool:0: “_GLimp_AppActivate”, referenced from:
    Line Location Tool:0: _R_Shutdown in opengl_main.o
    Line Location Tool:0: “_GLimp_Shutdown”, referenced from:

    If i comment out these two lines from opengl_main.c, it will build but this seems sketchy: GLimp_Shutdown();
    GLimp_AppActivate

    From what I can gather these are OS specific methods, and after each of them an iphone specific method is declared so it seems like it should be okay, but if you could share some wisdom it would be greatly appreciated.

    And great blog!

    • Hi,

      I m also stuck on following two lines
      GLimp_Shutdown();
      GLimp_AppActivate
      If you succeed to find out the solution of this problem please email me on rajendra.r.bhole@gmail.com.
      I wasting almost a day to find-out solution unfortunately i can’t get it.

      Thanks,
      Rajendra Bhole

  2. I did have the same problem if I was trying to run the simulator. If I build for ‘device’, all is well. Thanks for pointing that out. If anyone can shed some light on this, please post a comment.

    And thanks for the comment about the blog, glad to know you enjoy it.

    John

  3. Thank you! Can’t wait to build the source myself!
    Ciao

  4. > If anyone can shed some light on this, please post a comment.

    “OpenGL ES. OpenGL ES uses renderers on devices that are slightly different from those it uses in iPhone Simulator. For this reason, a scene on the simulator and the same scene on a device may not be identical at the pixel level. See “Drawing with OpenGL ES” in iPhone Application Programming Guide for details.”

    http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/140-Tunning_Applications/tunning_applications.html

  5. I would like to know how to get this to build and transfer to my iPhone. I am getting this error:

    Code Signing Identity ‘iPhone Developer: Cass Everitt’ does not match any valid, non-expired, code-signing certificate in your keychain.

    I set the Code Signing Identity to my own, but I still get this error. Anyone know how to get this working?

    Chris

  6. You need to set your Apple Developer Certificat so XCode can sign your application.
    In order to do this, you need to be an apple developer (100$ for one year)

  7. If you want to seriously learn and build iphone 3D apps, check out SIO2 engine website. It’s a free iphone game engine for you to develop application on and you can also purchase source code and full 2D/3D asset of the games which have already been published on the app store. Here is the address: http://sio2interactive.com

    Cheers.

  8. Hi,

    We are here iPhone Application developer and iPhone game developer we have used both game engine unity and sio2 for our last 3 iphone game development we can say sio2 is with more tutorials and unity also has some but we did good with sio2 game engine

    Thanks

  9. Hi,
    I download code zip file “Wolfenstein 3D for the iPhone” and i trying to run on my PC. It gave me some strange error first “_GLimp_Shutdown”, referenced from:”
    and ” other ” “_GLimp_AppActivate”, referenced from:
    “.
    I wasting my time almost a day but i can’t find out the solution of it. Please help me out that problem.

    Thanks
    Rajendra

Comments are closed.