• Ever wanted an RSS feed of all your favorite gaming news sites? Go check out our new Gaming Headlines feed! Read more about it here.

Molten_

Member
Oct 28, 2017
1,540
You could make the argument that math is even more important today than it was back on say, the nes. But that's just because game development is much more complex.

Sure, it's more accessible today. You don't need to understand how a bit or a byte work. Engines usually handle memory management for you. Etc ... but those things being removed just highlight how important math is to the dna of game development.

If you want to program your own 2d platform engine you need to know a fair bit of math. That will probably never change.
 

Imperfected

Member
Nov 9, 2017
11,737
Hmmm this thread made me curious. Is there a lot of stats in game programming/development? I do a lot of machine learning/ai coding, but the 'math' is nearly entirety statistics - at least for what I do: predictive modeling.

Machine learning is sort of a "frontier" application in game design and development. There's been some use for relatively easy and high-yield applications--like AI for racing games, programming IDEs, or 3D art programs in general--and an increasing amount of thought being spared to how AI-assisted development could be done in any number of ways. There will probably come a day when that will permeate nearly every asset of the process (much like any other technical field, really...) but right now the actual applied use is somewhat limited.

As far as conventional statistics goes, it varies a lot by developer and publisher. Bungie (and Microsoft more broadly) use massive amounts of statistical data harvested from biometrics and other high-yield methodologies in playtesting. Lots of abstracting data out to heatmaps ("How much time does the player spend looking at each part of this UI? Where are players dying the most in this level?" type stuff), A/B testing, that kind of stuff. There are other production houses, of course, that do almost completely qualitative playtesting with virtually no quantative data collection.
 

Aether

Member
Jan 6, 2018
4,421
game development is very, very, very math heavy, from top to bottom. Especially in 3D games. Like, you might be able to kind of get away with just fiddling with numbers, but you'll hit a huge wall very quickly. The most common type of math you'll primarily run into is matricies math, the fundamental calculation used to navigate 3D space are various transformations. Without knowing how matricies work, and why they work, and how pack values into them, you'll become lost super easily. Even if you just limit yourself to euler math, you'll run into gimble lock. You'll wonder, "why is it impossible to rotate from this position to this position??" at which point you'll have to dive into quaternions, 4th dimensional transformations.

Study up on linear algebra and vector calculus, it'll provide the most utility. To grasp either of those, you'll need a solid understanding of trigonometry and geometry, of course. Vector math is everywhere in game dev.

Similarly, study up on boolean algebra, it's very important.

If you want to get into signal processing, which is very useful for multiple types of data analysis, you need to start studying up on fourier transformations.

For specific books, I would very much recommend starting here:

51Dake5LWcL._SX258_BO1,204,203,200_.jpg


3D Math Primer for Graphics and Game Development: Dunn, Fletcher: 8581026222222: Amazon.com: Books

3D Math Primer for Graphics and Game Development [Dunn, Fletcher] on Amazon.com. *FREE* shipping on qualifying offers. 3D Math Primer for Graphics and Game Development

Also, grab a good book on statistics and probability. It'll help in multiple ways in life. Dirty secret: Convolutional AI is just very, very applied probability.
Well, i would argue that is one of the ares where the engines abstract enough so that you dont need to be as good anymore.
(As someone who had to make a 3d Animation with webgl and javascript, and who dablet a tiny bit in these engines)

And yeah, math is required, btu not even remotely as much as it was even 10 years ago.

(Edit: i should have read the thread further... i have to say, you kinda hammered him with a lot low level stuff that is not needed it you just start with a simple homemade game with an engine today. but shifting is really overkill, if you dont need to optimize or develop really low level. For him learning engines/tools is way more usefull then low level stuff int his case)


With that said....

What is the problem with math here? since the same thinking proceses will be needed for Computer science/game development.

Vizualizing what you want to do, geting concrete in describing these things, and formulation a algorythm to do the stuff you want to do.
Getting aware of the limitations of your system, and developing either with them in mind, or around them.

