Skip to content

Arcade › Turbo Goal

Turbo Goal

  • 3d
  • arcade
  • car-soccer
  • sports
  • futuristic
  • competitive
  • mobile
  • single-player
0
Remix it Discord

6 plays

How to play

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

Discussion

Nobody has said anything about Turbo Goal yet. Play it, then tell awoodbury what you would add next.

Make your own game

Turbo Goal was built by awoodbury 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 Turbo Goal 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 Turbo Goal

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 playable 3D arcade car-soccer game titled “Turbo Goal.” Use a Three.js-style WebGL scene with a third-person chase camera positioned behind and slightly above the player’s blue car, smoothly following its heading and looking toward the field ahead. The camera should show the player car in the foreground, the glowing white ball near midfield, and the opposing goal in the distance. Keep the game framed well for both desktop and portrait mobile screens.

The arena is a compact futuristic soccer stadium: a rectangular striped green turf field about 30 units wide and 46 units long, with glowing pale-blue boundary lines, a glowing center line and center circle, transparent blue-tinted glass side and back walls, and short futuristic spectator/rail structures along both sides alternating cyan/blue and orange illumination. Place a cyan/blue goal at the player’s end and an orange goal at the opposite end; each goal has two bright posts, a crossbar, and a translucent energy-net panel. Add cyan and orange stadium point lights, soft shadows, dark blue atmospheric fog, bloom, ACES-style tone mapping, and a dark navy background. Place several flat glowing boost pads along the field near each end (blue on one side, orange on the other), but do not make them collectible or otherwise change the mechanics unless explicitly implemented.

The player controls a small sporty blue/cyan hatchback with a visible spoiler and underglow. Start it at the player end around the center of its half, facing toward the opponent and the negative-Z direction. The opponent is an orange hatchback at the opposite end facing the player. Prefer a Kenney sports hatchback GLB model loaded from the supplied asset URL, with a simple box-car fallback if the model is unavailable; tint the two cars toward cyan and orange. Add a subtle translucent cone-like boost trail behind a car while boosting.

The core loop is car soccer: drive into the glowing white spherical ball and knock it through the orange opponent goal before the three-minute match clock expires. The ball has a soft shadow, a small cyan glow/light, gravity, bouncing, rolling/damping, spin, and collision against the floor, side walls, and end walls. It can enter the goal mouth only within the goal width and below the goal height; when it travels fully into either goal, award a goal to the appropriate team, flash the arena lights, play a short celebratory sound, and reset both cars and the ball for a kickoff after roughly 1.2 seconds. Reset positions are player at z=15, opponent at z=-15, and ball at the center. The player collision pushes the ball based on contact direction and vehicle speed, adds a small upward impulse, and jumping can produce aerial hits. Keep cars constrained inside the field and goal-depth boundaries.

Implement responsive arcade vehicle physics rather than realistic simulation. WASD or arrow keys drive forward/reverse and steer; Space makes the player jump when grounded; Shift boosts while moving forward and consumes a regenerating boost resource. Forward acceleration, steering, drag, speed limiting, braking/reverse, jump gravity, and an airborne state should be visible in the motion. Boost raises the speed cap and acceleration, drains boost while held, and otherwise regenerates it. The orange bot should autonomously chase the ball: steer toward a point just behind/ahead of the ball depending on its side, drive toward it, reverse when badly oriented, and boost when aligned and far away. Both cars can collide with and kick the ball. Pressing R resets the score and restarts a fresh three-minute match.

Create a HUD over the game in a futuristic Orbitron-like font. At the top center show a translucent rounded score panel with “YOU” and a large cyan score on the left, a centered clock starting at “3:00,” and a large orange bot score with “BOT” on the right. Under it show a rounded instruction/status panel initially reading “Click / tap to start — WASD drive, Space jump, Shift boost”; retain status messages such as who scored, the kickoff countdown, and the end-of-match result. In the lower-right show a BOOST label and a horizontal rounded meter whose fill changes from cyan through green to yellow and reflects the player’s 0–100 boost. On coarse-pointer/mobile layouts, show translucent touch controls: a four-button directional pad (up, left, down, right) at bottom-left, plus large BOOST and JUMP buttons at bottom-right. Desktop should rely on keyboard controls. Pointer/keyboard interaction should initialize simple engine, collision, and crowd audio; use understated procedural sounds rather than music.

The match clock counts down only during active play, not during the short kickoff delay. At zero, if one team leads, pause and display “You win! Press R to rematch” or “Bot wins. Press R to rematch.” If tied, display “Overtime — next goal wins!” and continue until the next goal. Keep the game immediately playable, with a kickoff reset at startup, and expose state methods if supported: getGameState should report score, clock, paused/kickoff state, player/opponent transforms and velocities, boost, airborne state, and ball transform/velocity; setGameState should allow editing those values.

More free browser games

Browse the whole Arcade →