I'm starting to customize my game a lot more beyond just the engine and I'm curious what sorts of algorithms and concepts exist. There are a ton of solutions for physics and geometry-like questions, but I'm curious apart from that what is the most common. I know of things like LERP, etc. What else do you find most useful? Thanks,
Asked
Active
Viewed 118 times
1
-
This is very broad. Can you specify what you mean and how far are you with your game engine? – Majte Oct 28 '15 at 01:10
-
My game engine is a mud engine, so it's all text based. I'm just looking for things that might help me in designing my algorithms for systems in the game. For example xp gains with a cap that keeps slowly diminishing, for rewarding players for killing a harder level NPC while decreasing XP when they kill one below their level, etc. – Sorressean Oct 28 '15 at 01:20
-
There is already a great answer to XP capping just very recently posted: http://gamedev.stackexchange.com/questions/109985/simple-diminishing-return-with-cap As I said, you need to specify exactly what you are looking for, as it stands the question appears to broad. – Majte Oct 28 '15 at 01:35
-
As I said... I am looking for mostly just good materials to read, useful algorithms, etc. There are a lot of resources for things like physics and geometry, so I'm curious what else people find useful. – Sorressean Oct 28 '15 at 02:20
-
1The StackExchange format is intended for "Q: How do I solve problem X?" "A: You do Y then Z" - well-defined questions for which there is a correct answer. Broad lists or personal opinions like "what do you find useful?" are better-suited to chat & discussion forums or other formats. As Majte has said, this question is too broad as stated and will be closed unless you narrow it to a specific topic or problem to solve. – DMGregory Oct 28 '15 at 02:48
-
I think this is a good question, even though it is broad. There have been many questions here on gamedev and stackoverflow where it wasn't in the format of "Q: How do I solve X? A: You do Y" that have been very useful. Many algorithms like lerp are very useful and compiling a list of them with a real world usage example for each of them would be quite nice and I'm sure a lot of people could learn from it. – oxysoft Oct 28 '15 at 03:14
1 Answers
-1
Common math algorithms (besides physics and geometry) can be everything since programming can be reduced to math. :-)
But I understand what you mean. I can't offer you a detailed list of algorithms since this would be a really long list (and I don't know them all).
General topics besides the two mentioned would be:
- Artifical intelligence: you can crack your brain with support vectors and markov chains or start with the A-Star alogrithm
- Animation algorithms/systems for 2D and 3D like Spine, a loco motion and or something like Unity3D
- Not to forget tweening systems for animation
- If you like algorithms for image effects/image processing like filters can be fun (it can be fun they said :-) )
- Procedural generation of terrain is also about math
- Noise algorithms can be used for procedural texturing
- Randomness and random number generation is a big topic in the gambling sector
Well, I haven't read them (all) but here are some books that may could fit your interests. I know them but it doesn't mean I have read them all.
- Beginning Math and Physics for Game Programming: Wendy Stahler, 2004, New Riders Publishing
- Essential Mathematics for Games and Interactive Applications (Edition 1 and 2): James M van Verth and Lars Bishop, 2008, Morgan Kaufmann Publishers
- Mathematics for 3D Game Programming and Computer Graphics: Eric Lengyel, 2003, Charles River Media
- Mathematics for Game Developers: Christopher Tremblay, 2004, Thomson Course Technology PTR
- Core Techniques and Algorithms in Game Programming: Daniel Sanchez-Crespo, New Riders (I can remember there has been AI questions like: how to organize a group of soldiers going through a door,...)
- Also the "Game Programming Gems" Series and derevatives (Graphics Programming Gems, AI Programming Gems,...) offer a good collection of reusable techniques and algorithms (e.g. component based systems)