Works

Proudly sharing notable projects I've worked on.

Upstream Xray

Description

Upstream X-ray is an interactive app created for ADNOC, featuring an x-ray view of the UAE map with the oil fields and blocks overlaid on it. The app was developed using Unity with Arduino integration for mapping the sliding screen’s coordinates onto the virtual backdrop.

Responsibilities

  • Programming core systems of the application. 
  • Integrating serial communication from Arduino for mapping the sliding screen into virtual space. 
  • Implementing in-game UI.
  • Utilizing REST API to fetch and display data in the application.
  • Establish and manage source control via Unity Collaborate.

Role

Lead Programmer

Technologies Used

Unity, Arduino

Languages Used

C#, C++

Upstream Overview

Description

ADNOC Upstream Overview is an interactive application designed for ADIPEC 2021, demonstrating ADNOC’s upstream services. It uses a rotating LED touch screen controller that displays a circular UI to navigate various services. The application utilizes Unreal and Unity and employs TCP networking for communication between the two applications. Serial for Arduino communication is integrated to map the wheel rotation into the Unity controller application.

Responsibilities

  • Programming core systems of the application in Unreal. 
  • Programming controller in Unity. 
  • Integrating networked communication using TCP between Unreal and Unity applications. 
  • Integrating serial communication from Arduino for mapping the rotating wheel into Unity. 
  • Programming camera system in Unreal to smoothly transition between multiple shots. 
  • Implementing in-game circular UI in Unity controller application.
  • Reading Json data and displaying it in Unreal UI.
  • Optimizing the Unreal application for high resolution screens. 
  • Establish and manage source control via SVN.

Role

Lead Programmer

Technologies Used

Unity, Arduino

Languages Used

C#, C++

Flipdots Wall

Description

The ADNOC Flipdots wall is an interactive application that displays ADNOC’s sustainability goals and achievements using flip-dot panels between two LED panels. The application plays a video that is decoded into pixel information which is sent to the flip-dot array. It is controlled by a separate console that uses motion sensors.The system was developed using Unity with networking capabilities.

Responsibilities

  • Programming core systems of the application.
  • Programming custom video decoder to send pixel data via TCP to flipdots array to drive the display.
  • Implementing TCP communication between motion sensor and application. 
  • Integrating serial communication for Arduino communication for motion detection.
  • Implementing in-game UI.

Role

Lead Programmer

Technologies Used

Unity, Arduino

Languages Used

C#, C++

COP 2021

Description

COP 2021 UAE and World applications showcase the UAE’s investments in renewable energy. The application uses Unity and LEAP hand tracking for gesture-based navigation. It displays points of interest on a map of either the UAE or the World, which provide information about various renewable energy projects when selected.

Responsibilities

  • Programming core systems of the application.
  • Implementing Leap Motion Hand Tracking. 
  • Programming hand gesture recognition for browsing & selecting. 
  • Game Architecture using scriptable object architecture. 
  • Implementing in-game UI.
  • Utilizing REST API to fetch and display data in the application.

Role

Lead Programmer

Technologies Used

Unity, Leap Motion Tracking

Languages Used

C#

Space VR

Description

Space VR is a VR application developed for the UAE Space Agency that allows users to interact with, modify, and assemble multiple satellites in a virtual environment using hand gestures tracked by a Leap motion sensor. The app was built using Unity and Oculus VR API, along with the Leap Motion API for hand tracking in VR.

Responsibilities

  • Implementing Oculus VR support in Unity.
  • Implementing Leap Motion Hand Tracking to allow users to interact in the VR environment using their hands.
  • Programming hand gesture recognition for selecting, grabbing, and clicking. 
  • Game Architecture using scriptable object architecture.
  • Establish and manage source control via Unity Collaborate.

Role

Programmer

Technologies Used

Unity, Oculus VR, Leap Motion Tracking

Languages Used

C#, C++

Holodeck VR

Description

VR Holodeck is a multiplayer VR application developed for the UAE Space Agency with the goal of educating users about the agency’s space endeavors. The app was created using the Unity Engine and is compatible with the PicoVR headset. It uses the AntiLatency tracking system for real-time positional tracking and the Photon Unity Networking (PUN) framework for multiplayer implementation.

Responsibilities

  • Implementing Pico VR support in Unity for mobile android VR experience.
  • Implement mapping and positional tracking using AntiLatency tracking system.
  • Implementing multiplayer networking using PUN.
  • Programming core gameplay features and systems. 
  • Game Architecture using scriptable object architecture for a networked state machine.
  • Establish and manage source control via Unity Collaborate.

Role

Lead Programmer

Technologies Used

Unity, PicoVR, Photon Unity Networking, AntiLatency

Languages Used

C#

Fracking VR

Description

