iOS updates & source code for Wolfenstein 3D Classic Platinum & DOOM Classic

Today we’ve got some great news for iOS fans. On the heels of recent updates (v 2.1) for both Wolfenstein 3D Classic Platinum & DOOM Classic, we’ve also released the 2.1 source code for both titles!

Wolfenstein 3D Platinum Source Code 2.1
DOOM Classic Source Code 2.1

What’s new in the update? Here’s the rundown…

  • Universal apps with iPad and Retina Display support
  • Revised user interface with a re-mastered HUD and all new menu art
  • Re-mastered sound from the original MIDI source files
  • Original cover art splash images
  • Locked 60 fps for Wolfenstein 3D Classic Platinum/Lite (improved framerate on all devices)
  • In App Purchase in Wolfenstein 3D Classic Lite to purchase the full game (Platinum Pack)
  • Wolfenstein 3D Classic Platinum/Lite now under the Apple 20MB download cap for 3G
  • Optimized for the iPad 2 (re-compiled under iOS 4.x with XCode 4.x)
  • Assorted bugfixes
  • Removed multiplayer support (currently broken due to iOS 3 and iOS 4 releases). MP will be re-released at a later date in a more robust fashion.

If you haven’t picked up these classics for your iOS device, check out the links below…

Wolfenstein 3D Classic Lite — Free!
Wolfenstein Classic Platinum — $1.99
DOOM Classic — $6.99

Development on Doom Classic iOS

By John Carmack, Technical Director, Id Software (2009)
http://www.idsoftware.com/doom-classic/doomdevelopment.htm

Way back in March when I released the source for Wolfenstein 3D Classic, I said that Doom Classic would be coming „real soon“, and on April 27, I gave a progress report:
(idsoftware.com/iphone-doom-classic-progress)
I spent a while getting the multiplayer functionality up, and I figured I only had to spend a couple days more to polish things up for release.

However, we were finishing up the big iPhone Doom Resurrection project with Escalation Studios, and we didn’t want to have two Doom games released right on top of each other, so I put Doom Classic aside for a while.  After Doom Resurrection had its time in the sun, I was prepared to put the rest of the work into Doom Classic, but we ran into another schedule conflict.  As I related in my Wolf Classic notes http://www.idsoftware.com/wolfenstein-3d-classic-platinum/wolfdevelopment.htm , Wolfenstein RPG for the iPhone was actually done before Wolfenstein Classic, but EA had decided to sit on it until the release of the big PC / console Wolfenstein game in August.

I really thought I was going to go back and finish things up in September, but I got crushingly busy on other fronts.  In an odd little bit of serendipity, after re-immersing myself in the original Doom for the iPhone, I am now working downstairs at Id with the Doom 4 team.  I’m calling my time a 50/50 split between Rage and Doom 4, but the stress doesn’t divide.  September was also the month that Armadillo Aerospace flew the level 2 Lunar Lander Challenge:
Finally, in October I SWORE I would finish it, and we aimed for a Halloween release.  We got it submitted in plenty of time, but we ran into a couple approval hiccups that caused it to run to the very last minute.  The first was someone incorrectly thinking that the „Demos“ button that played back recorded demos from the game, was somehow providing demo content for other commercial products, which is prohibited.  The second issue was the use of an iPhone image in the multiplayer button, which we had to make a last minute patch for.

Release notes

Ok, the game is finally out (the GPL source code is being packaged up for release today).  Based on some review comments, there are a couple clarifications to be made:

Multiplayer requires a WiFi connection that doesn’t have UDP port 14666 blocked.  I’m quite happy with the simple and fast multiplayer setup, but it seems like many access points just dump the packets in the trash.  If the multiplayer button on the main menu doesn’t start pulsing for additional players after the first player has hit it, you won’t be able to connect.  I have also seen a network where the button would pulse, but the player would never get added to the player list, which meant that somehow the DNS packets were getting through, but the app packets weren’t.  It works fine on a normal AirPort install…  More on networking below.