The best would be to try some of these basic online courses with Algorythms (search, sort,...) and Data structures (lists, arrays, trees,...).
If you get these, then the math for game development should not be a problem.
if these are to hard, then creating interacting game systems will not be possible.
Except you just want to make a 2d memory puzzle. This is probably doable without math.

In the end: at least some math is required, programming is simular to math by itself, and the question is quite broad. Be more concrete with your question, and maybe we can help you some more with "do i want to do this". As a start, what is your knowledge of computer science?



Hmmm this thread made me curious. Is there a lot of stats in game programming/development? I do a lot of machine learning/ai coding, but the 'math' is nearly entirety statistics - at least for what I do: predictive modeling.

Well, you either can replay the 10-30 hour game every time you change some parameters, or you create statistical models... just think of balancing stat based games like RPGS, TCGs, RTS games...
You cant develop without playtesting, but you dont have the time to playtest everything, like experience curves in different play scenarios and stuff. (mario is probably less stats based on the other hand, and more "tweak the gameplay till it is great, and then build a game around it")
 
Last edited:

Buff Beefbroth

Chicken Chaser
Member
Apr 12, 2018
3,011
early on, I made Final Fantasy style RPGs in hypercard using the HyperTalk API to simulate dice rolls behind the scenes. I would link button presses to animations that would play depending on the outcome of the dice rolls, and the animations would themselves trigger other dice rolls to calculate out the damage, hit rate, etc. Very, very fond memories of that.

That's awesome. What a fun, super intuitive gem that software was.

I do sometimes find myself daydreaming and thinking about how I might incorporate things I know about game design today into a HyperCard game. Got a Quadra 610 sitting in my basement still. 🤔
 

fattylion

Banned
Nov 21, 2017
37
Math is the bread and butter of game dev, its was sets it aside from normal software programming. The physics, the movement of characters are physics based calculated in math.
 

Deleted member 12790

User requested account closure
Banned
Oct 27, 2017
24,537
Well, i would argue that is one of the ares where the engines abstract enough so that you dont need to be as good anymore.
(As someone who had to make a 3d Animation with webgl and javascript, and who dablet a tiny bit in these engines)

And yeah, math is required, btu not even remotely as much as it was even 10 years ago.

Well, it's all relative. Go back 30 years and there is much more math required today, by virtue of FPUs actually being a thing and matricies math being viable.

But then again, you could still technically do that stuff by hand on the CPU, albeit with even more work (although that work would fall under more the umbrella of logic than mathematics).

I don't think you can ever truly escape math in the world of game development, personally. On the technical sides, I mean.
 

Deleted member 12790

User requested account closure
Banned
Oct 27, 2017
24,537
(mario is probably less stats based on the other hand, and more "tweak the gameplay till it is great, and then build a game around it")

You would be veeeeeeerrry very surprised. There is an astonishing amount of math in Mario World's design, for example. There is a great book on the subject, actually, that is part of the Reverse Design series. A small freely available chapter on the subject:


There's actually a method to the madness, it's not just things that were tweaked till they felt right. Much of it is more mathematical than people realize.

And, on the flipside, Sonic the Hedgehog is extremely math heavy, one of the most math heavy games of that entire generation. Sonic is applied trigonometry.
 

Aether

Member
Jan 6, 2018
4,421
Well, it's all relative. Go back 30 years and there is much more math required today, by virtue of FPUs actually being a thing and matricies math being viable.

But then again, you could still technically do that stuff by hand on the CPU, albeit with even more work (although that work would fall under more the umbrella of logic than mathematics).

I don't think you can ever truly escape math in the world of game development, personally. On the technical sides, I mean.


I edited my post, but lets come back to this: were not talking about someone optimizing an engine for a AAA game, or someone programming to the metal or creating his own engine. In those cases: shure, a lot of math is needed.
But there are so many indie games of people who can barely create clean functional or object oriented code, and still made great games (that use way more resources than they should, but the hardware is strong enough to brut force it)
Or a lot of people that are game/level/etc designers that are barely able to code.
In the end, there is a lot of math in games, but is this needed for the OP to start creating a small game as a project? Maybe he will learn stuff, wants to get better and become better with it, maybe hes satisfied with what he can do without it. But putting the low level hardcore stuff up front is kinda like gatekeeping.
And i dont think you are doint that, from what i know from other threads you are just a huge enthusiast (and professional i asume) regards low level stuff. And with that, you looked at the topic from a certain perspective where math is the essence.