Fracking VR is a multiplayer VR application developed for Saudi Aramco to showcase the fracking process used in their oil wells. The app was built using Unity for HTC Vive and utilizes the Photon Unity Networking (PUN) framework for networking the application.

Responsibilities

  • Implementing HTC Vive VR support in Unity using steam VR.
  • Implementing multiplayer networking using PUN.
  • Programming core gameplay features and systems. 
  • Game Architecture using scriptable object architecture for a networked state machine.
  • Establish and manage source control via Unity Collaborate.

Role

Programmer

Technologies Used

Unity, Photon Unity Networking (PUN)

Languages Used

C#

Drilling VR

Description

Drilling VR is a Virtual Reality immersive walkthrough of Exxon Mobil’s drilling processes. The app was built using Unity for Oculus VR.

Responsibilities

  • Implementing Oculus VR support in Unity.
  • Programming core gameplay features and systems. 
  • Implementing in-game UI for VR devices.
  • Establish and manage source control via Unity Collaborate.

Role

Programmer

Technologies Used

Unity, Oculus VR

Languages Used

C#

GasStation VR Walkthrough

Description

Gas Station VR is an Oculus VR application created for ADNOC that offers an immersive experience to explore potential ideas for gas stations, complete with audio narration and text descriptions. It was developed using Unity for Oculus Quest 2.

Responsibilities

  • Implementing Oculus VR support in Unity.
  • Programming core gameplay features and systems. 
  • Implementing in-game UI for VR devices.
  • Optimize application for mobile VR hardware.
  • Establish and manage source control via Unity Collaborate.

Role

Lead Programmer

Technologies Used

Unity, Oculus VR

Languages Used

C#

ADNOC Virtual Energy Center

Description

The ADNOC Virtual Energy Center is a web app that provides an interactive 3D virtual environment for visitors to explore ADNOC’s full value chain. It showcases four virtual rooms with interactive exhibits and displays. The app uses cutting-edge web technologies including BabylonJS, Azure Silverlight, and WebCanvas. It is developed using VueJS with a NodeJS server backend.

Responsibilities

  • Implementing the core architecture and features of the SPA using the Vue Framework. 
  • Creating 3D environments with user traversal mechanism using BabylonJS.
  • Optimizing website design and 3D elements to run smoothly on multiple devices.
  • Implementing the sound system for multiple audio playback and audio mixing.
  • Integrating Microsoft Azure Silverlight video streaming solution for smooth video playback.
  • Program system for virtual tours that enables/disables select functionality, generates dynamic URL routing and can be set up via a backend.
  • Implement transparent video playback using WebGL Canvas element.
  • Designing responsive WebApp for maximum compatibility across browsers and devices.
  • Establish and manage source control via GitHub.

Role

Programmer

Technologies Used

Vue Framework, Webpack, NodeJS, ExpressJS, BabylonJS, Azure Silverlight

Languages Used

HTML, CSS, JavaScript

Yas Hub Walkthrough

Description

The Yas Hub Walkthrough application is a 3D WebGL application in Unity that provides a virtual walkthrough of the Yas Creative Hub complex, allowing users to explore the various facilities, businesses, and points of interest. The application features interactive camera controls and a slicing tool for viewing the interior of the complex.

Responsibilities

  • Program and implement the application’s core architecture and features. 
  • Implementing the interactive camera system using CineMachine with multiple angles and user-controlled orbit controls. 
  • Optimize Unity WebGL application for smooth performance, small build sizes and maximum compatibility across browsers. 
  • Implement the application’s UI system. 
  • Connect the application to a REST service to query backend data for real time information. 
  • Help integrate and host Unity WebGL application as a component into an already existing website. 

Role

Lead Programmer

Technologies Used

Unity, HTML

Languages Used

C#, HMTL, JavaScript, CSS

Use It Wisely WebApp

Description

UseItWisely is a web app created for the Department of Energy U.A.E to raise awareness of environmental sustainability. It is an interactive quiz that prompts users to answer questions about resource and energy usage in their daily lives. The app includes a timer, point system, leaderboard, and social media integration. It was built using HTML, JavaScript, CSS, and the Vue Framework.

Responsibilities

  • Implementing the core architecture and features of the website using the Vue Framework. 
  • Implementing social media integration with Facebook and Instagram. 
  • Programming custom CSS animations and responsive containers for compatibility on all devices.
  • Program the game’s gun system with unique weapon mechanics, weapon switching and reloading system.
  • Ensuring the app is optimized for performance and scalability.
  • Establish and manage source control via GitHub.

Role

Lead Programmer

Technologies Used

Vue Framework, Webpack, NodeJS

Languages Used

HTML, CSS, JavaScript

Coin Museum

Description

