Game Programming is very Hard

I've been reading DirectX sdk tutorials and MDX tutorials and things like that, and it seems VERY VERY VERY hard. Will this new XNA studio and the documentation simplify this? All these vectors and whatnot is very complicated and I'm having trouble understanding seemingly basic concepts in game programming in 3d.
[316 byte] By [GeekSquad] at [2008-2-4]
# 1

You will need understanding of 3d concepts to be able to handle collision detection, physics and so forth. I'm not sure how XNA handles matrix calculations, but I would guess you will still need to understand that topic.

It is not that hard to grasp. Just don't chew over too much in the beginning. Start with being able to display a polygon, then understand how to rotate it. How to put light on it and how to set up a scene. How to set up camera and field of view. Then move on to understand how textures works and effects work.

Roger Larsen

twospoons at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 2

You might also want to start with doing 2D stuff until you're comfortable with the concepts of game development. You might also want to check out the game development webcasts that are available.

I would imagine the Starter Kit(s) would set up the basic game loop and initializing needed so you can check how it's done for future reference. We'll have to wait a few more days to see what the team is going to give us as a baseline.

JimPerry at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 3

Geek Squad wrote:
I've been reading DirectX sdk tutorials and MDX tutorials and things like that, and it seems VERY VERY VERY hard. Will this new XNA studio and the documentation simplify this? All these vectors and whatnot is very complicated and I'm having trouble understanding seemingly basic concepts in game programming in 3d.

Yup. I do recall saying that pretty clearly on the DirectX 101 forums: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=77027&SiteID=1

DavidWeller-MSFT at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 4
Okay, well I understand math and 3d concepts and all, its just the implementation and how the implementation works that confuses me. I read the first tutorial on the MDX site and it mentioned starting Direct3d and using a loop, but I don't understand the code they are using and what each part is for at all...
GeekSquad at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 5

Many people look down on game programmers but they don’t know that games are one of the most difficult things to program. It funny that when I am working on my resume or talking to a recruiter about a job I feel embarrassed when I talk about any games I have programmed.

So yes game programming is not for everyone like they say on TV, give programming a try and if its not for you there are many more things you can do to help make games.

aka_Big_Wurm at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 6

When you get into collision detection and reaction with high velocity objects, that's when my brain explodes and leaves a black hole.

Game developers are probably some of the most talented individuals when it comes to understanding problems and solving them efficiently. There is still a lot of hacking (performance vs. maintainable code) going on though; that is why they might not be the best fit for enterprise level software development. I’m not sure why a professional game developer would ever go down the path of writing “boring” enterprise apps though. :)

Roger Larsen

twospoons at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 7
Definetly. From my little experience with game programming, it undoubtedly is MUCH harder than any old software development. Vectors and 3d coordinates have to be programmed with precision to get anything to work....

Btw, I found a few MSDN tutorials and they're much more simple and informative than the MDX ones I found...

A couple last questions:

1) Am I missing out on a lot by using Managed DirectX?

2) What about OpenGL? Regardless of managed and unmanaged DirectX, am I missing out on something important by not doing Open GL?

By missing out on I mean missing out on features and speed and things like that...

Also (kind of off-topic), about what percentage of Windows users have .NET framework installed (can you give some kind of estimate)?

GeekSquad at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 8

I agree with Geek Squad here.

I do quite a bit of 2D graphics programming without difficulty so I tried to learn 3D. I actually have no problem with the matrix and vector stuff, but there seems to be a lot of complexity in setting up the environment and maintaining it.

With 2D you have a drawspace, which is almost anything (including offscreen bitmaps) and then you just draw objects or other bitmaps to it.

Will XNA simplify this process and make it easier to create 3D environments?

PdCNZ at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 9

PdCNZ wrote:
Will XNA simplify this process and make it easier to create 3D environments?

From what's been posted by the MS guys, they're trying to make getting a game up and running as easily as possible a goal. The Starter Kits that should be included will help accomplish this. I'm sure the community will help as well by providing samples, info, etc.

JimPerry at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 10

Geek Squad wrote:
1) Am I missing out on a lot by using Managed DirectX?

2) What about OpenGL? Regardless of managed and unmanaged DirectX, am I missing out on something important by not doing Open GL?

1. No

2. No.

JimPerry at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 11
I have a few questions:

1) What is the best performing render loop (in your opinion)?

I've encountered ones that use application idle events, others that use on paint events, and some really long ones that I don't have any idea how they work...

GeekSquad at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 12
I have seen this one suggested by Rick Hoskins blog where he has many posts about finding a good game loop
aka_Big_Wurm at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 13
You don't need to worry about render loops any more with the XNA

Framework - that's one of the things we take care of for you! Just hook

up to the Update and Draw events on our Game object, and off you go.

(of course you can still write your own render loop if you really want

to for some reason, but I suspect the standard version in the Game

class will do the right thing for 99.9999% of people)

ShawnHargreaves at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...
# 14

Shawn Hargreaves wrote:
You don't need to worry about render loops any more with the XNA Framework - that's one of the things we take care of for you!

god bless you ;)

AhmedQurashi at 2007-8-30 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,XNA Framework...