I took out tilt-to-turn just to free up some interface screen space, because I didn’t know anyone that liked that mode, and my query thread on Touch Arcade didn’t turn up people that would miss it a lot.

Evidently there are a few people that do care a lot, so we will cram that back in on the next update.  The functionality is still there without a user interface, so you can enable it by four-finger-tapping to bring up the keyboard and typing „tiltturn 4000“ or some number like that, and it will stay set.  Make sure you have tiltmove pulled down to 0.  I never got around to putting in a real console, but you can change a few parameters like that, as well as enter all the original doom cheat codes like IDDQD, IDKFA, etc.

I think that the auto-centering control sticks in Doom Classic are a better control scheme than the fixed sticks from Wolf Classic.  The advice for wolf was to adjust the stick positions so that your thumbs naturally fell in the center point, so I just made that automatic for Doom.  Effective control always involved sliding your thumbs on the screen, rather than discretely tapping it, and this mode forces you to do that from the beginning.
Still, even if the new mode is some fraction „better“, there are a lot of people who have logged a lot of hours in Wolfenstein Classic, and any change at all will be a negative initially.  In the options->settings menu screen, there is a button labeled „Center sticks: ON“ that can be toggled off to keep the sticks fixed in place like in Wolf.

A subtle difference is that the turning sensitivity is now graded so that a given small movement will result in a specific percentage increase in speed, no matter where in the movement range it is.  With linear sensitivity, if you are 10 pixels off from the center and you move your thumb 10 pixels farther, then the speed exactly doubles.  If you are 50 pixels off from the center, the same 10 pixel move only increases your turning rate by 20%.  With ramped sensitivity, you would get a 20% (depending on the sensitivity scale) increase in speed in both cases, which tends to be better for most people.  You can disable this by toggling the „Ramp turn: ON“ option off.

In hindsight, I should have had a nice obvious button on the main options screen that said „Wolfenstein Style“ and had the same options, but I have always had difficult motivating myself to do good backwards compatibility engineering.  Even then, the movement speeds are different between the games, so it wouldn’t have felt exactly the same.

It was a lot of fun to do this project, working on it essentially alone, as a contrast to the big teams on the major internal projects.  I was still quite pleased with how the look and feel of the game holds up after so long, especially the „base style“ levels.  The „hell levels“ show their age a lot more, where the designers were really reaching beyond what the technology could effectively provide.

Future iPhone work

We do read all the reviews in the App store, and we do plan on supporting Doom Classic with updates.  Everything is still an experiment for us on the iPhone, and we are learning lessons with each product.  At this point, we do not plan on making free lite versions of future products, since we didn’t notice anything worth the effort with Wolfenstein, and other developers have reported similar findings.

We have two people at Id that are going to be dedicated to iPhone work.  I doubt I will be able to personally open Xcode again for a few months, but I do plan on trying to work out a good touch interface for Quake Classic and the later 6DOF games.  I also very much want to make at least a tech demo that can run media created with a version of our idTech 5 megatexture content creation pipeline.  I’m not sure exactly what game I would like to do with it, so it might be a 500 mb free gee-whiz app…

Wolfenstein Classic Platinum was a break-in opportunity for the new internal iPhone developers.  We were originally planning on making the Spear of Destiny levels available as in-app purchased content.  Then we decided to make it a separate „Platinum Edition“ application at a reasonable price.  Finally, we decided that we would just make it a free update, but something has gone wrong during this process — people who buy the app for the first time get everything working properly, but many people who upgrade the App from a previous purchase are seeing lots of things horribly broken.  We are working with Apple to try to debug and fix this, but the workaround is to uninstall the app completely, then reload it.  The exciting thing about Wolf Platinum is the support for downloadable levels, which is the beta test for future game capabilities.  Using a URL to specify downloadable content for apps is a very clean way to interface to the game through a web page or email message.

