Awards Racing
Awards Racing is a drift racing game played in the browser, and it turns design awards into a race. The player is a junior designer who has just been nominated, smashing through design software icons, collecting likes and dodging attacks from jurors and rivals. Four gauges on the right of the screen track the design, usability, creativity and content scores that award sites use. Every twenty seconds during a race the whole arena repaints itself in a new colour scheme, spreading outward from under the car, and the characters in the cars nod along to the beat of the music.
Ecofuture Technology Services in the United Arab Emirates made the game, and its About page credits a team of six. Awards Racing first won FWA of the Day, was then named FWA of the Month for September 2026, and also received an Honorable Mention on Awwwards.

01Concept
Awards Racing comes from Ecofuture Technology Services, a waste management software company in Dubai whose products include a wastewater-removal ordering platform and Re-bin, which lets people trade recyclables for money. Ecofuture's own company website had already won FWA of the Day in December 2023, and this time the company made a game that jokes about awards.
Every part of Awards Racing makes fun of award culture. The player's badge reads JUNIOR DESIGNER, the race is about collecting likes, likes raise the four scores for design, usability, creativity and content, and the results screen counts how many nominations and awards the run earned. The arena is littered with design software icon blocks, coffee cups, mugs and office chairs, and the drivers chasing the player are jurors and other nominees. The team names on the leaderboard come from the errors and terms programmers meet every day, such as TEAM 404, TEAM NAN, TEAM SEGFAULT and TEAM BÉZIER.
On a first visit, visitors pass through several opening screens. On the loading screen the letters of AWARDS RACING fill with yellow one by one as loading progresses, followed by a yellow diamond road sign with a black border that carries a health warning and a disclaimer about flashing visuals and intense audiovisual effects. After the sign, WELCOME and a random driver name assigned to the visitor, such as SOMEBODY-915, appear letter by letter. Next, a cartoon character walks in holding a black MADE WITH sign that lists three.js, Bullet3, GSAP, Vue.js and other tools, with a note that the game works with touch, keyboard, DualSense and Xbox controllers. The last screen is a full-screen red face asking whether to turn on sound, and the visitor presses ESC to turn it off or Enter to turn it on.
The first two screens move on by themselves after 6 seconds each, and the sound screen waits until the visitor answers. A visitor who presses nothing ends up on this screen after about 25 seconds. After answering, the visitor arrives in the garage, and on later visits these opening screens no longer appear.
The garage is the game's home screen, with HOW TO PLAY in large letters on the left and an Enter key icon telling the visitor that Enter starts a race. Below it are four links, Join Club, About, Merch and Legal, and below those the visitor's driver badge and car badge. On the right are the BEST DRIVERS leaderboard and a YOUR BEST panel with the visitor's own best results, one row of which is labelled SOTD. Three laurel badges at the top read FOTM, SOTM and SOTD, next to the number of players online and the total number of racers.

Once a race starts, the player drives with the arrow keys or WASD, presses Q to fire a rocket and E to set off a bomb. Shift is a nitro boost, the space bar jumps and R restarts. Pickups on the arena include likes, gold likes, shields, health, bombs, rockets and nitro. Soft cartoon characters sit in the rival cars, and when the player knocks one over or blows it up, RIVAL DEFEATED pops up at the lower left. When the player's car is wrecked, a huge WASTED fills the screen, followed by a results screen listing the total score, likes, experience towards the next level and the four scores as percentages.
The garage also hides several panels, and pressing O opens the car page, which reads CAR CHANGING SOON and only lists the current car's durability, power, mass and speed. Pressing U opens the driver editor, which offers five groups of looks named SKIN, H&H, EXTRA, MOOD and MAGIC. BUILD DETAILS opens the patch notes, where the game is labelled Early Access and had reached version 0.8.4 at the time of writing, and the version stamp at the lower left of the garage reads v2026-10-01, three weeks after the September 9 FWA of the Day. SCORES & CHEATERS explains the scoring, in which likes count most, four playstyle bonuses count for 40%, 30%, 20% and 10%, and level and rank build up only over many runs. The same panel says cheaters will not be stopped and the system simply keeps the records of every run.
The About page is the team's own write-up of how the game was made, and it is also a separate 3D scene. The page lists the six people on the team, with Ilia E. on the engine and shaders, Kate A. on the front end, Tony K. on the interface and assets, Paul K. and Andy B. on 3D modelling, and Angie P.'s role given as everything, apparently.