You would be veeeeeeerrry very surprised. There is an astonishing amount of math in Mario World's design, for example. There is a great book on the subject, actually, that is part of the Reverse Design series. A small freely available chapter on the subject:

Reverse Design: Super Mario World

There's actually a method to the madness, it's not just things that were tweaked till they felt right. Much of it is more mathematical than people realize.

Im not saying mario has no math, mario has a huge amount of math, all of these "feels great" games have kompley physics based interlocking system with a lot of "cheats" to make it feel even better.
But its just not much of statistics.
 

Buff Beefbroth

Chicken Chaser
Member
Apr 12, 2018
3,011
Sitting right next to me right now:

EXLBzzNXkAEg7Gw


EXLB0zcWkAAYgpA

Is that the full retail box? I'm jealous. I got my copy with the pack-in demo disk where you could hilariously just enter a command to get full create/edit permissions. You know, if you ever get the time or inkling, an OP about HyperCard could be a fun read.

I still proudly display HyperProgramming: Building Interactive Programs with HyperCard by Coulouris and Thimbleby on my bookshelf, along with The Complete HyperCard Handbook by Danny Goodman, and Cool Mac Games Plus! which introduced me to to the concept in the first place.
 

Deleted member 12790

User requested account closure
Banned
Oct 27, 2017
24,537
Is that the full retail box? I'm jealous. I got my copy with the pack-in demo disk where you could hilariously just enter a command to get full create/edit permissions. You know, if you ever get the time or inkling, an OP about HyperCard could be a fun read.

I still proudly display HyperProgramming: Building Interactive Programs with HyperCard by Coulouris and Thimbleby on my bookshelf, along with The Complete HyperCard Handbook by Danny Goodman, and Cool Mac Games Plus! which introduced me to to the concept in the first place.

I made this topic a long while ago:

https://www.resetera.com/threads/i-found-footage-of-the-very-first-game-i-ever-made-today.130275/
 

mclem

Member
Oct 25, 2017
13,448
you'll without a doubt use lots of geometry as a 3D artist, at least. 3D art is geometry.

Math can creep up on your in unexpected ways. Like, for example, how to mathematically center something on screen. That might sound simple, and to some it undoubtedly is, but I doubt many non-programmers or non-artists have to think about how to do something like that regularly.

Given the width of a larger bounding box, and the width of an object, how would one center that object within the larger box? I challenge OP to figure out how to do that, it's a pretty good example of how math permeates development. Even with the tools available to you in many engines, you'll still find yourself having to calculate things like this.

When I was going to interviews for university (at the time a course in 'maths and computation'), one of the interviewers I had asked me how I would write a routine to draw a circle.

I asked if there were any restrictions on language.

He said no.

I said "Well, in that case I'd use Spectrum BASIC and the CIRCLE command."

(I did give a proper answer afterwards!)
 

Encephalon

Member
Oct 26, 2017
5,851
Japan
I'm afraid I can't recommend any specific tutorials for the switch version, sorry, but I think there is an OT somewhere on this site. One thing to remember: to a large degree, BASIC is meant to be interoperable. So much of those tutorials you see online should apply to multiple versions of Smile BASIC.
There are apparently some differences. I'm not clear on how much these matter.


I don't understand programming enough to understand the Japanese well enough to properly translate it here (because these are technical terms), but I'll try to give you an idea of what kind of things might have changed in case you're curious:

Variables

Ver. 3

Variables inherently possessed "types." Their types were "decided" by suffixes and it was not possible to input types with values that were "incompatible." Then something about DEF arguments (?) being the exception.

Ver. 4

Variables do not inherently possess types, and you can freely input type values at will. Suffixes are still in the system for compatibility purposes, but they are only for decided the initial values when variables are defined.

Arrays

Ver. 3

At the time of their definition, handling of array types per dimensional settings (???) were strictly decided, and could not undergo explicit expansions or dimensional conversions.