The idMobile team is finishing up the last of the BREW versions of Doom 2 RPG, and work has started on an iPhone specific version, similar to the Wolfenstein RPG release.  The real-time FPS games are never going to be enjoyable for a lot of people, and the turn based RPG games are pretty neat in many regards.  If they are well received, we will probably bring over the Orcs&Elves games as well.

I want to work on a Rage themed game to coincide with Rage’s release, but we don’t have a firm direction or team chosen for it.  I was very excited about doing a really-designed-for-the-iPhone first person shooter, but at this point I am positive that I don’t have the time available for it.

Networking techie stuff

I doubt one customer in ten will actually play a network game of Doom Classic, but it was interesting working on it.

Way back in March when I was first starting the work, I didn’t want the game to require 3.0 to run, and I generally try to work with the lowest level interfaces possible for performance critical systems, so I wasn’t looking at GameKit for multiplayer.  I was hoping that it was possible to use BSD sockets to allow both WiFi networking on 2.0 devices and WiFi or ad-hoc bluetooth on 3.0 devices.  It turns out that it is possible, but it wasn’t documented as such anywhere I could find.

I very much approve of Apple’s strategy of layering Obj-C frameworks on top of Unix style C interfaces.  Bonjour is a layer over DNS, and GameKit uses sockets internally.  The only bit of obscure magic that goes on is that the bluetooth IP interface only comes into existence after you have asked DNS to resolve a service that was reported for it.  Given this, there is no getting around using DNS for initial setup.

With WiFi, you could still use your own broadcast packets to do player finding and stay completely within the base sockets interfaces, and this might even make some sense, considering that there appear to be some WiFi access points that will report a DNS service’s existence that your app can’t actually talk to.

For every platform I have done networking on previously, you could pretty much just assume that you had the loopback interface and an Ethernet interface, and you could just use INADDR_ANY for pretty much everything.  Multiple interfaces used to just be an issue for big servers, but the iPhone can have a lot of active interfaces — loopback, WiFi Ethernet, Bluetooth Ethernet, and several point to point interfaces for the cellular data networks.

At first, I was excited about the possibility of multiplayer over 3G.  I had been told by someone at Intel that they were seeing ping times of 180 ms on 3G devices, which could certainly be made to work for gaming.

Unfortunately, my tests, here in Dallas at least, show about twice that, which isn’t worth fighting.  I’m a bit curious whether they were mistaking one-way times, or if the infrastructure in California is really that much better.  In any case, that made my implementation choice clear — local link networking only.

A historical curiosity: the very first release of the original Doom game on the PC used broadcast IPX packets for LAN networking.  This seemed logical, because broadcast packets for a network game of N players has a packet count of just N packets on the network each tic, since everyone hears each packet.  The night after we released the game, I was woken up by a call from a college sysadmin yelling at me for crippling their entire network.  I didn’t have an unlisted number at the time.  When I had decided to implement network gaming, I bought and read a few books, but I didn’t have any practical experience, so I had thought that large networks were done like the books explained, with routers connecting independent segments.  I had no idea that there were many networks with thousands of nodes connected solely by bridges that forwarded all broadcast packets over lower bit rate links.  I quickly changed the networking to have each peer send addressed packets to the other peers.  More traffic on the local segment, but no chance of doing horrible things to bridged networks.

WiFi is different from wired Ethernet in a few ways.  WiFi clients don’t actually talk directly to each other, they talk to the access point, which rebroadcasts the packet to the destination, so every packet sent between two WiFi devices is actually at least two packets over the air.

An ad-hoc WiFi network would have twice the available peer to peer bandwidth and half the packet drop rate that an access point based one does.  Another point is that unlike wired Ethernet, the WiFi link level actually does packet retransmits if the destination doesn’t acknowledge receipt.  They won’t be retransmitted forever, and the buffer spaces are limited, so it can’t be relied upon the way you do TCP, but packet drops are more rare than you would expect.  This also means that there are lots of tiny little ACK packets flying around, which contributes to reduced throughput.  Broadcast packets are in-between — the broadcast packet is sent from the source to the access point with acknowledgment and retransmits, but since the access point can’t know who it is going to, it just fires it out blind a single time.

