Who Am I?

I've been a Roblox developer for about 5 years and I'm currently a Management Information Systems student at Anadolu University. I make the scripts, the interfaces, and the animations for games. I focus heavily on the small details to make mechanics feel right. I started animating recently and consider myself at an intermediate level. Aside from game development, I also edit short cinematic videos in After Effects.

Current Project

SCP: Isolation

I started working on this project around two weeks ago. It’s a singleplayer, story focused kind of horror game where you play as a researcher working inside a containment facility. The choices you make during the game can change how the story ends.

I’m making the whole thing by myself. I’m doing the scripting, UI, animations, and pretty much all of the gameplay mechanics. The only thing I’m using from outside is some of the 3D models. Everything else you see was made by me.

Solo Development Story Horror Scripting & UI
JOIN DISCORD

Scripting & UI

Emergency Lighting

A lighting system I made a long time ago for a roleplay game. The game was cancelled, but the system and the UI are entirely mine.

Sprinting Mechanic

The core sprint and stamina system developed for my SCP game.

Flashlight System

Dynamic flashlight mechanic for my SCP game.

Code Architecture Highlight

Modular Door Service

This script automatically checks all DoorModels located in Workspace, goes through their attributes, and sets the system up by placing ProximityPrompts. It's easy to adjust, and you never need to change the whole script just to change things like door sounds or the opening/closing duration.

You can also easily add additional variables, such as groupId as seen in the script, which only allows the player to use the door if they're in the specified group.

ModuleScripts OOP / Architecture Security (pcall)
DoorService.lua
function DoorService:SetupDoor(doorModel)
    -- Dynamic configuration with fallback values
    local openTime = doorModel:GetAttribute("openTime") or 1.0 
    local closeTime = doorModel:GetAttribute("closeTime") or openTime
    local groupId = doorModel:GetAttribute("groupId")
    local waitTime = doorModel:GetAttribute("waitTime") or 2
    
    -- Audio references
    local openSound = doorPart:FindFirstChild("Open")
    local closeSound = doorPart:FindFirstChild("Close")
    
    local function openDoor(player)
        if isMoving or isOpen then return end

        -- Centralized Group/Role Authorization
        if groupId then
            local success = pcall(function()
                if not player:IsInGroup(tonumber(groupId)) then error() end
            end)
            if not success then return end -- Access Denied
        end
        
        isMoving = true
        prompt.Enabled = false

        -- Audio-Visual Polish (Game Feel)
        if openSound and openSound:IsA("Sound") then
            openSound:Play()
        end
        indicatorPart.Color = Color3.fromRGB(40, 200, 60) -- Neon Green
        
        -- TweenService Logic follows...
    end
end

Animations (Intermediate Level)

Employee Animation 1

Idle and interaction animations for facility employees.

Employee Animation 2

Idle and interaction animations for facility employees.

Security Department

Group animations tailored for the security team models.

Elevator (WIP)

Work-in-progress elevator sequence. The mechanic and scripting behind it are mine as well.

Video Editing

Audi RS7 Edit

After Effects Beat Sync

BMW M4 & M5 Edit

After Effects Color Grading

A10 Warthog Edit

After Effects Cinematography