Jump to content


Breakdown of a Game Design


25 replies to this topic

#1 Zerox01

    New Member

  • Members
  • PipPip
  • 11 posts

Posted 01 September 2008 - 10:15 PM

Hey all

this thread is stricly theretical information and i have various questions that need to be answered and im hoping to compile it at the end into a usefull resorce.

If in theory i would like to create a game i know i would need the following parts but shoot me where im misssing parts.

Elements of a Game Production

Design Document & Artwork
1 # Website
- Pages - Home , About , Downloads , Guide , Account , Artwork , Community Customer Care , Payment help , FAQ.

2# Copright for product ,website and insignia charicters ect
3#Games engine
4# Models, Levels, AI ,ect
5# some form of security / Anti hack system
6# Server

Questions
My main questions are how to break this down further ?
What parts of creating a game am i missing ?

Games Engine- I'm belive i would need to create a C++ based engine, The theroy would be based on planing on making any 3D game. I'm also aware that many developers will write there own engines, but I’m not nearly advanced enough yet programming wise to know where to even begin with something like that. (though I do plan to understand programming better eventually). What are the limitations for a releasing or distributing process.including Copyright ?

What kind of server power would you require for 2000 users ?

i only understand the model and level design in an SDK format such as Steam ( halflife , Team Fortress) and creating models in software such as Autodesk 3D max. Im currently learning crating websites.

I know this sounds rather impossable due to financial inplications aswell as code but please bear with me and lend me your time to create a layout a view of what it would take, Thank you for your time i look forward to your critism on the subject.


Thankyou
Neil

#2 starstutter

    Senior Member

  • Members
  • PipPipPipPip
  • 1039 posts

Posted 02 September 2008 - 02:14 AM

Zerox01 said:

I know this sounds rather impossable due to financial inplications aswell as code but please bear with me
actually this really isn't all that bad as far as ambitions go. It's perfectly possible if your will power to do it is strong enough (and you have fun making games, even through the tough parts).


Zerox01 said:

1 # Website
2# Copright for product ,website and insignia charicters ect
3#Games engine
4# Models, Levels, AI ,ect
5# some form of security / Anti hack system
6# Server
Ok so let me reformat this list into my experience of the mistakes "aspiring designers" make.

theory:
1# Website - will make your game known long before its release and it will build anticipation
2# Copright for product - will protect your ideas
3# Games engine - the game engine will do the majority of the work leaving you to deal with only your game

reality:
1# Website - will make many unmet deadlines, build anticipation that will get forums flowing as "future players" start talking about undoable ideas and demanding expectations you cannot possibly meet. Under the pressure most people (I'd guess %97) simply collapse and give up.
2# Copright for product - you don't need one. Frankly no one is interested in an idea alone because (1) ideas are a dime a dozen and (2) no one will be able to exactly concieve and put together your unique idea and end up making something that either sucks or is unrelated totally. Don't waste your money.
3# Games engine - http://www.devmaster...ead.php?t=12862

So let me try to put the list how I generally see is successful:
1 # begin programming framework
2# get all solid game ideas down on paper (but keep in mind most of them will change in some way, either in small ways or "page one rewrite" ways)
3#Games engine
4#Games engine
5#Games engine
6#Games engine <- takes a LONG time to program, even if you're using a pre-made engine
7# tools for development which will allow for....
8# Models, Levels, AI ,ect
9# polish <- will probably take more time than the actual game itself, get tweek-happy
10# polish
11#?????????
12# PROFIT!


So why did I take the online stuff out? Because that's something you should consider after you write the engine and can see if your up to the challenge or not. I know this whole post sounds a bit pesimistic, but it's much better to overestimate than underestimate, and I'm not sure its possible to overestimate the difficulty of completing a polished game.
(\__/)
(='.'=)
This is Bunny. Copy and paste bunny into
(")_(") your signature to help him gain world domination.
bunny also wants to fight spam: Click Here Bots!

#3 Zerox01

    New Member

  • Members
  • PipPip
  • 11 posts