I experimentally brought the iPhone networking up initially using UDP broadcast packets, but the delivery was incredibly poor.  Very few packets were dropped, but hundreds of milliseconds could sometimes go by with no deliveries, then a huge batch would be delivered all at once.  I thought it might be a policy decision on our congested office access point, but it behaved the same way at my house on a quiet LAN, so I suspect there is an iPhone system software issue.  If I had a bit more time, I would have done comparisons with a WiFi laptop.  I had pretty much planned to use addressed packets anyway, but the broadcast behavior was interesting.

Doom PC was truly peer to peer, and each client transmitted to every other client, for N * (N-1) packets every tic.  It also stalled until valid data had arrived from every other player, so adding more players hurts in two different ways — more packets = more congestion = more likely to drop each individual packet.  The plus side of an arrangement like this is that it is truly fair, no client has any advantage over any other, even if one or more players are connected by a lower quality link.  Everyone gets the worst common denominator behavior.

I settled on a packet server approach for the iPhone, since someone had to be designated a „server“ anyway for DNS discovery, and it has the minimum non-broadcast packet count of 2N packets every tic.  Each client sends a command packet to the server each tic, the server combines all of them, then sends an addressed packet back to each client.  The remaining question was what the server should do when it hasn’t received an updated command from a client.  When the server refused to send out a packet until it had received data from all clients, there was a lot more variability in the arrival rate.  It could be masked by intentionally adding some latency on each client side, but I found that it plays better to just have the server repeat the last valid command when it hasn’t gotten an update.  This does mean that there is a slight performance advantage to being the server, because you will never drop an internal packet.

The client always stalls until it receives a server packet, there was no way I had the time to develop any latency reducing / drop mitigating prediction mechanisms.  There are a couple full client / server, internet capable versions of Doom available on the PC, but I wanted to work from a more traditional codebase for this project.

So, I had the game playing well over WiFi, but communication over the Bluetooth interface was significantly worse.  There was an entire frame of additional latency versus WiFi, and the user mode Bluetooth daemon was also sucking up 10% of the CPU.  That would have been livable, but there were regular surges in the packet delivery rate that made it basically unplayable.

Surging implies a buffer somewhere backing up and then draining, and I had seen something similar but less damaging occasionally on WiFi as well, so I wondered if there might be some iPhone system communication going on.  I spent a little while with WireShark trying to see if the occasional latency pileup was due to actual congestion, and what was in the packets, but I couldn’t get my Macbook into promiscuous WiFi mode, and I didn’t have the time to configure a completely new system.

In the end, I decided to just cut out the Bluetooth networking and leave it with WiFi.  There was a geek-neatness to having a net game with one client on WiFi and another on Bluetooth, but I wasn’t going to have time to wring it all out.

John Carmack on DOOM Classic Development, Fan Questions

05.11.2009 via Bethblog.com

Now that DOOM Classic has been released on iTunes, John Carmack has written his development notes on the project which you can read here.

This week we took some questions for John from the id Software twitter feed, and you will find his answers after the jump.

Khct: What was the most fun and/or rewarding part of developing DOOM Classic?
Porting a game is a very different experience from developing a new game. With a port, after working for a while, there is a moment when BANG — the game is there. After that, it is mostly a matter of fixing problems, optimizing, and polishing the experience. This project was especially rewarding because I felt that I was being extremely productive on the days that I was working on it — I was probably the best person in the world to do that work at that time, and I was knocking out issues left and right.

