Website profiles · Technology insights · Alternatives

racing.pmnd.rs

No paid content found
Visit website
Profile views 0 Outbound visits 0 Normal
@pmndrs/racing-game Full homepage screenshot

At a glance

Category
Games & Board Games
Language
English
Paid-content signal
No paid content foundObserved
Registered
Unknown
Hosting
VercelInferred
HTTPS certificate trusted
PassedObserved
Last updated

Website review

This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.

What is @pmndrs/racing-game?

@pmndrs/racing-game is a browser-based racing game and open-source project from the pmndrs collective, the team behind the React Three Fiber ecosystem. It is best understood as both a playable arcade racer and a reference implementation: the code is public, so developers study it to see how a full 3D game is assembled with React Three Fiber, Three.js and a physics engine (Rapier) rather than a traditional game engine.

What it offers

  • A playable racing experience that runs in the browser, aimed at people who want a quick arcade-style drive without installing anything.
  • A learning resource for web developers moving from 2D sites into 3D interaction: scene setup, vehicle physics, camera behavior, asset loading and game-loop structure are all visible in one codebase.
  • A community showcase demonstrating what the React Three Fiber stack can do at game scale.

Who it suits

Audience Why it is useful Trade-off
Curious players Instant play in a browser tab It is a demo-scale game, not a content-rich commercial racer
React/Three.js developers Real, working example of physics plus rendering in React Requires familiarity with React and 3D concepts to follow
Teams evaluating a web 3D stack Shows the stack's practical limits and patterns Game-specific choices may not transfer to non-game projects

A practical next step

If you are a developer, open the project on GitHub and read the source alongside the running game at racing.pmnd.rs — compare how a specific behavior (steering, collisions, camera follow) is coded with how it feels in play. If you are evaluating whether to build something similar, use it as a benchmark: try to identify which parts you would reuse and which you would replace, and check the broader pmndrs documentation and examples for the libraries involved.

How do I play the @pmndrs/racing-game demo in my browser?

Open @pmndrs/racing-game in a desktop browser and start driving; the demo runs directly in the page, with no download, install or account step described.

What to expect

It is a browser-based 3D racing demo built with React Three Fiber and the pmndrs ecosystem. Treat it as a technical showcase rather than a full game: the point is to see real-time rendering, driving physics and a scene running in a web page, not to progress through a campaign.

Practical setup

  • Use a desktop browser with WebGL enabled. A recent Chrome, Edge or Firefox on a laptop or desktop gives the smoothest result.
  • Give it a real keyboard. Driving demos generally map acceleration, braking and steering to keys, which is awkward on touch screens.
  • Close heavy tabs first. 3D scenes are GPU-bound; background video calls or many tabs can cause stutter.
  • Click into the canvas before pressing keys so the page receives keyboard input.

Who it suits

Developers evaluating React Three Fiber or web 3D performance will get the most out of it, along with anyone curious how far browser graphics have come. If you want tuning options, save states or a structured racing game, this demo is not aimed at that.

Next step: if it feels sluggish, reload the page once and check that hardware acceleration is on in your browser settings before judging the demo's performance.

What controls and keyboard keys are used to drive in this racing game?

The page provides no documented control scheme, so the exact key bindings for @pmndrs/racing-game aren't confirmed here. In practice, a browser-based 3D racer built on the pmndrs stack (three.js and react-three-fiber) typically uses standard driving keys: W/A/S/D or the arrow keys to accelerate, brake and steer, Space for the handbrake, and R to reset the car. Treat that as the likely default, not a verified list.

How to confirm the real controls

  1. Load the game and press a few keys while watching the car; the on-screen HUD or a start overlay often lists the bindings.
  2. Check the project's README or source on GitHub, where input handling is usually defined in one place.
  3. If keys seem unresponsive, click the canvas first so it has keyboard focus.

Practical note

Keyboard layouts vary, so on non-QWERTY setups the physical W/A/S/D positions may map differently than expected. If you're comparing options, three.js examples and react-three-fiber docs show how these demos usually wire up input, which helps you predict the defaults before you play.

Can I use @pmndrs/racing-game as a starting template for my own Three.js racing project?

Yes. @pmndrs/racing-game is best treated as a working reference project you can study and fork, not as a packaged starter kit with a stable API. It shows how a full racing game is assembled with React Three Fiber, so it is most useful if you plan to build on that stack rather than on plain Three.js.

