CS @ Western University · Ontario, Canada

Rawad
Fahd

I'm in my fourth year of Computer Science. Most of what I build is games and the tools around them: a 2D engine in C++, an RL agent that plays Block Blast, a pipeline that moves 3D scenes into Roblox Studio, and a few Roblox games of my own.

There's a 3D version of this site. It's my room: walk around, click the computer for projects, the bookshelf, the little Roblox guy on the desk.

Work

Source is on GitHub for all of it.

  1. 01 CodelessEngine A 2D game engine with a visual editor. You lay out a game, give things behaviours and hit play, no code required. C++20 · OpenGL 4.1 · Box2D · wxWidgets
  2. 02 Block Blast RL Agent PPO with action masking, trained through self-play until it plays Block Blast better than I do. Python · PyTorch
  3. 03 PseudonameGames The Roblox games I make. 4 out so far with 46k visits between them, and 1,267 members in the community. Luau · Roblox Studio
  4. 04 Scenify Pulls the unique meshes out of an FBX/OBJ/GLB scene, exports them as GLB, and writes the Lua that rebuilds the whole scene in Roblox Studio. Python · Roblox Studio
  5. 05 Ghost-Keys An auto-typer that sends input through low-level Windows APIs, so to the OS it looks like someone typing. Python · Win32
  6. 06 AI Talking Board An Ouija board with a language model on the other side. Ask it something and the planchette answers. JavaScript
  7. 07 Block Blast Solver Takes a board and a hand of pieces and works out where they should go. JavaScript
  8. 08 BroBot An assistant that is confidently wrong about everything and calls you bro far too often. Comes with a talking avatar. JavaScript
  9. 09 Murder at Blackwood Manor A text adventure murder mystery. Search the manor, question the suspects, name the killer. Python
  10. 10 TikTok Repost Logger Watches an account and keeps a log of what it reposts. Python

Side quest

A Rubik's cube, because I had one on the old version of this site and didn't want to throw it away. Drag to turn it around.

Keyboard: U D L R F B, hold Shift to reverse.

moves 0

About

I've been writing code for about eight years. I'm finishing a Computer Science degree at Western University, and outside of class I'm usually working on one of the projects above.

The things I keep coming back to are game development, machine learning and automation. A lot of my projects end up being some mix of the three.

Languages
Python, C++, JavaScript, Java, Luau
Tools
PyTorch, OpenGL, Box2D, Node.js, React, Roblox Studio, Git

Contact

Email is the fastest way to reach me.