Skip to content

Arcade › Twin Portal

Twin Portal

  • 3d
  • platformer
  • puzzle
  • multiplayer
  • portal
  • sandbox
  • editor
0
Remix it Discord

4 plays

How to play

Click the game above and it runs right here in your browser. No download, no installer, no account needed. bu2ful 1 1 built it with Cinevva, so it works on a phone or a tablet too.

Discussion

Nobody has said anything about Twin Portal yet. Play it, then tell bu2ful 1 1 what you would add next.

Make your own game

Twin Portal was built by bu2ful 1 1 with the Cinevva game creator: describe the game you want in chat, watch it get built, and play it in your browser minutes later.

Remix Twin Portal opens the real game in the creator and forks its actual files, chat and design doc, so you start from the code rather than from a description.

Read the build brief for Twin Portal

Cinevva's analyzer read this game's design doc and its source, then wrote the brief below. "Make your own" hands it to the game creator as your opening message, so you start from a real spec rather than a one-line idea.

Create a browser-playable game titled "Twin Portal": a compact Portal-inspired multiplayer sandbox rendered with Three.js in a side-on 2.5D view. Use a dark navy background and fog, with a clean test-chamber made from a grid of pale/white rectangular wall blocks, a dark blue floor, subtle grid lines in editor mode, soft ambient/directional lighting, and shadows. The camera is a smooth-follow perspective camera looking at the player from the front with the world laid out on an X/Y plane and a little depth; keep the player and interactables clearly visible.

Start by showing a centered dark translucent rounded join panel over the dimmed chamber. It should offer a username field, room-code field, buttons for Make Room, Join Co-op, and Solo Preview, plus explanatory copy about entering a username and joining a room. Solo Preview should let the player immediately play without a server. For online play, connect to a WebSocket room endpoint at /ws: making a room generates a short room code, joining uses a typed code, usernames are unique within the room, and the room code and connected player names appear in the HUD. If the server is unavailable, make solo preview remain usable.

The playable chamber is a 18-by-10 tile side-view room enclosed by boundary blocks. Use a layout equivalent to the source map: an outer wall, a player start near the lower-left, a glowing green exit pad near the lower-right, two white portal-panel surfaces in the upper part of the room, an elevated short wall/platform section, a larger wall section on the left-middle, and a central/lower area containing one cube, one red button, one door, and one lift. The exact chamber should be composed from tile-aligned 2x2-ish blocks. The exit is a pulsing green circular pad; reaching it clears the chamber and the HUD should indicate the chamber is clear.

The local avatar is a bright sprite-like rectangular character/card with a simple friendly face, dark outline, and a floating "YOU" label. Show a visible handheld dual portal device beside the avatar, with white/dark body pieces and blue and orange prongs. Other online players appear as pink-accented sprite avatars with floating username labels. Chat messages should show in a lower-right HUD chat panel and briefly appear as speech bubbles above the corresponding avatar; support short text messages and retain a scrolling log.

Core controls and mechanics: WASD moves horizontally, Space jumps, and movement has gravity, collision against solid blocks, and a side-view platforming feel. Aim toward the mouse cursor and mirror the avatar/device when aiming left or right. Left-clicking a valid white portal-panel surface places or replaces the blue portal; right-clicking a valid portal-panel places or replaces the orange portal. Portals are glowing emissive blue/orange torus rings with translucent colored centers, point lights, and slow opposing rotation. Do not allow portal placement on arbitrary surfaces: raycast only against the designated portal panels. When both portals exist, walking into either portal teleports the player to the other with a brief cooldown and a small upward velocity boost; the HUD should say whether portals are missing or linked.

Implement the shared puzzle objects visible in the chamber: a pale yellow cube that can be pushed horizontally by the player and falls under gravity; a red circular floor button that becomes pressed when stood on or when the cube is positioned over it; the room's door opens when any button is pressed, by moving upward, and otherwise blocks passage; and a cyan lift/platform that rises while a button is active and lowers when inactive. These mechanisms and their states are shared among players online. Falling below the chamber should respawn the local player at the start.

HUD: place a top-left title "TWIN PORTAL", a status line containing the username, portal state ("need both portals" or linked), current mode, connection state, and chamber-clear state, a party/player line, a room-code line when online, and a small hint line reading approximately "WASD move · Space jump · Left click blue · Right click orange · Tab editor · Enter chat · Esc menu". Use cool light-blue text over a subtle dark top gradient.

Include a pause/menu overlay toggled with Escape, with Resume, Make Room, Reset Room, and Leave Room controls. Reset should restore the chamber layout and player start. Tab toggles an in-game editor. In editor mode show a centered editor banner/tool row and visible grid. Provide tools in this exact set: Block, Erase, Portal Panel, Cube, Button, Door, Lift; number keys 1-7 select them. Clicking an interior grid cell applies the selected tool, replacing any existing object at that cell, while preserving the exit area and chamber boundary. Editor changes are synchronized to all players in the room.

Synchronize player positions/aim, chat, shared level geometry, cubes, buttons, doors, lifts, and editor modifications through the WebSocket room. Interpolate remote players smoothly. Keep the visual style clean, minimal, and readable: pale test-chamber blocks against a near-black/navy environment; emissive blue/orange portal rings, green exit, red button, cyan lift, and pastel avatar cards. Add restrained synthesized musical feedback for portal placement, jumping, and teleporting, but do not add unrelated weapons, enemies, scores, lives, or campaign levels.

More free browser games

Browse the whole Arcade →