GallopPost The Virtual Racing Desk
Composed frame from the Gallop Post harness simulator — two pacers and their drivers on the Kurrajong Paceway dirt, jackets side on

Colours & Silks

The colours, and what they cannot do

Eight jackets read off the sprites, 6 patterns the card renderer draws, and the design around a simulated race — broadcast graphics, results typography and the cosmetics sold in the games.

  • 8Liveries
  • 6Patterns
  • 5Features
  • 3Guides

Colours & Silks is the cultural half of a racing paper, and here that means design rather than dress. The base brief gave this slot to Fashions on the Field, a real Victoria Racing Club competition with judges, entrants and a start date in 1962. A simulated circuit has no analogue for it and inventing one would be the only dishonest thing on the site, so the slot keeps its purpose and changes its subject: liveries, broadcast graphics, the cosmetics people buy in the simulation games, and the typography of a results board.

The liveries come first, because they are the one part of this circuit that is not arithmetic. Eight pacers race at Kurrajong Paceway, which is the demo track, and their colours were read off the sprites in the game bundle rather than drawn up afterwards. That is why the free play-credit game at play/, the livery cards and the runner tables on the race pages all show the same eight jackets. Each entry below carries the pattern, the hex codes, the sulky colour and a note on how that livery reads at speed on a screen.

Sprites are stacked in index order, runner_0 first, so No 1 is drawn highest on the screen and smallest and No 8 is drawn last, nearest the camera and largest. The track is pale limestone rather than turf and the cycle is twilight, which pulls every dark tone towards the same near-black. Those three facts decide whether a livery works here, and they are why the notes below talk about white, yellow and magenta more than about taste.

Nothing in this section is for sale and nothing in it reaches a result. A livery holds no numbers in the draw: it identifies a runner on a screen, and that is the whole of its job. What does decide a result is set out at how a virtual race is decided, and the terms are defined in the glossary. Every claim about the real world below names its source and the date the desk read it, in the sentence. As at 18 October 2026, engine GP-Draw 4.2.

On this page

as at 25 October 2026

The livery wall

8 jackets · 6 patterns · the demo field →

Drawn by the renderer from the hex codes below, in saddlecloth order, which is sprite order. A livery identifies a runner on a screen and holds no numbers in the draw.

Red Gum Rebel colours — Emerald and white halves, emerald cap

Red Gum Rebel

No 1 · Emerald and white halves, emerald cap · Bay coat · sprite runner_0

#0E7C4A Emerald #FFFFFF White

Cap #0E7C4A Emerald · Sulky #2B4FD6 Blue

Drawn first in the stack, so No 1 sits highest on the screen and smallest, and the white half is the only part of this jacket that holds at that size. Emerald would sink into turf; Kurrajong is pale limestone, so the green stays a dark block and the jacket splits cleanly down the middle at any speed. The blue sulky is easier to track than the cap, which is the same emerald as the body and merges with it from the front.

Harbour Flyer colours — Red and white quarters, navy cap

Harbour Flyer

No 2 · Red and white quarters, navy cap · Light bay coat · sprite runner_1

#D7262F Red #FFFFFF White

Cap #13214A Navy · Sulky #D7262F Red

Quarters are the pattern motion blur destroys: two blocks of red beside two of white average to one pink field at racing speed, which is exactly what the screen shows. The navy cap is therefore the identifier, because it sits above the blur and is the only navy in the eight. The red sulky repeats a body colour, so No 2 reads as a single warm smear with a dark dot on top.

Black Stump colours — Black, red sash, chequered cap

Black Stump

No 3 · Black, red sash, chequered cap · Dark bay coat · sprite runner_2

#141821 Black #D7262F Red

Cap #FFFFFF Chequered black and white · Sulky #D9A61C Gold

A black jacket on a dark bay horse in the twilight cycle is close to no jacket at all: the body falls to the same tone as the inside rail and the shadow under it. The red sash survives because it crosses the body diagonally and stays visible whichever way the sprite leans. The chequered cap exists for this runner and no other reason — a high-frequency check does not average to grey at this size, it flickers, and a flickering patch is the quickest thing in the field to find.

