This week's book giveaway is in the Kotlin forum.
We're giving away four copies of Kotlin in Action and have Dmitry Jemerov & Svetlana Isakova on-line!
See this thread for details.
Win a copy of Kotlin in Action this week in the Kotlin forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Maths for Games  RSS feed

 
SD Leech
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What are the main Maths/Physics subjects I need to learn for games programming(note UK style spelling of Math). Even small Java games need a certain level of understanding of Maths to get started. Im not at an advanced level and alot of the Maths that get distributed around the web is pitched so that Advanced Mathmeticians can understand. I need somewhere to at least start from but build up the level later.
Thanks
 
Michael Morris
Ranch Hand
Posts: 3451
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi SD,
Welcome to JavaRanch. You certainly will need basic geometry and at least a rudimentary understanding of trigonometry. Matrix algebra and Vector Analysis are definite pluses. Space analytic geometry will be helpful for 3D games.
[ May 13, 2003: Message edited by: Michael Morris ]
 
Layne Lund
Ranch Hand
Posts: 3061
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Well, it depends entirely on what kind of game you wish to build. As mentioned, 3D games are probably the most math intensive since you have to know linear algebra, geometry, trigonometry and even physics. However, I would suggest you start with something a bit more simple, say Tetris, Pong, or Bricks for example. These don't take much more than some algebra and logic.
Of course, even programming in general assumes you understand some basic algebra. At least I find the similarities help me out a lot.
 
Layne Lund
Ranch Hand
Posts: 3061
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
p.s. Game programming can get pretty hairy. You should really concentrate on the fundamentals first, not only the math, but also the basics of the language you wish to program in (Java, in this case). If you start getting into games where speed is a real issue, you may find that you need to move to a different language as well, such as C++.
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
See RoboCode at IBM. The framework provides a gaming area, you build or modify autonomous robots that battle each other. There are good examples in the download, others all over the web, and some are extremely sophisticated. There is much math to be done - polar to grid coordinates, vectoring shots, moving with relation to walls and other bots, etc. And it's addictive fun! You can enter your bots in tournaments and forget to go to work for a week!
 
Dirk Schreckmann
Sheriff
Posts: 7023
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Two math books for computer scientists and 3D graphics and game development getting decent reivews at Amazon:
Concrete Mathematics: A Foundation for Computer Science (2nd Edition)
3D Math Primer for Graphics and Game Development
 
Jim Yingst
Wanderer
Sheriff
Posts: 18671
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You may also be interested in Physics for Game Developers. Though to be fair, many games require no physics whatsoever; as Layne noted, it really depends what sort of game(s) you're interested in developing. I also agree with all the other comments I see here so far.
 
SD Leech
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for all your replies.
To clarify some of your comments, I think for now Im only considering something like 2D Java games, but obviously would like to start to get a grasp on the Maths for some of the 3D technology. I have to start small - not too complicated!!
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!