Docs / Roblox Games/Quick Draw
Quick Draw
Fast-paced multiplayer drawing game with live canvas replication.
Roblox GamesLuaProfileServiceCustom Remote Networking

Overview
Quick Draw is a multiplayer drawing experience where players take turns drawing a randomly chosen prompt for 1 minute. At the end of the minute, players in the crowd decide who made the best drawing based on the prompt.
Key Systems & Features
- Extensive drawing system
- Round-based gameplay
- Autoscaling levels system
- Funnels to other games
Code Examples
Below are some code snippets from this project.
XP Handler (snippet)
LUAlocal function CalculateRequiredXP(level)
return math.floor(XPSettings["BaseXP"] * (XPSettings["GrowthRate"] ^ (level - 1)))
end
local function GiveXP(player, value)
local xp = player:FindFirstChild("Data").XP
local level = player:FindFirstChild("Data").Level
if xp and level then
if game:GetService("MarketplaceService"):UserOwnsGamePassAsync(player.UserId, XPSettings["2xXP"]) then
xp.Value += (value * 2)
else
xp.Value += value
end
if xp.Value >= CalculateRequiredXP(level.Value) then
level.Value += 1
xp.Value = 0
end
end
endPlayer's chance to play incrementation
LUAlocal function IncreaseChance()
local total = 0
for _,v in pairs(PTable) do
if not IsChosenPlayer(v["Player"]) and (v["Player"].Name ~= "" or v["Player"].Name ~= nil) then
if game:GetService("MarketplaceService"):UserOwnsGamePassAsync(v["Player"].UserId, Gamepasses["2xChance"]) or v["Player"].Data.FirstTimePlaying.Value == true then
v["Chance"] += math.random(4,6)
else
v["Chance"] += math.random(1,3)
end
else
v["Chance"] = 1
end
total += v["Chance"]
end
for _,v in pairs(PTable) do
if (v["Player"].Name ~= "" or v["Player"].Name ~= nil) then
Network:FireClient("UpdateChances", v["Player"], v["Chance"], total)
end
end
end