What it is well suited for

  • Learning a complete structure. You can see how scene setup, vehicle physics, track geometry, camera behavior and game state fit together in one running project.
  • Prototyping a driving feel. The vehicle handling and physics wiring give you a concrete baseline to tune rather than starting from an empty scene.
  • React Three Fiber projects. If your game will use R3F and a physics engine, the patterns transfer directly. If you want vanilla Three.js, expect to rewrite the React and state-management layers.

Trade-offs to weigh

Your situation Fit
Building with React Three Fiber Strong: patterns and structure carry over
Wanting plain Three.js Moderate: useful as a reference, but substantial rewriting
Needing a maintained, versioned template Weak: treat it as a demo to learn from, not a dependency
Shipping a small prototype fast Good if you accept cleanup work

Practical next step

Clone it, run it locally, and change one thing first—swap the vehicle model or adjust a handling parameter. That tells you quickly whether the codebase's assumptions match your project. Before committing, check the repository's license and recent activity, since a demo project may not be maintained for your use case.

For broader context on the ecosystem, three.js and Poimandres docs cover the underlying libraries the project builds on.

How does the game's physics and vehicle handling work under the hood?

The site does not document its physics or vehicle-handling internals, so there is no reliable under-the-hood description to summarize from it. What can be said from the available material is only that it is a browser-based racing game built with the pmndrs (react-three-fiber) stack; how forces, suspension or steering are actually modeled is not described there.

What to check instead

If you want to understand the handling model, the practical next step is the project's source code rather than its landing page. Look for:

  • Physics engine choice — whether it uses a rigid-body engine such as Rapier or cannon-es, which determines how collisions, friction and mass are handled.
  • Vehicle model — a raycast-vehicle approach (suspension rays plus wheel forces) versus a simplified arcade model (direct velocity and steering changes). The first gives weight transfer and grip behavior; the second is easier to tune and more forgiving.
  • Tuning parameters — engine force, brake force, steering angle limits per speed, suspension stiffness and damping, tire friction. These are usually the clearest signal of how "simulation-like" the handling is.
  • Frame-rate handling — fixed-timestep physics with interpolation versus per-frame updates, which affects consistency across machines.

Choosing what to expect

A raycast-vehicle setup suits players who want a sense of grip, drift and weight, but it needs careful tuning and can feel twitchy on uneven surfaces. A simplified arcade model suits quick, accessible driving in a browser demo and is far easier to keep stable at variable frame rates. For a browser game, the trade-off usually favors the simpler model unless the project explicitly aims at simulation.

For related reference material on the same stack, see three.js and Rapier for the physics side.

Where can I find the source code and contribute to the project?

The source code lives in the project's public GitHub repository, pmndrs/racing-game, under the pmndrs organization. That is where you file issues, open pull requests and read the contribution guidance. The live demo at @pmndrs/racing-game is the deployed build, not a code host, so treat it as a preview of what the repository produces.

A practical first contribution path

  1. Clone the repository and run it locally so you can see the game before changing anything.
  2. Read the README and any CONTRIBUTING file for the project's setup steps and coding conventions.
  3. Look for issues labelled as beginner-friendly or "good first issue", and comment on one before starting work so nobody duplicates it.
  4. Keep pull requests small and focused — one fix or feature per PR is easier to review than a broad rewrite.
  5. If you are changing gameplay or physics behaviour, describe how you tested it; for visual changes, a screenshot or short clip helps reviewers.

Where to ask questions

The pmndrs ecosystem is discussed in the Poimandres community, which you can reach through Poimandres and its Discord. That is often faster than an issue for "how does this part work" questions, while the GitHub issue tracker remains the right place for confirmed bugs and proposed changes. The underlying 3D libraries are documented at pmndrs docs, useful if your contribution touches rendering or physics.

Decision criterion

If you want to fix a specific bug, go straight to the GitHub issues. If you are still learning the codebase, start by reading the source and asking in the community before writing code — the repository's own conventions should guide the change more than any general advice here.

Related questions

More questions →
How to Play @pmndrs/racing-game in Your Browser

Open racing.pmnd.rs in a modern desktop browser that supports WebGL, wait for the 3D scene to load, then use the on-screen prompts and your keyboard to drive. There is nothing to install — the game runs directly in the browser tab. The steps below cover what to check before loading, how to get from the landing view into driving, and the usual reasons a browser session fails to start.

Before You Load the Page