Posted 02 September 2008 - 10:31 AM

Thank you for your reply , The top post will be modified with the information gained. dont worry about being pesimistic i realise some people will see this as an impossable feet others will just see the work required. this layout should also help determine the estimation of time, work and cost involved in creating a 3D game and the Engine and architecture from scratch.

As it is clear that the programming if a massive part of this i would like to devide it into sections. After more reasearch i have managed to break down the information you have given to find a much better search result and vast information. I will Split Games enignes into Engine and content to make this easyer to understand ( later ill ad a small description in detail )

I have also decided the type of route for the Games engine to follow using Roll-your-own game engines (Bespoke). Despite the cost, and many mainstream companies causing massive competition. This means the use of publicly available application interfaces, such as APIs like XNA, DirectX, OpenGL, the Windows and Linux APIs and SDL, to create an engines.

Programming Framework


Paper based ideas ( design document for programming ?)

Games Engine
- Artificial Intelligence
- Loading
- Displaying
- Animating models
- Collision detection between objects
- Culling
- Physic's input
- Graphical user interfaces
- Networking
- 3D Sound
- Multi-Platform Development
- Multi-Thread Processor Development

Game Content
- Specific models and textures
- Meaning behind object collisions and input
- Objects interact with the world

API ( Application Programming Interface )

Sdk Tools (Software Development Kit)

Polish

Further Questions:

Could someone expand on Programming Framework ?
Im still compiling the breakdown of theese various parts before ill repeat the processs, anyone help with this ?

#4 onyxthedog

    Senior Member

  • Members
  • PipPipPipPip
  • 467 posts

Posted 03 September 2008 - 04:39 PM

Basically the programming framework is the engine, it is like a set of semi-generic functions and classes that you use to make a game.
/* Perfect_day.c */
#include <arcade>
#include <computer>
#include <drinks>
#include <hardware/high_end>
#include <snacks>
#pragma <responisiblities>
...........

#5 starstutter

    Senior Member

  • Members
  • PipPipPipPip
  • 1039 posts

Posted 03 September 2008 - 08:21 PM

Zerox01 said:

dont worry about being pesimistic i realise some people will see this as an impossable feet others will just see the work required.
This is by no means impossible :) it will be very difficult but given enough time it's perfectly doable. Now when you have kids coming on here saying "PLZ hlp mi make my kikass MMOFPSRPG", that is impossible. You're probably used to seeing the flame for mmo's and didn't know that it's typically just for those types. If anyone tries to tell you you can't do this though, they've obviously never tried it.

Quote

Programming Framework
Paper based ideas ( design document for programming ?)
Games Engine
- Artificial Intelligence
- Loading
- Displaying
- Animating models
- Collision detection between objects
- Culling
- Physic's input
- Graphical user interfaces
- Networking
- 3D Sound
- Multi-Platform Development
- Multi-Thread Processor Development
Game Content
- Specific models and textures
- Meaning behind object collisions and input
- Objects interact with the world
API ( Application Programming Interface )
Sdk Tools (Software Development Kit)
Polish
Further Questions:
Now you're getting somewhere :)