02Design
Awards Racing's colour rule pairs one dark colour with one bright one, with the dark colour covering the ground and the bright colour drawing the lines, while every block and pickup is tinted in the bright colour too. White or coloured lines split the ground into polygon cells of different sizes, and the cells are covered in a fine grainy texture that looks like enlarged felt. A race has five stages, each with three colour schemes, fifteen in all. The three schemes of the first stage are dark navy with neon green (#16233B and #8EC322), dark wine with hot pink (#4D0018 and #FF1A5E), and ultramarine with white (#000876 and white), and later stages move on to purple, pink, emerald, amber, teal, gold, sky blue and other pairs. When the scheme changes, every material in the arena changes with it, so the icon blocks, cups and chairs all take on the new bright colour, and the background of the results screen changes as well.
The objects in the arena all come from a designer's desk. The icon blocks carry two-letter abbreviations such as Ea, Sp, Id and Ia that imitate design software icons, and some carry the real logos of tools such as Figma and GitLab. Takeaway coffee cups, mugs and office chairs lie among them. The cars are covered in stickers with team names that joke about typography and colour, such as KERNING KILLERS, BEZIER BUMP and HUE'S HUSTLE. The characters are round, soft little monsters with big mouths and buck teeth, some wearing sunglasses or pointed hats, and they sit in the cars swaying with every move.

The game's interface uses a single typeface, Druk Wide, a heavy sans serif stretched wide, sans serif meaning its strokes end without small feet, in two weights, 900 italic and 500. The large garage title sets HOWTO as an outline and PLAY as solid white, with the two treatments stacked together. During a race the interface runs around the four edges of the screen, with bomb, rocket and nitro counts on the left, the multiplier, distance and likes at the top centre, the four round gauges stacked on the right, and a row of key hints drawn as real keycaps along the bottom. Messages pop up at the lower left in a bold italic item name followed by a small action word, such as ROCKET LAUNCHED.
On phones the interface is rebuilt for one-handed play in portrait. The garage keeps only the title, the driver badge and the car badge, and the menu moves behind a three-line button at the top right. During a race a virtual joystick sits at the lower left, while a large DRIVE button at the lower right is surrounded by four small round buttons for fire, bomb, nitro and back, all within reach of the right thumb, and the four gauges shrink into a column on the right.

03Motion
Awards Racing's most distinctive motion is the repaint, and every 20 seconds a new colour starts spreading across the ground from under the car. The spreading edge is irregular, like paint soaking into paper, and the new colour covers the whole arena in 1.5 seconds while the icon blocks and cups change colour at the same moment. The order of the schemes is shuffled each race, with the first one fixed and the rest in random order. When a stage goes up, the game swaps the whole set of schemes, and the camera and the time of day switch too. Even-numbered stages use a side camera looking down and daytime, odd-numbered stages a chase camera behind the car and night, and both switches take 1 second.

The characters in the cars nod to the beat of the music, and on every beat the game pushes a character's head forward or back. The faster the car goes, the harder the push, up to 1.75 times the push at low speed. The car's speed also applies a steady wind force to each character, so the faster the car goes, the more the character leans over. When the visitor turns the sound off, the game drives the characters with a fixed beat instead, so they keep swaying even in silence.
Crashes and explosions answer in an exaggerated comic book style. When a bomb goes off, a comic burst reading B-A-A-M! explodes on the screen, the icon blocks around it are physically blown away, and blue like coins spring out of the car. Drifting leaves trails of white smoke behind the car, a shield wraps the car in a hexagonal mesh, and a health pickup flashes a teal ring around it. The LET'S GO at the start of a race and some of the messages on the arena first appear as scrambled letters that settle one by one into the right words.

