   A few questions about Doom
  I have a few questions about the classic doom games.First, I'm currently programming in 2d but have decided that soon I will start programming with OpenGl in C++. I was wondering if anybody would know how Doom was origionaly made. I'm planning on eventually making a Doom like game. What techniques / methods was used in making those games that I could use. From what I understand alot of the things they did to make the game is pretty outdated now though. Should I use any specific modeling program / etc. I'm basically wondering how Doom was origionally made, or any easier / simpler way to make a game like that. I understand that nobody could tell me step by step instructions to make the game lol, but I was wondering if anybody could give me some pointers or tips.All replies are extremely appreciated. Thanks.   
  DOOM had to use quite odd ways of managing geometry (and rendering) because of the constraints of the software rendering of the time. You couldn't look up/down, for example, and all monsters were 2D sprites.If you want to make a similar game today, you actually have real 3D hardware, so you don't need to go through the contortions they did -- you can build levels in a regular level builder, or in a 3d mesh program (like 3dsmax, blender, milkshape, etc).Basically, the only reason to go into the specifics of original DOOM geometry would be for code archaeology purposes -- you wouldn't actually learn something that you could use for writing games in the modern era.   ;  Doom used a rendering method called ray casting. You can find a lot online about that and the version of BSP trees used in Doom. The full source code is also available free of charge.   ;  Thanks for the replies.I mainly want to make a DOOM like game because it's one of my favotite classics. So basically to make it I should use a level editor, 3d modeler, and program the rest to make it a playable game. I knew that they had the source code avaliable for free, but I wish it could be compiled on Windows (its for linux instead). So are their any other tips to making it, like specific 3d modeling programs / APIs / engines / etc.I would like to start small and work my way up since I'm just starting 3d programming. So I don't need anything too complicated to get extremely good graphics etc., just something simple to learn from.   ;  Your basic "3d world" engine will do for a Doom clone. Doom was 2.5D, meaning it raycasted elevated and sunken portions of a single "room" which was divided into "sectors". Since a Doom .wad is basicaly one room, no sectors could overlap, obviously, hence the "2.5"D. With the power of OpenGL or DirectX, a better match in terms of engine architecture would probably be Quake, as it used actual 3d shapes called "brushes". In this day and age, recreating Doom's engine is useful if you're interested in raycasting, but the actual code is a hack - you'd do much better rendering a 3D world with a 3D graphics API, IMO.If you're still interested, google for "Unofficial Doom Specs", v.166 I believe. That was the bible in it's day, and gives enourmous amounts of insight into the Doom engine without a lick of code - algorithms yes, no code. It also explores hacking the binary .exe, as a bonus.Good luck.   ;  Thanks for all of the replies, they're really helpful.  I think I'll maybe create my own world and models and program the game. I'm thinking about creating my own basic 3d engine (just to experiment and learn from), but I'm not sure though. I'm reading some tutorials about it at spacesimulator.net. Thanks again.edit: If anybody knows any other tutorials than that about creating 3d engines or game engines you can post it if you want. Thanks.   ;  I made my own raycasting engine.Here is the url for a small game i made with it: freewebs.com/myyellowdart3It comes with source code and binary, so if you want to check it out.   ;  Here are some tutorials I found that show you how to raycasting using Wolf3d techniques, I don't think it would take a lot to bring it up to doom style 3d.Wolf3d raycasting;Quote:Original post by hplus0603Basically, the only reason to go into the specifics of original DOOM geometry would be for code archaeology purposes -- you wouldn't actually learn something that you could use for writing games in the modern era.While true of desktops and console, mobile phones and PDA's a far behind in terms of 3D horsepower and you'll still need to use techniques similar to that of the original DOOM series on those platforms.   ;  Thanks for the replies. Do you think that I should learn to make regular 3d games, or "2.5d" games like DOOM? I was thinking that 3d would be more beneficial because it is more modern. Oh yeah, for now I'm planning on making games generally for the windows pc.   