Randy Gaul is software engineer with a variety of skills, including mathematics, analytics, simulation and physics.

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.

To contact randy, he uses gmail with his last name followed by 1748.


9 thoughts on “About

  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}=

    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”)


  3. Devons Mo


    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!

  4. Erik Åhlund Helguera

    Hey I’ve been reading your articles about the custom physics engine plus other articles such as the dynamic aabb tree (very interesting stuff).
    I’m currently studying at The Game Assembly, a Swedish based university similar to DigiPen. I have some doubts about the physics engine and how some things work.
    Anyway, I thought we could talk a bit if you have some time :)

    PD: Is there any book you recommend me for 3D physics? I’m trying to make my own physics engine, I’ll go for a structure similar to your qu3e engine but add springs, other shapes, etc.

    – Erik Ahlund Helguera

    1. Randy Gaul Post author

      Hi there, thanks for the comment. Feel free to email me! Email located at top of my (outdated) resume :)

      No 3D books available. If you want to add springs and such you can take a look into Box2D’s source and pull out the soft constraint code for his spring. You can do a one to one translation to 3D. For adding other shapes, well if you understand the math in qu3e you can derive your own collision detection for pretty much anything you can think of! Once the mathematics and fundamentals are understood the rest starts to get easier.

  5. Steven Savold

    Hey Randy,

    I have been looking into the function binding video you did back in 2013. I was wondering if you had done anything more with it since then. I am very interested in learning the technology behind it, and was wondering if there was any more information on the topic other than what you have on the blog page about it.


Leave a Reply

Your email address will not be published. Required fields are marked *