When the picture is moving, motion blur and red and blue colour fringes appear, and when it is still they disappear. The direction and length of the blur come from how fast each pixel is moving on screen, and the strength during a race is more than twice that in the garage. The colour fringes grow with the blur, so the faster the car goes, the stronger the red and blue fringing at the edges of the screen.
The opening screens move slowly, with the health warning and the MADE WITH sign each growing to 1.1 times their size over 10 seconds. Each letter of WELCOME and of the driver name waits a random 0.2 to 1.3 seconds before it appears, so the letters pop up here and there in no particular order. The sound screen is revealed by a circle expanding from the centre in 0.5 seconds, and the red face then follows the cursor slightly.
Awards Racing held a steady 60 frames per second in the garage and during races, with no frame over 33 milliseconds in a race, and the same held after switching to WebGPU. The game does not read the system's reduced motion setting, and only warns players who are sensitive to flashing with the health warning at the start.
04Engineering
Awards Racing's interface layer is built with Nuxt and Vue, and the game itself is a separate script of about 2.5 MB, compressed to about 0.7 MB in transfer, with obfuscated code that exposes a single CarGameModule object. In this game three.js handles only the maths, the scene graph and model loading, and the picture is drawn by a renderer the team wrote themselves. The renderer has a WebGL2 path and a WebGPU path, with every shader written once in GLSL and once in WGSL, and the settings panel can switch between them, with WebGL2 as the default.
The About page says every physical object is drawn in a single draw call, and the multi-draw buffer in the game script is how that is done. The buffer the team wrote takes in every block that can be smashed and every pickup, and packs their geometry into one shared vertex and index buffer, with each kind of geometry in its own slot of up to 300 instances. The position and rotation of every instance live in four float textures that hold this frame's and the previous frame's positions and rotations, and the vertex shader fetches its own transform from those textures by geometry number and instance number. Under WebGL2 all of these objects are drawn at once by the multiDrawElementsInstancedWEBGL call of the WEBGL_multi_draw extension.

