Doom3 Source Code Released (GPL licensed)


In case your not aware the tool gDEBugger can help you find the bottlenecks. http://www.gremedy.com/


AMD bought this tool and has their own version, but it may only work on AMD (and i know your targeting Intel)

Yes this would be a useful tool, unfortunately the old pre-AMD versions don't work (errors when running any program including the included samples) and of course AMD's versions only work on AMD drivers (and thus only AMD hardware.)


I actually wouldn't mind having a desktop PC at home with an AMD and Nvidia card for testing and using vendor-specific tools but I already have quite a few expenses at the moment.


In any case OpenGL errors can be debugged fine with gdb, a breakpoint, and the OpenGL ES2 specification.
 
Regarding frames per second, I'd say that anything in double figures is acceptable for a game like Doom 3. Technically the illusion of movement is said to begin at 10FPS, but during my animation days I got away with as low as 6FPS in places without anyone noticing. And perhaps the screen ghosting will give the illusion of it running faster anyway ... :)
 
Oliver has made his changes public, which ive started to attempt to build but ive hit snag



Code:
/data/devel/toolchains/pandora/arm-2011.09/bin/arm-none-linux-gnueabi-g++ -o build/debug/game/game/ai/AI_pathing.os -c -fPIC -I/data/devel/toolchains/pandora/arm-2011.09/usr/include -pipe -Wall -Wno-sign-compare -Wno-unknown-pragmas -fmessage-length=0 -fpermissive -fvisibility=hidden -g -O1 -D_DEBUG -fno-strict-aliasing -DGAME_DLL game/ai/AI_pathing.cpp

game/ai/AI_pathing.cpp: In function 'pathNode_t* BuildPathTree(const obstacle_t*, int, const idBounds&, const idVec2&, const idVec2&, obstaclePath_t&)':

game/ai/AI_pathing.cpp:659:51: error: 'next' was not declared in this scope

game/ai/AI_pathing.cpp:659:55: error: a function call cannot appear in a constant-expression

game/ai/AI_pathing.cpp:659:57: error: template argument 2 is invalid

game/ai/AI_pathing.cpp:659:72: error: invalid type in declaration before ',' token

game/ai/AI_pathing.cpp:666:16: error: request for member 'Add' in 'pathNodeQueue', which is of non-class type 'int'

game/ai/AI_pathing.cpp:668:28: error: request for member 'Get' in 'pathNodeQueue', which is of non-class type 'int'

game/ai/AI_pathing.cpp:668:116: error: request for member 'Get' in 'pathNodeQueue', which is of non-class type 'int'

game/ai/AI_pathing.cpp:670:13: error: request for member 'Add' in 'treeQueue', which is of non-class type 'int'

game/ai/AI_pathing.cpp:708:20: error: request for member 'Add' in 'pathNodeQueue', which is of non-class type 'int'

game/ai/AI_pathing.cpp:712:20: error: request for member 'Add' in 'pathNodeQueue', which is of non-class type 'int'

game/ai/AI_pathing.cpp:725:20: error: request for member 'Add' in 'pathNodeQueue', which is of non-class type 'int'

game/ai/AI_pathing.cpp:750:19: error: request for member 'Add' in 'pathNodeQueue', which is of non-class type 'int'



Im building with



#!/bin/sh





Code:
scons CC="/data/devel/toolchains/pandora/arm-2011.09/bin/arm-none-linux-gnueabi-gcc" CXX="/data/devel/toolchains/pandora/arm-2011.09/bin/arm-none-linux-gnueabi-g++" BASEFLAGS='-I/data/devel/toolchains/pandora/arm-2011.09/usr/include'
 
Huh ?


You're building Doom 3 to run on the OP ?


Nah, i must be tired, can't trust my eyes...
 
I got the display bugs fixed for zaxxon (.next can't init the egl display at all), and now it segfaults. Updated bochs.info/~aegis/doom.tar.gz
 
Last edited by a moderator:
Requirements have already been discussed. It runs completely unoptimized on an n900 at ~3fps, supposedly with a GPU bottleneck. This means the 1ghz pandora might be a much better candidate.
 
It's also a heavily customisable engine, like the Quake engine, there will be many places of opportunities to fine tune extra FPS from it.
 
3 fps on the n900 ? I'd be very surprised if you get more than 10 fps in the end after optimization (and removing all details).


Anyway, it's an interesting experiment. Too bad Doom3 was not a very good game - even if the port is well done, I would not be interested to play it.
 
Doom 3 has to be played alone in the dark.


Once you play it that way, you realize it's a great game.
 
Doom 3 has to be played alone in the dark.


Once you play it that way, you realize it's a great game.

yes and no, it is quite OK, but honestly all the scene to scare you, like lights going out or monster spawning magically in all the dark place behind EVERY piece of furniture are quite expected...
 
Only downside is, that it will look worse than quake2.


Edit: This was done with two voodoo 2 cards in sli mode with 90 MHz each...


Without the lightingeffects, doom 3 just doesn't cut it for me. It would maybe make more sense to reimplement the doom3 levels in a quake3 mod with static lighting instead of no lighting at all.
 
Last edited by a moderator:
It does not look worst than a tweaked quake2 or quake3 at all...
 
Doom 3 has to be played alone in the dark.


Once you play it that way, you realize it's a great game.

I did play it. Alone. In the Dark. But it's just the same thing all the time. Open Door. Monster Waiting just behind.


It's actually very boring, predictable, and all the fun from the original Doom game is completely gone.


And the recent Rage is in the same vein. Not very fun to play at all.

It does not look worst than a tweaked quake2 or quake3 at all...

If you remove the dynamic lighting, yes, it does look worse.
 
Back
Top