Dark mode is incomplete! Please report any issues to the Discord.

Forum > General

PolyWolrd Guide! (Good Game)

1. How to Get Started



PolyWorld! is a sandbox social platform inspired by classic retro 3D game engines. You can play community-made games, hang out with friends, or build your own stuff in their custom editor.

To get started:
  • Head over to their website at polyworld.games.
  • Create an account using the Register button (or jump in temporarily as a guest via Play as guest).
  • Go to the Download tab and grab the desktop app.
  • Check out the other tabs: Catalog, Creations/Toolbox, and Forum/Discord.


2. How to Play and Controls



The controls stick to standard PC layout:
  • Movement: WASD or Arrow keys.
  • Jump: Spacebar.
  • Camera: Hold right-click and move your mouse to orbit. Scroll wheel to zoom.
  • Interact: Press E or F to talk to NPCs or open doors.
  • Items: Left-click to use held items.


For your avatar, head to the Catalog tab to swap face textures, wear custom 3D accessories (.obj models), and tweak body colors.

3. Creator Guide (PolyWorld! Studio)



PolyWorld! Studio is the editor where all building happens.

1. Building and Parts
You build using basic blocks (Parts). Try keeping Toolbox models under 512 parts to avoid lag. You can also import custom image textures and .obj meshes.

2. Scripting Basics
Studio relies on Luau with Roblox-style API syntax.

Example 1: Lava / Kill Part

local killPart = script.Parent

killPart.Touched:Connect(function(hit)
    local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
    if humanoid then
        humanoid.Health = 0
    end
end)


Example 2: Simple Chasing NPC

local killer = script.Parent

local function getClosestPlayer()
    local closestCharacter = nil
    local shortestDistance = math.huge

    for _, player in pairs(game.Players:GetPlayers()) do
        if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
            local dist = (killer.Position - player.Character.HumanoidRootPart.Position).Magnitude
            if dist < shortestDistance then
                shortestDistance = dist
                closestCharacter = player.Character
            end
        end
    end
    return closestCharacter
end

task.spawn(function()
    while true do
        local target = getClosestPlayer()
        if target and target:FindFirstChild("HumanoidRootPart") then
            local direction = (target.HumanoidRootPart.Position - killer.Position).Unit
            killer.Position = killer.Position + direction * 0.5
        end
        task.wait(0.05)
    end
end)

killer.Touched:Connect(function(hit)
    local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
    if humanoid and humanoid.Health > 0 then
        humanoid.Health = 0
        killer.Position = Vector3.new(0, 50, 0)
    end
end)


3. Saving and Publishing
Go to File -> Save to PolyWorld in Studio. Open your game settings, add a name, description, and thumbnail, then set visibility to Public.

4. Where to Find Help



Join their official Discord linked at the bottom of polyworld.games for help, scripts, and updates.

Good Game - Bronek=D

Reply

Log in to reply.