First-Person Shooter [Code::Blocks with MinGW]

Started by
7 comments, last by lmsmi1 11 years, 3 months ago

Well, hi there :). I was directed here by another person on a website, and am confident that GD's community will help me tremendously.

I am currently starting a very big project called "R3C0N". It is an FPS gme plan that's game engine will be coded in C++. I know a moderate level of C++, including the usual i/o with consoles, and little Win32 API, however I have absolutely no knowledge of libs such as GDK+, OpenGL, DirectX, etc. When I came up with the idea of an FPS game coded in C++, I planned it out very roughly, then smoothed it out as I researched what was possible with C++. Here is the beta plan:

Game Engine - Reads the files neccessary to play the game, displays graphics, etc.

Game Folders - Contain the neccessary files (.wepn, .wav, .obj, .texture, etc.)

I have a complete plan if you would like me to post it, but since this is my first post here, I thought I would just ask the bare minimum, as I don't know what the community is like.

My main question is: what library is good for FPS games in C++? I'm using MinGW with Code::Blocks, so anything that's compatible with MinGW works for me. I am planning on having the player to be able to scope zoom, sight zoom, you know things like Call of Duty Modern Warfare 3 players can do.

Thanks in advance for any help at all. I look forward to meeting the community.

~lmsmi1

Advertisement

I would advise to just forget about the game for now.

If you don't know C++ well (and i mean the advanced features, like pointer, classes, inheritance, virtual functions, etc), and you haven't ever used a graphics API (OpenGL, DIrect3D), then before even dreaming of making any game (let alone your FPS big project), you have got to study these very good.

First you should go to a site like http://www.cplusplus.com/doc/tutorial/, and learn the C++ aspects covered here (and perhaps search for some more tutorials).

Then, if you plan on making a game, you should forget about the console projects. You will need to learn some basic (at the very least) WinAPI (if you're using Windows).

Then you could go to http://nehe.gamedev.net/, and check the OpenGL tutorials (if you're interestedin OpenGL, else you can google for Direct3D tutorials).

Also, it helps to have some math skills/understanding.

After this be ready to spend a LONG time understanding all of this, and fiddling with the tutorials (putting things on the screen, moving them around, create a camera, etc).

And this is just the graphics part of the game. I don't even mention loading the assets, sound playback, user interface, keyboard/mouse/joypad input, font handling, etc.

Of course there are also libraries/engines that do some (if not all) of this things for you (SDL, Allegro, OGRE3D, irlicht, etc), but for even use them, you have to have some knowledge of this things.

As you can see, you have a lifetime of things to learn before attempting a serious project.

Although i say this, i don't mean to discourage you, but it's much better to start with something very small (and not necessarily a game), and work your way up acquiring skills (and developing the ones you have even more) along the way.

Id suggest dropping using c++ and check out unity or udk. You're going to fail if u try to write a modern fps engine from opengl, plain and simple. Plenty of people who truly know what they are doing with C++/OpenGL/DirectX have already written engines; you should use one of them that's already done.

My Gamedev Journal: 2D Game Making, the Easy Way

---(Old Blog, still has good info): 2dGameMaking
-----
"No one ever posts on that message board; it's too crowded." - Yoga Berra (sorta)

If you don't know OGL or DX, please don't go to that route. You will eventually get frustated. Even when you are a very good C++ and OGL/DX programmer, you need to know about scene graph management, bsp trees, 3d model importing, shading and many many more things to make an FPS. Like the others said, don't go this way.

Note: But if you want to look at the amount of knowledge needed to make an FPS. Just go to ID Software's website and download any of their Doom or Quake source code. You will know why we didn't recommended it.

To follow the path:

look to the master,

follow the master,

walk with the master,

see through the master,

become the master.

http://kazisami.wordpress.com/

I know this isn't exactly a programming related reply, but have you considered trying to mod it into a pre-existing game (ie Unreal, Source Engine)? I've not tinkered a lot with Unreal but I'm certain there's still opportunity to tinker around with VALVes code for Source Engine and you could probably apply your skills to learning about how the engine works (ie learn about implementing shaders etc)

Although I do agree with the above posts, I believe that if you want to make a game (your own engine etc), it requires a tonne of knowledge about hundreds of different aspects, such as OpenGL etc. I'd say give modding a go or if you're confident you're past that stage, try getting a base engine with nothing on top and work your game into that. I do believe the Doom 3 BFG Edition source code is up for grabs to play with, could be very interesting to look at what actually goes into making a modern game engine.

Well, thanks for your replies. I already have OBJs for weapons and such, plus sounds, and definition files for the game. I've got GLUT set up, but I guess I have no luck according to you all :(. I'll plan more and watch mor TUTs, and I'll come up with a way to organize it all.

Thanks guys :).

Uhm, I've come upon a little problem. I've switched to a main weapon XML data file, and am trying to define reload, firing, and switch animations. I don't know how to organize this in an XML file for the FPS game. Can anyone help me with this problem?

Uhm, I've come upon a little problem. I've switched to a main weapon XML data file, and am trying to define reload, firing, and switch animations. I don't know how to organize this in an XML file for the FPS game. Can anyone help me with this problem?

Where are your animations saved? Are you still using OBJ's for weapons? If I'm not mistaken, the OBJ format doesn't support animation.

Ah gfxgangsta! That's why! Okay, my weapons definition file has an XML structure. Is that the best for importing strings & values into the game, or should I use JSON or something else?

This topic is closed to new replies.

Advertisement