Marwan Charafeddine

Game Scripting & Programming | mcharafeddinedev@gmail.com

View on GitHub

My ProjectsMy LibraryWork HistoryBack to Home

Current Pursuits & Goals

As I’ve progressed through my A.A.S. in Digital Gaming & Simulation Programming, I’ve realized that while my education has laid a solid foundation, I still need more hands-on experience and fluency in coding to reach my goals as a gameplay programmer. To address this, I’ve committed to a structured, self-teaching plan focused on intensive, project-based courses — not arbitrary YouTube-style tutorials, but rather more guided experiences with deliberate and professional frameworks, designed to simulate practical game development and production workflows.

Some of these projects revisit foundational topics I’ve already encountered during my degree, but I believe strongly in the value of reviewing the basics. On top of that, these projects are specifically code-focused rather than concentrating on things like design processes or game engine techniques, tools, proficiency, etc. In a fast-evolving tech industry like game development, I think keeping skills sharp and perspective broad is essential, so I’ll probably continue adding to this and editing it, and moving completed projects to ‘My Projects’ if they produce a publishable executable. Advanced systems often demand a deep understanding of fundamentals, and I’m choosing to start this code-focused path from the ground up.

Below is an evolving record of the work I’m doing, organized by current and planned projects.


Under Active Development

1. Complete C# Unity Game Developer 3D (Unity 6 Update)

Instructors: Rick Davidson, GameDev.tv Team, Stephen Hubbard
🔗 View Course
Skill Focus: Unity 3D fundamentals, C# scripting, procedural generation, AI navigation, FPS mechanics

A full-spectrum learning path through Unity 3D development, this project track involves building five complete games using C# in Unity. These include physics-based obstacle dodging, an arcade-style rail shooter, a procedural endless runner, and a first-person shooter using nav mesh AI. Through these projects, I’m mastering player input handling, prefab architecture, physics interactions, coroutine timing systems, and level prototyping with ProBuilder — all while reinforcing C# fundamentals in a production environment.


2. Unity 2D Roguelike – Kawaii Survivor

Instructor: Tabsil Makes Games
🔗 View Course
Skill Focus: Stat systems, clean code architecture, UI/UX animation, OOP in Unity, wave spawning

This project focuses on building a Vampire Survivors-style roguelike from the ground up in Unity 2D, with a strong emphasis on scalable architecture and object-oriented practices. It incorporates responsive joystick controls, weapon merging systems, runtime character stats, inventory UI, and custom wave-based enemy spawns. I’m also learning to build clean, modular code using inheritance, interfaces, and scriptable objects, while integrating advanced UI elements such as animated double-sliding panels, dynamic character selection, and multiple currencies.


Future Planned Projects

3. C++ Fundamentals: Game Programming For Beginners

Instructors: GameDev.tv Team, Stephen Ulibarri
🔗 View Course
Skill Focus: C++ syntax, variables, loops, Raylib 2D games, object-oriented design

A gradual entry into C++ via Raylib, focusing on coding fundamentals through simple games like a reflex-based dodger, a runner, and a basic battle sim. The course guides students in writing clean, readable code and introduces object-oriented programming without relying on a full engine — making it ideal for understanding the raw logic behind game loops and entity behaviors.


4. Learn C++ Programming By Making Games

Instructor: Serge Lansiquot
🔗 View Course
Skill Focus: C++ logic, pseudocode translation, ASCII-based game development

This project is designed around breaking problems into small logic units and translating them into code. The result is a series of text-based games with increasingly complex mechanics. I’ll be improving my ability to reason through game logic and implement it step-by-step using real-world coding techniques from a developer with AAA experience (Minecraft, Halo Infinite).


5. Learn C++ for Game Development

Instructor: Stephen Ulibarri
🔗 View Course
Skill Focus: Full C++ language foundation, whiteboard logic, lab-style programming

This course builds the theoretical and practical foundation for transitioning into engine-based development (e.g., Unreal). Emphasis is placed on understanding the C++ language from the ground up, with structured lab sessions simulating classroom-style coding practice and conceptual overviews.


6. Learn C++ Programming By Making Games Volume 2

Instructor: Serge Lansiquot
🔗 View Course
Skill Focus: Advanced OOP, SDL graphics, 2D math and rendering, arcade game framework

An advanced C++ project involving the creation of a complete arcade launcher and game engine. You’ll build rendering systems, sprite animations, and low-level mechanics to recreate classics like Tetris and Asteroids, with custom handling for bitmap loading, input, collision, and game loop timing.


7. Learn C++ and Make a Game from Scratch

Instructor: Jingtian Li
🔗 View Course
Skill Focus: CMake, GitHub, game architecture, memory management, custom libraries

This course walks through making a game entirely from scratch using C++ with real-world tooling like Git and CMake. It blends software engineering practices with game development, teaching low-level architecture, project modularization, memory safety, and professional version control workflows — essential for industry readiness.


8. Unreal Engine 5 C++ Developer: Learn C++ & Make Video Games

Instructors: Ben Tristem, GameDev.tv Team
🔗 View Course
Skill Focus: Gameplay programming in Unreal Engine, AI behavior trees, Blueprints vs C++

A capstone project in Unreal Engine 5, focused on applying C++ in conjunction with Unreal’s gameplay framework. Through projects like a tank combat game and a first-person shooter, I’ll be diving into pawn control, component systems, AI logic, and integrating Blueprints with native C++ for scalable, modular game logic — mirroring the workflows used in AAA development.


9. Project Red Cap (TBA)

Back to Home