The original 1992 art, lit in true colour on the GPU, under Britannia's own sky: a year of seasons and the weather that comes with them, the two moons, creatures about the place, a voice for everyone who speaks, and a party that talks back. Each picture is the same game frame rendered two ways: the original palette lighting on the left, the new renderer on the right. Drag across a picture to compare.
I was a huge fan of Ultima VII when it came out in 1992. It was one of the most memorable games ever made, because of how complex its world was, and I always wanted it to stay in its isometric view. Octopath Traveler showed me that pixel graphics can look stunning, and that the feeling of the old games can be given a new lift. Old-school pixel art with a limited palette plus 3D HD lighting is an amazing combination: it leaves the old artwork intact and lifts it into the present day. This mod makes Ultima the way I always dreamed it should have been, and obviously couldn't be back then. It gives the game its magic back.
Max · 3D VFX artist for more than twenty years
In progressBased on Exult, but dramatically changed: about 22,000 lines added on top of it in 118 commits, among them a new GPU renderer with thirteen shaders, the climate, the turn-based combat, the voice-over and the test tools, while Exult's own code is left almost untouched. The project is still going: it is very playable already, and what remains is tweaks here and there and the new combat system. Linux only for now, with ports to other platforms planned.
OriginalRelit
The street inside the gate, the first thing the game shows, under a high sun from the south. Buildings, lamp posts and the autumn tree cast soft shadows northward and the tree is shaded as a round crown; blades of grass grow up to the walls, the paving is worn pale down the middle and mossy along the edges, the tree's shade is dappled on the cobbles, and the clock and the date sit in the corner.
Eight scenes straight from the game, in order: the Trinsic gate street at golden hour and in the rain, the fountain at noon, the street by lamplight, surf on the Moonglow beach, Trammel on the sea, a blizzard over the Yew graveyard and a campfire cave. No sound: the game's own music is not ours to put up.
Three longer walks recorded straight from the game, a few minutes of play each rather than a cut reel. They play here from YouTube, which loads nothing until you press play; all three are on the channel.
What the fork adds to Exult. Everything is on by default and can be switched off; F7 flips between the new and the original look at any moment.
The same street from morning to midnight. The sun moves on with the clock, so shadows swing round through the day and nothing jumps when the hour changes.
OriginalRelit
The sun is in the south-east, roughly where the camera looks from, so shadows fall behind the objects that cast them. Contact shadows still ground the walls, posts and people where they meet the street.
OriginalRelit
The original shows plain daylight until 20:00 and then switches palettes. The new sky turns gold as the sun sinks in the west, throwing long shadows east across the street.
OriginalRelit
Each lantern glows with a soft halo and pools warm light on the cobbles around its base, while the stone hall blocks it beyond.
OriginalRelit
Four candles around the murder scene light the floor in a warm pool, and a lit window next door glows softly.
The same renderer in other parts of the world. Nothing here was set up by hand: lights, roofs and rounded shapes all come from the game's own data and the lights table.
OriginalRelit
A candle is lit inside, so the window glows with soft lamplight and spills a little warm light into the garden. Moonlight picks out the bushes and rocks outside.
OriginalRelit
Late-morning sun through the roofless view lights the stone and the red carpets, with contact shadows tucked under every pew and table.
OriginalRelit
A low western sun throws every headstone's shadow far across the grass, the kind of scene the original's flat light could never show.
OriginalRelit
Candelabras glow on the altar tables and light the chapel around them; the stained glass waits for the morning.
OriginalRelit
A campfire lights the cave walls and the people around it, the Avatar's torch adds its own warm pool, and the darkness closes in beyond their reach.
The game used to roll a dice at invisible weather eggs as you walked past them. Now Britannia has its own climate. A year of four ten-day seasons is shown under the corner clock (a new game starts on Summer 8), and weather fronts drift over the land from the west. Each region keeps the character the original gave it: the northern mountains snowy, the Fens and the southern seas stormy, the lowlands foggy, Vesper's desert dry, Skara Brae grey. Fog comes at dawn and thunder on summer afternoons; in winter the snow lies for days. All of it follows from the game's clock, so nothing extra is saved. The sun follows the seasons too: up from half past eight to half past five in midwinter, and from a quarter past four to a quarter to ten in midsummer.
Summer 5Winter 5
Both sides have the new lighting. On Summer 5 the sun is still high at half past six; on Winter 5 it set an hour ago, snow lies on the street and the windows have begun to glow.
Autumn 5Winter 5
Two in the afternoon, ten days apart. The winter sun is low even at midday, so the lamp posts throw long shadows across snow that fell over the last few days and has been trodden down the middle of the street.
FairCloudy
Broad, soft-edged shadows of clouds drift over with the wind, cast along the sun's way so they run on over roofs and walls. A few on a fair day, many when it's cloudy; they ease in and out as the sky changes, and the trees' shade on the streets blurs out as cloud comes over the sun.
The cold season is hard. Snow covers the grass and the streets, banks against walls and trees, weighs down the pines and caps the rocks; people's feet sink into it and leave trails that last a while. In a frost the puddles freeze over. Now and then a deep front brings a gale for some hours, and snow on a gale is a blizzard. People and animals breathe out little white puffs, chimneys smoke thick and grey, and on cold evenings most windows in town glow warm until about half past ten.
OriginalRelit
Snow driven across the view in streaks, in sheets now and then, with mist streaming in low from upwind, snow running along the ground in ribbons and twirling up in little whirls. The original has the same weather: a few white dots.
OriginalRelit
In a frost the water standing in the hollows of the walkways freezes and lies for days: clear ice, dark over the stones and mirroring the world, white where it's thin, cracked or bubbly, with hoar frost and a powdering of snow.
OriginalRelit
Five o'clock on Winter 5 and the light is already going. The street is cold blue, the Avatar's breath hangs white in the air for a moment, and the lamps are about to be lit.
OriginalRelit
The north is the snowy country. Deep snow with the sun glittering on it, slush where the stream runs through, the logs and rocks capped white, and long shadows from a noon sun that never gets high in winter.
OriginalRelit
Flakes tumble and turn as they fall, shrinking as they drop towards the ground, and snow slowly settles on roofs and streets. In winter it snows about half the hours and stays while the cold lasts; the islands have mild winters with rain instead, and Vesper's desert never sees snow at all.
Britannia's two moons light the night as the lore has them. A lunar month of 28 days starts with both new; Trammel goes through its eight phases in nine days, Felucca in fourteen, and they change at midnight. Each is where its phase puts it: full, it is up all night and highest at one in the morning; a quarter moon shows in the evening or the morning; a crescent only near dusk or dawn. Trammel's light is a cool silver, Felucca's a pale amber, and a double new moon is the darkest night. Each casts its own shadows under the clouds' own. The first nights of a new game are moonlit.
OriginalRelit
A full Trammel shows on the water as a disc with its own face: seas and craters, darker towards the edge, broken up and drawn out on the chop, with a path of glints coming in from it to the shore. Clouds and rain hide it. When the two are in the same phase, Felucca shows from behind Trammel.
OriginalRelit
Trammel at its highest, full, on a clear summer night: silver light on the grass, every headstone with a shadow, fireflies wandering between them. The original's night is one dark green.
OriginalRelit
Four in the morning with Felucca full and low in the west: a pale pool of its light falls through the window onto the floor by the table. The sun hands over to the moons while it's dark, so nothing jumps at dusk or dawn.
Water is drawn from scratch: dark teal that deepens away from the shore, the sandy bottom showing through the shallows with caustics on it, a faint reflection of the sky and anything standing by the water, glints of sun, moon and lamps on the chop, and surf that washes up the beach.
OriginalRelit
Waves run in, steepen and break into lacy foam; each wash leaves the sand dark and wet. The shallows turn green over the sand and the sea darkens further out.
OriginalRelit
The ship sits in the water with its reflection wavering beside it, water lapping at its hull and the pier, and the sun glinting on the chop.
OriginalRelit
No shore in sight: swells of different lengths cross each other, and glints come and go in drifting patches. The Avatar is reflected in the water.
OriginalRelit
Narrow water is calm: no swell or surf, just ripples carried along by the current, a thin line where it meets the bank, and white water where it pours off the mill wheel.
OriginalRelit
A jet of water rises from the middle and falls back in arcs that break into drops, with rings of ripples where they land. The water is clear: you see its stone floor through it, bent by the ripples, with caustics, and the rim's shadow on it.
OriginalRelit
Low light from the west; the wet sand and the foam catch it.
OriginalRelit
Nearly black water with moonlight glinting on the waves and a faint line of surf.
The original tints the whole cave pink whenever a light is near. Now caves are dark, with a faint cool fill so you can still read their shape. Fires and torches carve out warm pools of light, cast shadows, glow in the cave's air and glint on damp rock, and big fires send up embers. Water seeps down the walls in streaks, crystals in the rock flash as the flames dance, still pools on the floor mirror the torches and whoever stands by them, and bats drop from the dark when someone comes near with a light.
OriginalRelit
A campfire cave with a pool by the Avatar: the firelight shows in the still water with the lit rock overhead, drips run down the walls and ring the pool where they land, and crystals along a vein in the rock catch the flames.
OriginalRelit
The campfire lights the whole chamber and the barrels by the wall, the Avatar casts a long shadow away from it, and embers rise into the dark.
OriginalRelit
The cave wall beside the fire glows orange where the light reaches it; the far corners stay dark.
OriginalRelit
Light glows in the cave's dusty air around the fire, and rocks in the way leave dark shafts in the glow. Glow only fills air the light can reach, never chambers behind walls.
OriginalRelit
A fire burns in the chamber above while the Avatar's own torch lights the passage below; each light stays on its side of the rock.
OriginalRelit
A passage below a lit chamber. Down here the only light is the Avatar's own torch: a warm pool that moves with them, held out in front so it lights their face and cloak, with the fire's glow spilling through the opening above.
Rain leaves puddles on the stones that mirror the sky and the walls round them and glitter in the sun; water drips from the eaves for a while; floors indoors stay dry. In caves by day, daylight comes down through cracks in the rock. Fires and lamps behind people catch the edge of them, as in Octopath's backlit sprites.
OriginalRelit
After rain in Trinsic: water lies in the hollows of the cobbles, filling the joints first, with the tops of the stones standing out of it; it mirrors the sky and what stands round it, the stones round it are soaked dark, and in strong sun the ripples throw back tiny glints that come and go.
OriginalRelit
The same street at night: the puddles go dark and still, mirroring the lamps; water still drips from the eaves.
OriginalRelit
At midday a shaft of daylight comes down through a crack in the rock, dusty, lighting a patch of floor; a little mist lies on the floor.
OriginalRelit
A cave camp at night: banks of pale mist drift low over the floor, lit by the fire; the fire, raised above its ring of stones, lights the whole cave floor.
The Black Gate itself, the Time Lord's prison in the ether, and ships at sea.
OriginalRelit
On the Isle of the Avatar: the Gate is a slab of black with thin threads of crimson and violet energy crawling through it, pulsing; the beams of light round its dais glow blue-white and light the chamber, with motes drifting up.
OriginalRelit
The ether round the time barrier: the stars shine by themselves and twinkle, each in its own time, among faint drifting clouds of deep blue and violet and countless far, faint stars.
OriginalRelit
A ship sailing north: churned white water trails from its stern in streaks, the arms of its wake spread behind, and a thin curl of white runs along the hull. The water round ships is clean now; their hulls used to count as shore, which streaked the sea round them.
The world answers to people moving through it. Walk through a stream and rings spread from your legs, which are seen through the water below the waterline; walk on sand and you leave footprints, and each step throws up a little cloud of dust that drifts off on the breeze; snow keeps your trail for a few minutes. Air wavers above fires, and blows in a fight strike sparks and a moment's light.
OriginalRelit
A cave camp by torchlight: the fire lights the walls and throws shadows, sparks and embers fly up, and the air above the flames wavers (in motion).
Smoke rises from chimneys, from the roofs over stoves and hearths, and from campfires out of doors. Fireflies drift over meadows, swamps and woods at night; butterflies flutter over meadows on fine days, each with its little shadow. Deep in the woods a will-o'-the-wisp sometimes rises out of the ground, drifts and bobs among the trees lighting the leaves round it, and fades away. And now more of the game's own creatures are about the place:
OriginalRelit
The coop farm outside Britain: hens pecking about the yard inside the fence, each with its shadow, where the original has an empty pen. The creatures are the game's own shapes, lit and shadowed like everything else and hidden behind whatever stands in front of them.
OriginalRelit
Half past ten on a summer night: bats, drawn at half size, flit round the roofs and the tree tops in the lamplight.
OriginalRelit
The music hall on a grey afternoon: notes rise from the harpsichord while someone sits at it. Outside, the worn paving and the weathered roofs of the town detail effect, and leaves skittering along in the gusts.
OriginalRelit
Smoke from the bakery chimney in Britain rises fast, slows and bends over on the breeze, widening and breaking up into billows and wisps; lit by the sky and sun, bluish where thin. None rises indoors: with the roof cut away, the oven's smoke goes up the chimney. In winter every chimney smokes thick and grey.
OriginalRelit
Fireflies wander through the misty woods near Yew; on the left a will-o'-the-wisp is rising, lighting the leaves green.
Blades of grass grow from the grass tiles: a game pixel wide, standing up (up and to the left, as height goes in U7), in patches longer and shorter, darker at the root and paler at the tip, swaying in rolling waves on the breeze. The ground under them rises and dips gently and is lusher or drier in places, so the tiles' repeat no longer shows. Blades spill over path edges and grow up the foot of walls, hide people's feet, but never the flowers or things lying in the grass. The blades grow in tufts that fan out a little, with shady ground between them.
OriginalRelit
Dense, wind-combed grass with lusher and drier patches instead of the tile's repeating grain; the poppies stand clear of it.
OriginalRelit
Town lawns get the same blades; at their edges they spill a little over the cobbles.
Where the trees grow thick, mist gathers low between them, drifting, heaviest when the sun is low. Where the sun breaks through the canopy it lights the mist in slanting shafts, worked out from the real shadows on the forest floor, and specks of dust drift in the light. Towns and scattered trees stay clear. The woods move, too: gusts roll through the crowns, turning the leaves so their paler undersides show, and autumn trees drop leaves that tumble down on the breeze and lie on the ground a while.
OriginalRelit
Morning mist among the maples and evergreens, with low shafts of sun where the canopy opens.
OriginalRelit
A soft haze among the palms, with shafts of early sun slanting through.
OriginalRelit
God rays: the higher sun shines through the gaps between the pines in long slanting shafts, the mist thinning as the day warms.
The Fens of the Dead, east of Britain. The bright blue pools become still, peat-dark water with duckweed drifting along the banks and the odd bubble of marsh gas; the ground is sodden and dark; a slight greenish haze lies low over it all.
OriginalRelit
Murky pools that reflect a little of the sky, black mud round their edges, wet ground, and a greenish haze drifting low.
OriginalRelit
Rain rings the still pools and darkens the bog further; the haze thickens to a green murk.
OriginalRelit
Moonlight on the bog: the pools go black, the haze hangs pale over them.
Enchanted things look enchanted: each glows softly in its own colour, lights its surroundings a little, and gives off slow drifting motes. Moongates swirl, fields crackle or drift, and spells shine with their own light.
OriginalRelit
In the armourer's display cases the magic sword glows blue, the fire sword orange and Magebane pink, each pulsing slowly with motes drifting up from it.
OriginalRelit
Magic armour, a shield and swords glow in the dark of a dungeon treasure room, lighting the stone around them in their colours.
OriginalRelit
The gate's surface swirls and shimmers, ripples of light run through it, it lights the clearing blue, and motes spiral up around it.
OriginalRelit
Thin arcs crackle across the field's glass-like panels, flickering in and out.
OriginalRelit
Poison fields drift with a green mist, sleep fields with a slow violet haze.
The renderer knows when a roof is overhead, even while it's hidden to show the room: rooms get much less light from the sky, and the sun only comes in through windows that face it, with soft shadows in the daylight through windows and doorways. Closed shutters let in only some of it, and open log walls let it in as windows do. Rooms with cobwebs and bones get dustier, streakier shafts than a tidy house. Wall sconces, torches and candles each cast their own shadows, up to fourteen lights at once, and a soft ambient occlusion settles into the corners.
OriginalRelit
Sunlight falls through the west window in a warm patch on the floor, and a shaft of light shows in the dusty air, with specks of dust drifting in it. Windows facing away from the sun stay dark.
OriginalRelit
Twelve lights in one view: four table candles and eight sconces on the walls, with a sailor singing at the bar. Each light gets its own shadows, so crossing the room no longer flips the lighting as a torch drops out of the budget, and a sconce lights both sides of the wall it hangs on.
OriginalRelit
The same room after dark: warm pools from the candles on the tables, the sconces lighting the walls round them, and the people at the tables lit as upright figures, their faces no longer darkened by the shade meant for the floor.
OriginalRelit
A foggy morning in Trinsic, seen from inside a house. The tiles round the view are sorted into rooms and the walls round them, so fog, rain and snow stay out of the rooms and off their walls, and only drift a little way in through doorways and open windows. The garden and the street beyond are in the fog.
OriginalRelit
Low sun through the amber glass falls across the chamber onto the skeleton. Crypts are dusty: the cobwebs and bones nearby make the shaft streaky and grainy, full of specks of dust drifting through it.
The renderer draws its own rain, snow and fog, lights them from the scene, and blends explosions and spells into the world. Rain on its own is steady and quiet; thunderstorms pour, with thunder and lightning, and only they bring the storm music.
OriginalRelit
Thin streaks fall at three depths. The cobbles get wet and shiny in patches and mirror the lamp light, rain ripples on the ground and sprays off roofs, and trees stay free of puddles. In a thunderstorm a flash lights the whole street from above for a split second, with sharp shadows.
OriginalRelit
Fog drifts in banks and pools low, so rooftops rise out of it.
OriginalRelit
The fireball is blended in with soft edges, lights the street, walls and tree around it, and blooms. Its darker smoky parts are partly see-through.
Lit onlyFinished
Both sides have the new lighting. The right adds what gives HD-2D games their look: glow halos, a tilt-shift blur at the top and bottom, cool shadows and warm highlights graded by the hour, and a vignette.
Everyone who speaks in the Black Gate now has a voice. A cast of 279 characters was written up, one description each (an elderly stage actor for Iolo, a gummy old sailor for Gargan, a tiny sing-song three-year-old for Kristy), and some 29,000 clips were recorded from those voices: every page of every conversation, with the player's name read as "Avatar", and the barks people call out over their heads. The game finds the clip for a line by where the line sits in the game's own script, so the original text is untouched.
The companions never had anything to say unless you asked. Now, when the party has stood about for half a minute, one of them may start on the Avatar, and the others join in; on the road they chat now and then. The scenes are written in the game's own script language and timed to the tick, each line with its recorded voice, and a small scene designer with a microphone lets new ones be written, rehearsed and heard. This is the bored party, line by line.








An option in the game settings, next to the original real-time fighting. When a fight starts the world pauses and the fighters take turns: each round is six seconds of game time, everyone gets the same budget of steps and one action, and enemies may walk no further than you can. Move, attack, sprint, defend, or retreat once you're clear of enemies; closed doors stay closed. Names and health sit over the fighters in a crisp overlay drawn at the screen's own resolution, outside the world's lighting and blur, and hit numbers float up from whoever was struck.
Beyond the picture, a few things change how the game feels in the hand.
The same frames from the first prototype (left) and now (right), enlarged two times.






While the game paints each sprite, it also records where that pixel sits in 3D and which way its surface faces, using the object's box from U7's own shape data. The passes that follow trace the sun, the moons and up to fourteen lamps through that picture. Debug views from the test frames.
Pages made along the way, for choosing and checking rather than showing off. They are private pages of their own; share them separately if you want them seen.