Renderer. The cap is a chequered black and white and the renderer draws a cap as one swatch, so the card takes the lighter of the two and the pattern is named in the field rather than drawn.

Bluebush Boy colours — Royal blue, white band

Bluebush Boy

No 4 · Royal blue, white band · Dun coat · sprite runner_3

#1D4ED8 Royal blue #FFFFFF White

Cap #1D4ED8 Royal blue · Sulky #C9B18A Natural

The dun coat is the palest animal in the field after the grey, so royal blue on it is the highest jacket-to-coat contrast on the card. The white band holds at every size and is the fastest read of the eight. The natural sulky is the one fault the desk has not fixed: unpainted timber against pale limestone is the same tone as the track, and No 4's wheel is effectively invisible.

Renderer. ROSTER gives this runner no cap colour, so the cap takes the body royal blue.

Gidgee Gold colours — Yellow, red and orange cap

Gidgee Gold

No 5 · Yellow, red and orange cap · Bay coat · sprite runner_4

#F2C21B Yellow #D7262F Red

Cap #E8661A Red and orange · Sulky #1E8C8C Teal

Yellow is the highest-luminance colour in the eight and the only one that needs no second colour to be found: it is readable at the top of the screen, inside the blur and against the limestone. The red and orange cap does not survive, because two warm colours at that size average to one orange dot, so the body does all the work. The teal sulky is the cold complement of the jacket and reads at a glance, which makes No 5 the easiest runner in the field to follow.

Renderer. The jacket is solid yellow, so the renderer draws the first colour only; the red belongs to the cap, which the card prints as its orange.

Night Shift colours — Purple and white, purple cap

Night Shift

No 6 · Purple and white, purple cap · Black coat · sprite runner_5

#6B3FA0 Purple #FFFFFF White

Cap #6B3FA0 Purple · Sulky #D0208C Magenta

A black horse in a purple jacket in the twilight cycle is two dark tones stacked, and the purple falls almost to the colour of the animal under it. What identifies No 6 is the white, which survives everything, and the magenta sulky, which is the brightest moving block of colour anywhere in the eight. The purple cap adds nothing on screen and is kept because it is what the sprite carries.

Salt Pan colours — Blue, magenta pad, teal cap

Salt Pan

No 7 · Blue, magenta pad, teal cap · Grey coat · sprite runner_6

#1B4FA8 Blue #D0208C Magenta

Cap #1E8C8C Teal · Sulky #2E8B4A Green

Salt Pan is the only grey in the eight, so the animal identifies the runner before the silks do, which is a luxury no other livery here has. Magenta on blue over a pale grey coat is the strongest three-colour pairing on the card, and the pad keeps its shape longer than any stripe or quarter because it is one large block. The teal cap and the green sulky are close in hue and read as one colour at small scale — a known fault, printed rather than quietly recoloured.

Renderer. The renderer has no pad primitive, so the magenta pad is drawn as a horizontal band. That is a limitation of the card, printed rather than designed around.

Copper Creek colours — Red and white stripes, striped cap

Copper Creek

No 8 · Red and white stripes, striped cap · Chestnut coat · sprite runner_7

#D7262F Red #FFFFFF White

Cap #D7262F Red and white stripes · Sulky #D9A61C Gold

Drawn last in the stack, so No 8 is nearest the camera and largest, which is the only reason these stripes work at all: narrow vertical stripes alias to solid pink the moment the sprite is scaled down, exactly as No 2's quarters do. The striped cap fails for the same reason, which leaves the chestnut coat and the gold sulky doing the identifying. That gold is shared with No 3, so the two are separated by jacket — red and white stripes against black and red.

Renderer. The striped cap is drawn as flat red, because a cap is one swatch; the stripe is named in the field instead.

Hex pairs are the values the card renderer is given, not a reading off a photograph: a simulated runner cannot be photographed, so the colours are the identity. Livery is defined in the glossary.

Features

5 pieces · anchored, so a link lands on the article

Culture

Eight liveries, read off the sprites

The Kurrajong eight were not designed. They were recorded: eight sprites, eight patterns, sixteen hex codes, and three conditions that decide which of them survive a screen.

