A hard way - are beginners always struggling?

Started by
10 comments, last by Chrono1081 15 years, 9 months ago
Hi Guys! First I want to introduce myself. I am an Austrian 25-year-old boy who currently studies computer-science at a local university in Vienna. I have always been highly interested in videogames, primarly in playing them. Although the idea of making games of my own came into my mind, i never really tried to seriously approach this direction. Mainly because i feared, i am too less genius for this kind of work. Things have changed since my university offered a complete course of studying "game-engineering and simulation" as master-degree-course (i am currently making my bachelor). The fear still remains but now i would have a better chance to professionally approach my life's dream of making games for money :-) The master-course would start for me in 1 year and i really want to get into it (there are only 15 course-places available for this programm) So i decided to seriously start programming 3D-graphics for my own to have an advantage. I got myself an book which is said to be one of the best books in german-language about this topic (Marius Apetri - (translated) 3D Graphics programming) The book starts off with the related mathematics and concentrates throughout the chapters primary on understanding the very Basics of 3D graphics - and not on using predefined opengl and direct3d features (although opengl and directx are introduced and used in some examples - so you get a feel for it) Now the problem. I am not the best in mathematics and i am really doing quite hard in understanding the relevant topics - sometimes i really need about 1-2 hours just for 1 or 2 pages, cause its that hard for me. So i really have the motivation to go on with 3D Programming, but is it normal that beginners are struggling like that with those mathematics? Does that indicate that i am maybe not suitable for programming games? Does my fear come true? Thanks in advance for any thoughts :-) (hope my post is readable - i am not the best in english)
Advertisement
Quote:Original post by mancubit
is it normal that beginners are struggling like that with those mathematics?


Yes.

Quote:Does that indicate that i am maybe not suitable for programming games?


No.

3D math can be difficult to grasp, but I think that what makes it really hard is that almost no one can explain it properly. Here I can offer some assistance.

Here you will find a free sample chapter that covers vectors from a graphics/game programming point of view. I have not read it but I heard very good things about the book it came from, so I think it should be good.

Here you will find a free sample chapter that introduces matrices. This one I read (in fact I read the whole book), and IMHO it is possibly the best introduction to matrices that a graphics/game programmer can get. The second half is just pure gold, especially if, like me, you have wasted time with poorly written tutorials and felt like you are never going to understand this stuff intuitively.

Check these out and see if they help. Also, you can always ask specific questions here about things you don't understand.

Good luck!
When I started graphics programming I got 4s or 5s (out of 10) for most mathematics tests even though I studied as hard as I could. And 2 years later I used vector and matrix math for geometry and lighting calculations.

So I guess it's possible, but you'll probably have to study a lot.
The thing about hard work is that it is always... hard. Its quite natural to struggle with it, but linear algebra is very useful in almost any technical career.

Personally I get most from reading a text faster multiple times than to read it very slowly once. But whatver works for you. Just make sure to make at least some of the Übungen :)
What you could do is take the part from the book you have trouble understanding and ask a question about that in the appropriate forum section.
I started game programming in high school and had a really hard time grasping the mathematics. Later, I got all kinds of linear algebra and calculus courses at the university which made the 3D math much easier. So, in my experience, just triing to understand the math required to produce 3D graphics will always leave you wandering in the dark about what is really going one. In order to make 3D math your second language, you should not be afraid to take up a more general linear algebra book.
The problem I think with math is that its difficult until you see uses for it or results from it. When I was in highschool I failed math all the time. I was two levels below what I was supposed to be, but I passed advanced placement physics which I wasn't even supposed to be in because I never had calculus (or precalculus). I passed it because I saw results from it and it had a purpose.

I used this whenever I started to go do math in college. It went in one ear and out the other until I found some way to use it. This helped me a lot and now in my mathclasses if I struggle with something I make a program that calculates it for me. I learn a TON doing this and its not cheating because I wrote the program, and to write the program you need to understand how the problem works.

