iDevGames Forums
First Person Shooter - Printable Version

+- iDevGames Forums (
+-- Forum: Development Zone (/forum-3.html)
+--- Forum: Game Programming Fundamentals (/forum-7.html)
+--- Thread: First Person Shooter (/thread-6116.html)

First Person Shooter - Nick - Nov 10, 2004 11:22 AM

I've serched around a bit but I don't think anyone here has made (well, at least posted) a first person shooter. I'm curious to know because I'm working on one and would like to see some of the code used. If anyone has made one or has code to one (in C++ please) let me know.

First Person Shooter - geezusfreeek - Nov 10, 2004 11:59 AM

There is at least one uDevGame that is a first person shooter this year. Another one would be Black Shades (I forgot what year that was... 2002?). I know there are more, but I can't think of them.

First Person Shooter - Nick - Nov 10, 2004 12:40 PM

Cool. I'll look for those. Anybody else know of any?

First Person Shooter - TomorrowPlusX - Nov 10, 2004 01:03 PM

What is it specifically about an FPS that concerns you? Off the top of my head the only difference between an FPS and a top-down isometric is the way the camera is managed. And for that, there are probably as many answers as there are people willing to ask.

For my game, ( it isn't really an FPS; rather a chase-camera 3rd person driving/shooting game ) the camera mechanics would work just as well for FPS.

My approach is to have a look-at point in 3d space and a camera-location. Both are in coordinates relative to the game body being tracked, in my case the position of the car chassis. Those points are projected into world space and the camera is moved to the camera-location point and oriented to look at the look-at point. With some averaging code, I get smooth movement and with collision detection on the rays from the chassis to those points the camera always can see the vehicle and in general everything is peachy.

First Person Shooter - Nick - Nov 10, 2004 02:06 PM

Specifically the use and positioning of models for the gun being held. I'm still looking for tutorials and such which might help. I'm also trying to figure out terrain handling (collisions with the ground) as well as clipping. Right now my camera just moves around on a plane but does not go up and down with the ground. I also need to find a more efficient way of making the "world" than using OpenGL primitives but without access to a lab that has 3ds Max or Maya I really am without assets. There are free programs but considering that next summer I'm moving to Chicago to go to school to make video games that use 3dsm and Maya for modeling, I don't know if I want to spend the time learning how to use other formats.

I guess a lot of this is just general programming issues but I also was curious to see the code for something similar to what I'm working on. Just to see how they set up health, collisions, game logic, etc in a FPS rather than, say, a sidescroller. Logically they could be set up the same, but curiousity I guess.

First Person Shooter - lightbringer - Nov 10, 2004 02:31 PM

The game I'm spending all my free time developing is a FPS. Currently it's under the codename LVTwo. (the second game developed under my LV engine)

First Person Shooter - Blacktiger - Nov 10, 2004 03:45 PM

You might want to check out the Aleph One project. Also, as far as assets go perhaps the free (learning) version of maya might be of use?

First Person Shooter - Nick - Nov 10, 2004 08:09 PM

The learning version of Maya puts watermarks all over things and saves in a different format than the retail version. Otherwise I would've. I'll look into the Aleph One project.

First Person Shooter - tigakub - Mar 19, 2005 07:42 AM

Do a search on lib3ds -- it's an open source library that will allow you to import 3ds files. 3ds files are an older format that is supported by a lot of modelling packages including maya and max.

Also take a look at gmax from discreet. Windoze only tho.

First Person Shooter - BinarySpike - Mar 19, 2005 11:50 AM

geezusfreeek Wrote:Black Shades

created by David.
(udg 2002 winner)

First Person Shooter - sealfin - Mar 19, 2005 12:09 PM

David of Wolfire has also apparently been working on a Lugaru-powered first-person shooter, Soul of Steel (scroll down for a link to a playable); I'm not sure on the status of the project though, although obviously the source isn't available...

First Person Shooter - phydeaux - Mar 19, 2005 01:25 PM


Older FPSs are open source, like Quake II. There are a lot of FPS projects out there.

First Person Shooter - sealfin - Mar 19, 2005 01:37 PM

I forgot to mention, but Quake series have all been open-sourced (well, except the release of Quake 3's source, which has been delayed so as not to irritate a recent licensee); here's fRuitz oF doJo's port.

[There's also the source to a lot of older projects out there (Doom, Rise of the Triad, Marathon, etc. – sorry, too tired to be bothered providing links) but you haven't mentioned what kind of technology/techniques you're looking for.]

Heh, hadn't seen phydeaux' post before Rolleyes

First Person Shooter - maaaaark - Mar 19, 2005 01:39 PM

I've learned a lot from Fruitz of dojo's port of quake 1. Nice, different, Objective-C coding style. If you don't like ObjC, you can check out (maybe it was 's carbon source code of Quake 1. I haven't browsed through much of that.

First Person Shooter - Frank C. - Mar 19, 2005 04:26 PM

maaaaark Wrote:I've learned a lot from Fruitz of dojo's port of quake 1. Nice, different, Objective-C coding style. If you don't like ObjC, you can check out (maybe it was 's carbon source code of Quake 1. I haven't browsed through much of that.
That moved to sourceforge long ago: <>. The original port was OS 9 only and later abandoned, but a few of us went on to carbonize and use it as a base for GLHexen II.

The code's a bit of a mess though - keep in mind that at the time my main machine was running OS9 with a hacked PC Voodoo3 card (so I had to support that), and I was testing occasionally in OS X 10.1, where fullscreen support was a crap shoot. Hence, major hackolas. FoD's obj-c port is much cleaner...