Generated contact sheet — the eight Kurrajong livery cards in saddlecloth order, each showing pattern, cap and sulky colour against a coat swatch.

The eight Kurrajong liveries were not designed. They were read off the sprites in the demo bundle, one at a time, and written down: runner_0 to runner_7 against saddlecloths 1 to 8, with the pattern, the two body colours, the cap and the sulky recorded as hex codes. The game, the livery cards and the runner tables on the race pages agree because all three read the same eight rows.

The card renderer draws eight patterns and nothing else — halves, quarters, sash, band, stripes, hoops, chequer and solid — and each card is 600 by 400 with the saddlecloth, the pattern, a coat swatch and the engine id on it. No photograph of a real horse stands in for a simulated one anywhere on this site. One livery does not fit the renderer: Salt Pan's magenta pad is drawn as a horizontal band, because there is no pad primitive. That is a limitation, and it is printed as one.

Three conditions decide whether a livery works here. Eight runners share a 300 m straight. The surface is pale limestone rather than turf, so cool colours hold their tone and warm colours compete with the track. And Kurrajong races in the twilight cycle, which pulls every dark tone towards the same near-black. Sprites stack in index order, so No 1 is drawn highest and smallest and No 8 nearest the camera and largest.

What survives all of that is a short list: white, yellow and magenta. White does the work on No 1, No 2, No 4, No 6 and No 8. The yellow of No 5 needs no second colour at all. The magenta sulky of No 6 is the brightest moving block in the field. What fails is just as short: black on No 3 against the rail, the stripes of No 8 and the quarters of No 2, which both alias to one pink at small scale, and the natural timber sulky of No 4, which is the same tone as the limestone it rolls on.

Two collisions are left in deliberately. No 3 and No 8 share a gold sulky, so the jacket settles which is which. No 7 carries a teal cap over a green sulky, and at small scale they read as one colour. Neither was recoloured, because the sprites are the source and the point of this section is to record what the screen does.

The chequered cap on No 3 is the piece of this set doing real work. A black jacket with a red sash, on a dark bay horse, at twilight, is almost nothing on screen; a high-frequency check flickers instead of averaging to grey. Find the flicker and you have found the third runner. The eight rows are listed in this section, each runner's own page in horses/ carries its card, and the same eight jackets are in the demo at play/.

Tagged: liveries, kurrajong-paceway, design

Culture

Four simulated races on television in 2020

Drones over Aintree, fences built to break apart, horses written to tire, and a field drawn without blinkers because there was no time to draw them. What the broadcast virtuals of 2020 show about drawing a race.

Photograph of a television production gallery — a wall of monitors and a vision-mixing desk, with no people in frame.

Four simulated horse races were made for television in 2020, and one supplier built all four. Inspired Entertainment produced the Virtual Grand National for ITV, the Triple Crown Showdown for Churchill Downs and NBC, a Cox Plate centenary race for 7Two, and the Lexus Melbourne Cup Race of Dreams for the Victoria Racing Club and Network 10 (company releases and contemporaneous reporting, read 18 October 2026). None of the four published the weighting the result came out of.

The Aintree environment was not drawn from imagination. The course was filmed the day after the 2016 Grand National using drones, tracking cameras and cherry pickers, then rebuilt as a free-camera 3D course with fences that break apart when they are jumped (TVBEurope, 12 April 2018, read 18 October 2026). Jockeys who had ridden the course were consulted during development; that account names AP McCoy, Richard Pitman and Katie Walsh. The animation team is Manchester-based and was led by Steve Rogers.

One design problem in that build is worth a paragraph. Standard virtual horses are built for races of two to three minutes, and a four-mile National runs nine to ten, so new horse algorithms were written to shift movement over the life cycle of the race and tire the field towards the end; the horses also run on built-in AI with a forcefield so they do not collide (TVBEurope, as above). In the 2020 edition Tiger Roll led into the final circuit and faded to fourth under 11st 10lb as reported, which is that tiring model doing visible work (Racing Post full result, April 2020, read 18 October 2026).