Matthaigh: Did you encounter any problems when porting the code to iPhone/touch? Such as APIs you used?
It went very smoothly. The prBoom codebase that I based it on already compiled for OS X, so there wasn’t much grunt work, and I had all the device specific IO code that I developed for Wolfenstein Classic. Being able to take advantage of the GPL code that other people have maintained and improved over the years has been very satisfying for me. I always argued that we got worthwhile intangible benefits from my policy of releasing the source code to the older games, but with Wolfenstein Classic and DOOM Classic I can now point to significant amounts of labor that I was personally saved. In fact, the products probably never would have existed at all if my only option was to work from the original “dusty deck” source code for the games. If we were even able to find the original code at all. Hooray for open source!

Seventhcycle: What sort of synth did you use for DOOM Classic’s music? It sounds like AWE32 or AWE64. Why not use something like a SDD4?

The following answer is from Christian Antkow, Aural Assault Technician, id Software

Where possible, I pulled Redbook Audio off Bobby Prince’s archival CD’s and I can only assume it was created with a Creative AWE32 or some other comparable relic back in the day. Where I did not have original Redbook audio to work with, I went back to the original MIDI’s and ran them through a modern Creative X-Fi General MIDI module in an attempt to match the original Redbook audio as closely as possible. My original intent was to use the East/West Colossus Virtual Instrument in my DAW, and run all the MIDI through their GM instruments to generate completely new high quality renderings. When I did so with the first couple tracks, it just sounded way too “real” and all sense of nostalgia was lost.

So, that’s really the main reason I didn’t redo everything in a modern instrument. All sense of nostalgia would be lost and I felt that needed to be retained.

Kevinquilen: After all these years, how do you feel that people are still interested in DOOM and Wolf 3-D up against newer games?
Nostalgia undoubtedly plays a part, but I do think that the games hold there own and then some for playability. The iPhone market is full of titles that are heavy on aesthetics and light on quality gameplay. There is a LOT of gameplay in the old titles, and I spent a significant amount of effort to make sure that they play well on the new platform.

Thanks to all of the Twitter followers who submitted their questions, and of course John and Christian for answering them!

Doom 3 – Interview with Tim Willits

Author: Roger LaMarca / Published: 2002-08-26 / http://www.quakeunity.com/article=10

PlanetQuake3: Tell us your about position at id Software and what is the average day at work like?

Tim Willits: I am the lead designer and project manager of Doom 3. John Carmack is the game’s visionary and I make sure his vision is created. I spend a lot of time coordinating between the different groups of people here (artists, programmers, and designers) making sure that everyone has what they need and working in the right direction. I try to get to work around 9:30 and I leave around 10:00pm, but everyday is different so I try to stay flexible.

PlanetQuake3: Is Doom3 at the stage where everyone at id plays a deathmatch game over the LAN or is that stage a ways off?

Tim Willits: We are all focusing on making a great single player game and haven’t started on the multiplayer component of the game yet.

PlanetQuake3: How do you go about getting ideas for what your maps should look like?

Tim Willits: The inspirations for the levels and look of the game come from everyone here. When developing a map the designers talk to the artists about their vision and what they would also like to see. Everything we do here is a collaborative effort involving both designers and artists, that way everyone feels more connected to the project.

PlanetQuake3: Are people going to have to hold back a bit and not to crazy with the amount of lights they put into Doom3 levels? Seeing how shadows and lighting will be fully dynamic now, is there a limit to the amount of lights that can be placed in any given area?

Tim Willits: It is actually quite simple, lights create shadows, shadows create polygons, and too many polygons slow the game down. Therefore designers need to be careful with the amount of lights they place the levels.

PlanetQuake3: How is the progress on the Doom3 levels coming along?

Tim Willits: The core technology is basically complete, we are creating content for the game and making it fun.

PlanetQuake3: Will there be any maps included that resemble retro Doom maps, if not do you hope to community will make them?

Tim Willits: Doom 3 is a re-telling of the original game, not a rehash of it. We are focusing on making a great new game that is light-years ahead of the original title both in it’s design and technology.