Coin Museum is a web app that provides a 360-degree virtual tour of the Coins of Islam Exhibition. It uses 3D Vista, Vue Framework, and the Howler sound library to recreate the exhibition environment using 360 images. The app includes interactive hotspots that showcase content such as images, videos, and text. It also features social media integration for easy sharing.

Responsibilities

  • Implementing the core architecture and features of the website using the Vue Framework. 
  • Implementing social media integration with Facebook and Instagram. 
  • Using 3D Vista to stitch 360 Images for a virtual tour environment.
  • Programming interactive hotspots in the virtual environment which displays various text and media.
  • Ensuring the app is optimized for performance and scalability.
  • Establish and manage source control via GitHub.

Role

Programmer

Technologies Used

Vue Framework, Webpack, NodeJS, 3D Vista, HowlerJS

Languages Used

HTML, CSS, JavaScript

BUT Lock

Description

BUT Lock is a web app developed for BUT NV. It allows employees to access office facilities securely and remotely. The web app implements user authentication, token-based sessions, encrypted communication and UDP local communication. The web app is developed using VueJS with ExpressJS and NodeJS as the backend. It communicates with an SQL backend for encrypted user information and sends UDP commands from a server on the local network to unlock access to office facilities.

Responsibilities

  • Implementing the core architecture and features of the SPA using the Vue Framework. 
  • Implement user authentication, tying it to MySQL backend with encryption for passwords. 
  • Implement session tokens for enhanced security. 
  • Install and Host local NodeJS server that is only accessible on the intranet.
  • Program automated locks that open/close based on UDP commands from the server.
  • Designing responsive WebApp for maximum compatibility across browsers and devices.
  • Establish and manage source control via GitHub.

Role

Lead Programmer & Designer

Technologies Used

Vue Framework, Webpack, NodeJS, Arduino, ExpressJS, PM2

Languages Used

HTML, CSS, JavaScript

Distribution Globe

Description

Distribution Globe is a touch based iPad application developed for ADNOC. The application showcases ADNOC’s distributed services across the globe. The application was developed in Unity and optimized for the iPad Pro. 

Responsibilities

  • Programming core systems of the application. 
  • Programming in-game UI with specialized glow effects. 
  • Optimizing the app for mobile devices.
  • Utilizing REST API to fetch and display data in the application.
  • Establish and manage source control via Unity Collaborate.

Role

Lead Programmer

Technologies Used

Unity, XCode

Languages Used

C#

KSA E-Government

Description

KSA EGov is a touch based Android application developed for Saud’s Digital Government Authority. The application showcases various online portals and services offered by the KSA Government. The application was developed in Unity and optimized for Android Mobile hardware.

Responsibilities

  • Programming core systems of the application. 
  • Programming in-game UI. 
  • Optimizing the app for mobile devices.
  • Programming custom video playback logic.
  • Establish and manage source control via Unity Collaborate.

Role

Lead Programmer

Technologies Used

Unity, Android Studio

Languages Used

C#

Coin Museum

Description

Coin Museum is a web app that provides a 360-degree virtual tour of the Coins of Islam Exhibition. It uses 3D Vista, Vue Framework, and the Howler sound library to recreate the exhibition environment using 360 images. The app includes interactive hotspots that showcase content such as images, videos, and text. It also features social media integration for easy sharing.

Responsibilities

  • Implementing the core architecture and features of the website using the Vue Framework. 
  • Implementing social media integration with Facebook and Instagram. 
  • Using 3D Vista to stitch 360 Images for a virtual tour environment.
  • Programming interactive hotspots in the virtual environment which displays various text and media.
  • Ensuring the app is optimized for performance and scalability.
  • Establish and manage source control via GitHub.

Role

Programmer

Technologies Used

Vue Framework, Webpack, NodeJS, 3D Vista, HowlerJS

Languages Used

HTML, CSS, JavaScript

Ajman Museum

Description

The Ajman Museum app is an Android application created for the Ajman Digital Government agency, offering an AR-based virtual guided tour of the museum’s installations. Developed using Unity and AR Core, the app is optimized for Android devices.

Responsibilities

  • Programming core systems of the application. 
  • Programming in-game UI. 
  • Implement AR tracking for guided tours.
  • Establish and manage source control via Unity Collaborate.

Role

Programmer

Technologies Used

Unity, Android Studio

Languages Used

HTML, CSS, JavaScript

SpaceMarine

Description

Space Marine is a First Person Shooter developed in Unity. The player takes on the role of a stranded marine who must reclaim his ship’s lost parts on an alien planet to escape. The game features multiple weapons including pistol, rifle, shotgun, sniper and a grenade launcher. There are also multiple enemies, levels and pickups.