The game is a WebGL-based 3D experience, so the browser and hardware need to handle real-time rendering.

  • Browser: A current version of Chrome, Edge, Firefox, or Safari. Older browsers or embedded webviews inside other apps are the most common cause of a blank canvas.
  • Graphics: WebGL must be enabled. If you have previously disabled hardware acceleration or WebGL in your browser settings, re-enable it before trying again.
  • Hardware: A dedicated or reasonably capable integrated GPU helps. Very old machines may load the page but render slowly.
  • Network: The scene assets are downloaded when the page opens, so a stable connection shortens the initial load.

You can confirm WebGL support quickly by visiting a WebGL diagnostic page in the same browser; if that reports no support, the game will not render either.

Step-by-Step: From URL to Driving

  1. Open the site. Enter racing.pmnd.rs in the address bar. No account, download, or installer is involved.
  2. Wait for the scene. The page shows a loading state while the 3D assets and physics engine initialize. Give it time on slower connections rather than reloading immediately.
  3. Read the on-screen controls. The game presents its control scheme in the interface. Use those prompts as the source of truth, since key bindings can change between builds.
  4. Start driving. Once the vehicle and track are visible, input from the keyboard moves the car. Typical arcade-racing conventions apply: acceleration, braking, and steering keys.
  5. Reset if you get stuck. If the car leaves the track or the camera ends up in an odd position, reloading the page returns you to a clean starting state.

Expected result: you are controlling a car on a 3D track inside the browser tab, with no local files created.

Controls and Getting Oriented

The project is an open-source demo built with the pmndrs stack (React Three Fiber and related libraries), and its interface is intentionally minimal. Because the exact key map is shown in the page itself, treat the on-screen legend as authoritative rather than relying on memorized bindings from other racing games.

A practical first session looks like this:

  • Spend the first minute just accelerating and braking in a straight line to feel the handling.
  • Test steering at low speed before attempting a full lap.
  • If the camera view is confusing, pause and re-orient before pushing speed.

Common Problems and Fixes

Symptom Likely cause What to try
Blank or black canvas WebGL disabled or unsupported Enable hardware acceleration; try another modern browser
Page loads but is very choppy Weak GPU or too many background tabs Close other GPU-heavy tabs; try a different device
Stuck on a loading screen Slow asset download or blocked request Check connection; disable aggressive content blockers for the site; reload
Keyboard input does nothing Page not focused Click once inside the game area, then press keys
Controls differ from what you expected Build updated its key map Follow the on-screen legend

When Browser Play Is the Right Choice

Playing in the browser is the right approach if you want to try the demo quickly, are evaluating the pmndrs rendering stack, or are on a machine where you cannot install software. It is a poorer fit if you need consistent frame rates on low-end hardware, are on a locked-down network that blocks asset downloads, or want to modify the game — for that, running the source locally is the better path, which requires a development environment rather than just a browser tab.

What is @pmndrs/racing-game (racing.pmnd.rs)?

racing.pmnd.rs is the web address of @pmndrs/racing-game, a browser-based 3D racing game project from the pmndrs open-source collective. You open the URL and play in the browser; there is no store page, download, or account flow described on the site itself. Treat it as a playable web project and a reference implementation rather than a commercial game product.

What you can expect when you visit

  • An interactive 3D racing experience that runs in the browser, built with the pmndrs ecosystem (the collective behind libraries such as react-three-fiber and drei).
  • A project page, not a product page. There is no pricing, purchase, or subscription information presented, so don't assume it is a paid or free-to-play commercial title with a roadmap.
  • A demo-like scope. Expect a focused driving/racing sandbox rather than a full game with menus, progression, or matchmaking, unless the site itself shows otherwise.

Who it is for

If you are… What racing.pmnd.rs is useful for
Curious about browser 3D games A quick, no-install way to try a WebGL racing experience
A web/3D developer A live example of what the pmndrs stack can do for real-time games
Looking for a full commercial racing game Probably not the right fit; scope and features are project-level

Practical notes before you open it

  • Use a modern desktop browser with WebGL enabled. 3D browser games depend on GPU acceleration; if the page loads but the scene is blank or slow, check that hardware acceleration is on and that your browser and graphics drivers are current.
  • Expect keyboard controls. Browser racing demos typically map driving to the keyboard; the on-page instructions, if any, are the authority on the exact keys.
  • Performance varies by device. Integrated graphics or older laptops may run it at a low frame rate; a dedicated GPU or a recent machine gives a smoother experience.
  • No login or payment is indicated. Nothing on the site suggests an account is required to reach the game, but that is an observation about what is shown, not a guarantee of unrestricted access.

How to think about it

