Optimus - 2D Game Engine
- Siddharth Gupta
- Oct 28, 2019
- 2 min read
Hello Guys,
Today I think is the perfect day to introduce my other pet project that I have been working on and off for the past 4-5 months. I have always remain fascinated by computer graphics and its realism. I love to program pixels. This excitement sparked the interest to quickly adapt and learn the modern graphics API, Vulkan. However the last time I attempted to learn a graphics API (OpenGL) , I ended up making few small independent projects that focused on certain parts of computer graphics, namely shadows or lighting etc. Well, I wanted something interesting to keep me going. Something that connected the dots of my knowledge. I knew how to do basic computer graphics but I really wanted to learn how all these elements come together and beautifully render a game at 60 fps. This lead to the birth of a very common idea among all graphics programmers, and that is to develop a Game Engine. PS: Definitely not like Unity/Unreal but definitely like Optimus.
Game Engine may be just 2 words but actually writing this piece of software and finishing it from start to end by a one man army is no short of a pinnacle dream of a graphics programmer or rather a game developer. It's an enormous project by itself and requires quite some dedication and perseverance. Well in this case it was obvious to scope the engine as small as possible to have more chance of hitting it. This lead to a simple idea to be able to create basic pong game using my engine, and that became my goal instantly. To be able to simply write a basic engine with 2D Vulkan renderer then became an obsession of mine. These goals are strong in my mind as this is solely a learning experience by putting myself in the challenging situation. The benefits were clear,
- Vulkan
- Basic Game
- C++ 11/17
- Systems Design
After rigorous work of going back and forth on this project I am proud to say that today I could actually render a triangle on the screen and its a feeling a very rare proportionate of developers might relate. Well to keep things in your frame of reference, a game is made of thousands of polygons(Mostly triangles) that are rendered by the GPU once the information about the triangle is submitted from the CPU. Thus, to be able to render a triangle using a generic piece of software is really a big feat. This will only push me forward if not fast enough then maybe supersonic. Check it out...

Comments