Responsibilities

  • Implementing game mechanics and core systems.
  • Program player controller and implement state machine with accompanying animations.
  • Program the game’s gun system, including unique mechanics for each weapon and a seamless weapon switching feature.
  • Creating and designing game levels, including terrain, obstacles, and enemies, using Unity’s level editor.
  • Program enemy AI behavior and logic.
  • Implementing in game UI and related systems.
  • Establish and manage source control via GitHub.

Role

Lead Programmer & Designer

Technologies Used

Unity

Languages Used

C#

WaveForm

Description

Waveform is a 3D isometric puzzle game developed in Unity. The player controls a bear’s avatar that must reach back to its’ room while solving various puzzles along the way using different wave powers. It features mouse based controls,  wave power ups, pickups, enemies and an isometric view.

Responsibilities

  • Implementing game mechanics and core systems.
  • Program player controller and click to move navigation using navmesh.
  • Designing game levels, including layout, obstacles, and enemies, using Unity’s level editor.
  • Program enemy AI behavior and logic. 
  • Implementing in game UI and related systems.

Role

Lead Programmer & Designer

Technologies Used

Unity

Languages Used

C#

Forest Explorer

Description

Forest Explorer is a 2D action / adventure role playing game designed for android mobile devices. The game is specifically designed for mobile devices using touch controls for movement and combat.

Responsibilities

  • Implementing game mechanics and core systems.
  • Program player controller and implement state machine with accompanying animations.
  • Creating a level generator that places sprite-sheet elements based on a 2D map.
  • Implementing in game UI and related systems. 
  • Establish and manage source control via Github.

Role

Lead Programmer & Designer

Technologies Used

Unity

Languages Used

C#

Fruit Ninja

Description

Fruit Ninja is a recreation of the famous game Fruit Ninja for modern browsers created using WebGL. Players have to slice fruits using the mouse while avoiding bombs. The game contains various fruits, combos, UI and particle effects all created using JavaScript and WebGL.

Responsibilities

  • Programming WebGL core system using JS & HTML to create a library mimicking Unity Engine API.
  • Using a custom library to implement core gameplay mechanics and systems.
  • Implementing in-game UI in WebGL using JS,HTML and CSS. 
  • Program rudimentary physics library for collision detection and calculating physics forces, such as velocity and gravity.
  • Program and texture different models of fruits and bombs using basic vertex coordinates in WebGL.
  • Establish and manage source control via Github.

Role

Lead Programmer & Designer

Technologies Used

WebGL, Visual Studio Code

Languages Used

HTML, CSS, JavaScript

Maze Runner

Description

Mazerunner is a 3D FPS game with a procedural maze-like level system developed in Unreal Engine. The player must traverse a procedurally generated maze level and reach the exit while fighting multiple enemies. The game features multiple levels, enemies, weapons and power ups.

Responsibilities

  • Procedurally generating the level using bactracking iterative algorithm at runtime. 
  • Implementing core game mechanics and systems.
  • Program player controller using blueprints with animation state machine.
  • Program the game’s gun system with unique weapon mechanics, weapon switching and reloading system.
  • Implementing in game UI and related systems. 
  • Program enemy AI behaviour, placing enemies and generating navmesh at runtime based on procedurally generated level.
  • Program different powerups and a placement system to place them in the generated level on runtime.

Role

Lead Programmer & Designer

Technologies Used

Unreal Engine

Languages Used

C++, UE4 Visual Scripting

HellScape

Description

Hellscape is a 2D side scroller with limited visibility developed in Unreal Engine. The game features multiple custom designed levels, various enemies, pickups and power ups.

Responsibilities

  • Implementing the game’s mechanics and core systems.
  • Program player controller using blueprints with animation state machine.
  • Implementing in-game UI and related systems. 
  • Program enemy AI behavior.
  • Creating and designing game levels using Unreal Engine’s Paper2D level editor.
  • Programming custom materials for limited lighting effects in the game.

Role

Lead Programmer & Designer

Technologies Used

Unreal Engine

Languages Used

C++, UE4 Visual Scripting

StarLife

Description

Starlife is a Sci-Fi Multiplayer RPG developed in Unity. The player controls a single customizable character in a shared world with other players. Within the game players can perform single story missions, multiplayer dungeon raids or participate in open-world activities.

Responsibilities

  • Implementing game mechanics and core systems
  • Implement networking base systems
  • Program networked player controller, character creation, player state syncing and multiplayer character interactions.
  • Program the game’s combat system with various skills, classes and items.
  • Program the games item and progression system which is linked to a backend to permenantly save player data.
  • Creating and designing game levels, including terrain, obstacles, and enemies, using Unity’s level editor.
  • Program enemy AI behavior and logic for single-player and networked player combat. 
  • Implementing in game UI and related systems 
  • Establish and manage source control via Collaborate (Unity)

Role

Lead Programmer & Designer

Technologies Used

Unity, Photon Unity Networking (PUN)

Languages Used

C#