IhavenoideawhatIamdoingdog.jpeg

It was not possible to initialize factors upon array definition, and it was necessary to use Data text, Read orders, and Copy orders in conjunction with one another.

Ver. 4

Arrays of two or more dimensions are all subsets of 1 dimensional arrays and it is possible to reference them as 1 dimensional arrays. However, it is necessary for ??? to be one dimensional in order to give orders for automatic expansions.
It is possible to explicitly expand arrays.
It is possible to initialize elements in an array while defining them simultaneously. It is possible to abbreviate array element numbers (values?) when doing so.
It is possible to abbreviate array element numbers (values?) without initializing them. In that instance, element number "zero" is defined as a one dimensional array.

System values have been scrapped. In their place, Substitution functions, commands, and constants take their place.

You can carry over lines with backslash &H5C.

Other changes like type identification, the addition of CASE, LOOP, user defined constants, blah blah blah.

Maybe, like a bad google translation, you can parse what some of that was supposed to mean.
 

Deleted member 12790

User requested account closure
Banned
Oct 27, 2017
24,537
I edited my post, but lets come back to this: were not talking about someone optimizing an engine for a AAA game, or someone programming to the metal or creating his own engine. In those cases: shure, a lot of math is needed.
But there are so many indie games of people who can barely create clean functional or object oriented code, and still made great games (that use way more resources than they should, but the hardware is strong enough to brut force it)
Or a lot of people that are game/level/etc designers that

I wasn't talking about AAA design or building your own engine, either. I'm talking simple things, like, per an example from earlier:

Given the width of a larger bounding box, and the width of an object, how would one center that object within the larger box? I challenge OP to figure out how to do that, it's a pretty good example of how math permeates development. Even with the tools available to you in many engines, you'll still find yourself having to calculate things like this.

Doing things like this today, is more math intensive than doing something like that 30 years ago, due to floating points and such. Fixed point math was much, much simpler to understand and use.
 

Deleted member 12790

User requested account closure
Banned
Oct 27, 2017
24,537
When I was going to interviews for university (at the time a course in 'maths and computation'), one of the interviewers I had asked me how I would write a routine to draw a circle.

I asked if there were any restrictions on language.

He said no.

I said "Well, in that case I'd use Spectrum BASIC and the CIRCLE command."

(I did give a proper answer afterwards!)

what was your answer? Did you give it in the form of a rotational matrix, or did you break it down further into x' and y' of sin and cosine derived from the matrix?

This is why I hate those kinds of interview questions, BTW. I can't list the x' and y' components off the top of my head, haha, I'd have to google it or work it out on a sheet of paper at least.
 

Bjones

Member
Oct 30, 2017
5,622
No, math is less needed nowadays as most of the big game engines are basically drag and drop. I would imagination and the ability to follow through is the much greater skill sets today.

Now back in the 8 and 16bit days where everything was programmed in machine code, math knowledge was much more prevalent as you didn't have straight formulas like you do in c .
 

low-G

Member
Oct 25, 2017
8,144
I started to type that with Unity you don't really need to know much more than basic math and proportions but then I remembered quaternions which would give a math PhD fits...
 

Stef

Member
Oct 28, 2017
5,403
Rome, Italy, Planet Earth
In lockdown boredom like everyone else I'm looking for something to to do, so I was thinking of brushing up on the subject I avoided except out of what was necessary at school for Computer a Science. With it being such a wide area it seemed like it might be interesting to approach it by building up to what would be necessary for game development.

But with the majority of games from indie to AAA relying done on engines where everything from lighting to particle effects is already there for you, is it even all that necessary to understand how it's working underneath these days?

Or am I overestimating how much work is done for you or how much you can do on your own? If so, does anyone have any tips or recommendations on where to start? Any books, areas, courses, etc!

Less than 20 years ago, yet mathematics are still an important part of a programming language, especially if we talk about developing graphics.

So I'd got with a "You don't have to have a degree in physics, yet a good understanding of maths concepts will be important".
 

Aether

