Randy Gaul is software engineer with a variety of skills, including mathematics, analytics, simulation and physics and currently works for Wargaming Seattle (formerly Gas Powered Games) doing game physics stuff. He attended DigiPen for his Bachelor’s in Computer Science: Real-Time Interactive Simulation (CSRTIS) from 2011-2015.

His hobbies include activities such as: competitive real-time strategy (RTS) games; traditional art; programming in C and C++; Minecraft/Terraria; high class dessert games.

# Computer Science

Randy is fluent in both C and C++ programming languages, and thoroughly enjoys scripting in Lua. He also has experience in Python, Javascript, and AS3. He specializes in video game programming, and greatly enjoys mathematics and low-level programming.

Share

1. Andrew Kierum

Dear, Randy Gaul

Hello!  I am hoping for a bit of time from you to help me out!

First off I am a 15 year old programmer.  I have been programming since 5th grade and recently went up to DigiPen and took project fun VGP1 and VGP2 learning the Zero Engine, and the Alpha engine.  This year i was trying to take AP computer science at my school but unfortunately they put me in an introductory level programming class that uses old project fun VGP1 curriculum.   Fortunately my teacher has agreed to help me learn any thing within reason.  So i am on a huge such for recourses and ideas so i can plan out my year of exploring more in depth programming.  I have been through Algebra 2, and have plenty of former teachers to help me out with math if i ever don’t understand things.  Also i understand allot of these things are advanced concepts, but i am a persistent learner and need a challenge as i have been leaning on other peoples work for far too long!  I totally understand that these concepts are taught at DigiPen but unfortunately for me DigiPen is a loooonnnngggg ways away and I cant wait!

Somehow i ran into your article series on Tuts + on making a game engine.  It is the only decent recourse i have found that covers engines like this from the ground up.  Unfortunately i have been stunted by three big things.

1.  The article you linked to about the Separating Axis Theorem is difficult for me to understand, because the equations don’t display properly.  Instead i am seeing

$\begin{bmatrix}A_x \\A_y\end{bmatrix}. \begin{bmatrix}B_x \\B_y\end{bmatrix}= A_{magnitude}*B_{magnitude}*cos(theta)$

2.  Your first article in the series also has equations i can not read they look just like above.

3.  I need to find books, articles, tutorials, textbooks, guides ect. to teach these things to me.

I was just hoping you could possibly point me to some good books, recourses and thing that teach cool programming things.  I would currently be most interested in learning how to make a collision system, learning 2d shading such as glow or lamps ect., and learning how to write my own methods/engines.  Also it would be great if you could see if you can get the formulas to show on your first article (it works on the others).   If you can please help me out it would be much appreciated!  And if you can’t thank you very much for contributing all of this information on tuts + and on your site with people.  The time, and effort you put in is much appreciated by me.

With Regards, Caleb Kierum

1. Randy Gaul Post author

Hi there! I’m not sure why the formulas aren’t showing, but you could try Ian Millington’s orange book on Game Physics. You might enjoy this a lot! Also I really like “A Modern Approach to C Programming” 2 Ed. by K.N. King. Good luck with your studies :)

2. Phil Ho

Thank you very much for your tutorial on 2D rigid body physics and the code on GIT!

ATM, I translate the c++ code to c# with monogame, hoping I will understand it completly, one day. All my game ideas I had in the past demanded collision resolution, I never got right. I hope my idea can be implemented with the help of your code (a top-down space game similiar to “faster than light”)

Phil

3. Devons Mo

Hello!

I’ve read your tutorial on making a physics engine, and I really love the detail with which you described your process. Needless to say, you’re my programming role model.

You see, I’m making a game called The End Always Comes in GameMaker: Studios, which my team and I intend to release onto Steam. It’s still in its fledgling stages of game development, but you can still find out about it and my team at namelessstudios.weebly.com. I’ve been using your tutorial as a major assistant to getting my own physics engine working. I’ve had to make a lot of adjustments since GameMaker Language isn’t as powerful as C++ and doesn’t have a lot of the commands that you used in the tutorial, but your logic still carries through and gets my rendition of the engine working.

Since your tutorial was such a big help, I want to ask you if it’s alright that I continue to use the tutorial to build my physics engine. I feel like I’m indebted to you, and I want to make sure that I have your permission and that, if you allow me to use the tutorial, I credit you properly. Thanks for reading this, and I hope I can hear from you soon.

Devons Mo

1. Randy Gaul Post author

Thanks for the words :) Sure thing, I don’t mind! If you have specific questions feel free to email me directly. Good luck with the game!