GPWiki.org
GPWiki.org
It is currently Tue Jun 18, 2013 8:00 am

All times are UTC




Post new topic Reply to topic  [ 6 posts ] 
Author Message
PostPosted: Sat Jul 18, 2009 8:21 pm 
Rookie

Joined: Sat Jul 18, 2009 8:15 pm
Posts: 3
Hello,

I have been going through tutorial, after tutorial on Game dev (mostly, Direct X, .Net) for some years now. The bulk of what i find in the tutorials are the basics. Hello worlds, make a sprite jump, and well thats it. Ive read a few books as well (namely ) , But my question is, where do you get more info? Where do you learn advanced topics? Most if not all good game dev information sites, will tell you "dont start with an FPS or MMO, start with a pong clone, or some other simple game". That is great advice, but if you have been coding thoose for years, and you are ready to go further, where can I get good information on this? Im ready to build the next FPS, where do i go now?

Any good suggestions? Thanks!

~Rex


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 18, 2009 9:07 pm 
Corpse Bride
User avatar

Joined: Tue Jul 01, 2008 11:44 pm
Posts: 2217
Location: England
I think a lot of the details should be intuitive extensions of what you already know, once you break your project down into manageable chunks.

Which parts of the FPS do you feel unconfident about?

Features of direct3d? Lights and shadows? The ability to move characters around in three dimensions? The ability to walk across a polygon without falling through it? The ability to generate projectiles? Collision detection between projectiles and characters and stuff consequential of that?

_________________
I ain't pushing no moon buttons.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 18, 2009 9:19 pm 
Rookie

Joined: Sat Jul 18, 2009 8:15 pm
Posts: 3
Thanks for the reply,

Quote:
Features of direct3d? Lights and shadows? The ability to move characters around in three dimensions? The ability to walk across a polygon without falling through it? The ability to generate projectiles? Collision detection between projectiles and characters and stuff consequential of that?


Abractly, the concepts I understand, and information is easy to find on them. However, in our FPS example, when these need to be managed all toghter, (scene management?) or, if these need to persisted (scene persistance as a whole?)

I think your last post just about nails my skill level. Concepts such as the ones you listed, I understand. But now orchestrating them into a manageble chunk, or a base guideline for what these chunks are. And then encapsulating them with Game design objects (unit, weapons ,players)

Did all of that make since?


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 18, 2009 9:46 pm 
Corpse Bride
User avatar

Joined: Tue Jul 01, 2008 11:44 pm
Posts: 2217
Location: England
it partly made sense. :)

When I write programs I tend spend a good bit of time thinking about how everything will fit together -- what data structures I need to create to represent everything. And whether those data structures are going to be compatible and fit nicely together. I don't worry too much about specific details.

eg, I might have one data structure for all active projectiles. I might have another as a set of predefined templates for creating projectiles from. The same with characters.

I might have one data structure for all the different weapons, which in one field I might refer to the projectile template to use with that weapon.

Build the data structures up abstractly. Until you have enough to manage all the game data you're going to use.

Then I start with functions. I would write functions that create and destroy projectiles and characters, adding/removing stuff from the active lists.

While doing this, direct3d can be setup. It's independent from the above initially. You get it drawing your 3d world. Make it able to have mobile lights. Create functions for moving the camera.


Start linking the two together.

Open the game loop {

Move the camera to the coordinates of the first person character.

Check the floor below that coordinate to see if your falling or not. Update the height of the character.

If the fire button is pressed, and the active weapon (property of the unit) is cooled down (property of the weapon), then create a projectile at the position of the unit moving wherever. Create a light at the point of the projectile.

Move the projectiles. Move the lights with the projectiles.

Detect collisions. Destroy projectiles and update stats accordingly. Destroy characters accordingly.

}

_________________
I ain't pushing no moon buttons.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 18, 2009 10:10 pm 
Rookie

Joined: Sat Jul 18, 2009 8:15 pm
Posts: 3
Thanks again for your reply.

My question(s) are about specific details of what you just said, as it relates to encapsulation, data structures, managing these data structures, and the relationship of game objects, directx objects, and primitives, constrained to the above. Specficially, my question is there any good source for this information? other then the fact that it seems, i will either have a to have a good number of chats with someone, so discover on my own?



I gather that is far to large of scope for a forum discussion.

~rex


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jul 19, 2009 5:27 am 
Harmlessness does no harm
User avatar

Joined: Tue Sep 14, 2004 8:37 pm
Posts: 3852
Location: Ferriday, LA, US
Hey Rex, welcome to GPWiki. :)

The point where it comes to "putting it all together" on a larger project is a bit hazy. It's a lot more difficult to write decent material on this aspect, since a lot of developers don't really make it that far. They either keep it simple, or just get bogged down in the details so much that it actually keeps them from completing anything major.

So, a lot of it comes down to doing your own footwork and some trial-and-error. There are, however, a book or two on actual software engineering that are directed at the game developer (see "Software Engineering for Game Developers" by John P Flynt and Omar Salem for example). These books will show you how to take the small things you learned in the tutorials and put them together into a complete game project.

Also, it seems a lot of the construction aspect is more or less specific to your project. Depending on the scope, the features, and other factors, you will have to cut things out or add them in. This is another detail that makes it really hard to put this sort of thing into a tutorial. The book I mentioned before is very, very thick, and is a good indicator of how deep this topic can really go. So, yeah - it's going to take more than a forum topic or two. Still, if you need advice on a certain part of your design, you are more than welcome to ask. :)

_________________
What most people don't understand about "enlightenment" is that it is not an end-goal; but where you find yourself just before taking a new "first step."


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group