Member
Jan 6, 2018
4,421
I wasn't talking about AAA design or building your own engine, either. I'm talking simple things, like, per an example from earlier:



Doing things like this today, is more math intensive than doing something like that 30 years ago, due to floating points and such. Fixed point math was much, much simpler to understand and use.
I posted my post before it was done... again... hach.
Good example: basic (high school) math. And these are the things that are needed.

Complex transformations with identity matrices, view matrices, bit shifting, binary division, these are the things that you ned to know as a CS major, but not if you just want to make a game in an engine. Will there be stuff where he has to look it up and maybe learn a thing or 2? shure.
But these things are notneeded from the start, he will encounter them when he has tried playing around and seen if it is something he wants to invest more time and brainpower into.

And yeah, Floating points are one of these "programming basics" that are needed, thats why i said, a Algorythm and Datastructures course will help him more than a math course.
 

acmshar

Member
Nov 26, 2017
235
I think if you are looking for something to do, it would be better to just get started with game development. Depending on the type of game(s) you would like to make, you probably will run into some hurdles related to math. Oftentimes, I find solutions to these problems on forums, etc. and don't delve the whole way in. Other times, I actually have to work my way through the math to really understand the concepts.

While it would be helpful to understand things like matrix and vector math, I think it would be a better use of your time and energy to just start playing with a game engine to make a thing rather than trying to learn mathematics in case you run into problems that require a specific type of math. Then you can worry about that math problem when you actually run into it and want to solve it instead of having to solve it for some homework set you don't care about.

Signed, someone who took a lot of online courses.
 

Aether

Member
Jan 6, 2018
4,421
what was your answer? Did you give it in the form of a rotational matrix, or did you break it down further into x' and y' of sin and cosine derived from the matrix?

This is why I hate those kinds of interview questions, BTW. I can't list the x' and y' components off the top of my head, haha, I'd have to google it or work it out on a sheet of paper at least.
I hate these questions as well, since depending on a lot of factors a solution can be stupid as hell or the only viable. Are we drawing in a 3d space, or are we drawing in a rasterized plane? What is a "circle"? (aliased? is an oval a circle?)
I know they just want to see if you can start to formulate the problem and then formulate a solution, but still, i find it anoying, since you dont know if the used assumptions are to the liking of the interviewer.
 

Imperfected

Member
Nov 9, 2017
11,737
I started to type that with Unity you don't really need to know much more than basic math and proportions but then I remembered quaternions which would give a math PhD fits...

You don't necessarily need to really understand quaternions to use them, though, especially if you're just dumping color data into a container made for quarternions or something.
 

woolyninja

Member
Oct 27, 2017
1,028
While game development has become a lot easier, mathematics are still a pretty important part of it. You can get the basics working without it but once you really dig into the details it really helps.
 

Kain

Unshakable Resolve - One Winged Slayer
The Fallen
Oct 27, 2017
7,599
It sounds a bit like designing a house with some 3D modelling software and not being a trained architect: sure you can do it, but the moment something goes wrong you won't know were to begin to find a solution.

Well yes, Google and stack overflow but that takes you so far lol
 

Aether

Member
Jan 6, 2018
4,421
While game development has become a lot easier, mathematics are still a pretty important part of it. You can get the basics working without it but once you really dig into the details it really helps.
I would argue if he's really come that far to have a basic game running and it being fun, he's already halfway there and has shown that he has the skills to learn the rest. In other words: seachring for the math solution when he has the problem, not before even starting.

You don't necessarily need to really understand quaternions to use them, though, especially if you're just dumping color data into a container made for quarternions or something.
..-What? Today is the first day i heard about them, and my head is spinning from the wikipedia article.

It sounds a bit like designing a house with some 3D modelling software and not being a trained architect: sure you can do it, but the moment something goes wrong you won't know were to begin to find a solution.

Well yes, Google and stack overflow but that takes you so far lol
Except, the 3D model can look good and be used as a model in games, animations, without it being architectualy sound. It does not need to be physically build.
Same with games: it can crash, have problems, etc that would be a huge problem with user software or real world aplications, but as a piec of entertainment/art this does not really mather that much.
 

mclem

