Roblox · Luau · 6 years

Kyle Menor

Game Designer & Engineer

I build the systems players feel. Character movement, combat, and the data behind it all. I've spent six years in Roblox Studio, mostly as a solo developer, and I was lead developer on a live game with over 2.3 million visits.

6years in Roblox Studio
2.3Mvisits on a shipped game
13.4Kfavorites

Selected Work

JJBU game thumbnail showing a crowd of player avatars over a green checkered background
View JJBU on Roblox

Shipped · 2.3M Visits · Lead Developer

JJBU: Storage System Rewrite → Lead Developer

I joined JJBU after it's launch to replace its storage system. Once the new system was finished, I was made lead developer on the project. The game is no longer maintained, but it reached 2.3 million visits and 13.4 thousand favorites.

  • New DataStore backend. I designed and built the replacement storage system for player data.
  • Live data migration. I moved existing players from the old storage system to the new one on a game that was already live.
  • Prototype UI. I built a rough prototype interface for working with the new DataStore backend.
  • Team leadership. I was promoted to lead developer after delivering the storage system.
2.3Mvisits
13.4Kfavorites
  • DataStores
  • Data migration
  • UI
  • Team lead
An in-game Full Clears leaderboard board listing top players and their clear counts
View Roblox Ninja Warrior Revenant on Roblox

Shipped · 60.9K Visits · Lead Scripter

Roblox Ninja Warrior Revenant: Leaderboards & Progression

A published parkour game that I co-developed and am credited on in-game as Lead Scripter. Its persistent leaderboards and monetization systems kept players coming back to beat each other's records.

  • Persistent leaderboards. In-world boards rank players by Highest Level, Full Clears, and Donations.
  • Gamepasses. The in-game store lets players buy VIP and Music passes and shows which ones they already own.
  • Cosmetic shop UI. Players can equip and preview movement animations and chat tags from a menu.
60.9Kvisits
  • Leaderboards
  • DataStores
  • Gamepasses
  • UI
A tower defense map with hundreds of sword-wielding enemies marching along a path and a Place Tower button

Performance · Networking · Systems

Tower Defense

I built everything in this scene myself: enemy pathing, wave spawning, tower placement and the client rendering pipeline. The architecture was designed to keep hundreds of enemies on screen without dropping frames.

  • Server-authoritative simulation. The server moves enemies along waypoints and owns their positions.
  • Client-side rendering. Clients draw the enemies from the server's positions, so the server never replicates hundreds of physics bodies.
  • Result: more than 200 enemies on screen with frame rates holding above 120 FPS.
  • Optimization
  • Client/server split
  • Pathing
  • UI
An armored character covered in an animated purple and blue galaxy texture
First-person view of a black sword with glowing purple runes in a starry void arena

Rendering · Animation · First Person

Void: Galaxy Shader, Viewmodel & Cutscene

Three pieces from one project: a shader effect that Roblox doesn't support out of the box, a first-person weapon viewmodel, and a scripted cutscene.

  • Galaxy shader (co-created with a friend). Roblox has no custom shaders, so we built the effect with a ViewportFrame trick that overlaps models to make the moving galaxy surface.
  • 3D spring sway and bob. I extended a 2D spring module to work in three dimensions to drive the viewmodel's sway and bob.
  • Animator-driven viewmodel. Animations play on an Animator inside the viewmodel itself, so first-person animation stays separate from the character.
  • Scripted cutscene. The clip also shows a cutscene with camera work and animated text set in the same void arena.
  • ViewportFrames
  • Springs
  • Animation
  • Camera
A player landing a hit on an NPC named Normal Bald Guy, with an explosion hit effect

Combat · Networking · Anti-exploit

Combat System

A melee combat system that verifies hits on both the client and the server. It's built on eventual consistency: the client reacts to a hit immediately, and the server settles on the authoritative result shortly after.

  • Client-side hit detection gives immediate feedback and effects.
  • Server-side validation checks every hit against cooldowns, the attacker's current state, and a hitbox run on the server before any damage is applied.
  • Eventual consistency. The client never waits on the server, so combat stays responsive and exploited hits still get rejected.
  • Hit detection
  • RemoteEvents
  • Character interaction
  • VFX

What I Bring

Luau & Roblox Studio

Six years of hands-on development, mostly as a solo developer covering every part of a project.

Gameplay Systems & Physics

I wrote a character controller from scratch with arbitrary gravity, momentum and custom impulses, independent of the Humanoid.

Debugging Tricky Problems

On the gravity controller, I traced slope jitter to its sources and fixed it by clamping velocity to the ground normal and tightening ground detection.

Performance Optimization

I split simulation from rendering between server and client, keeping 200+ enemies above 120 FPS.

DataStores, Leaderboards & Gamepasses

I rebuilt JJBU's storage system and migrated its player data, and I scripted the leaderboards and gamepasses for Roblox Ninja Warrior Revenant.

Animation & Character Interaction

I've built Animator-driven viewmodels, spring-based procedural motion, and combat with verified hits.

UI

I've built in-game interfaces ranging from tower placement to a working front end for a DataStore backend.

Teamwork & Leadership

I joined an existing team to deliver a core system, then led development on the project.

About

I've been making games on Roblox for about six years. Most of that time I've worked alone, which meant designing the mechanics, writing the systems and fixing whatever broke. That gave me a habit of thinking about how a system feels to the player and how it performs on the server at the same time.

On my largest project, JJBU, I joined a live team with 2.3 million visits to rebuild its player data storage and was later made lead developer. These days I'm focused on movement and physics. The gravity controller above is my most recent work.