How do I go about creating a game (and does anybody want to help?)

Started by
3 comments, last by timothyjlaird 10 years, 2 months ago

Hi forum.

So I know some C++, more in theory than in practice and was wanting to create a small game, maybe a board game in 3D.

It's quite hard knowing where to start though after the design stage. I am reading GEA at the moment, and I just can't get an overall picture of rendering techniques, for example there are various rendering, algorithms such as phong lighting, and a ton of other graphical techniques such as shadow maps, shadow volume, and then shaders. There seem to be so many different ways of doing rendering that I am lost as where to start.

I can create OGL/DX window, but then that's just copy/paste. Where do I go after that.

If anyone wants to help feel free to pm me. It would be for a learning curve to improve C++ skills and learn about 2D/3D graphics.

Advertisement
If you're just starting out I would strongly advise you to forget about 3D games for now. Making games takes a huge amount of work so adding the additional complexities of 3D mathematics and rendering just needlessly steepens the learning curve which will kill your motivation. I wouldn't even touch directX or openGL until you've made a few games with simpler API's such as SDL, SFML or allegro. If you don't know how to code even a simple tetris game you really have no business starting a 3D project, boardgame or otherwise.

You say you have a theoretical understanding of C++, I don't mean to sound blunt but that's just not going to cut it. The same principle as stated above applies: you're making things harder by trying to put together a game when you should just be learning how to think like a programmer

So, to summarize: first learn c++ for a couple of months, then make a few small games with user-friendly API's and after you can starting looking at directX or openGL tutorials


That said, if you absolutely must code a 3D directX project, Frank Luna's book is pretty good.
I agree with molehill mountaineer. Don't start with a 3D game if you're still learning to program. The step from "novice programmer" to "3D game programmer" is pretty huge. You'll have a much easier time if you put a few steps in between like "intermediate programmer" and "2d game programmer" and you won't get too discouraged.
Here is a great article for starting out. I can't recommend it enough:
Set small, reasonable goals for yourself or you'll quickly get overwhelmed. The above guide has a breakdown of which projects you should tackle first and why. I wouldn't start "your game" until you've completed a few of these first.
And the beginner FAQ is also an excellent place to start:
Good luck!
- Eck

EckTech Games - Games and Unity Assets I'm working on
Still Flying - My GameDev journal
The Shilwulf Dynasty - Campaign notes for my Rogue Trader RPG


So I know some C++, more in theory than in practice and was wanting to create a small game, maybe a board game in 3D

As it was said above, doing 3D now is not a good idea. But:

-You dont have to start with a 2D API, you could do 2D graphics in the 3D space by ignoring the Z coordinate. Then start to use it later when you are comfortable drawing in the XY plane.(You wont have to throw away your code.)

-If you do want to use the modern OpenGL, forget about "shaders" and "buffers" just use one shader and one VBO at first.


There seem to be so many different ways of doing rendering that I am lost as where to start.

-rendering is basically projecting and drawing triangles to the screen. textrues, fog, bumpmap, shadowmap ....thats bonus. Most people start out drawing red and blue rectangles.


I can create OGL/DX window, but then that's just copy/paste. Where do I go after that.

-after that find a "Hello-triangle!" tutorial and copy-paste that too:)

I just can't get an overall picture of rendering techniques, for example there are various rendering, algorithms such as phong lighting, and a ton of other graphical techniques such as shadow maps, shadow volume, and then shaders. There seem to be so many different ways of doing rendering that I am lost as where to start.

So called 'phong lighting' is also called lighting per-pixel. It delivers better results than per-vertex lighting (called Gouraud lighting or shading). When light hits a surface in the real world it may appear more shiny or less shiny depending on the angle of the surface. In 3d graphics this is faked by giving each vertex a vector called a 'normal' that tells you which way it is pointed. So per the lighting calculations that vertex may be more or less shiny depending on the angle of the light and the normal attached to it. This can suck if your vertexes are not evenly spaced, there are too tightly packed, or too sparse. The solution they came up with is to interpolate the 'normal's between the vertexes and run the calculations for every pixel (aka fragment). Hence, it is called per-pixel lighting.

Shadows are a PITA. In 3d graphics lighting geometry is relatively simple. Casting shadows well and efficiently is much more difficult in non-trivial cases. I'm still new to graphics...so all I know of shadow mapping is where you calculate where the shadows are (maybe real time via render to texture or ahead of time in some tool) and put into a texture which is applied to the geometry in the scene that is going to receive the shadows via texture blending.

I would focus on making a 2D game though first though...which you can do with OpenGL by the way. You just won't be using the 'z' coordinate or the depth buffer. Even if you are using a pre-canned shader 3d graphics can be a bit like drinking water from a fire hose.

This topic is closed to new replies.

Advertisement