Successful game programmers understand that in order to take their skills beyond the basics, they must have an understanding of central math topics; however, finding a guide that explains how these topics relate directly to games is not always easy. Beginning Math Concepts for Game Developers is the solution! It includes several hands-on activities in which basic math equations are used for the creation of graphs and, ultimately, animations. By the time you finish, you will have developed a complete application from the ground up that allows you to endlessly explore game development scenarios for 2D games. If you have a basic understanding of programming essentials and a desire to hone your math skills, then get ready to take a unique journey that examines what is possible when you combine game development with basic math concepts.
John P. Flynt, Ph.D., works in the software development industry, has taught at colleges and universities, and has authored courses and curricula for several college-level game development programs. His academic background includes work in information technology, the social sciences, and the humanities. Among his works are In the Mind of a Game, Simulation and Event Modeling for Game Developers (with co-author Ben Vinson), and Software Engineering for Game Developers. John lives in the foothills near Boulder, Colorado.
Boris Meltreger graduated from a top mathematics and physics high school in Russia. He went on to earn an advanced degree in optical engineering. After completing a dissertation on acoustics and optics, Boris took up work for the Russian government developing optical computers. He has been the recipient of engineering awards for his work and has owned his own engineering company. Boris has in recent years performed pioneering work in the development of optical technologies for medical applications and currently works as a software engineer. Boris lives in Aurora, Colorado
1. GETTING STARTED WITH C# AND THE MATH LIBRARY A. C# as a Game Development Language B. Setting up a Project C. Inspecting the Math Library D. Guess a Number 2. FUNCTIONS AND METHODS A. Understanding Functions as Patterns B. Creating Lab for Exploring Functions a.Generating Date for a Table b.Developing Classes c.Equations and Methods 3. CONCEPTS BEHIND FUNCTIONS A. Number Domains B. Restricted Values C. Handling Exceptions D. Making use of a List to Store Function Output E. Fields and Properties F. Division By Zero and Other Mysteries 4. EXTENDING THE LAB WITH A COORDINATE PLANE A. How to Graph B. Putting the List Values to Work C. Using a Flag D. Closing E. The True Value Game 5. LOCAL AND WORLD SPACE IN CARTESIAN TERMS A. Spawning a Cartesian Plane. B. Learning How to Do Things Twice C. Understanding Grids D. Axes and How to Make Them E. Making Your Point F. Finding the Curve 6. CHANGING THINGS: LINES, SLOPES, AND METHODS A. What Counts As a Valid Function B. Constant Functions C. How to Make a Profit D. Linear Things E. Making Things Visible F. Method Overloading H. The Factory Game 7. QUADRATICS AND OTHER FUNCTIONS A. Parabolas B. Minimum and Maximum C. Absolute Values D. Discontinuous Functions E. Stair Steps and Other Antics F. The Table Game 8. LIMITS AND METHODS FOR THEM A. Talk of Limits B. Bicycle Tires C. Different forms of Limits D. Continuity E. Infinity F. Creating Graphics That Merge 9. ANIMATING THE WORLD A. Threads and Timers B. Eliminating Flicker C. Derived Classes D. Working with Arrays of Continuous Values E. Queues and Coordinates F. Event Generation G. Event Detection 10. IN TO THE GAME A. Derivation and Acceleration B. Controlling Flight C. Multiplying Complexity D. A Target Game E. Extended Intelligence in Games