We've both had aspirations to develop video games in the past, but we felt that we had to gain an understanding of how video games work on the most fundamental levels. We focused on real-time 3D graphics for this project.

Our program is a custom game engine in Python that handles 3D rendering, translation and rotation, object collision, and physics simulation.

We created this unique rendering engine by studying the foundations of 3D graphics and developing and implementing our own, custom solutions to common problems, such as object collision.

We initially attempted to write this engine in C++ using SDL, a powerful and capable C++ graphics library. SDL's coordinate system, however, didn't like us very much. SDL gave us so many problems that we felt it necessary to use a simpler library and language, such as pygame, a graphics library for Python.

We're both very proud of the streamlined collision detection, real-time physics calculations, and our dynamic object placement system.

Over the past 24 hours, we've learned a tremendous amount about how 3D objects are rendered (and how modern applications handle those calculations) and the wise and unwise applications of SDL. This was an unwise application of SDL.

We hope to continue working on our 3D engine, adding new features to That Game, the tech demo of our 3D engine. While we weren't able to write it in C++ today, we hope to port it to C++ in the future to render 3D objects with increased complexity and efficiency, utilizing the lower-level access to the computer's hardware.

Built With

Share this project:

Updates