The audience was the largest a simulated race has drawn. ITV reported a peak of 4.8 million for the broadcast of 4 April 2020, about 30 per cent of the television audience, and an average of 4.3 million across the 30-minute programme (ITV and trade reporting, April 2020, read 18 October 2026). Nick Luck presented, Alice Plunkett and Richard Pitman sat on the panel, Stewart Machin called it. The race was pre-recorded, as all of these were.

The most useful line for anyone drawing racing on a screen comes from the Churchill Downs race. The production had a limited timeframe, so the graphics could not show equipment such as blinkers, and Larry Collmus recorded his call in advance (americasbestracing.net, 2020, read 18 October 2026). The race still read as a race. A dramatisation can leave out what it cannot draw, which is why the eight liveries on this circuit carry no gear at all.

The Australian one was the quietest and the best handled. Twenty-four past Melbourne Cup champions were chosen from more than 100 by a panel that included Gai Waterhouse and Greg Miles, and the race ran on a 3D recreation of Flemington on Network 10 on 3 November 2020, where Makybe Diva beat Phar Lap with Carbine third per secondary coverage (Inspired and Victoria Racing Club releases, 2020, read 18 October 2026). No betting was offered, because the result was already known to the people who made it. That is the integrity question in one sentence, and it is why this paper prints the seed and the full weighting table for every race it runs: see how a virtual race is decided.

Tagged: broadcast, graphics, history

Games

What a cosmetic cannot change

Across the simulators, the layer the player controls most directly is the layer the engine never reads. That is fine until appearance and advantage are sold through the same till.

Generated figure — the eight livery patterns the Gallop Post card renderer draws: halves, quarters, sash, band, stripes, hoops, chequer and solid.

In every simulation examined for this section, the part of a horse the player controls most directly is the part the engine does not read. Rival Stars Horse Racing lets a player customise a jockey's face, silks and helmet, and the console editions added a Photo Mode (PikPok press release of 18 April 2019 and its console launch post of April 2026, read 18 October 2026). None of it reaches the result.

The pattern repeats across the category. Phar Lap: Horse Racing Challenge shipped a horse creator on its Australian release of 22 March 2019 (publisher materials, read 18 October 2026). Newturf, a browser stable game that ran flat, hurdles and harness racing, offered customisable silks and is now listed as permanently closed (onlinesportmanagers.com game profile, read 18 October 2026). horseracesim.com still lets a visitor customise up to ten horses and race them on an oval with no download and no account (read 18 October 2026). The cosmetics outlive the engines they were drawn for.

What that costs is documented best by Howrse, which has run since 8 September 2005 and has belonged to Ubisoft since it acquired Owlient in July 2011. Players buy passes, and passes are spent both on items that change a horse's appearance and on items that boost skills and alter its life cycle (Wikipedia's account of the game and the sources it cites, read 18 October 2026). A consumer advice centre in North Rhine-Westphalia named the game in 2009, and the television magazine Frontal21 reported in 2011 that a girl had bought passes 267 times without her parents' knowledge. When appearance and advantage come through one till, appearance is not decoration.

ZED RUN, built by the Australian studio Virtually Human, inverted the arrangement. A horse's traits were set by a contract and not fully revealed until it raced, so the look was public and the ability was hidden, and an owner had to learn each horse's distances and conditions by running it (Yahoo Finance Australia, 13 January 2022, read 18 October 2026). The Polygon version closed on 28 February 2025 (Decrypt, 28 April 2025, read 18 October 2026). The liveries are still visible on the secondary market. The engine that read the traits is not.

The eight liveries on this circuit are fixed, free and not for sale, and the site has no second currency to sell them in. A livery holds no numbers in the draw: it tells a reader which runner is which on a screen, and that is all it does. The demo at play/ is play credits only — no money, no deposits, no prizes, nothing to win or lose — and what decides the race it shows is printed at how a virtual race is decided.

Tagged: simulators, cosmetics, liveries

Explainer

The typography of a results board

A proportional 1 is narrower than a 0, and a reader checking eight implied percentages against a book total needs the column to line up. Why every figure on this site is monospaced, and what the alternative looks like.

Generated figure — a Gallop Post results board set in IBM Plex Mono, with finishing positions, margins and implied percentages as aligned text rather than graphics.

