Other Works

Here are some other skills I learned while developing the custom engine

AI flocking and Steering behavior

Cohesion: boids move towards the average position of their neighbors.

Separation: boids maintain a safe distance from each other to avoid collisions.

Alignment: boids align their direction and speed with their neighbors.

Technical View

I created a Flocking Manager to handle the boids and change their behavior states.

  • Created enums for behavior types.

  • Created a BaseBehavior class with a Move() function.

  • Inherited from BaseBehavior and created different classes to change the Move() function based on the behavior type.

Tools : - C++, OpenGL, GLSL,

Other Works

Here are some other skills I learned while developing the custom engine

Simple Media Player

A simple Media player created using FMOD and imgui for Editor

C++

FMOD

Short Description :

I used the FMOD library to gain in-depth knowledge about 3D spatial audio, audio playback, DSP effects, and much more.

  1. Loaded streamed audios and fully downloaded audios.

  2. Integrated various audio effects and filters.

GLSL

C++

Lua

OpenGL

Game Cut Scene

Experiment of using external Script Loading.

Technical Aspect

I used Lua script for the external file to communicate with C++.

The animation sequence was implemented with a command-based system, with commands categorized as serial or parallel types.


Serial: A series of commands executed in order; when one command is finished, the next command is executed.


Parallel: A series of commands executed all at once.


  1. Understood the concepts of Lerp, EaseIn, EaseOut

  2. Once the commands are received : the system updates based on the command type. For example check out this MoveTo command.

FLOCKING BEHAVIOR


  • Cohesion: boids move towards the average position of their neighbors.

  • Separation: boids maintain a safe distance from each other to avoid collisions.

  • Alignment: boids align their direction and speed with their neighbors.

C++

OpenGL

Window Thread

GLSL

AI flocking and Steering

Technical Aspect

I created a Flocking Manager to handle the boids and change their behavior states.

  • Created enums for behavior types.

  • Created a BaseBehavior class with a Move() function.

  • Inherited from BaseBehavior and created different classes to change the Move() function based on the behavior type.

Let’s Work

together, and level

up creativity!

  • Grave Robbery

  • Grave Robbery

Let’s talk about gaming experience

I'm always open to share more about my projects and experiences.
Feel free to connect with me—send a message on LinkedIn or drop an email. I’d be happy to chat!

I'm always open to sharing more about my projects and experiences.
Feel free to connect with me—send a message on LinkedIn or drop an email. I’d be happy to chat!

Email

ibrahim155.developer@gmail.com

Mobile

+12269989187

Create a free website with Framer, the website builder loved by startups, designers and agencies.