Hello, is it necessary to know math and physics for game programming ?

If the answer is yes , can somebody tell me what i need to know at math and physics

Thx and sry for the grammar or if i posted in wrong section

from wher i stand,

math !! yes, physics !! only if your tring to do a simulation game !! but i dont think so ,

i tryd doing coding for blender games, " saldy i didnt make it " but i also worked with java, PHP action script in flash, , it need math , but i dont think it need physics

this is just my opinion !!!

It’s possible to make good games with just knowing basic math. Algebra, maybe you know some triangle meassuring. It helps to know how a matrix works, and how to plot those points on a graph.

The modern game engines, such as godot, do all the hard math and physics for you. You just need to program behavior, and make the game pieces.

Agreed, many engines have a ton of helper functions so you don’t have to do any manual calculus or otherwise highly advanced math (because the engine can do things like get euler values out of a matrix or a matrix from euler values, point an object in the direction of another, interpolate between values, ect…).

Though it really depends on the engine, the popular engines generally have this covered, the lesser known engines may actually require a bit of math knowledge. This mainly applies to general math, as a physics engine is more or less standard these days.

Honestly you can just learn how to code first and figure out the math along the way. Works for me.

NINJAEDIT: I love making these.

Sry for the grammar this should be the question what i was wanting to ask, so the question is…

What things i need to learn from math and from physics ? to know how to program a game.

All i need is the list from both math and physics.

Having an understanding of certain math concepts can help. For example, quaternions are 4th dimensional representations of a rotation. The dot product of two vectors can help you when trying to check if an object is in front or behind you.

192.168.0.1

What you are looking for is vectors/matrices, linear algebra then you want to learn about basic physics like speed, acceleration, force etc After these you can move to advance stuff.

There are “game math” books. They tend to cover all this stuff.

Local = own.worldOrientation.inverted()*(some_worldPosition- own.worldPosition)

#places a point or unit in local space to a actor

For the most part – “all the complicated math/physics stuff has been done for you” – *but…* – “you still need to understand the mathematical language that they use.” Because, like it or not, it **will** intersect with your game’s code.

For example, whether you exactly know what a “quaternion” (or simply, “quat”) *is,* you do need to have an understanding of how this avoids the “gymbal-lock” problem of “Eulers” … and so on. You need to understand force, mass, gravity, speed and acceleration, and how those things are routinely expressed and manipulated by physics software libraries, even though you don’t actually *do* the math.

(It’s actually not nearly as hard as it sounds …)

I’ld say there are things you might have to learn depending on what kind of code you are doing.

For implementing physics you definitelly need to know at least the basics of well… physics.

But I am almost sure you, soon or later, will be forced into learning the basics of the following subjects.

- Vectors
- Matrices
- Pythagorean theorem (distance between vectors)

You need to *know about* it, but also don’t forget this mantra:

Actum Ne Agas:“Do Not Do A Thing Already Done.”

For nearly everything that you want to do with a computer these days, “somebody has already done it.” And what is more, on places like “github.com” and “sourceforge.com,” they have *freely shared source code.* Physics, for instance, has been thoroughly addressed by not just one but several excellent libraries. Entire games have been posted so that you can rip them apart, and so that you can avoid starting from scratch. There are many fully-developed “game frameworks.” (On the old Apple ][ that I still own, I have a “Pinball Construction Set,” which does exactly what you think it does.)

So – no matter what it is that you’re going to set about doing, start by doing *research.* Yes, you need to understand the basic principles, but you don’t have to start there.

Everyone has given you good info to start out…

Here is my take on this… Pick A Game Engine! Unity, Unreal and Cryengine all have there good and bad points and all can do just about anything you want it to do! Personally I prefer Unreal, and you can get an Indie Licence (on all of them) for FREE. Good and bad of each is for another topic, but once you have Picked one…Learn their own procedures for creating! You will learn Math and Physics as you learn the software it goes hand in hand!

Yes. Highly necessary. You must know:

- Algebra
- Trigonometry
- Logarithm
- Derivative
- Matrices
- Functions
- Trees
- Vectors
- Determinant
- 3D geometry math
- Integral (for high level programming)
- Differantial Equations (for high level programming)

Physics:

- Basic Physics
- If you need advanced physics, you can get consulting a professionnal physicist.

The point of this thread though is that all of the modern engines have functions and features that eliminates the need to intimately know the more difficult concepts. Not only that, but the amount of math you have to code by hand is greatly reduced as well. An example is the many functions related to matrices, whereas you can do things like use much easier Euler values and have the engine worry about the matrix math.

The statement above would apply for the majority of games you can make with these engines, but math knowledge is still very much needed if you dive into advanced mechanics like the procedural generation of geometry.

I’m graphic programmer.

If you don’t know these things, when you encounter a problem, then you can not make anything. If you need improve capabilities of render engine, then you must know these things. Professional graphic and game programmers are must know these things.

Example: You rotate a camera, but you encounter gimbal lock problem. What wil you do? You do not know Euler angles and quaternions. You will enter any forum and write: “I encountered this problem, bla bla bla…” This is not good.

I feel you, I had the same fear of being forced to learn hard concepts just to make a game, I could manage to make a few flashplayer style games but never made a decent one though.

I strongly recomend you follow the tips from all guys here and go learn some math, its not all that hard, its just boring.

Also, there’s an game engine that might be what you are searching for, its called Construct 2 it was my first contact with programming of any sort although it uses logic bricks instead of code, it will handle all the physics for you but don’t expect much you still sometimes need to care about XY coordinates but I think you’ll do fine.

Also construct 2 is paid if you want all the features, one more reason for you to learn math and use a more free engine like unity.

In rotation problems, there’s also quaternions you can use. Engines like Godot also have a number of helper functions that can help construct a matrix to solve the problem without actually having to learn calculus.

That said, the low-level math can still be done. If you really think the abundance of functions to help with math is useless, then you can write your scripts without them and do everything by hand. You can even turn off the physics engine (which is often powered by either PhysX or Bullet) and do all of that by hand as well.

If you want be professionnal programmer, you must know. If you are not know, you are not preferred. We mostly use packed programs, plugins etc., but at the same time we know this things. We only use for quick programming.

That would indeed be required if you’re working for a studio or a vendor (in a position where you need to work on engine or software code). For example, if you work at an AAA studio using a custom engine, because you will often have to work in the engine source itself.

However, if you just want to make games and deal with the potential limitation of a generic game engine (ie. just working with the editor and the provided API), then I have well developed projects in both the BGE and Godot that can testify to not having to know college-grade math to make something fun and fully playable.