The clearest way to understand racing.pmnd.rs is as a showcase: it demonstrates that a real-time 3D racing game can run directly from a URL using open-source web graphics tooling. If your goal is to play, open the link and drive. If your goal is to learn, view it as a working sample of the pmndrs approach to building 3D scenes in the browser, and look at the project's source repository for implementation details.

What web technologies power the @pmndrs/racing-game (racing.pmnd.rs)?

The @pmndrs/racing-game is a browser-based 3D racing game built with the React Three Fiber ecosystem: React for the UI layer, Three.js for rendering, and react-three-fiber as the bridge between them. Because it runs on standard web graphics APIs in the browser, you can play it by opening the site — no separate app install is required. The project is associated with the pmndrs (Poimandres) open-source collective, which maintains React Three Fiber and related libraries.

The core stack

The pmndrs name is the strongest signal here: Poimandres is the group behind react-three-fiber, and a game published under that namespace is built to showcase that toolchain. The stack breaks down into three layers:

  • Three.js — the underlying WebGL renderer. It handles scene graph, geometry, materials, lighting, and the render loop.
  • react-three-fiber — a React renderer for Three.js. Scene objects are declared as React components, and React's state and lifecycle drive the 3D scene.
  • React — manages UI state, component composition, and the game's interface elements.

Supporting libraries from the same ecosystem

pmndrs projects typically pull in companion packages rather than hand-rolling everything. In a racing game context, the likely candidates are:

Concern Typical pmndrs package
Physics (vehicle movement, collisions) @react-three/rapier (Rapier physics engine)
Post-processing (bloom, motion blur) @react-three/postprocessing
Helper utilities and controls @react-three/drei
Global game state zustand

These are the standard building blocks across pmndrs demos, so expect the game to lean on them for physics, visual effects, and state management rather than custom engines.

Why it runs in the browser

The game renders through WebGL, the browser's 3D graphics API. That means:

  • No install step. The game loads as a web page; the browser does the rendering.
  • Cross-platform by default. Any device with a modern browser and WebGL support can run it, subject to GPU performance.
  • Asset loading over HTTP. Models, textures, and audio are fetched like any other web resource, which affects initial load time.

The trade-off is that performance depends on the player's GPU and browser, not a fixed console or desktop target.

What this means if you want to learn from it

Because the project is open source and built on public libraries, it works as a reference implementation for browser 3D games. If you want to study or reuse the approach:

  1. Check the repository linked from the site or the pmndrs GitHub organization for the actual dependency list — that is the authoritative source for which packages and versions are used.
  2. Start with react-three-fiber docs if you are new to the stack; the game's patterns (declarative scene graph, hooks for the render loop) follow the library's conventions.
  3. Expect physics to be the hard part. Vehicle handling in a racing game usually comes from a physics engine integration, so look at how the physics world is stepped and how the car body is driven.

Common sticking points

  • Load time and bundle size. 3D assets are heavy; first load can be slow on modest connections.
  • Mobile performance. WebGL on phones is capable but constrained; a desktop-oriented scene may not hit smooth frame rates everywhere.
  • Version drift. React Three Fiber and its companions evolve quickly, so older tutorials may not match the current API.

For the exact technology list, the project's own repository and package manifest are the reliable reference; the stack described above reflects the pmndrs ecosystem the game is built to demonstrate.

Where to Find the Source Code for @pmndrs/racing-game

The source code for @pmndrs/racing-game (racing.pmnd.rs) is hosted on GitHub under the pmndrs organization, the same collective behind libraries like react-three-fiber, drei, and zustand. The project name maps directly to its repository: search GitHub for pmndrs/racing-game, or go to github.com/pmndrs and look through the repositories list. The live site at racing.pmnd.rs is a deployed build of that repository, so the GitHub repo is the canonical source.

How to locate the repository

  1. Open github.com/pmndrs.
  2. Use the organization's repository search or filter for "racing".
  3. Select the repository named racing-game.
  4. Confirm you are on the pmndrs organization page, not a personal fork, if you want the maintained upstream version.

If you arrive from the live site instead, check the page for a source or GitHub link — pmndrs demos commonly link back to their repository. If no link is visible, the organization search above is the reliable path.

What to expect in the repository

Area What you'll typically find
Code The game's source, organized by scene, vehicle, and UI logic
Assets 3D models, textures, and audio used by the game
Setup A package manifest and instructions for installing dependencies and running a local dev server
Build Configuration for producing the deployed site

Because the project sits in the pmndrs ecosystem, expect the stack to center on React Three Fiber and related pmndrs packages — the same tooling described in the question about what technologies power the game. The repository is the place to verify exact dependencies rather than relying on secondhand summaries.

