Skip to content

Arcade › Apex Pocket Racer

Apex Pocket Racer

  • 3d
  • racing
  • arcade
  • time-trial
  • low-poly
0
Remix it Discord

2 plays

How to play

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

Discussion

Nobody has said anything about Apex Pocket Racer yet. Play it, then tell Myles Oda what you would add next.

Make your own game

Apex Pocket Racer was built by Myles Oda 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 Apex Pocket Racer 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 Apex Pocket Racer

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 3D arcade time-trial racing game titled “Apex Pocket Racer.” Use Three.js-style real-time 3D rendering with a smooth third-person chase camera following one simple low-poly open-wheel/F1-style car around a flat circular loop track. The camera should sit roughly 8.5 world units behind the car and 4.2 units above it, smoothly interpolate toward its position, and look about 6 units ahead of the car so the track can be seen flowing into the distance. The overall presentation is dark, minimal, and cinematic: a deep navy/black sky and fog, dim bluish ambient lighting, one bright directional light, and a dark green ground plane extending outside the circuit. Use a clean low-poly aesthetic with strong silhouettes and restrained materials.

Build the world as a large circular asphalt ring centered at the origin. The driving track has radius about 68 units and width about 18 units, with dark blue-gray rough asphalt. Place alternating red and white curb strips continuously around both the inner and outer edges. Add simple continuous pale/white low barrier walls just beyond both curbs, approximately 1.3 units tall, so leaving the asphalt eventually causes a collision and bounce. Include a dark checkered start/finish marking across the track at the +X side of the ring. Surround the track with the dark green circular ground/infield and atmospheric fog; do not add scenery, opponents, weapons, or extra track layouts.

The player controls one red primitive-built F1 car. Construct it from boxes and cylinders: a red main body approximately 2.1 wide by 4.6 long, a narrower red nose, a translucent pale-blue cockpit, dark front and rear wings, four black cylindrical wheels, and a thin dark undertray. Align the car so its forward direction follows the tangent of the circuit. Start it at the +X side of the track, stationary, facing +Z around the loop. The car should visibly rotate/yaw as it steers and remain close to the ground.

Implement direct arcade vehicle physics. W or ArrowUp accelerates; S or ArrowDown brakes while moving forward and reverses when nearly stopped; A or ArrowLeft steers left; D or ArrowRight steers right; Space activates a handbrake that rapidly rotates the car according to steering input while heavily reducing speed; R resets the car to the start position, zero velocity, and initial heading. Smooth steering toward a speed-dependent steering angle: allow stronger steering at low speed and cap steering at high speed. Apply forward acceleration, drag, rolling resistance, speed limiting, and lateral slip damping so the car feels car-like rather than sliding freely. On asphalt, use maximum speed about 48 world units/second, acceleration about 44, braking about 62, strong grip, and lower drag; off asphalt reduce maximum speed to about 30, acceleration to about 24, grip to roughly 0.35, and increase resistance. The displayed speed is the velocity magnitude converted approximately to km/h by multiplying by 7.2.

Detect radial distance from the center to determine whether the car is on the asphalt. If it crosses the inner or outer barrier boundary, push it back to the barrier and reflect its radial velocity with substantial energy loss, producing a bounce/crash. Show a temporary “Crash” toast and play a short impact sound, with a brief cooldown preventing repeated crash notifications. Going off asphalt should therefore reduce grip and speed, but there is no hard fail state and the player can recover.

Track laps by detecting a sufficiently fast crossing of the start gate at the +X axis after the car has left the gate area. Require meaningful forward movement and ignore the initial crossing; only count a lap after more than about four seconds has elapsed. On each completed lap, increment the lap count, reset the current lap timer, and update the best lap if it is faster. Show a temporary toast such as “Lap 1: 12.345 (PB)” for a personal best or “Lap 1: 13.456” otherwise, with a short beep. The main goal is simply to drive cleanly and improve Best Lap; there is no win screen or game-over state.

Overlay a compact HUD fixed at the upper-left, in translucent dark navy rounded rectangular pills with subtle borders, blur, shadow, white text, and tabular numeric values. Show Speed with a km/h unit, Lap count, Current lap time in seconds to three decimals, Best lap time in seconds to three decimals or an em dash before a lap is completed, and a small hint line reading “WASD / Arrows • Space handbrake • R reset • Click to enable audio.” Keep the HUD unobtrusive over the 3D view. Show centered temporary toast notifications for reset, crashes, and lap results.

Add optional browser audio using a Tone.js-like synthesizer system, initialized only after a click or key press. Continuously play a low mono engine tone whose frequency, modulation, and volume rise with car speed. Play a low impact thump on barrier crashes, a high beep on a personal-best lap, a slightly lower beep on a normal lap, and a reset beep. Ensure the game fills the viewport, responds to resize, prevents default behavior for driving keys, and runs continuously with a capped timestep and smooth rendering.

More free browser games

Browse the whole Arcade →