The game issues exactly two of these calls every frame, one for the scene and one for the shadows. Each call carries 34 kinds of geometry, with about 92 instances in the garage and 290 to 415 during a race. Besides these calls, every frame has another 80 to 145 ordinary draws for the ground, the cars, the characters, the effects and post-processing, so the single draw call covers the physical objects only, and the rest of the picture takes its own draws. After switching to WebGPU, the game draws each kind of geometry separately, the number of draws per frame rises to 139 to 149, and the frame rate stays at 60.
The physics runs on Bullet, which the team wrapped in a C++ layer and compiled to WebAssembly, a 240 KB download. The scene is organised in cells, where resting objects live in the cells and only move into the set of moving bodies when something hits them, returning to their cells once they settle. This is what the About page means by the world streaming in and out in cells around the car. Vehicle settings include mass, forward force, braking force, top speed and drift speed, cars have armour and health, and the rivals' chasing and ramming live in the same layer. Rockets, bombs and explosions are physical objects, and explosions really push the blocks away. The physics runs at 60 or 90 substeps per second depending on the device, and physics speed rises with each stage.
The renderer draws each frame in these passes.
- It first renders the shadow map, then writes the scene's colour, normals and depth into several buffers, and then lights everything in one deferred lighting pass
- Transparent objects go through a separate forward pass, which lights each object directly
- Post-processing runs a five-level downsampled bloom, temporal anti-aliasing that mixes in 88% to 97% of the previous frame, motion blur and colour fringing based on each pixel's movement, and finally tone mapping at an exposure of 0.9 and a box-shaped vignette
The characters have no skeletons, and each one is a sphere of point masses joined by springs. The solver iterates the constraints four times a frame, with a spring stiffness of 0.05, an in-race damping of 0.05 and a restoring force that pulls the shape back to its rest pose. Each character has a point of force above its head, where speed applies a steady wind force and every beat adds a push forward or back with a strength of 5, multiplied up as the car goes faster. The beats come from a beat table worked out in advance for each track, which records the second at which every beat and every downbeat falls. Every frame the game compares the music's playback time against the table, counts a beat when the two are within 0.15 seconds, and assigns it a position in a four-beat bar. When the visitor has the sound off, the game keeps its own beat at a fixed interval.
Stages are set by the score, rising at 50, 100, 200 and 500 points. Each stage raises physics speed and rival speed by 0.1 and makes rivals fire more often, and from the second stage on a boss can appear. The interface layer sends the game a repaint command every 20 seconds, and the palette table in the interface script stores each scheme's ground colour, line colour, line width and cell size. A separate excitement value goes up with likes, gift boxes, coffee cups, hits on rivals and explosions, goes down when the player is hit, and keeps rising at high speed, while drifting for more than 0.1 seconds and while airborne for more than 0.5 seconds.
The game sorts devices into three classes, phones, high pixel-ratio screens and standard screens, each with three or four quality levels. The quality level decides how many objects go in each cell, whether there are shadows, how large the shadow map is, which render pipeline runs, the canvas pixel ratio and the number of physics substeps. Every device starts at the lowest level, so on a computer the canvas is drawn at 1x, a 1920×945 window gives a 1920×945 canvas, and on a phone it is drawn at only 0.85x. The visitor's choices in the settings for quality, frame rate cap, graphics API, time of day and camera are all saved in the browser.
A first visit downloads about 23.2 to 23.7 MB, and the three hundred or so requests all go to the game's own domain and its API subdomain, with no analytics or ad scripts on the page. Images are the largest category at about 9.6 MB, followed by about 8.1 MB of MP3 files, where each of the six music tracks is 1 to 1.5 MB and downloads even when the visitor chooses no sound. The 3D models are four glb files totalling about 1.9 MB, the largest about 1.5 MB and named everything. Phones download the same set of files, at the same size as on a computer. The screen draws the loading screen between 1.3 and 1.6 seconds, and loading includes eight long tasks, the longest 2.1 to 2.4 seconds, while the visitor is looking at the loading screen.
Awards Racing takes good care of different ways to play, since a full race works with the keyboard, a gamepad or touch, and phones get a dedicated one-handed portrait interface. Screen reader users get very little, since the arena and the characters are all drawn on the canvas, at the start the Tab key only reaches the two sound buttons and the canvas, and several of the touch buttons in a race have no names. The About page is the exception, with a complete structure in which a screen reader finds one top-level heading and eight second-level headings.
05Scores and Team
| Award | Source | Date | Score |
|---|---|---|---|
| FWA of the Day | The FWA | 2026-09-09 | 84 POINTS |
| FWA of the Month | The FWA | September 2026 | No separate score |
| Honorable Mention | Awwwards | 2026-09-20 | No jury score published |
Awards Racing scored 84 points on FWA, became FWA of the Day on September 9, and was named FWA of the Month for September on October 1. Awwwards gave it an Honorable Mention, and the Honorable Mention page shows only member votes, with no jury score. The FWA description matches the About page, covering object pooling, a world that streams in cells, a single draw call, physics-driven effects and characters without skeletons, which shows what the team itself is proudest of.
| Credit | Who they are | Track record |
|---|---|---|
| Ecofuture Technology Services | A waste management software company in Dubai whose products include a wastewater-removal ordering platform, Re-bin for trading recyclables for money and platforms for industrial and urban waste | Awwwards works 2, HM 2. FWA 3, a December 2023 FWA of the Day for the company's own website plus this game's FWA of the Day and FWA of the Month |
| Angelica P. | A designer in the United Arab Emirates, the submitter on the Awwwards Honorable Mention page | Awwwards works 2, HM 2 |
Both track records are cumulative as of the time of writing. Among the six people the About page lists, Angie P.'s role is given as everything, apparently, and the award pages do not say whether Angie P. and Angelica P. are the same person.
06Archive
- Award date
- 2026-09-09
- Awards
- The FWA FOTD 2026-09-09, The FWA FOTM 2026-09, Awwwards HM 2026-09-20
- Site
- https://awards.racing
- Credits
- Ecofuture Technology Services, Angelica P.
- Design
- interface
- Build
- realtime
- Awwwards
- Honorable Mention, no jury score on the page. https://www.awwwards.com/sites/awards-racing
- The FWA
- 84 POINTS, DAYS 2. https://thefwa.com/cases/awards-racing
- Stack
- Nuxt / Vue, custom WebGL2 and WebGPU renderer, three.js (maths and loaders), Bullet (custom WebAssembly build), WEBGL_multi_draw, GSAP, Howler.js, nippleJS, Draco
- Total assets
- About 23.2–23.7 MB / 332 requests on a first visit, including about 9.6 MB of images, about 8.1 MB of MP3, about 1.9 MB of models and 240 KB of WebAssembly
- Speed
- FCP 1.3–1.6 s (loading screen), 8 long tasks, longest 2.1–2.4 s. 60 fps in the garage and in races, the same on WebGL2 and WebGPU