But I am wondering about you mentioning "API and SDK". Are you talking about maknig these or just using them? Making an API is inpractical (why on earth would you? There's so many excellent ones for free) and the purpose of an SDK is typically to let people outside of your group write or use the engine. You really don't need one of these if it's an in-house engine. Not only that but these tools would typically come before content creation and after the engine.

The design document for programming is generally a good idea, but I found it to be more of a hassle than a help. You can write a technical target page (name I made up) which spells out the goals of what you want in the engine. I've found things like this help keep your focus in check, but writing out the archetecture before you build is generally not too helpful.

It can be good if you're working in a group of programmers as to better communicate with eachother but what you'll find out is that the structure and pipeline of the engine will be constantly changing. You just keep finding better and better ways to do things and the document will get to be a mess real fast (a time consuming mess too).

Quote

Could someone expand on Programming Framework ?
Framework is a pretty broad definition that can mean a lot of things. What I generally mean when I say it is just everything that the engine needs to run properly. The framework generally isn't very large (often including just dx initialization, keyboard/mouse input, sound support, ect) but building these features is very trivial after you do them the first time.

Quote

Im still compiling the breakdown of theese various parts before ill repeat the processs, anyone help with this ?
From your list above I can tell you have a fairly good understanding of 3D engines. I actually specialize in rendering so I can definitley help break that down into the real technical catagories. But to do that you need to first decide what your technical goals are, that is, what systems are you targeting:
- how portable will this be (what OS's and versions of them?)
- what shader model is required? (none(fixed function)? SM 1.1? SM2? SM3?)
- how advanced do you want the graphics (name a year like 1999 - hl1, 2004 - doom 3)
- are there any efficiency concerns with using different methods in combination? (like heavy AI + shadow volumes, ask if you don't quite get what I mean)
(\__/)
(='.'=)
This is Bunny. Copy and paste bunny into
(")_(") your signature to help him gain world domination.
bunny also wants to fight spam: Click Here Bots!

#6 Kenneth Gorking

    Senior Member

  • Members
  • PipPipPipPip
  • 907 posts

Posted 04 September 2008 - 03:25 PM

starstutter said:

If anyone tries to tell you you can't do this though, they've obviously never tried it.
There is always the off chance that they actually have tried it, learned from it, and are now sharing their experiences. Just because they disagree with you, it doesn't mean they are wrong.

Zerox01 said:

Games Engine
- Artificial Intelligence
- Loading
- Displaying
- Animating models
- Collision detection between objects
- Culling
- Physic's input
- Graphical user interfaces
- Networking
- 3D Sound
- Multi-Platform Development
- Multi-Thread Processor Development
That is not an engine, it is a list of features. The engine is what glues it together, like how Physic's input affects 3D sound, model animations and networking. That is what you need a design document for, to document the structure. Speaking of which:

starstutter said:

The design document for programming is generally a good idea, but I found it to be more of a hassle than a help. You can write a technical target page (name I made up) which spells out the goals of what you want in the engine. I've found things like this help keep your focus in check, but writing out the archetecture before you build is generally not too helpful.
I would advise you to ignore this ill-advised statement, and read this, this and this.

starstutter said:

It can be good if you're working in a group of programmers as to better communicate with eachother but what you'll find out is that the structure and pipeline of the engine will be constantly changing. You just keep finding better and better ways to do things and the document will get to be a mess real fast (a time consuming mess too).
It is probably constantly changing, because someone didn't think it would be worth the effort to try and map it out before they started coding. Later in the process, they realize that just sitting down in front of the computer and hammering out code, does not always make a great engine... :glare:
"Stupid bug! You go squish now!!" - Homer Simpson

#7 Reedbeta

    DevMaster Staff

  • Administrators
  • 4782 posts
  • LocationBellevue, WA

Posted 04 September 2008 - 04:45 PM

Sitting down and hammering out code may not make a great engine, but it does teach you a lot about engine architecture and software development. If you don't have the experience needed to sit down and architect a decent engine before starting to code, then building an engine or two by the seat of your pants and refactoring as you think of better ways to do things is a great way to get some of that experience.
reedbeta.com - developer blog, OpenGL demos, and other projects

#8 Zerox01

    New Member

  • Members
  • PipPip
  • 11 posts

Posted 05 September 2008 - 07:46 PM

From your list above I can tell you have a fairly good understanding of 3D engines. I actually specialize in rendering so I can definitley help break that down into the real technical catagories. But to do that you need to first decide what your technical goals are, that is, what systems are you targeting:
- how portable will this be (what OS's and versions of them?)
- what shader model is required? (none(fixed function)? SM 1.1? SM2? SM3?)
- how advanced do you want the graphics (name a year like 1999 - hl1, 2004 - doom 3)
- are there any efficiency concerns with using different methods in combination? (like heavy AI + shadow volumes, ask if you don't quite get what I mean)

Im looking for Pure windows to start with and then once the game worked id consider differand os and console systems.

When you talk about shader models i dont understand what you mean from sm1.1 but i belive i would gave to use a Unified shader model that unifies the three maing shaders (Vertex,Geometry,Pixel) shaders in OpenGL and Direct3D 10. Would this stil work with Direct3D 9?

are there any efficiency concerns with using different methods in combination? (like heavy AI + shadow volumes, ask if you don't quite get what I mean) im afraid i do not understand.


how advanced do you want the graphics (name a year like 1999 - hl1, 2004 - doom 3 ?

well to be honest id Aim for something like doom 3 ( i know this will make the process longer and harder especialy starting it on my own.)

To be honest my understanding is verry limited but i have understaken a cource in all the principles of software development / computer science.I have a nack for picking things up tho.

Kenneth :
That is not an engine, it is a list of features. The engine is what glues it together

I do understand what you are saying and i could probbably use your advice giving a name for this issue.

Overall i want to make an A-z of required parts for the total design of the game i have in mind , then i can think about how to impliment the design documents and start developing the parts neccesary posibaly with some help and financhal support. this will be a long process!



What Api are avalable , what would they cost ?
I have To create Programming /Design Documents what other documents could help in the long run ? im still learning as i go ? perhaps Website documentation ?

#9 starstutter

    Senior Member

  • Members
  • PipPipPipPip
  • 1039 posts

Posted 05 September 2008 - 07:58 PM

Kenneth Gorking said:

It is probably constantly changing, because someone didn't think it would be worth the effort to try and map it out before they started coding. Later in the process, they realize that just sitting down in front of the computer and hammering out code, does not always make a great engine... :glare:

There's a small flaw in your theory there. It hasn't been that long ago that I began work in 3D and I remember pretty clearly what it was like to try and learn all these things at once.

To the OP, if you are new to complex coding like this, I don't think it's even possible to forsee where things can go wrong because problems will arise that you didn't even know existed. It takes a long while for your mind to get used to the spider-web logic of graphics programming.

You can map it out first if you want to, but unless you're psycic or have a time machine, I guarentee you that you won't see about 3/4th's of the problems coming, and will probably have to start over again. I know, I've tried the whole "document as I go thing" about 3 times and it gained me about -%20 of productive work every time.

If you are working with a team of other experienced people of can have someone who's familiar with the technology look over it, that's fine, but I seriously doubt that's your situation.

EDIT: However, after you build one or 2 engines that actually is a good idea. But my answer was specificly about your situation.
(\__/)
(='.'=)
This is Bunny. Copy and paste bunny into
(")_(") your signature to help him gain world domination.
bunny also wants to fight spam: Click Here Bots!

#10 starstutter

    Senior Member

  • Members
  • PipPipPipPip
  • 1039 posts

Posted 05 September 2008 - 08:11 PM

Zerox01 said:

Im looking for Pure windows to start with and then once the game worked id consider differand os and console systems.
Then your best first console bet would probably be xBox. And if it's windows I'd recommend DirectX 9 (belive me, you don't want to make it 10 just yet)

Quote

When you talk about shader models i dont understand what you mean from sm1.1 but i belive i would gave to use a Unified shader model that unifies the three maing shaders (Vertex,Geometry,Pixel) shaders in OpenGL and Direct3D 10. Would this stil work with Direct3D 9?
I'm not quite sure what you're saying but I don't think that's possible. Those 3 shaders work together in the same pipeline, but they are all different segments (and you don't have any control over that). And unfortunatley there are no geometry shaders in DX9.

Quote

are there any efficiency concerns with using different methods in combination? (like heavy AI + shadow volumes, ask if you don't quite get what I mean) im afraid i do not understand.
Some graphics techniques are very hard on the CPU. Shadow volumes (like in doom 3) have to be created entirley on the cpu, and then drawn in the GPU. While these volumes are very cheap on your graphics card, they can be hell on your cpu and not scale well with scene complexity. So what I was saying is, if you use shadow volumes, then you will have less processing power left over for AI, animation, physics ect.

The alternative is shadow maps, which are heavier on the GPU, but are almost detatched from the CPU in terms of speed and scene complexity.

Quote

What Api are avalable , what would they cost ?
I'm not aware of any API's (like DX and GL) that aren't free :)
(\__/)
(='.'=)
This is Bunny. Copy and paste bunny into
(")_(") your signature to help him gain world domination.
bunny also wants to fight spam: Click Here Bots!

#11 Zerox01

    New Member

  • Members
  • PipPip
  • 11 posts

Posted 05 September 2008 - 10:02 PM

starstutter said:

Then your best first console bet would probably be xBox. And if it's windows I'd recommend DirectX 9 (belive me, you don't want to make it 10 just yet)


I'm not quite sure what you're saying but I don't think that's possible. Those 3 shaders work together in the same pipeline, but they are all different segments (and you don't have any control over that). And unfortunatley there are no geometry shaders in DX9.


Some graphics techniques are very hard on the CPU. Shadow volumes (like in doom 3) have to be created entirley on the cpu, and then drawn in the GPU. While these volumes are very cheap on your graphics card, they can be hell on your cpu and not scale well with scene complexity. So what I was saying is, if you use shadow volumes, then you will have less processing power left over for AI, animation, physics ect.

The alternative is shadow maps, which are heavier on the GPU, but are almost detatched from the CPU in terms of speed and scene complexity.


I'm not aware of any API's (like DX and GL) that aren't free :)

in witch case i would look to use shadow maps as the game will have a lot of Ai involved, for the api does it have to be a secific api as i could of imagined it but i think ive seen DX and GL together ? also i will use DX9 not to prevent the masses from using it.

are there any areas im missing ?

#12 Zerox01

    New Member

  • Members
  • PipPip
  • 11 posts

Posted 05 September 2008 - 10:41 PM

Okay so to present the list as follows so far

Website
Pages - Home , About , Downloads , Guide , Account , Artwork , Community Customer Care , Payment help , FAQ.
Copright for product ,website and insignia charicters ect

Programming Framework


Paper based ideas
Storyboad
Design Document for Programming
Design Document for Design (Game Concept Ect)

Games Engine
- Artificial Intelligence
- Loading
- Displaying
- Animating models
- Collision detection between objects
- Culling
- Physic's input
- Graphical user interfaces
- Interactive graphics (this is ultra-advanced stuff)
- Antialiasing
- Object tracking and lifetime
- Networking
- 3D Sound
- Multi-Platform Development
- Multi-Thread Processor Development
- Patch's & How to manage

Game Content

- Game Levels
- Specific models and textures
- Meaning behind object collisions and input
- Objects interact with the world

API ( Application Programming Interface ) DX / GL ?

Sdk Tools (Software Development Kit)

Polish

Anyone Help ad Detail and Specifics to this ?

#13 starstutter

    Senior Member

  • Members
  • PipPipPipPip
  • 1039 posts

Posted 06 September 2008 - 01:30 AM

Zerox01 said:

API ( Application Programming Interface ) DX / GL ?
lol, I still don't think you're really getting what an API is. That should be like the VERY first thing on your list, as no graphics features can be programed without initializing it.

EDIT: also, I am very seriously advising you not to set up a website untill the game is at least 4/5th's complete (which may be hard to judge). I would redirect you to GameDev's "Help Wanted" forums where thousands upon thousands of half-baked websites are stacked on top of eachother. They all contain vauge concept art, unattainable promises and people on their "foums" bitching at them to hurry up and finish the game.
(\__/)
(='.'=)
This is Bunny. Copy and paste bunny into
(")_(") your signature to help him gain world domination.
bunny also wants to fight spam: Click Here Bots!

#14 Kenneth Gorking

    Senior Member

  • Members
  • PipPipPipPip
  • 907 posts

Posted 06 September 2008 - 02:34 PM

Reedbeta said:

Sitting down and hammering out code may not make a great engine, but it does teach you a lot about engine architecture and software development. If you don't have the experience needed to sit down and architect a decent engine before starting to code, then building an engine or two by the seat of your pants and refactoring as you think of better ways to do things is a great way to get some of that experience.
It's a pessimistic view, I agree, but it sounds like he wants to get this thing done, and might not have the time to create a few engines before starting on the actual game. This does not mean that I'm against said process, I have done the very same thing a couple of times :)

Zerox01 said:

Im looking for Pure windows to start with and then once the game worked id consider differand os and console systems.
If you want to get the game working on linux or the PS3 (which I think is OpenGL only), then you should go with OpenGL from the beginning. It has the added benefit of giving you access to the geometry shaders under all operating systems. :yes:

starstutter said:

also, I am very seriously advising you not to set up a website untill the game is at least 4/5th's complete (which may be hard to judge). I would redirect you to GameDev's "Help Wanted" forums where thousands upon thousands of half-baked websites are stacked on top of eachother. They all contain vauge concept art, unattainable promises and people on their "foums" bitching at them to hurry up and finish the game.
I agree completely with this. I have also seen these notorious websites, and even met a guy behind one of these websites. He was a nice guy, and spoke with great passion about his project and how great it was, and by the sound of it, it was a pretty decent idea, but nothing ever happened with the project.
"Stupid bug! You go squish now!!" - Homer Simpson

#15 Zerox01

    New Member

  • Members
  • PipPip
  • 11 posts

Posted 06 September 2008 - 03:43 PM

Im sorry the way i wrote them look as if they are in priority order , i will do this at a later date ,

For now could some one tell me what the api is all about.

So with open gl windows users will not be able to join ?

Is there anything ive missed before i start to break these down ?

#16 starstutter

    Senior Member

  • Members
  • PipPipPipPip
  • 1039 posts

Posted 06 September 2008 - 04:32 PM

Zerox01 said:

Im sorry the way i wrote them look as if they are in priority order , i will do this at a later date ,
It's alright :) I was wondering what was going on though.

Quote

For now could some one tell me what the api is all about.
I'm not totally sure how to put it into words...
Ok, so DirectX and openGL are both API's. You know what this stands for and personally I think the name is a bit misleading. When I think about an "interface", I usually think about a development environment or some kind of GUI. API's though are better described as a giant collection of libraries that shove tons and tons of critical functions into pre-compiled headers.

What the DX and GL libraries mostly do is provide functions to let you access your graphics card with (relative) ease. Instead of having to roll out 6 pages of code to draw an object, you can set a few parameters and matrixes and say "DrawModel()" basicly.

Now I'm making it sound a lot easier than it will be, but without DX and GL we would all be floating up to our foreheads in slow, redundant GPU code.

Quote

So with open gl windows users will not be able to join ?
Nope, everybody can use OpenGL (windows, linux, mac, ect). The reason I don't use it though is because it's a tad bit slower (at least the last time I checked it was), DX is still the industry standard and IMO it's easier to get the hang of. In theory you could write a renderer using both DX and GL but... damn, tha'd take a LOT of work.

Quote

Is there anything ive missed before i start to break these down ?
eeerrrrmmmm, not that I can see.
(\__/)
(='.'=)
This is Bunny. Copy and paste bunny into
(")_(") your signature to help him gain world domination.
bunny also wants to fight spam: Click Here Bots!

#17 Zerox01

    New Member

  • Members
  • PipPip
  • 11 posts

Posted 06 September 2008 - 11:20 PM

well i now understand the case of open gl , how does DX compare ?

#18 starstutter

    Senior Member

  • Members
  • PipPipPipPip
  • 1039 posts

Posted 07 September 2008 - 01:34 AM

Zerox01 said:

well i now understand the case of open gl , how does DX compare ?
well, there are a few tradeoffs between both.

It really comes down to the problem that the more platforms the API has to run on, the less optimized it can be (because each platformed has to be optimized in its own ways). So OpenGL allows for more users, but it is somewhat slower and imo a bit harder to learn.

DirectX is exclusive to xBox and windows OS's (I'm not sure about wii, but I doubt it). The advantage though is that it's highly optimized for microsoft OS's and the hardware they run on. Also, since it is less generalized, there can be more functions that some up menial work (such as texture loading).

Now keep in mind the above paragraph is based on "last time I checked", and while I doubt much has changed, I encourage you to look into it more yourself. Just like with consumer products though, get the info from a non-bias source (aka not the official sites for either).
(\__/)
(='.'=)
This is Bunny. Copy and paste bunny into
(")_(") your signature to help him gain world domination.
bunny also wants to fight spam: Click Here Bots!

#19 Zerox01

    New Member

  • Members
  • PipPip
  • 11 posts

Posted 07 September 2008 - 02:09 PM

would i find it easyer to create the engine using DX and then create a matching engine using Open GL , also would this prevent from Multi console's on the same server?

Also i will look into it more , and its been noted but for now i need to split down my list much further.

Thankyou

Website
Pages - Home , About , Downloads , Guide , Account , Artwork , Community Customer Care , Payment help , FAQ.
Copright for product ,website and insignia charicters ect

Programming Framework's
- DAO
- GUI
- AI
- Animation
- Collision detection
- Culling
- Physics
- Networking
- Sound



Paper based ideas
Storyboad
Design Document for Programming
Design Document for Design (Game Concept Ect)

Games Engine
- The Renderer
- Artificial Intelligence
- Loading
- Displaying
- Animating models
- Collision detection between objects
- Culling
- Physic's input
- Graphical user interfaces
- Interactive graphics (this is ultra-advanced stuff)
- Antialiasing
- Object tracking and lifetime
- Networking
- 3D Sound
- Multi-Platform Development
- Multi-Thread Processor Development
- Patch's & How to manage

Game Content

- Game Levels
- Specific models and textures
- Meaning behind object collisions and input
- Objects interact with the world

API ( Application Programming Interface ) DX / GL ?

Sdk Tools (Software Development Kit)

Polish

I find myself looking at the 3D pipeline and came up with a following overview i found:

3D Pipeline - High-Level Overview

1. Application/Scene

Scene/Geometry database traversal
Movement of objects, and aiming and movement of view camera
Animated movement of object models
Description of the contents of the 3D world
Object Visibility Check including possible Occlusion Culling
Select Level of Detail (LOD)

2. Geometry
Transforms (rotation, translation, scaling)
Transform from Model Space to World Space (Direct3D)
Transform from World Space to View Space
View Projection
Trivial Accept/Reject Culling
Back-Face Culling (can also be done later in Screen Space)
Lighting
Perspective Divide - Transform to Clip Space
Clipping
Transform to Screen Space

3. Triangle Setup
Back-face Culling (or can be done in view space before lighting)
Slope/Delta Calculations
Scan-Line Conversion

4. Rendering / Rasterization
Shading
Texturing
Fog
Alpha Translucency Tests
Depth Buffering
Antialiasing (optional)
Display

When i look at this it takes out a large number of the same things in my list, is this actualy one of many chunks that could be calculated from my list ?

(Matching things include : Culling , Rendering , Model's and there movement )

Anyone help put this in a order based on where you would start - end?

Also after ive finished my design documents and the lists / base work where would the best place to be to start creating this project ?

#20 starstutter

    Senior Member

  • Members
  • PipPipPipPip
  • 1039 posts

Posted 07 September 2008 - 02:27 PM

Zerox01 said:

would i find it easyer to create the engine using DX and then create a matching engine using Open GL ,
heh.. belive me, that's way more work than either of us are ready for. =/

Just stick to one. I also just heard that openGL occasionally has compatability and speed issues on windows. I've experienced this myself, but I thought it might have been just the program.
(\__/)
(='.'=)
This is Bunny. Copy and paste bunny into
(")_(") your signature to help him gain world domination.
bunny also wants to fight spam: Click Here Bots!





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users