Practical notes

  • Forks vs. upstream: Search results may surface forks. Prefer the repository under the pmndrs organization for current code.
  • Running it locally: Follow the repository's own README for install and dev-server commands; menu names and scripts can change between versions, so treat the README as authoritative.
  • Licensing: Check the repository's license file before reusing assets or code in your own project.
  • Issues and discussion: The repository's issue tracker is where bugs and questions about the codebase are handled.

If your goal is simply to play the game, racing.pmnd.rs is sufficient. If your goal is to read, run, modify, or learn from the implementation, the GitHub repository under pmndrs is the source you want.

Website Overview

Several search or sharing settings need attention. Together they may make snippets, preview images or preferred URLs less consistent across platforms.

Domain and Registration

The domain uses the common .rs extension, which is not an independent safety signal.

DNS and Email

Nameservers are provided by Cloudflare, indicating managed DNS hosting. CAA records restrict which certificate authorities are authorized to issue certificates. No CNAME was found; the observed records resolve directly to addresses. No MX record was found. A conventional explicit inbound-mail route is not configured. The lowest observed DNS TTL is 300 seconds.

TLS and Certificates

The public key uses EC with 256 bits. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued within the Google Trust Services cloud or CDN ecosystem. The certificate's total validity is about 90 days, consistent with a short renewal cycle.

HTTP and Browser Security

The response lacks these common security headers: CSP, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, clickjacking protection. CORS permits any origin to read this response. This is common for public resources; sensitive responses need narrower handling. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. The cf-ray response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers.

Technology Stack Analysis

The public page identifies Cloudflare, Vercel without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

No homepage meta description was detected, leaving snippet selection more dependent on page text. No homepage canonical URL was detected. If duplicate URLs exist, consolidation may be less explicit. No Open Graph metadata was detected, so social previews may depend on platform inference. The title has 19 characters, within a common display range. The observed directives allow indexing and link following.

Hosting and Email

DNSCloudflare
HostingVercel
EmailUnknown
Approximate IP geolocation (inferred; a CDN or proxy may differ from the origin server) Location unknown Inferred 104.21.31.12

Registration details

RDAP / WHOIS

RegistrarGransy d.o.o.
RegisteredUnknown
ExpiresUnknown
Domain statusActive https://www.rnids.rs/en/domain-name-status-codes#Active
NameserversUnknown
DNSSECunknown

DNS records

DNS

TypeNameValueTTLPriority
Aracing.pmnd.rs104.21.31.12300—
Aracing.pmnd.rs172.67.174.159300—
AAAAracing.pmnd.rs2606:4700:3033::ac43:ae9f300—
AAAAracing.pmnd.rs2606:4700:3034::6815:1f0c300—
NSpmnd.rscheryl.ns.cloudflare.com86400—
NSpmnd.rsgerald.ns.cloudflare.com86400—
CAApmnd.rs0 issue "comodoca.com"300—
CAApmnd.rs0 issue "digicert.com; cansignhttpexchanges=yes"300—
CAApmnd.rs0 issue "letsencrypt.org"300—
CAApmnd.rs0 issue "pki.goog; cansignhttpexchanges=yes"300—
CAApmnd.rs0 issue "sectigo.com"300—
CAApmnd.rs0 issue "ssl.com"300—
CAApmnd.rs0 issuewild "comodoca.com"300—
CAApmnd.rs0 issuewild "digicert.com; cansignhttpexchanges=yes"300—
CAApmnd.rs0 issuewild "letsencrypt.org"300—
CAApmnd.rs0 issuewild "pki.goog; cansignhttpexchanges=yes"300—
CAApmnd.rs0 issuewild "ssl.com"300—

TLS and certificates

TLS / SSL

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectpmnd.rs
IssuerGoogle Trust Services
Valid until2026-12-26T01:51 · Remaining when checked: 61 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HTTP

HeaderValue
content-typetext/html; charset=utf-8
cache-controlpublic, max-age=0, must-revalidate
servercloudflare
strict-transport-securitymax-age=63072000
access-control-allow-origin*

Identified technologies

CloudflareVercel

Pages, Search and Sharing

Meta descriptionNot detected
Canonical URLNot detected
LanguageEnglish (default)
Twitter CardNot detected

Unknown

No robots.txt found

No sitemaps found

Recent Updates

  • Website images
  • Screenshots
  • Pages and Search Information
  • HTTP Response Information
  • Website profile
  • Website Name

User reviews (0)

  • No reviews yet.