top of page

Incredible Machine

A mockup of the original 1993 game
Incredible Machine

TEAM SIZE

DURATION

PLATFORM

TECHNOLOGIES

6 PROGRAMMERS

6 WEEKS

LINUX

C++, OpenGL 4.2, SDL

WHAT WAS THE POINT ?

Incredible Machine. For those of you who don't know, it's a puzzle game that relies on Physics. You give food to a hamster that starts spinning a wheel that provides power to a switch that turns on a lamp that gets magnified by a magnifying glass which lights up a firework that says you won. Of course, all of that is not random. You need a deterministic physics engine and a set of rules. So this was the first project that was making us do a physics engine and integrate it into a custom mini engine. This time, we were given the opportunity to work with OpenGL 4.2 instead of SFML or OpenGL 1.4. We took this opportunity and turned the Renderer into a runtime Plug-In just for fun. Overall, the point of the project was to manage a decently big group and create a complexe game with a small level editor inside to allow other people to create puzzles.

WHAT I ENDED UP DOING...

So out of all the things that we had to do, I ended up working on the Engine and Renderer Plug-In. This was the first time we did shaders and modern OpenGL. So that required a few ajdustments inside the engine. I worked on creating some of the objects for the gameplay. At some point, I also helped for the serialization, which was a big part since we had to do it ourselves and the game was about saving puzzles so we needed a way to save all of the puzzles. A huge part of it came along pretty fast, and that was the GUI System. It was the first actual game we made that required windows and concrete interactions. This was a pretty big aspect of it that kept me going for quite some time.

WHAT I LEARNED FROM IT !

The beginning of OpenGL 4.2 and a complexe GUI System were the two big things for this project for me. I had a lot of fun trying to figure out all of the modern OpenGL logic by myself. We were the only group opting for this type of rendering, so we had no classes. The GUI system was a huge part, and designing it was very interesting. It was a lot of planning and tweaking around. It gave me a good look at all the problems that can happen for a graphical interface. I think I learned a lot from this project in terms of technological and technical skills.

bottom of page