Member
Oct 25, 2017
13,448
what was your answer? Did you give it in the form of a rotational matrix, or did you break it down further into x' and y' of sin and cosine derived from the matrix?

This is why I hate those kinds of interview questions, BTW. I can't list the x' and y' components off the top of my head, haha, I'd have to google it or work it out on a sheet of paper at least.

It's been over twenty years, so forgive me if I don't recall it all! It wasn't that deep a breakdown (the point of the interview was more to isolate whether we had the right mindset to think about the issue. I remember talking about plotting x^2 + y^2 = 1 (and briefly talking about how we'd loop on that). I think we may have also touched briefly on aliasing rather than simply a "plot/don't plot" choice as well (When I actually started, I found out that that specific interviewer happened to be the one who was teaching us for the computer graphics part of the course, which makes sense)
 

mclem

Member
Oct 25, 2017
13,448
Goddamn. HyperCard and making games with it was my LIFE as a kid.

(Reliance on math is why my "game development career" never progressed past that point.)

Here's a relic that you and Krejlooc might be interested in, if you've not seen it before:



An old BBC2 programme, Hyperland. Douglas Adams - with some assistance - talking about the exciting future of Hypercard technology. It's a documentary, but, well, it's Douglas Adams, so the presentation is somewhat unconventional! It's very much targetted at the general audience.
 

xem

Member
Oct 31, 2017
2,043
there was a lead dev at Naughty Dog who did a talk (maybe gdc) one year and said when they hire people a great understanding in mathematics is essential. i'm trying to find the video
 

Aether

Member
Jan 6, 2018
4,421
there was a lead dev at Naughty Dog who did a talk (maybe gdc) one year and said when they hire people a great understanding in mathematics is essential. i'm trying to find the video
Yeah, and while it is for AAA, it also paints the picture that to even start to make a small game you need to be a geniouse (since, to be honest, the people that start working at AAA developers are usually the better SC students)

Its like "for starting to make music/learn an instrument you need to know music theory to a great degree".
Shure, if you want to play in an orchestra, you have. If you only want to make your lofi-indie record at home, not really.
 

Zombine

Member
Oct 25, 2017
13,231
I want to be the guy that points fingers with the big ideas that other people have to execute.
 

Buff Beefbroth

Chicken Chaser
Member
Apr 12, 2018
3,011
Here's a relic that you and Krejlooc might be interested in, if you've not seen it before:



An old BBC2 programme, Hyperland. Douglas Adams - with some assistance - talking about the exciting future of Hypercard technology. It's a documentary, but, well, it's Douglas Adams, so the presentation is somewhat unconventional! It's very much targetted at the general audience.


Have never even heard about this! Gonna get all cozy and check it out today for sure.
 

Calabi

Member
Oct 26, 2017
3,483
You don't necessarily need to really understand quaternions to use them, though, especially if you're just dumping color data into a container made for quarternions or something.

Yeah I don't think maths is required as much as people think. As long as your using a decent engine that has all the helper functions, you dont need to fully understand Quaternions(quaterinion.lookrotation) to use them and enough google answers you can do pretty much enough without much knowledge of the underlying maths(although it does help).
 

SickNasty

Member
Mar 18, 2020
1,250
You should probably be more specific in the question. 'Game Development' is a hugely broad discipline, and while everyone on era assumes every single person on the team is a programmer, that couldn't be less true. If you're wanting to build your own engine or graphics renderer or complex simulation, yes you will need to know a lot about maths, but if you're making some textures or audio, not really?

If the question was do you need to know maths to be a programmer, absolutely. A level designer? Not really, unless your team is so small you're doing everything yourself.
 

catswaller

Banned
Oct 27, 2017
1,797
you'll without a doubt use lots of geometry as a 3D artist, at least. 3D art is geometry.

This is a bit of an exaggeration -- obviously you're working with mathematical concepts, but many working 3d artists barely know what theyre doing under the hood. Math/programming knowledge is an unbelievably helpful skill for a 3d artist, and it's kinda shocking how many have so little understanding of what they're working with and how to solve problems, but it's definitely not expected.

