[CLOSED] VirtualButFake | Programmer & UI Designer

HEAVILY OUTDATED.


Commission Status: CLOSED | Long Term slots: 0 | Short Term slots: 0




Hey! I’m Virtual, also known as VirtualButFake. I’m a 17 year old programmer from the Netherlands. I’m a ROBLOX Developer with over 7 years of programming experience. I have contributed to several large-sized projects and have worked with large groups like @Toad_II 's [SCPF] :Special Containment Procedures Foundation and well-known names like @unix_system and @joritochip. I’m nearing 7 years of experience in Lua & I’m capable of programming in several other languages such as C# & JS, primarily for Discord bots. I started simple programming at the age of 7 (Scratch, LEGO Mindstorms) and moved on to more advanced programming when I was 7, mainly using platforms like ROBLOX.

I’m a full stack programmer, meaning I’m both capable of doing front end (that what the player sees), both for UI & anything else you may require, and back-end (algorithms in the background). I’m also capable of designing UI, primarily using programs like Adobe Illustrator.



Commissions in the SCP genre (putting this in 1 as it's a bunch that weren't anything special) (Programmer & UI Designer)

SECURE•CONTAIN•PROTECT - Roblox
Chaos Insurgency ‌‌ ‌ - Roblox
[SCP:F] Secure Containment Facilities | [REDACTED] - Roblox

These commissions were extremely long ago, and with that my skill was far worse than it is now. These commissions were however great for getting used to working in teams and learning to code alongside other scripters, practically forcing me to organize my code. It was a great learning experience which still benefits me to this day.

Commission for Kecai (Programmer & UI Designer)

Kecai - Roblox

Old commission. I was hired to program their cafe but shortly into the project it was cancelled, only to be revived later on (i was gone already). I personally feel as if my skill wasn’t sufficient back then for this project, as I still failed to do some basic things like code organization and was nowhere near where I am right now with my UI skill.

Commission for SynthKnots (group is now led by another person) (Programmer & UI Designer)

Church of Decay - Roblox

Just like the SCP genre commissions, this commission was long ago. However, it was also a great learning experience since this enhanced my front-end programming & UI skill significantly. The UI style of their games pulled me out of my comfort zone and forced me to be extremely creative with my UI. I also learnt to work alongside other developers even better and even got to work with some big names on the platform.

Commission for Toad_II (UI Designer, Programmer & Project Lead)

Foundation Roleplay - Roblox
Octa Studios - Roblox

This was my first “real”, so-to-speak, job. I worked with an enormous development team and got an immense amount of feedback on everything I did. I truly believe this commission was extremely beneficial to me simply due to the fact that other skilled programmers gave feedback on my code and helped me make my code more organized & efficient.

I also led 2 projects but was forced to resign shortly after due to personal issues.

This is only some of my experience (the ones I can remember from the top of my head)



UI Design


- YouTube




News
UI

(i have more, but most is old)

Scripting

- YouTube
- YouTube
- YouTube

weather thing is pretty cool; runs off of like a 50 line module & then just uses configs to do the actual weather, example config would be:

--[[
     Rainy weather
]]

local events = require(script.Parent.Events)

return {
	CloudCover = .8,
	CloudDensity = .8,
	CloudColor = Color3.fromRGB(120,120,120),
	EventInterval = 10,
	EventChance = 50, -- summary: will get a random number between 1 & 100 every EventInterval seconds & if it's below EventChance it'll start a random event
	StartScript = events.Init,
	EndScript = events.End,
	RandomEvents = { -- 
		--events.RandomEvent,
	}
}

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local atmosphere = script.Atmosphere
local LightingAtmosphere = game.Lighting.Atmosphere

local atmosphereProperties = {
	Density = atmosphere.Density,
	Offset = atmosphere.Offset,
	Color = atmosphere.Color,
	Decay = atmosphere.Decay,
	Glare = atmosphere.Glare,
	Haze = atmosphere.Haze
}


module.Init = function()
	ReplicatedStorage.Environment.Rain.Enabled.Value = true
	ReplicatedStorage.Environment.Rain.Intensity.Value = .5

	TweenService:Create(atmosphere,TweenInfo.new(10,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),atmosphereProperties):Play()
end



module.End = function()
	ReplicatedStorage.Environment.Rain.Enabled.Value = false
	ReplicatedStorage.Environment.Rain.Intensity.Value = 0
	
	--TweenService:Create(atmosphere,TweenInfo.new(10,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),startProperties):Play()
end

return module

scripting style example:

local player = {}
local players = {}
player.__index = player