PlanetQuake3: Is there going to be a big difference between the multiplayer maps and single player maps or will they be interchangeable like they are in Quake3?

Tim Willits: Again, our focus is on the single player game and we haven’t started developing the multiplayer component yet.

PlanetQuake3: For all Quake2 mappers it was a pretty easy transition over to making Quake3 maps. Should Quake3 mappers have a hard learning to map for Doom3?

Tim Willits: The editor that we use for Doom 3 is the next generation from the Quake 3 editor.

PlanetQuake3:  Out of all the maps you have designed over the years, what are some of your favorites?

Tim Willits: My favorite group of maps were the 6 extra deathmatch maps in Quake 1. When I came up with the idea to include extra maps into Quake 1, only for deathmatch, the guys here at first thought it would be a waste of time. I really pushed for getting them in and I’m glad I did. Those 6 maps were played more by our fans than the entire rest of the game.

PlanetQuake3: Do you draw out maps before you start designing them on the computer?

Tim Willits: Yes, I plan out almost everything I make before opening the editor. It helps me stay focused on the design and keeps the map in check with the larger goals of the game.

PlanetQuake3: Back in the days of the original Doom, did you ever imagine one day you would be working the trilogy of the game and that it would so advanced?

Tim Willits: Doom3 is definitely a huge leap over the original Doom. It is exciting to see the progress we have made in years since the first Doom. I can’t wait to see what is created 5-10 years from now -it is a great time to be in games!!

PlanetQuake3: When Carmack was coding the Doom3 engine did you suggest ideas to him about certain things in the game that would make your level designing process even better?

Tim Willits: John doesn’t create engines in a vacuum, he takes into consideration many aspects of the design when deciding what goes into the code. We have regular meetings during the early stages of the engine work, he is really open to what we would like to see in the game. The game design parallels the engine design which really gives us opportunity to create exactly the game we want to make.

PlanetQuake3: How will the player interact with the game objects & how will the gameplay relate to the previous versions of Doom. What implementations will be required for a level editor program to make use of the new features.

Tim Willits: As seen in the interactive presentation at QuakeCon, the player will be able to interact with physics objects in the world. We have the ability to make anything into a physics object that react to both the player’s actions and the environment (i.e. falling objects). This gives the game a greater sense of reality and it increases the flexibility if the game design. Working with physics objects in the editor is very simple, all we need to do is select just about anything and turn it into a physics object. The editor interface is very straight forward and seamless.

PlanetQuake3: How much is made with radiant and how much has been done in Maya/Max considering meshes are used extensively in the game. So will we need to learn 3dsMAX to get the maximum out of designing maps for D3 or any D3 engine game/mod.

Tim Willits: Because of the unified lighting engine all objects, regardless of where they are made (brushes and models), look identical in the game. This allows the designers to create pieces of the world in either the editor or in a 3D modeling program. At id, we create a lot of the world in the editor but most of the extra geometry (pillars, supports, frames, etc) is made in a either Max or Lightwave. Learning to use a 3D model package would be helpful in creating levels of any Doom 3 engine type games.

PlanetQuake3: Will it be possible to adjust the speed of the game for between single player and multiplayer play?

Tim Willits: Yes, most of the game logic is outside the main executable, this gives us great flexibility in changing basic game parameters between single and multiplayer.

PlanetQuake3: Does the fact that the editor is integrated into the engine mean that there won’t be an open source version that is continuously updated like GTKRadiant?

Tim Willits: Too early to say.

PlanetQuake3: How much does it help you to be able to edit the game in real time? Did you request that feature be added?

Tim Willits: It is great for aligning textures and working with the lighting. Yes, we requested that feature be added, it is an example of the designers working with the programmers to make the best possible editing environment for the game.

Todd Hollenshead Interview – Der Download

Nachdem Streaming bei den meisten zu Lags und Unterbrechungen führt, gibt es nun das Interview Video nun auch zum Download:

Hier noch ein paar weitere Infos daraus:

  • es wird nochmal betont, das der Doom III Spieler relativ langsam laufen wird
  • Doom III spielt 100 bis 150 Jahre in der Zukunft
  • ab durchschnittlichen 30 FPS soll Doom III „Spaß machen“. Diese Framerate wurde auch auf Vorführungen benutzt.
  • Carmack arbeitet immer noch mit nVidia zusammen (auch mit besonderem Augenmerk auf einen XBox Port von Doom III)
  • RTCW für XBox wird auch Coop-Multiplayer haben
  • in Quake IV wird man vermutlich als Space Marine auftreten, die Gegner werden wie in Quake II die Stroggos sein, vorraussichtlich wird man den alten Planeten wieder besuchen
  • es wird nicht ausgeschlossen, dass Doom III erst nach der E3 erscheint, falls es bis dahin noch ein „bad game“ sein sollte

DOOM 3: Release Info

Im Rahmen der QuakeCon gab id Software, man glaubt es kaum, ein Veröffentlichungstermin für Doom 3 an. Laut id hofft man, das Spiel noch vor der Electronic Entertainment Expo 2003 (E3 2003) fertigzustellen. Diese findet vom 14. – 16. Mai statt.

At QuakeCon 2002, id expressed hope that the game would be done before next year´s E3 in May (ganzer Artikel)

Man bemüht sich also, das Spiel noch im ersten Halbjahr zu veröffentlichen, was doch ein bisschen überraschend ist. Na wenn das mal kein Grund zur Freude ist :-). Doom 3 wird nun offiziell auch auf die X-Box portiert, allerdings erst nach der Fertigstellung der PC Version. Wenn man allerdings die Hardware der X-Box betrachtet, sollte dies kein großer Aufwand sein.

Doom 3 @ QuakeCon (Update-Item)

Die diesjährige Präsentation von Doom 3 war wesentlich aufschlussreicher als die letzte. Im Gegensatz zur E3 Demo bzw dem E3 Theater auf der QuakeCon wurden recht wenig Spielszenen gezeigt. Gezeigt wurde:

  • Im Gegensatz zur E3 (640*480, mittlere Detailstufe) lief Doom 3 auf der QuakeCon in einer Auflösung von 800*600 in einer hohen Detailstufe. Das ganze flüssig mit einem P4 2.2GHz und einer ATI Radeon 9700.
  • Diverse Shading und Bumpmapping Effekte
  • Animation eines Pink Demons
  • Hinrichtung eines Zombies (ja wirklich…)
  • Level-Building. Man kann während des Spiels den Editor via Konsole („editor“) öffnen und sofort in Echtzeit das Level editieren. Allerdings wird nicht nur die Levelarchitektur in Echtzeit editiert, sondern auch Licht und Soundereignisse.
  • Ein neues Monster: Der Revenant, bekannt aus Doom 2. Diesmal allerdings mit Helm.
  • Zu den Waffen: Sicher sind eine Pistole, Shotgun, Chaingun, Sturmgewehr, Rocker Launcher und BFG. Bei der Railgun und der Kettensäge ist man noch am überlegen.
  • Das HTML ähnliche GUI ist für Aktionen im Spiel sowie die Menüs zuständig.
  • Systemanforderungen: Laut Carmack wird wahrscheinlich eine Geforce 256 und eine 1GHz CPU Mindestanforderung sein.