As for OPs original post, if they already have a computer science degree (which seems implied by "avoided except what was necessary for computer science") they probably don't need a ton more general purpose math just to get started in games. If you have spare time and you're concerned about what skills yu need to make games, start making games. Depending on what skill(s) you want to pursue, any math deficiencies you might have will emerge right away.
 

Nil'giccas

Member
Oct 27, 2017
86
Reading this thread I wonder wether it might be possible to get a job at game development with a quite high level of math skills and knowledge. I'm finishing my PhD in algebra so quaternions for example are nothing special to me. I also have some basic knowledge of programming with Python, but not in C++. What should I do if I wanted to go towards game development?
 

Aether

Member
Jan 6, 2018
4,421
This is a bit of an exaggeration -- obviously you're working with mathematical concepts, but many working 3d artists barely know what theyre doing under the hood. Math/programming knowledge is an unbelievably helpful skill for a 3d artist, and it's kinda shocking how many have so little understanding of what they're working with and how to solve problems, but it's definitely not expected.

As for OPs original post, if they already have a computer science degree (which seems implied by "avoided except what was necessary for computer science") they probably don't need a ton more general purpose math just to get started in games. If you have spare time and you're concerned about what skills yu need to make games, start making games. Depending on what skill(s) you want to pursue, any math deficiencies you might have will emerge right away.
To me it seems he had it a s A course, not a whole degree.
Maybe im wrong, but the initial post is really lacking in information.
 

Imperfected

Member
Nov 9, 2017
11,737
Yeah I don't think maths is required as much as people think. As long as your using a decent engine that has all the helper functions, you dont need to fully understand Quaternions(quaterinion.lookrotation) to use them and enough google answers you can do pretty much enough without much knowledge of the underlying maths(although it does help).

I think people sometimes overestimate how much they actually know about things they use. Like, speaking as someone with a background in electrical engineering, I can barely describe for you the way the computer I'm using physically functions. I doubt most people reading this can even begin to do that, but they're still posting on those computers just fine. Likewise, I don't really need to understand dimensional constraints and non-standard models to pop an object defined by a quaternion into a game editor, play with some numbers and realize, "Oh, these are changing the pitch and yaw."
 

ABIC

Banned
Nov 19, 2017
1,170
In lockdown boredom like everyone else I'm looking for something to to do, so I was thinking of brushing up on the subject I avoided except out of what was necessary at school for Computer a Science. With it being such a wide area it seemed like it might be interesting to approach it by building up to what would be necessary for game development.

But with the majority of games from indie to AAA relying done on engines where everything from lighting to particle effects is already there for you, is it even all that necessary to understand how it's working underneath these days?

Or am I overestimating how much work is done for you or how much you can do on your own? If so, does anyone have any tips or recommendations on where to start? Any books, areas, courses, etc!

I'm on the design side, well, more, the numbers side of things. And yes.

Not to say everyone who makes games need to be good at math.. artists don't necessarily have to, and they can make wonderful games by themselves (e.g. Dust Elysian Tail).
 

Deleted member 12790

User requested account closure
Banned
Oct 27, 2017
24,537
It's been over twenty years, so forgive me if I don't recall it all! It wasn't that deep a breakdown (the point of the interview was more to isolate whether we had the right mindset to think about the issue. I remember talking about plotting x^2 + y^2 = 1 (and briefly talking about how we'd loop on that). I think we may have also touched briefly on aliasing rather than simply a "plot/don't plot" choice as well (When I actually started, I found out that that specific interviewer happened to be the one who was teaching us for the computer graphics part of the course, which makes sense)

When I was much younger, and first learning about rotation, sin, cosine, etc, I wrote a program to rotate a bitmapped image (not quite drawing a circle, but same principle) and accidentally discovered why the calculation should be run for every pixel x' and y' on the resultant screen, rather than every texel in the bitmap. My original implementation was to run the length/width of the pixels of the bitmapped image, for every texel, calculate it's resultant end screen position. The problem with doing that was it produced holes in the picture, due to the conversion from continuous representation in floating point, to discrete position on the screen (since you can't have half a pixel). So when I'd calculate out the end spot for each texel, sometimes they'd straddle half a pixel, and rounding errors would mean they would either go in one spot or the other. Occasionally, you'd have two pixels that would be like, just an example off the top of my head, 1.22 by 1.22, with the neighbor pixel being 1.44 by 1.44, and thus they'd both round to the same position.