local RunService = game:GetService("RunService")

    
local typeValues = {
    ["string"] = "StringValue",
    ["number"] = "NumberValue",
    ["boolean"] = "BoolValue"
}

module.new = function(plrInstance)
    if players[plrInstance.Name] then
        return players[plrInstance.Name]
    end

    local plr = {}

    setmetatable(plr,player)

    local folder = Instance.new("Folder")
    folder.Name = plrInstance.Name
    folder.Parent = game:GetService("ReplicatedStorage").PlayerData
    
    plr.Folder = folder
    
    players[plrInstance.Name] = plr
    
    return plr,folder
end

module.getPlayer = function(plrInstance)
    if players[plrInstance.Name] then
        return players[plrInstance.Name]
    end
end

function player:New(name,value)
    if typeof(value) ~= "table" then
        if typeValues[typeof(value)] then
            local valueObject = Instance.new(typeValues[typeof(value)])
            valueObject.Name = name
            valueObject.Value = value
            
            valueObject.Parent = self.Folder
        else
            error(("Failed to find associated value type with %s"):format(typeof(value)))
        end
        
    else
        assert(value.Type == nil or value.Properties == nil,"Missing required dictionary entry Type or Properties")
        
        local succ,err = pcall(function()
            local Inst = Instance.new(value.Type)
            
            Inst.Name = name
            for index,value in pairs(value.Properties) do
                Inst[index] = value
            end
        end)
    end
end

function player:Set(name,value)
    if self.Folder:FindFirstChild(name) then
        local found = self.Folder:FindFirstChild(name)

        if found:IsA("ValueBase") then
            found.Value = value
        elseif not found:IsA("ValueBase") and typeof(value) == "table" then
            for index,value in pairs(value) do
                local success,err = pcall(function()
                    found[index] = value
                end)

                if success == false then
                    warn(("Error occured when setting property %s of %s: %s"):format(index,found.Name,err))
                end
            end
        end

        return true
    else
        error(("Failed to find data value %s"):format(name))
    end
end

function player:Get(name)
    if self.Folder:FindFirstChild(name) then
        local found = self.Folder:FindFirstChild(name)

        return found:IsA("ValueBase") and found.Value or found
    else
        error(("Failed to find data value %s"):format(name))
    end
end

return module

(also have something else really complex but would prefer to not show on devforum, feel free to inquire in dms)



Weekdays: (up to) 4 hours a day.

Weekend: 4-8 hours a day

My timezone is CE(S)T.



I require a down payment of 30% before I start to work on your commission.

I accept both EUR (USD converted to EUR works too) and ROBUX. The price heavily depends on the size and complexity of your project.

Q: Oh, I don’t have ROBUX! Can I pay in percentage?
A: In most cases; no. In some rare cases, I’d allow it if it meets one of the requirements below:

  1. Large community already built; 20k+ group members or 5k+ active discord members.
  2. Large game already built; 2M+ visits and an active playerbase.
  3. Large backup payment for if the project flops.

Thank you for looking at my portfolio! You may contact me in one of the following ways:

Discord → Virtual #0021
DevForum → Direct Messages
ROBLOX → VirtualButFake (direct messages)

10 Likes

I’ve worked with virtual for quite some time now and can confidently say he is a very technically competent scripter

1 Like

Done a few commissions with him in the past. Incredibly skilled and gets work done fast.
Can definitely vouch for him.

Thanks! I really appreciate it.

What’s your discord? Interested in working with you.

My bad, I just realized I put in an incomplete version, without the “contact” tab.

Ah okay, could you tell me your discord though?

Yep, it’s Virtual#0021.

charlimit

Added you.

(30 chaaaaaaaaaaaaaar)

Added some more tabs, accidentally put in an old version.

I have worked with Virtual a lot in the past during a few projects last summer and during some heavy commissions with him. He is fast, efficient, and reliable which are most of the traits that an employer should look for.

I can definitely vouch for him, 10/10. :slight_smile:

Ordered a bulk scripting commission and he finished most of it in a day. Very communicative once we started talking about in-game concepts and was highly intuitive in his decision making.

Would highly recommend him for someone who is looking for high-quality work in a short amount of time. Super professional with his methods of payment, exceeded my expectations, and I will certainly be going back for more of my scripting needs.

  • Portfolio edit:

Fixed mistake under payment tab
Added sentence in introduction tab

Portfolio edit:

Added more UI examples
Added new commission under people I’ve worked with
Edited introduction tab

I have reopened my commissions. Feel free to contact me at my Discord!

1 Like