About Me

My name is Mohamed Zaid Campwala, I am a Game Programmer based out of Ontario, Canada. I am immensely passionate about programming and possess a solid foundation in game design/development principles,object-oriented programming, data structures and algorithms, gameplay mechanics, and interactive storytelling. I have a professional background in programming, which includes completing an internship at Wiz Robotics, where I collaborated with a mentor to teach Python to children aged 6 to 17. I also have experience working with industry-standard tools and technologies, such as Unity 3D and Unreal Engine, and frameworks like Vulkan, OpenGL, and SDL. I am proficient in programming languages like C++, C#, Python and also in web development languages like HTML5, CSS. In my previous projects, I have collaborated with multidisciplinary teams to develop and implement game mechanics, design levels, and optimize performance. I have done most of my work on graphical projects using Vulkan, OpenGL and SDL frameworks. My projects and my game, Zoomer Dash, highlight my knowledge and skills.

Game

Image 1
Image 2
Image 3
Image 4
Image 5
Image 6
Zoomer Dash

Zoomer Dash is a third-person 3D Platformer created in Unreal Engine 4. The clock is always ticking for the speedrun. Climb objects, jump your way to the next path, bounce around on the jump pad, make your way through the maze, all this without FALLING. The game is set to challenge the player and force the audience to use their problem solving skills in the fast and engaging environment.

  • #Action
  • #3D
  • #Speedrun
  • #Platformer
  • #Short
  • #Low-Poly

Projects

Rendering Normals in Vulkan

Created a Graphics Pipeline in Vulkan to render normals of two Mario objects. Implemented push constants to provide uniform data to shaders and creating descriptor sets to allow shaders to freely access buffers and images.

C++ Concurrency

Created a 2D scene in OpenGL and Implemented multi-threading by creating three separate threads to load assets in a graphical scene for optimization. Implemented a memory monitor to manage memory allocation and deallocation.

Trackball

Loaded a skull object with two child objects(eyes). Created movement within the scene using SDL Events. Used X/Y coordinates to implement movement using the left mouse button.

Refraction Shader

Loaded six textures to create a skybox using C++ in OpenGL. Implemented Refraction shader and displayed it by creating a sphere. Implemented my trackball system that allows movement within the scene.

Reflection Shader

Loaded six textures to create a skybox using C++ in OpenGL. Implemented Reflection shader and displayed it by creating a sphere. Implemented my trackball system that allows movement within the scene.

Angry Bird Simulation

As part of my physics project, implemented a body class that simulated physical forces such as gravity, drag force, and wind force using objects initial velocity, position and acceleration.

Perlin Noise

Loaded Created a 3D noise texture. Implemented a noise shader that allows the display of perlin noise on the loaded sphere object.

Phong Shading Model

Loaded an Coronavirus object in a 2D scene using C++ in OpenGL. Implemented Phong model shader for a two light system.