PROGRAMMING
LONG-TERM EXPERIENCE
- Midflight Interactive (Lead Programmer, 2023—)
- Risk Universalis (Auxiliary Programmer, 2024–2025)
PORTFOLIO
RISK UNIVERSALIS III SPRITE SYSTEM (2025)
The sprite system was a proposed addition to Risk Universalis III. It would have replaced the very out-of-date textbox system and introduced a new textbox system alongside a comprehensive system that allows a user to place a custom model, for more immersive roleplay. Models were supplied by NotoriousUser1.
Below is a snippet of code from the server logic, and a demo. It interprets the action taken when you choose to modify or delete a sprite.
TooltipSignal.OnServerEvent:Connect(function(player, owner, signal, sprite)
assert({signal == "Delete" or "Edit"}, `[SpriteService] Invalid signal: {signal}`)
if signal == "Delete" then
SpriteService_ServerModule.Delete(sprite)
if Players[table.unpack(owner)] then
Subtract:FireClient(Players[table.unpack(owner)])
end
elseif signal == "Edit" then
EditPlacement:InvokeClient(player, owner, sprite)
end
end)
MIDFLIGHT INTERACTIVE (2022—)
Since our inception, I have done all of the programming. Over time, I have used less and less external assets, and made more things myself.
STATE LINE CITY (2023) – comprehensiveUI v3 & HOUSING
I did all of the animation and frontend work, as well as the backend. In this work and all my others, I use a Tween module by Collect1ve, which makes it a bit simpler to do tweens (it just shortens what you end up typing).
Below are walkthroughs of two houses I scripted. You can view more photos on my building page.
MISCELLANEOUS PROJECTS
I made this system that sets railroad switches remotely. Good for use in dispatching. Below is a snippet of code that handles changing back to the Enter button from the "Normal / Realigned" button set. This system is currently for sale! 750 Robux. DM to purchase a copy.
local Reset = function()
if EnterButton.Visible == true then return
else
EnterButton.Visible = true
Tween({NButton, RButton}, 0.2, "Sine", "InOut", {BackgroundTransparency = 1, TextTransparency = 1})
Tween({NButton.UIStroke, RButton.UIStroke}, 0.2, "Sine", "InOut", {Transparency = 1})
Tween(EnterButton, 0.2, "Sine", "InOut", {BackgroundTransparency = 0, TextTransparency = 0})
Tween(EnterButton.UIStroke, 0.2, "Sine", "InOut", {Transparency = 0})
task.wait(0.2)
NButton.Visible = false
RButton.Visible = false
end
end