- Home /
Is there any Math I'm missing for this project I'm working on?
I'm writing down a list of math types to learn for programming, and needed to see if I missed any. I'm trying to create a game in Unity with similar melee combat to Smash Bros which requires me to mess with physics. (The game is 2D, not 2.5D like Smash Brothers though.) I also want to create semi custom physics for a tether type object(IE. Grappling hook)
I was thinking I would need to learn
Algebra
-Basic Algebra
-Linear Algebra
-Geometry
-Trigonometry
Physics
-Basic Physics
Miscellaneous (Things I need to focus on in general from what I've researched. Though, I'm confused which each thing would be labeled under. For example, do I learn Quaternions in Physics? etc etc etc.)
-Quaternions
-Gimbal Lock
-Euler Angles
-Matrices
I know this sounds like a lot of math, but I'm very dedicated, have a lot of free time, and learn extremely fast by myself.I'm still new to programming though, and needed to see if anyone could reccomend me any other math that they think would be required to do this project.( I researched for a decently long time, and just really wanted to make sure I didn't miss anything! :D)
Edit: I'm learning a lot of this math just to become better at programming as a whole. (I've already learned some of the math I listed and just included them in the list so no one would bring them up.)
This probably goes in one of your other categories, but Vector math is pretty important.
It may be that you're already strong enough in this area, but strictly speaking I would put some basic Logic before any of those.
additional important math field I$$anonymous$$O:
Probabilities!
Learning some basic algorithms would be useful too :
link1 (basic)
link2 (advanced)
You have wikibooks available to learn some math.
Unless you are working on a very low-level you won't need to know anything about physics and its equations (newton laws), Unity has convenient tools so you don't have to bother, but it is important to know some keywords (like gravity/acceleration, force, Interpolation...).
But if one have time I think one should learn maths and physics, you never know when you could need them.
The more you gain experience in program$$anonymous$$g the more you want to work with low-level tools and functions (when you are experienced, basic tools may not be so ideal anymore).
EDIT : (old) article on the question.
$$anonymous$$ost people approach this the other way. Just do the project, run into something you don't know how to do, then learn what you need for the project. You don't need to make a list -- the list will find you.
In fact, the common advice is, "if you want to $$anonymous$$ch yourself X, think of a project using it."
If your background is terrible (that first list is just "High School math" ... are you < 9th grade, or working on your GED?) then eventually you'll get stuck on enough equations, say, that you'll naturally pick up an algebra textbook. But now you'll know what you're trying to learn.
I would definitely not worry about quaternions or gimbal lock, especially for a 2D game. Quaternions are used to represent 3-dimensional rotations, and gimbal lock is a problem that can happen if you're using Euler angles to represent 3-dimensional rotations. If your game is 2D, you can represent all rotations as a simple angle about the Z-axis. Even in 3D games, Unity gives you nice functions that deal with all the quaternion math behind the scenes so that you don't have to deal with them.
Probably two of the most important areas of math that you should be familiar with are vectors and parametric equations. But it's more about being able to apply concepts rather than learning them... there's a certain way of thinking about problems that comes with experience that you can't learn by picking up a few textbooks and reading.
Your answer
Follow this Question
Related Questions
Bounce rigidbody backwards without knowing its rotation 1 Answer
How much force? 1 Answer
RigidBody 2D x velocity function 1 Answer
Is there a way to have very large mass 0 Answers