•
•
•
•
What is DaniWeb IT Discussion Community?
You're currently browsing the Game Development section within the Software Development category of DaniWeb, a massive community of 456,583 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 3,610 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our Game Development advertiser: Programming Forums
Views: 1678 | Replies: 14
![]() |
•
•
Join Date: Feb 2007
Location: St. Vincent and the Grenadines, Caribbean
Posts: 1,032
Reputation:
Rep Power: 4
Solved Threads: 47
Why is direct x so hard for me to understand? Usually I'm fast to catch on to things relating to programming, but this gives me headaches.
Has anyone tried learning Direct X? What was your experience?
Is it that it's just not up my alley?
Has anyone tried learning Direct X? What was your experience?
Is it that it's just not up my alley?
Are you using directX in a 3d environment. If so have you ever worked with 3d models/environments?
Personally, I always find it amusing when people pick up directX to write some sort of 3d game.
Why start from scratch. I'd say grab yourself a copy of 3d max or maya, or even blender. Create your models and environments there and make use of their already polished 3d games engines.
That's what I've done. The results are pretty impressive.
Personally, I always find it amusing when people pick up directX to write some sort of 3d game.
Why start from scratch. I'd say grab yourself a copy of 3d max or maya, or even blender. Create your models and environments there and make use of their already polished 3d games engines.
That's what I've done. The results are pretty impressive.
... the hat of 'is this a cat in a hat?'
•
•
Join Date: Apr 2005
Location: Dundee, Scotland
Posts: 12,883
Reputation:
Rep Power: 32
Solved Threads: 305
•
•
Join Date: Jul 2006
Location: Deptford, London
Posts: 971
Reputation:
Rep Power: 5
Solved Threads: 48
DirectX is hard because it's very raw. OpenGL is less raw, but not necessarily easier to learn. I would say, it's easier to start in OpenGL - you'll get that spinning triangle on the screen with less written code; it doesn't necessarily get harder, but you have to consider the OpenGL system state constantly, which can be confusing. Once you understand the basics of either, the other is easier to learn.
Because it's fun, mentally stimulating and lets you do everything the way you want it, from the very beginning. Afterwards, you can look at it running and say. Wow. That's only happening because I explicitly told it to do that.
That said, it's also fun ( and fast ) to work with existing engines, although, the engines-in-3d-editors aren't my idea of highly polished and capable game engines..
•
•
•
•
Why start from scratch.
That said, it's also fun ( and fast ) to work with existing engines, although, the engines-in-3d-editors aren't my idea of highly polished and capable game engines..
Plato forgot the nullahedron..
•
•
Join Date: Nov 2004
Location: Netherlands
Posts: 5,752
Reputation:
Rep Power: 19
Solved Threads: 200
DirectX is extremely large and is created as a library in a way that's not what most people are experienced with.
The programming paradigms used are not familiar to many people, so they have to cope with learning more than one thing at the same time.
If you're also not experienced with the programming language you're trying to use, and/or with animation/simulation/AI/whatever you're trying to use DirectX for you're in big trouble.
Most humans can learn one new skill at a time, some can learn two new skills at once, but hardly anyone can pick up all the new skills they need to acquire if they're trying to learn everything needed to write a game using DX all at the same time.
So take baby steps.
First learn your programming language.
Then learn to use that to make small programs that use each of the skills you're going to need to write that game on its own, without bothering with DirectX for now.
Then learn to use DirectX without bothering to write that entire game, just focus on learning the library on its own.
Only when you have done all that should you start putting those skills together. And don't try to put them all together at the same time. Again partition it, use combinations of first two, then three or more skills together.
It's a long process, but that's the only way to truly master things.
The programming paradigms used are not familiar to many people, so they have to cope with learning more than one thing at the same time.
If you're also not experienced with the programming language you're trying to use, and/or with animation/simulation/AI/whatever you're trying to use DirectX for you're in big trouble.
Most humans can learn one new skill at a time, some can learn two new skills at once, but hardly anyone can pick up all the new skills they need to acquire if they're trying to learn everything needed to write a game using DX all at the same time.
So take baby steps.
First learn your programming language.
Then learn to use that to make small programs that use each of the skills you're going to need to write that game on its own, without bothering with DirectX for now.
Then learn to use DirectX without bothering to write that entire game, just focus on learning the library on its own.
Only when you have done all that should you start putting those skills together. And don't try to put them all together at the same time. Again partition it, use combinations of first two, then three or more skills together.
It's a long process, but that's the only way to truly master things.
As people are clearly allowed to attack me but I'm not allowed to defend myself, I no longer post to this site.
•
•
Join Date: Feb 2007
Location: St. Vincent and the Grenadines, Caribbean
Posts: 1,032
Reputation:
Rep Power: 4
Solved Threads: 47
Is C# good for this? I'm pretty comfortable with it as a language.
I'll try the other suggestions, as to the small apps and so on.
Thanks for the input. The general consensus seems to be that DX is actually a lot harder than I orignally thought. I'll try tackling it from that new angle this time. Thanks again
I'll try the other suggestions, as to the small apps and so on.
Thanks for the input. The general consensus seems to be that DX is actually a lot harder than I orignally thought. I'll try tackling it from that new angle this time. Thanks again
•
•
Join Date: Apr 2005
Location: Dundee, Scotland
Posts: 12,883
Reputation:
Rep Power: 32
Solved Threads: 305
•
•
Join Date: Jul 2006
Location: Deptford, London
Posts: 971
Reputation:
Rep Power: 5
Solved Threads: 48
Do you understand 'basic 3D theory' that is, the math behind affine transforms / matrix algebra, vectors, projection into 2d space, etc? If you don't know how these things work in a practical sense; then you'll have a real problem with DirectX or OpenGL. ( If you're working in 2d only; I guess there's less to learn, although vector math is still quite useful in 2d ). If you want to do complex physics, spacial AI, or anything like that... well, it's nice to have a visualization framework to help you see what you're doing.. strictly speaking you don't 'need' one, but it's nice, and it helps.
I found playing around with Java3D http://java.sun.com/products/java-media/3D/ was quite helpful in getting my head around 3D concepts ( and it's good for visualizing/prototyping quickly ); the techniques involved aren't directly transferrable, since it tries to abstract most of the math into a scene-graph; which you don't get as-standard in DX or OGL, but it's a forgiving way to start with the basics, and to do anything complicated with it, you need to delve into the un-abstracted math side of things.
C# + XNA is also quite forgiving, it wraps much of DirectX's functionality, so you don't have to write so much code upfront.. you'd still need to have a decent idea of the 3D math basics though, to do anything beyond trivial. I don't mean by that, that you need to go study the theory / history behind the maths, learn the proofs, or generally understand WHY the maths works; but, knowing when and where to use each concept is invaluable.
I found playing around with Java3D http://java.sun.com/products/java-media/3D/ was quite helpful in getting my head around 3D concepts ( and it's good for visualizing/prototyping quickly ); the techniques involved aren't directly transferrable, since it tries to abstract most of the math into a scene-graph; which you don't get as-standard in DX or OGL, but it's a forgiving way to start with the basics, and to do anything complicated with it, you need to delve into the un-abstracted math side of things.
C# + XNA is also quite forgiving, it wraps much of DirectX's functionality, so you don't have to write so much code upfront.. you'd still need to have a decent idea of the 3D math basics though, to do anything beyond trivial. I don't mean by that, that you need to go study the theory / history behind the maths, learn the proofs, or generally understand WHY the maths works; but, knowing when and where to use each concept is invaluable.
Plato forgot the nullahedron..
•
•
Join Date: Apr 2005
Location: Dundee, Scotland
Posts: 12,883
Reputation:
Rep Power: 32
Solved Threads: 305
•
•
Join Date: Jul 2006
Location: Deptford, London
Posts: 971
Reputation:
Rep Power: 5
Solved Threads: 48
Dunno what high-school you went to, but they didn't teach 3D spaces at my school; certainly not at GCSE ( if that's "high school" ) level. I remember learning 2D triangle and vector basics; but nothing about projecting and transforming using 4x4 matrices, the intricities of 3D rotation, or anything atall about 3D surfaces, physics calculations in 3D, etc. The extra dimension does make alot of difference; unless you're only using 2D principles with 3D graphics..
Plato forgot the nullahedron..
![]() |
•
•
•
•
•
•
•
•
DaniWeb Game Development Marketplace
•
•
•
•
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
•
•
•
•
advertising ajax asp blogging browser business code console development exploit firefox game games google hardware hardy heron intel internet linux marketing microsoft mozilla msdn news nintendo playstation programming ps3 revenue rss saas search security software sony sql stocks video video game vista w3c web web development wii wiki windows xbox xbox 360 xml yahoo
- Problem installing/ghosting new hard drive (Storage)
- Value Hard Drives (Storage)
- DOS C++, pulling boot order and hard drive parameters, (C++)
- Help: Weird Hard drive space flucuation? (Windows NT / 2000 / XP / 2003)
- Solid Hard Drive Light (Storage)
Other Threads in the Game Development Forum
- Previous Thread: I wanna write a game!!!111lolz
- Next Thread: Delphi components for game



Linear Mode