Just my two cents, its what works for me.
Quote:Original post by mancubit

So i really have the motivation to go on with 3D Programming, but is it normal that beginners are struggling like that with those mathematics?

Some do.

Quote:Does that indicate that i am maybe not suitable for programming games?

Have you tried it yet? Only a small part of development is programming, and only small part of programming is 3D graphics.

Looking at mainstream, and if I had to generalize, I'd say being poor at art is considerably bigger obstacle than being poor at math. Look at flash games that get made. People with only basic ability to write code in flash produce beautiful games, simply because they can produce something that most of leetest coders never could.

Games != 3D AAA FPS engine development
thanks all for your answers - and thanks for the links - maybe this helps me :-)

Quote:Original post by Antheus

Have you tried it yet? Only a small part of development is programming, and only small part of programming is 3D graphics.

Looking at mainstream, and if I had to generalize, I'd say being poor at art is considerably bigger obstacle than being poor at math. Look at flash games that get made. People with only basic ability to write code in flash produce beautiful games, simply because they can produce something that most of leetest coders never could.

Games != 3D AAA FPS engine development


yes i know that - but understanding 3D Graphics is the goal i want to achieve at the moment.
Quote:Original post by mancubit
Does that indicate that i am maybe not suitable for programming games?

The sentence was unclear verbalized. Better would be:

Does that indicate that i am maybe not suitable for programming 3D Graphics?

Cause i guess you must be really good, when you want to get a job in this business - and my little dream is indeed programming graphics (so i need to clearly understand the required mathematics and thats where i struggle - the implementation in the actual language wasnt the problem till now)


Quote:
Quote:Original post by mancubit
Does that indicate that i am maybe not suitable for programming games?

The sentence was unclear verbalized. Better would be:

Does that indicate that i am maybe not suitable for programming 3D Graphics?

Cause i guess you must be really good, when you want to get a job in this business - and my little dream is indeed programming graphics (so i need to clearly understand the required mathematics and thats where i struggle - the implementation in the actual language wasnt the problem till now)


You must be good, that's true. But then, whatever you want to do, you'd better be good - because otherwise you'll be just another average guy. And there's nothing wrong with that.

So you must be good. But how good is good enough? That's a hard question. You can't know everything, so you have two choices: either you focus on one specific area (graphics, AI, physics, network, ...), or you try to go the other way - learning everything, knowing that you'll never be a specialist in these areas. One thing you have to know: the idea that every game programmer in the world is a Very Good Programmer (tm) is wrong. Most game programmers are average programmers who decided to try to program games for a living. Some of them succeeded. That doesn't make them brilliant programmers1.

So, what skills do you need to be a graphic programmer?
  • basic math understanding. You may have to be able to use this math background in order to read papers, so a solid understanding of a fairly small number of math tools is a must. You don't have to be able to explain the mathematical reasoning behind the proof of Fermat's last theorem.
  • good knowledge of programming in general. Game programming uses many techniques, and it's good to understand those. A course on language theory and another on computer architecture can really help here.
  • good knowledge of the past and current technology. Knowing how a rasterizer works is good when you have to understand how a GPU renders pixels on the screen. Be aware that while specific bits of technology (shaders, ...) can be acquired later, recruiters often consider them as a prerequisite.
  • last but not least, you must be motivated. If you have a rather slim experience, you'll loose a lot of time to rediscover the techniques that an experienced programmer already know. Consequence: you'll waste a part of your work time; so in order to catch up, you'll have to work harder than an experienced programmer.

The good thing is that you don't have to be specialized if you don't want to. Sure, being specialized will open you some doors - especially in big development studios. But being more general will allow you to work in smaller teams - and that's also kind of exciting.

----
1 - I won't rant again about "traditional programmers" vs. game developpers. Both are good. Some of them are even very good - but I suspect that there are far many very good programmers in the classical software industry than in the game industry.

This topic is closed to new replies.

Advertisement