Mehr Details folgen… offenbar haben auch ein paar Leute abgefilmt, mit ein wenig Glück sollte das Video im Laufe des Wochenendes im Internet verfügbar sein.

  • Doom 3 Multiplayer wird sehr rudimentär sein… auf der QuakeCon war es offenbar sogar so, dass maximal 4 Spieler möglich waren und wie im Original Doom alle Mitspieler zu Beginn des Matches verbinden mussten. Ausserdem wird nur ein einfaches Deathmath möglich sein. Nach dem Macthbeginn kommen weitere Spieler dann nicht mehr ins Spiel rein. Alles in allem hatte es denn Anschein einer peer-to-peer Lösung, was sich hoffentlich noch ändern wird. Davon abgesehen beabsichtigt id Software entwender ein Multiplayer Expansion Pack für Doom 3 zu veröffentlichen oder aber ein komplett eigenständiges Spiel.
  • Es wird definitiv Outdoor-Areas geben. John Carmack erläuterte kurz, dass es Ereignisse geben wird, bei denen man aus der künstlichen Atmosphäre hinaugeschleudert wird und möglichst schnell Schutz finden muss. Ausserdem wurden speziell für die Aussenlevels auf dem Mars einige Grafikeffekte (Sand, Steine, …) in die Engine integriert.
  • Doom 3 wird keine Bäume haben. Das liegt nicht etwa daran, dass auf dem Mars keine Bäume sind, sondern die Doom 3 Engine hat Probleme mit dem Schatten der Blätter. Carmack riet Entwicklern, die mit der Doom 3 Engine arbeiten, bei Bäumen die Blätter nicht polygonal zu erstellen.
  • Hardcore Gamer sollten in der Lage sein, Doom 3 an einem Wochenende durchzuspielen.

Weitere Artikel:

  • Gamespy (vollständige Beschreibung der Doom 3 Präsentation)
  • Gamespot (Zusammenfassung der Doom 3 Präsentation)
  • Gamespy (Zusammenfassung von John Carmacks Rede)
  • Dingbats (Auflistung der wichtigsten Fakten)
  • Homelanfed.com (Bericht über die Doom 3 Präsentation und Carmacks Rede)

Live @ QuakeCon (Update – Item)

Auszüge aus John Carmacks Rede:

  • Doom 3 verwendet eine sehr komplexe Scripting Language
  • Es soll sogar mehr interaktive Elemente als Buttons geben… eine große Rolle spielt dabei die Echtzeit-Lichtberechnung. Designer verwenden Licht nun nicht einfach um bestimmte Teile der Karte aufzuhellen, sondern es bekommt eine dramaturgische Funktion, was ein Umdenken der Designer erforderte.
  • Konsistenteste Graphikengine aller Zeiten. Lichteffekte in anderen Spielen basieren auf ´billigen Tricks´ (O-Ton Carmack), die allerdings in bestimmten Umgebungen besser sind als eine komplexe Gesamtstruktur. Carmack allerdings vermeidet nach eigenen Angaben diese Hacks für Doom, wodurch eine noch nie gesehene Konsistenz in allen Bereichen entsteht.
  • Seine nächste Engine wird eine High Level Shading Language verwenden, auch wenn einige Treiber damit große Probleme haben… allerdings sollten dadurch auch Effekte nahezu in Filmqualität möglich werden. Bei der nächsten Engine werden die Grafikkartentreiber sein Spiel unterstützen müssen und nicht sein Spiel die Treiber, so Carmack.
  • Eine seiner schwierigsten Aufgaben war es einen guten Kompromiss zwischen hervorragender Grafik und sehr gutem Gameplay (vom Standpunkt eines Designers) zu finden.
  • Herausragende Wassereffekte wird man in Doom 3 wohl vergeblich suchen, nicht zuletzt weil Wasser quasi so gut wie gar keine Rolle in Doom 3 spielt. Es sind allerdings ein paar nette Reflektionseffekte in die Engine integriert, was darauf schließen lässt, dass man vermutlich ein bisschen Wasser zu sehen bekommt…

Leider wurde die Übertragung von Carmacks Rede unterbrochen. Als kleines Trostpflaster findet man auf Planetquake ein Foto von Fred Nilsson (id Software).

Update: Die Rede von John Carmack ist bis zu dem Punkt, an dem TSN Central die Übertragung abbrach, nun auch im MP3 Format erhältlich. Hier gehts zum 15MB Download. Das ganze dauert ein bisschen mehr als 60 Minuten.