View Full Version : Shall we bring Duke 3D to Mac OS X?
Taxxodium
2003.04.05, 04:39 PM
Since the Linux code is released and since we have some talented coders here, shall we try to set a team to bring this game to OS X?
It probably won't be easy but I think that with a good team we should be able to do the port just fine.
OK so, who's in?
Zwilnik
2003.04.05, 05:52 PM
Is the Mac version of the code open source too ? (ie the Mac port that Glenda Adams did in the pre Westlake days). If so, that would make the job a *lot* easier :)
Feanor
2003.04.05, 08:13 PM
Man, what is the attraction? The code is supposedly really ugly, and full of hacks. I suppose if you want to write engines for games with no acceleration, this could be a learning experience, like porting software Quake, but otherwise, I don't see the benefit. OK, there's a cool factor, but there's a cool factor for lots of other stuff, too. Write a new game. Help with QERadiant or Crystal Space and PlaneShift. There's that Soul Ride port that is a hair's breadth away from working -- just needs to resolve the endian issues.
<offtopic>
Sorry if I sound like a sour puss. I wish I had time to even debate what games I could help with. School is infuriating, especially when you have to work as well, and there is no time to do good things.<offtopic>
Frank C.
2003.04.05, 11:59 PM
I'd like to see an OS X port simply for the sake of historical preservation. Duke 3D is easily one of my favourites from back in da day....
That said - the code is "real ugly", and I wouldn't hold my breath on ever seeing the Mac source. People have tried more than once to persuade Westlake into releasing the MacQuake source to no avail, and methinks Duke will be no different. The SDL port would be the way to go for ease-of-porting, but SDL still kinda blows on the Mac, and the Duke SDL port is really not ready for prime-time yet either.
calumr
2003.04.06, 09:19 AM
Originally posted by Feanor
Man, what is the attraction? The code is supposedly really ugly, and full of hacks. I suppose if you want to write engines for games with no acceleration, this could be a learning experience, like porting software Quake, but otherwise, I don't see the benefit. OK, there's a cool factor, but there's a cool factor for lots of other stuff, too. Write a new game.
Another way of looking at it is to see that there's a game to be made but you don't have to make the content. No need for any sloppy programmer art, there's already a whole bunch of levels that are proven to be fun and all that needs to be done is a bit of hacking to get an OS X version running.
I do agree that it probably will be pretty ugly to work with.
GameDev
2003.04.06, 12:03 PM
I heard that there's a lot of x86 assembly in the Linux code.
Feanor
2003.04.06, 12:10 PM
Here's an idea:
Make a whole new game that uses the Duke 3D content. The source will make this possible by illustrating the way the content is organized and managed.
But nobody is going to do this, I'm sure.
I like the argument on preserving the past. Although I think it is cooler to preserve the past in its original state, computer and software together. But then, computers wear out. (Like my Amiga with the busted joystick port/circuit.)
As for the x86 assembly, well, ask me about it. I might actually understand it. Unless it's using MME and/or floating point. I only know up to the .486. :sorry:
jamie
2003.04.06, 12:21 PM
Make a whole new game that uses the Duke 3D content.
Is that legal to do within the license? Could you for example take the content out and use Alphe One as the engine?
Just curious really...
Taxxodium
2003.04.06, 01:05 PM
I checked the code today and I must say it's quite digusting. There's some x86 assembly code, but that's in the engine part.
We could use an existing GPL'ed engine that already works on the mac and just add the functions to read the files and the game code itself.
I thought there was an Open GL version of the Duke Nukem application that already worked on the Mac.
Feanor
2003.04.06, 05:07 PM
Originally posted by jamie
Is that legal to do within the license? Could you for example take the content out and use Alphe One as the engine?
Just curious really...
I have no idea! I think so. I don't see why you would be able to port existing software and not use different software to use the same assets. You just can't distribute the assets, I thought. If the user has them already, they are pretty much free to do with them what they want for their own personal use.
Taxxodium
2003.04.06, 05:14 PM
I do think we can use another engine instead of the original "Build" engine. It's perfectly legal since we would only be distributing an app and not the entire thing.
I'm checking out the Crystal Space engine, it looks very good and already works on OS X, so we can use that. Then on top of that, we build the game code. Shouldn't be too hard I think.
It would be way harder if we had to port the engine though. The game code itself is just pure data files, something we can reuse and is not platform dependant.
Then again, I might be wrong..
Bossa Nova
2003.04.07, 12:23 PM
I really like the idea of remaking Duke3d. I think we could write a new engine and really give Duke3d an update.
However, we can't use the art. 3dRealms is real tough on that actually. There was a mod for Quake3 called DukeItOut in Quake which they were making Quake bsps with the Duke texture set. 3dR shut them down.
If we could get a few good artists tho we could make something very similar.
Leisure Suit Lurie
2003.04.09, 07:57 AM
Originally posted by Taxxodium
I checked the code today and I must say it's quite digusting. There's some x86 assembly code, but that's in the engine part.
We could use an existing GPL'ed engine that already works on the mac and just add the functions to read the files and the game code itself.
I thought there was an Open GL version of the Duke Nukem application that already worked on the Mac.
There was a glDuke project which never got past 0.1
xDexx
2003.04.10, 12:02 PM
here is a sourceforge project of glduke. http://sourceforge.net/projects/glduke3d/
i would be more than happy to help out once school is over (2 weeks :)) i dont know how much help i would be tho. by that time i will have finished my object oriented programming in c++ class. maybe i could write functions for people or something..... anyway if anyone thinks i can help let me know! brett@bsiweb.net
Leisure Suit Lurie
2003.04.10, 07:05 PM
Originally posted by Taxxodium
I do think we can use another engine instead of the original "Build" engine. It's perfectly legal since we would only be distributing an app and not the entire thing.
I'm checking out the Crystal Space engine, it looks very good and already works on OS X, so we can use that. Then on top of that, we build the game code. Shouldn't be too hard I think.
It would be way harder if we had to port the engine though. The game code itself is just pure data files, something we can reuse and is not platform dependant.
Then again, I might be wrong..
How does Crystal Space differ from SDL?
Steven
2003.04.10, 07:08 PM
Originally posted by Bossa Nova
I really like the idea of remaking Duke3d. I think we could write a new engine and really give Duke3d an update.
However, we can't use the art. 3dRealms is real tough on that actually. There was a mod for Quake3 called DukeItOut in Quake which they were making Quake bsps with the Duke texture set. 3dR shut them down.
If we could get a few good artists tho we could make something very similar.
What you do is have the thing distributed w/o the art, or with similar art, but then include tools to extract the art from original discs and use it. That way, there's no copyright violation as the user has bought the disk and can use it in a different program under fair use.
Steven
Frank C.
2003.04.10, 10:41 PM
How does Crystal Space differ from SDL?
Crystal space is a 3D engine - and not worth pursuing in the case of porting Duke - you'd have to "port" it to CS first, and the data formats aren't not compatible, so might as well do it from scratch IMHO...
SDL is a cross platform abstraction layer - instead of drawing to OpenGL, or to your own 2D blitter, you draw to SDL (same for sound, input, file loading, etc.) - it's much more suited for the Duke situation since an SDL port *should* run on any supported platform, but like I said earlier, SDL still kinda blows on the Mac (buggy, but getting better).
The x86 ASM is another issue all together, but there's hope if a C path is included (I haven't actually checked). I'm sure there will be loads of endian issues as well. Probably not a weekend port... even with a stable Linux SDL based port (which it ain't - yet).
WaaMatt
2003.04.25, 05:38 AM
If I had any drive or direction in my life, I'd be a decent programmer by now and I'd totally help.
But I'm actually more interested in making an OS X native version of Wolfenstein and then making an editor cooler than WolfEdit...
... And finding a way to make even bigger levels! OR at least allow more stuff. How can you enjoy the sounds of hundreds upon hundreds of dying Nazies when the editor only let you put in like less than 200 objects? Tsk tsk.
Isn't the Doom app open source? Makes me wish I had the rest of the Doom files.
I played Quake once. Couldn't you jump and stuff in Quake? First Doom added actual 3D elements. Then Doom 2 made 'em better... Then Quake let you move in more ways.
What's next? Heheh.
Frank C.
2003.04.25, 02:41 PM
Originally posted by WaaMatt
But I'm actually more interested in making an OS X native version of Wolfenstein and then making an editor cooler than WolfEdit...
The original Mac Wolf source is available from hotline.contrabandent.com (hotline server) if yer inclined to port it to X. I think the editor source is there too...
... And finding a way to make even bigger levels! OR at least allow more stuff. How can you enjoy the sounds of hundreds upon hundreds of dying Nazies when the editor only let you put in like less than 200 objects? Tsk tsk.
I'm pretty sure there are some PC based projects that have done this, shouldn't be much of a stretch to adapt the source for a Mac build.
Isn't the Doom app open source? Makes me wish I had the rest of the Doom files.
http://doomlegacy.idevgames.com/ - You can buy the original DooM(s) for pretty cheap nowadays (try Amazon.com)
I played Quake once.
Only once? Poor guy...
Couldn't you jump and stuff in Quake?
Still can...
Quake and Quake2 are opensourced BTW: http://www.fruitz-of-dojo.de/ and http://macglquake.sourceforge.net/ (not to mention Heretic and Hexen2)
What's next? Heheh.
Ducking (oh wait, that already happened...)
WaaMatt
2003.04.25, 04:58 PM
One of the things that FPSs will never manage to utilize to any fun level is stuff like taunting. In Myth and Myth II (fantastic games, if you've never ever played them before) you could Taunt and it really didn't do a whole lot but was great for multi-player. I guess the only use of it in an FPS would be for multi-player.
Imagine running around. You're out of ammo. Another player runs up, his guy makes a stupid face and then blasts you apart with some rediculous gun.
So, I guess I'm wrong - they could utilize taunts! Hmm...
Aren't the Quake sources like the Doom one, where you need the rest of the program's files?
Frank C.
2003.04.26, 02:02 AM
Originally posted by WaaMatt
Imagine running around. You're out of ammo. Another player runs up, his guy makes a stupid face and then blasts you apart with some rediculous gun.
QuakeWorld marked the dawn multiplayer taunts - well, text chat taunts at least - I can remember yelling obscenities across the office during weekly Marathon marathons back in the day...
Aren't the Quake sources like the Doom one, where you need the rest of the program's files?
Ya, you need the data files to play the entire game, but you can get demo versions for free. The Quake and Hexen2 demos can be downloaded at the sourceforge.net page, and Doom Legacy contains the original demo as well (links in my previous post).
WaaMatt
2003.04.26, 02:33 AM
Thanks for the info. It's all too big for me to tackle with my knowledge and experience, but... Thanks regardless.
Fenris
2003.04.26, 04:01 AM
WaaMatt, I must say I'm in love with that avatar of yours. :P Go Bellossom! (I think. :blush:)
WaaMatt
2003.04.26, 03:54 PM
Hmm... It is similar to Bellossom, but it's actually a Kappa (and is supplied by iDevGames as an avatar).
Kappas are Japanese creatures that live in rivers and eat kyuuri (cucumbers). I think parents would tell their kids that kappa would eat them if they weren't careful.
I picked it 'cause I couldn't resist its jig.
Back to the Duke 3D discussion, though... What language is it in? Maybe I should try helping out porting it - if anything it'd be a good immersion into teamwork and a steep learning curve situation for me. Yay!
Fenris
2003.04.27, 10:43 AM
w_reade wrote: First of all, re the digression in the Duke3d thread to do with WaaMatt's avatar, apparently a kappa... are they the ones whose brains fall out if they ever turn upside down?
Ah, yes. Appearantly, the only way to avoid them is to politely bow before them. Then, they are polite enough to return the bow, and plop goes the brain. :D
lpetrich
2003.05.25, 05:45 PM
SDL is the Simple DirectMedia Layer. It's some rather simple API's for setting up the screen, reading the keyboard and mouse, etc. One does OpenGL rendering in it by having it create an OpenGL context to render into.
Crystal Space is a whole real-time-3D game API, with lots of functions for creating the world geometry, inhabitants, and so forth.
However, one does not have to use CS's data formats with CS; one can compose a CS version of a Wolfenstein or Doom or Marathon or Duke3D level straight from the data files inside one's game engine if one so desires.
vBulletin® v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.