Example from an article I wrote on this long ago:

z1ZgrAe.png


This kind of rotational artifact is known as speckling. By working backwards, essentially sampling which texel should fill each pixel on the screen, I'd produce images without holes.

Fun times, that's the kind of stuff you only really grasp if you play with the concepts and see the failure. Failure is a good thing, it'll teach you way more than constantly being right.
 

1-D_FE

Member
Oct 27, 2017
8,253
It depends on what you mean by math. The physics engines are incredibly robust. You don't need high level mathematical proficiency with things like Unity (as long as you understand how to properly use their frameworks). And are willing to use plugins for things like tweening and path finding.

If you're talking about being bad at logic, then yes, it's a major problem. You can create some very complex algorithms, without a genius understanding of classical mathematics, so long as you're skilled with logic. Logic proficiency is far and away the biggest requirement needed for these engines and game creation.
 

Deleted member 12790

User requested account closure
Banned
Oct 27, 2017
24,537
This is a bit of an exaggeration -- obviously you're working with mathematical concepts, but many working 3d artists barely know what theyre doing under the hood. Math/programming knowledge is an unbelievably helpful skill for a 3d artist, and it's kinda shocking how many have so little understanding of what they're working with and how to solve problems, but it's definitely not expected.

I'm not talking about under the hood, I'm talking pragmatic thinking. Things like scale conversion, "if my character is X units high by Y units wide, how big should a car be in relation to have appropriate scale" or things like "how to evenly bisect a shape into thirds," things like that. Math is inescapable. Even if you're not using pen and paper, you're still using the concepts. You can't avoid them, even if you don't realize you're using them.
 

Deleted member 12790

User requested account closure
Banned
Oct 27, 2017
24,537
Reading this thread I wonder wether it might be possible to get a job at game development with a quite high level of math skills and knowledge. I'm finishing my PhD in algebra so quaternions for example are nothing special to me. I also have some basic knowledge of programming with Python, but not in C++. What should I do if I wanted to go towards game development?

There is a term, and I always forget it because it's wordy, that explains the logical and syntatical relationship between mathematics and computer programming. The broad idea is that the language of math, and the language of computer programming, share a common concept, where nested functions return to higher functions to form more complex functions. If you have a PhD in mathematics, you no doubt innately understand much of the structure of programming. It's all about encapsulation and recursion.

Your next step should be to learn the basics of program control. Learn conditionals (if statements, in other words), and loop controls. Then move onto learning specific syntax. I've already recommended it ITT, but look up smileBasic. BASIC is still terrific for entry into computer programming, it's meant to remove as much of the fluff from syntax as possible.
 

1-D_FE

Member
Oct 27, 2017
8,253
There is a term, and I always forget it because it's wordy, that explains the logical and syntatical relationship between mathematics and computer programming. The broad idea is that the language of math, and the language of computer programming, share a common concept, where nested functions return to higher functions to form more complex functions. If you have a PhD in mathematics, you no doubt innately understand much of the structure of programming. It's all about encapsulation and recursion.

Your next step should be to learn the basics of program control. Learn conditionals (if statements, in other words), and loop controls. Then move onto learning specific syntax. I've already recommended it ITT, but look up smileBasic. BASIC is still terrific for entry into computer programming, it's meant to remove as much of the fluff from syntax as possible.

Python is also great, IMO. That's how I learned. Very little syntax (compared to C). Worry about the meat and potatoes, before you start tripping over syntax.
 

turbobrick

Member
Oct 25, 2017
13,063
Phoenix, AZ
Since most people already answered the question, I'll just add that the amount of math you need depends on what you want to do and the tools you're using.

I remember in school I took a graphics class, and even the most basic of things required quite a bit of work, especially when doing 3d stuff. I spent days on an assignment just to make a 3d figure move around on a flat surface.