Francis Cugler

United States

Self taught c++ programmer, main field of interest is 3D Game Engine Programming, DirectX or OpenGL both are good. I have learned the process from an empty visual c++ project. The video tutorials I have followed did not supply any source code, everything had to be manually typed and debugged. I have learned how to set up OpenGL and OpenAL for windows application. It took about 2 years and is a large scale project. We implemented 3 static libraries. A mathLib, objectLib and sceneLib on top of the main project. We had an ErrorHandler class, UserSettings class, a ColorOGL class and a GameOGL class, and a few classes for AudioObject within the main project. In the mathLib we had a couple of Vector classes, a Plane class, Integrator classes, Interpolate class and a GeneralMath class for most of the vector and physics calculations. The physics engine was small and basic with simple collision detection, simple AI, and animation. The objectLib contained a few derived Geometry classes, a class for our items and characters in the game, and a handfull of classes to import object or scene files from Caligari's trueSpace. It also contained all the objects for our custom GUIClasses, which includes button, radio, list, image and sliders. The sceneLib contained classes for player, camera, material, textures, textureTransforms, fonts, lights( point, spot, and directional) and node classes for our sceneGraph along with our Scene class which brought all of these elements together. We also wrote our own parser so that any of our objects textures materials, etc could be changed from a text file (*.lvl) and run the program without having to rebuild the app just to change a few parameters. To make the code writing process easier, we implemented three manager classes one for our Textures which also handles our founts, one to handle all of our GUI classes and one for our Sound. We also have a HUD and a Console implemented as well. We covered networking in a different series but it was not included or integrated into the overall gameEngine. With all of this we took the gameEngine refined it a little then built a playable 3D first person shooter game. The newest set of material that is being covered right now is doing a Series on Shaders using OpenGL. If you are interested in learning please vist my mentors website @