Jump to content
  • Advertisement
Sign in to follow this  
laserdude45

Where to start?

This topic is 4666 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

BTW, knowledge of trigonometry is really helpful for game programming in general, and especially so in 3D worlds. Knowledge of Vectors and Matrices is great, too.

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by laserdude45
So you think C# is easier... Well I guess I can give it a try :) .


Yes, I think C# is much easier. It's alot like C++ with the mostly the same functionality and stuff. I don't know why, but C# just kind of clicked with me. I think it's just cause the language makes alot more sense, you can do things in less code in C# than an equivilent C++ program, and it's just a whole lot easier to read. *shrugs* I'm not telling you you have to try C#, but it's definitely one of the easier to get up and running quick languages.

-AJ

Share this post


Link to post
Share on other sites
In all honesty, a knowledge of trig might help, but a good knowledge of vectors and a decent comprehension of 3d space [takes a bit of getting used to] will outright replace any trig in your code immediately [can't remember the last time i actually got use out of sin and cos functions in a practical game application, and thats all that trig is really as far as games are concerned.] Nearly everything you do as far as 'angles' are concerned is actually likely to be much better implemented with normalizing a displacement vector. Vector knowledge almost completely overlaps trig knowledge.

The only time radians will likely ever enter your code is with rotational velocity/accel, and thats physics, not graphics, and even then a decent vector understand replaces that too. You'll be using trig indirectly, with things like cross products and dots [vector ops], but it's honestly easier to go all the way through graphics code without ever typing 'cos()' or 'sin()' anywhere. Matter of a fact, you might find that things like rotation, become downright hazardous if you try to do it by angle of rotation, as opposed to local axis'.

You are going to absolutely need a decent understanding of linear algebra though, as matrices are pretty much how things are done, unless you want to use quaternions, which are pretty far above matrices on the math ladder [so if you know quaternions, you are likely already comfortable with matrices].

[from personal experience] don't be afraid when the sdk says something is 'slow', since it'll say it a lot, and it is nearly impossible to dodge everything that sounds like a kick to the side of your performance. Just do what gets stuff on the screen to learn with, and sweep up the mess later.

*edit* by the way, i too am making the jump to d3d :D, only i'm making the jump from a hand crafted software 3d engine, so it's more just getting used to how d3d throws stuff down as opposed to my own way of doing things :P

Share this post


Link to post
Share on other sites
Quote:
Original post by laserdude45
Where should I start on my journey of Dx9c? The doucmetion? Gameinstitue? Where?


I am also curious on this.

I have 3 years of programming experience.
3 Years in Java.
1 year in c(mostly) and a little c++
I have worked with C# a little too

I have taken math up to calc I.

I have VC++ and VC#.

Same approach?

[Edited by - TriSwords on May 7, 2006 8:28:30 PM]

Share this post


Link to post
Share on other sites
Quote:

[can't remember the last time i actually got use out of sin and cos functions in a practical game application, and thats all that trig is really as far as games are concerned.]


Not to troll or anything, but I disagree with you here.

Your advice on not needing to know trig for game programming is a little to specific an answer for such a generalized subject. In the 3D game programming world Trig could make or break a game. Whether it comes to a simple head/gun "bobbing" motion that follows a sine/cosine line or drafting an algorithm that constantly draws pixels in random positions but the amount is inversely proportional to the distance from the center of the screen giving a spreading effect for some particle system.

Anyway...my point is you can do a lot with a little bit of knowledge of trig (or any other level of math) in GAME programming. It really depends on what type of program your making and how efficient/qualitative you want your results to be.

Share this post


Link to post
Share on other sites
Okay, i take it back [though i still haven't ever used it on a single project by the time the project was finished, and have done things like gun bobbing and particle systems, and did it with vectors, but prehaps thats a square peg in a round hole that would have been better done with sin/cos]. Perhaps it does have applications. In any case, i wasn't saying that an understanding of trig wasn't useful [an understanding of math in general is useful], an understanding of trig is vital to an understanding of basic calc and linear algebra, and an understanding of linear algebra is vital to an understanding of vectors, and an understanding of trig is absolutely required to understand the origin of vector specific operations [dot/cross] and vector space base changes [effectively what is being done in rotation around an axis], all of which are vital for things like complex number theory [quaternions] and numerical representations of continuous functions [like taylor expansion, splines, interpolations methods, ect]. It's useful, but more as a rung in a ladder than as the top step.

But you're right, perhaps i was too harsh on poor ol' trig, and i revoke my statement. Sorry if i led anyone astray.

Seriously though, d3d is a mess of an api [not that it's messy, just that it has SO MUCH STUFF!, as to be absolutely overwhelming], and it has got so much stuff flying around all over the place, and if you don't have your math absolutely solid, 3d graphics in general are going to be very tough to do elegantly.

[oh and don't worry about 'trolling me', if i mess up, call me on it, please :D]

*Has nothing to do with the conversation*
I did things like gun bobbing though as a physics system, treated it like a spring with restoring force, found it to work a lot more natural than trying to juggle (radians * time) with things like turning quickly [which would lean the gun to a side], or landing after a harsh jump [make the gun drop down].

Share this post


Link to post
Share on other sites
Quote:
Original post by laserdude45
I know adding subtraction multiplication divison.

LOL. Interesting response to the question :) but seriously, I don't know about some of the replies here but your next step has got to be trig. It's crucial for all kinds of games. Anything that involves 'curves', 'circles' or 'angles' (!!) needs trig. I would find it impossible to make a game without trig. You're not too young to learn the basics and you'll be able to make MUCH cooler stuff once you get it down.

Direct3D is all about linear algebra, as others have mentioned. You've got to learn basic trig before you learn matrices, so I wouldn't rush into graphics programming because you're going to be copying and pasting math code that you don't understand at all. You're either going to have to continually ask for help/samples or get frustrated.

Can you make a basic game like Asteroids WITHOUT Direct3D (using some simple 2D api, or Visual Basic or something)? If not, you could learn to use sin() and cos(), etc. to rotate, aim the ship, and fire. Once you know a little math/geometry you will be amazed at the worlds that open to you in terms of 'how do I...'. You don't want to rush into D3D game programming until you can do regular game programming! Having to learn both things at once is going to be exponentially harder. Take your time, learn trig (and eventually matrices), and your goal should be to make a game/project that's a bit harder than your last one, but don't set your sights too high or you'll end up quitting.

Share this post


Link to post
Share on other sites
About my math:

Let me refrase this.
I know math up to 8th grade
most math I know is up to 7th grade.


I will learn trig.
I will learn calcus.




Share this post


Link to post
Share on other sites
I've not really had much to say that hasn't already been said...
Quote:
Original post by laserdude45
I will learn trig.
I will learn calcus.
Two recommendations:


and



I regularly refer to the first one when I get stuck on basic maths, and the second one also has a good coverage. If you've got the basic maths "way of thinking" these two texts should fill you in on the details [smile]

hth
Jack

Share this post


Link to post
Share on other sites
Can someone please provide me with some links for Trigonometry?

Along with some links for MDX?

[Edited by - laserdude45 on May 8, 2006 3:13:35 PM]

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!