Every figure on this site is set in IBM Plex Mono and every heading in Oswald, and the reason is a results board. Prices, times, margins, ratings, seeds and implied percentages are read down a column, not along a line. A proportional 1 is narrower than a proportional 0, so a column of proportional numerals does not align, and a reader checking eight implied percentages against a book total needs it to align.

The cost of monospace is width, so it is used only where there is a number. Body text is Source Sans 3. Headings are Oswald at 500 and 600, and the large numerals in a card header are Oswald too, because those are display rather than data. Three sizes and one accent carry the whole board.

The field this paper entered gets this wrong in ways worth naming. betvirtual.co renders finishing positions as rosette graphics with no alt text, so a result is unavailable to a screen reader and to anything parsing the page; one aggregator prints No runners found. above a list of runners and carries a Stats column that is empty on every row; portmanparkresults.com promises finishing orders, winning margins and jockey statistics and publishes none of them (all read 18 October 2026). The authoritative source is no better: 49's holds the data and serves it through a client-side application whose results endpoint refuses unauthenticated requests, so nothing there can be quoted or linked.

So the rules on this board are short. A finishing position is text. A margin is text and carries one decimal. A mile rate is printed as minutes, seconds and a tenth. A seed is sixteen hexadecimal characters in mono, at a size that can be read and copied, because a reader who cannot copy the seed cannot reconstruct the race.

Colour is a second channel and never the only one. The win green and the error red each sit beside a word that says the same thing, and the amber accent that marks the live race in the cycle strip sits beside the time. A reader who sees no colour at all should lose nothing from the board. That is the test, and the terms on it are defined in the glossary.

Tagged: typography, results, accessibility

Industry

One race title, 179 times

A day of a commercial virtual feed is 179 races under one heading, three each-way tiers and rider names cut at 13 characters. None of that is laziness.

Generated figure — one generic race title repeated down a simulated day of cards, with only the clock and the market number changing.

A full day of a commercial virtual feed, read on 18 October 2026, came to 179 race blocks on a single page. Every block carried the same heading: the time, the track, and the words HANDICAP FLAT. From the first race to the last, only the clock and the market number changed.

The furniture around it is as repetitive and as deliberate. The each-way terms across that day fell into three tiers — 1/4 odds places 1-2-3-4 on 81 races, 1/5 odds places 1-2-3 on 51, and 1/4 odds places 1-2-3 on 47 — which is field size printed as a line of text rather than explained. Nothing on the page said what the tiers were keyed to.

The reason is cadence. Inspired Entertainment publishes its horse product in three lengths, a 30-second sprint on all-weather, a 45-second flat race on turf and a 60-second jumps race (V-Play Horses product page, read 18 October 2026), and a title serving a 30-second animation that runs again a few minutes later cannot afford to be read. A generic heading holds the card header at a fixed width and leaves the time as the only field the eye has to work on. The day becomes one object with 179 rows.

The same discipline shows in the field widths. Rider names arrive cut at 13 characters — Martin Painte, Chris McCurre, Richard Cruis, Francis Trium — so the column never wraps. It is worth measuring your own names against a constraint like that. All four Kurrajong drivers fit: Marnie Kessel, Dale Prentice and Ange Vuletich are 13 characters each and Sam Oyelaran is 12. Two of the six jockeys on this circuit do not, and a feed built to that width would print Ruby Nankervi and Eli Vandermee.

Named races exist in the commercial product only where a broadcast paid for one, which is what the 2020 one-offs were. This circuit names ten, one per venue, out of 1,626 races a day, and uses the plain style for the rest: Handicap Pace, Class B Mobile, Maiden Plate. A name on every race would be 1,626 names nobody reads. None of them carries a Group grade either, because group status is conferred by a principal racing authority and this circuit has none; the classes are Feature, Class A, Class B, Class C, Maiden and Trial. The cards are at races/ and the method behind them at how a virtual race is decided.

Tagged: suppliers, cards, naming

Guides

3 guides · instructions, in order

Every claim about the real world in this section names its source and the date the desk read it, in the sentence. Nothing here is for sale, and nothing here reaches a result: how a virtual race is decided sets out what does.

The circuit wrap

Friday mornings: the week's results, the weightings that moved, and anything the industry did worth reading about.