<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://jamesmarland.co.uk/</loc><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.mFPsZ2qX_1xzlKs.webp</image:loc><image:caption>A CRT monitor glowing in a dark room, showing a glitching colour test card</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.XAymT9sQ_1sxe0V.webp</image:loc><image:caption>Emmet&apos;s bedroom built from LEGO bricks, warm light from an arched window falling across a studded yellow floor, with a bed, a red wardrobe, a bike, a computer on a round table and a digital clock reading 12:01</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.ByPwIox8_ZHqBno.webp</image:loc><image:caption>A cel shaded city street under an orange haze, black outlines on every surface, a curving overpass in front of tiered cooling towers lit with green bands, stacked shipping containers, graffiti and a vertical neon BAR sign</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.Df4rAsrO_Zy4lEt.webp</image:loc><image:caption>A high angle view over a stylised sandy cove, with teal water shading darker where it deepens, pale shallows around the rocks, a stone arch standing in the water and trees casting shadows across the beach</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/default-rules.BoO3T2cW_Z1QFFeB.webp</image:loc><image:caption>The plugin&apos;s default rules in the Content Browser, each tile marked with a green tick by the status overlay</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/outline-debug-bands.Cf-LQC_C_1O25X6.webp</image:loc><image:caption>A Lectra City street with the outline&apos;s debug colours on, nearby edges in red and orange, distant towers in green</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/living-room-v048.DMpv7TPb_xLiKc.webp</image:loc><image:caption>The fully dressed living room, a lit fireplace, sofa, lamp and moving boxes, stamped with the progress log burn-in</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/lsv-boundaries.1kgfJcG2_Wn8CW.webp</image:loc><image:caption>The whole house covered by large, overlapping orange Level Streaming Volumes</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/about/</loc></url><url><loc>https://jamesmarland.co.uk/blog/</loc></url><url><loc>https://jamesmarland.co.uk/blog/learning-resources/</loc><lastmod>2026-09-19T00:00:00.000Z</lastmod></url><url><loc>https://jamesmarland.co.uk/portfolio/</loc><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.mFPsZ2qX_1xzlKs.webp</image:loc><image:caption>A CRT monitor glowing in a dark room, showing a glitching colour test card</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/default-rules.BoO3T2cW_Z1QFFeB.webp</image:loc><image:caption>The plugin&apos;s default rules in the Content Browser, each tile marked with a green tick by the status overlay</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/lsv-boundaries.1kgfJcG2_Wn8CW.webp</image:loc><image:caption>The whole house covered by large, overlapping orange Level Streaming Volumes</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/creature-shadow.D8wVYVRz_Z1PhDUM.webp</image:loc><image:caption>The dark silhouette of a tall, thin humanoid creature cast across an orange-lit tiled wall</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/living-room-v048.DMpv7TPb_xLiKc.webp</image:loc><image:caption>The fully dressed living room, a lit fireplace, sofa, lamp and moving boxes, stamped with the progress log burn-in</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.XAymT9sQ_1sxe0V.webp</image:loc><image:caption>Emmet&apos;s bedroom built from LEGO bricks, warm light from an arched window falling across a studded yellow floor, with a bed, a red wardrobe, a bike, a computer on a round table and a digital clock reading 12:01</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/thumbnail-stage.BJdvR_Re_Z1fho4y.webp</image:loc><image:caption>A folder of grey 128px part thumbnails beside the terminal logging each download</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/quarter-plate-points.BTvb5AZI_ZRPqwS.webp</image:loc><image:caption>The underside of a quarter round part in Houdini, green points marking every anti-stud position</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/colour-showcase.CcmhuYpU_KkGsG.webp</image:loc><image:caption>Rows of 2 x 2 bricks in every solid, transparent, glitter, pearl and metallic colour against a blue sky</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/apartment-02.CU9v75l4_ZHUspi.webp</image:loc><image:caption>A low angle across Emmet&apos;s studded LEGO floor towards the bed, a green blanket catching the lamp light and the clock reading 12:01 behind it</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.ByPwIox8_ZHqBno.webp</image:loc><image:caption>A cel shaded city street under an orange haze, black outlines on every surface, a curving overpass in front of tiered cooling towers lit with green bands, stacked shipping containers, graffiti and a vertical neon BAR sign</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/outline-debug-bands.Cf-LQC_C_1O25X6.webp</image:loc><image:caption>A Lectra City street with the outline&apos;s debug colours on, nearby edges in red and orange, distant towers in green</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/vertex-painting.Cvt9hMFu_Z11JXPi.webp</image:loc><image:caption>Patches of grass, dirt and pebbles vertex painted over paving stones, their edges broken up irregularly</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cables.Di1TwdS7_MiFrv.webp</image:loc><image:caption>Cables strung between stacked shipping containers, strings of coloured lights hanging along them</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/auto-turret-still.Y5EIPGIY_2tSYhO.webp</image:loc><image:caption>A buggy blasting a rival with the auto turret, the banner reading &apos;Rivz was eliminated by You using COV Turret!&apos;</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/dev-start-0518.tA1Qqelt_Z2sys0c.webp</image:loc><image:caption>The finished start straight, neon signs and street lights under a curving overpass and an orange sky</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.Df4rAsrO_Zy4lEt.webp</image:loc><image:caption>A high angle view over a stylised sandy cove, with teal water shading darker where it deepens, pale shallows around the rocks, a stone arch standing in the water and trees casting shadows across the beach</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/wave-six.kFU1UhNx_ZSvBgA.webp</image:loc><image:caption>A grey test plane with an irregular, rolling surface built from six overlapping Gerstner waves</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/far-wireframe.DAhCSmpc_SiXfh.webp</image:loc><image:caption>The whole ocean from high above in wireframe, a dense mesh grid around the island stepping down to coarser tiles toward the edges</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/foam-shoreline.BMdN7bnQ_2tHbFk.webp</image:loc><image:caption>A curved sandy shoreline at golden hour, with a soft band of pale foam along the water&apos;s edge fading out into the sea</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/borderline-racing/</loc><lastmod>2025-06-01T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.ByPwIox8_Z1psAls.webp</image:loc><image:caption>A cel shaded city street under an orange haze, black outlines on every surface, a curving overpass in front of tiered cooling towers lit with green bands, stacked shipping containers, graffiti and a vertical neon BAR sign</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/outline-debug-bands.Cf-LQC_C_1O25X6.webp</image:loc><image:caption>A Lectra City street with the outline&apos;s debug colours on, nearby edges in red and orange, distant towers in green</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/vertex-painting.Cvt9hMFu_Z11JXPi.webp</image:loc><image:caption>Patches of grass, dirt and pebbles vertex painted over paving stones, their edges broken up irregularly</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cables.Di1TwdS7_MiFrv.webp</image:loc><image:caption>Cables strung between stacked shipping containers, strings of coloured lights hanging along them</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/auto-turret-still.Y5EIPGIY_2tSYhO.webp</image:loc><image:caption>A buggy blasting a rival with the auto turret, the banner reading &apos;Rivz was eliminated by You using COV Turret!&apos;</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/dev-start-0518.tA1Qqelt_Z2sys0c.webp</image:loc><image:caption>The finished start straight, neon signs and street lights under a curving overpass and an orange sky</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/render-underpass.iy5AzcVd_Z1UkgEE.webp</image:loc><image:caption>A low angle view of a street dipping under a concrete overpass lined with green neon strips, stairs climbing to a raised walkway, and a huge tiered building with glowing green windows behind it</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/render-sewer.B1O7dbXZ_1pp09A.webp</image:loc><image:caption>The sewer section of the track, orange lit water running between a graffiti covered wall and banks of sand and dead reeds, with green item boxes floating over the water and a highway crossing above</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/render-corner.CZDa8s-q_Z2vrVwI.webp</image:loc><image:caption>A street corner of stacked concrete buildings with a pink neon sign and three tall screen signs, the road running off under a raised highway past containers and a parked truck</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/render-skyline.BOCzUXIz_jenNp.webp</image:loc><image:caption>A high view over Lectra City, rooftops and cables in the foreground, a long highway across the middle and a skyline of tall towers with lit windows against a hazy orange sky</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.mFPsZ2qX_1xzlKs.webp</image:loc><image:caption>A CRT monitor glowing in a dark room, showing a glitching colour test card</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.XAymT9sQ_1sxe0V.webp</image:loc><image:caption>Emmet&apos;s bedroom built from LEGO bricks, warm light from an arched window falling across a studded yellow floor, with a bed, a red wardrobe, a bike, a computer on a round table and a digital clock reading 12:01</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.ByPwIox8_ZHqBno.webp</image:loc><image:caption>A cel shaded city street under an orange haze, black outlines on every surface, a curving overpass in front of tiered cooling towers lit with green bands, stacked shipping containers, graffiti and a vertical neon BAR sign</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.Df4rAsrO_Zy4lEt.webp</image:loc><image:caption>A high angle view over a stylised sandy cove, with teal water shading darker where it deepens, pale shallows around the rocks, a stone arch standing in the water and trees casting shadows across the beach</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/borderline-racing/gameplay/</loc><lastmod>2025-06-01T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/treatment-pillars.D2m6JgoY_1JvqaF.webp</image:loc><image:caption>The Borderlands Treatment slide. A tagline describes a fast-paced chaotic elimination racing game with customisable powerups and vehicle parts unlocked through level progression, set in an enclosed urban circuit. Three design pillars, Frenzied, Customisable and Destructible, sit next to primary, secondary and tertiary engagement loops, each with a still of armoured vehicles in a desert.</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/update-vehicle-parts.BUH55Zw0_1JfAFd.webp</image:loc><image:caption>The Update Vehicle Parts function in the BP_Vehicle blueprint, with comment boxes for setting the shell by type and health level, the engine, exhaust and wheel meshes, a Cyclone exception that hides three of the wheels and affects the rotation caps, an Outrunner exception, and a large box that adds the part stats and applies engine, suspension, collision, mass, health and animation settings</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.ByPwIox8_ZHqBno.webp</image:loc><image:caption>A cel shaded city street under an orange haze, black outlines on every surface, a curving overpass in front of tiered cooling towers lit with green bands, stacked shipping containers, graffiti and a vertical neon BAR sign</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/outline-debug-bands.Cf-LQC_C_1O25X6.webp</image:loc><image:caption>A Lectra City street with the outline&apos;s debug colours on, nearby edges in red and orange, distant towers in green</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/vertex-painting.Cvt9hMFu_Z11JXPi.webp</image:loc><image:caption>Patches of grass, dirt and pebbles vertex painted over paving stones, their edges broken up irregularly</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cables.Di1TwdS7_MiFrv.webp</image:loc><image:caption>Cables strung between stacked shipping containers, strings of coloured lights hanging along them</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/auto-turret-still.Y5EIPGIY_2tSYhO.webp</image:loc><image:caption>A buggy blasting a rival with the auto turret, the banner reading &apos;Rivz was eliminated by You using COV Turret!&apos;</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/dev-start-0518.tA1Qqelt_Z2sys0c.webp</image:loc><image:caption>The finished start straight, neon signs and street lights under a curving overpass and an orange sky</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/borderline-racing/materials/</loc><lastmod>2025-06-01T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/master-materials.w1Mlk3_Y_YjGA9.webp</image:loc><image:caption>The Masters folder in the Unreal content browser, fifteen material spheres: M_MasterBlend, Character, Decal, FlipbookPanner, Fog, Hologram, Landscape, Masked, Opaque, Sign, SimpleEmissive, Skyscraper, Transparent, Water and M_SimpleFoliage</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/opaque-graph.DjtySMsK_1frkw.webp</image:loc><image:caption>The M_MasterOpaque material graph in Unreal, split into coloured comment boxes: Base - Import Textures in red, Emissive in orange, Overlay in green, a teal Outline box labelled Omit from metallic and roughness channel (Helps makes it pop), and the Material Attributes output</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/holo-sign-comparison.C0-LGqWc_Z2hp0p7.webp</image:loc><image:caption>Two holographic signs side by side. On the left, mine in Borderline Racing: a yellow outlined figure above a column of outlined letters, glowing up a sandstone wall from a lit base. On the right, a holo sign in Borderlands 3: a zigzag of pink and yellow shapes rising from a metal projector on the side of a building.</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/sign-graph.By4C9lq5_1lL9FY.webp</image:loc><image:caption>Part of the M_MasterSign material graph in Unreal: coloured comment boxes for the scanlines, noise, pulse and faulty effects on the left, feeding a Material Attributes box on the right where the effects are multiplied together and clamped into emissive colour and opacity</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/vertex-painting.Cvt9hMFu_Z1ELpOW.webp</image:loc><image:caption>A paved square from above with patches of grass, dry dirt and pebbles painted over the paving stones, the edges of each patch broken up irregularly, beside a building&apos;s front steps and two rusty barrels</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/material-layers.COqwT_5y_Z1Vnt83.webp</image:loc><image:caption>The Blend folder in the Unreal content browser: ML_Ground Layer, MLB_Ground Blend and layer instances including MLI_Dirt, MLI_Grass, MLI_Gravel and MLI_Mud, shown as material spheres</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/blend-noise.ByeGhZA__Z1xbGkQ.webp</image:loc><image:caption>The MLB_GroundBlend graph in Unreal: a vertex colour channel, optionally inverted, is doubled and added to a noise texture sampled from absolute world position, then saturated and put through a cheap contrast node to drive the alpha of a Blend Material Attributes node between a bottom and a top layer</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/artbible-decals.BO_s5WUq_1SWQWY.webp</image:loc><image:caption>An art bible slide titled Decals. The text says graffiti, cracks, grunge and markings decals break up trim sheets and add fine detail. Around it are Borderlands 3 screenshots of wall graffiti, painted floor markings, cracked concrete and grunge stains, labelled Markings, Graffiti, Cracks and Grunge.</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/lods-coloured.D1LHP0XA_Z1fFQaN.webp</image:loc><image:caption>Part of the level from above in the LOD colouration view mode, with walls and props tinted green, blue and red by LOD level against the untinted scene</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/nanite-mask.CEmJmR_E_Z1cAWwv.webp</image:loc><image:caption>The level from above in the Nanite mask view, most of the buildings and the highway in green and the roads and pavements in red</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/shader-complexity.B4o73XUY_HMe4q.webp</image:loc><image:caption>The shader complexity view over part of the track, most of the scene dark green with large areas of red along the ground</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.ByPwIox8_ZHqBno.webp</image:loc><image:caption>A cel shaded city street under an orange haze, black outlines on every surface, a curving overpass in front of tiered cooling towers lit with green bands, stacked shipping containers, graffiti and a vertical neon BAR sign</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/outline-debug-bands.Cf-LQC_C_1O25X6.webp</image:loc><image:caption>A Lectra City street with the outline&apos;s debug colours on, nearby edges in red and orange, distant towers in green</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/vertex-painting.Cvt9hMFu_Z11JXPi.webp</image:loc><image:caption>Patches of grass, dirt and pebbles vertex painted over paving stones, their edges broken up irregularly</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cables.Di1TwdS7_MiFrv.webp</image:loc><image:caption>Cables strung between stacked shipping containers, strings of coloured lights hanging along them</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/auto-turret-still.Y5EIPGIY_2tSYhO.webp</image:loc><image:caption>A buggy blasting a rival with the auto turret, the banner reading &apos;Rivz was eliminated by You using COV Turret!&apos;</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/dev-start-0518.tA1Qqelt_Z2sys0c.webp</image:loc><image:caption>The finished start straight, neon signs and street lights under a curving overpass and an orange sky</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/borderline-racing/outline-shader/</loc><lastmod>2025-06-01T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/artbible-art-style.Dso89rio_uIi5l.webp</image:loc><image:caption>An art bible slide titled Artstyle. The text says Borderlands is known for its comic book look, achieved with bold saturated hand-painted textures and an ink outline emphasised further by a post process outline, that it stands out despite using a PBR workflow, that VFX do not follow these rules, and that we planned techniques to speed up texturing. Beside it are Borderlands 3 references: a painted wooden panel, a rock sphere, a fireball and a painted sign.</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/outline-graph.Br6FwsSW_1zmGpK.webp</image:loc><image:caption>The outline material function in Unreal: a Depth Outline group and a Normal Outline group, each sampling four offset directions with thickness, multiply and bias inputs, combined through a max, saturate and an if node against a cutoff, then lerping the scene colour to the line colour</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/outline-clay-vehicle.DJoGWN7b_Z2vqbUN.webp</image:loc><image:caption>A clay render of a dune buggy in lighting only mode, black outlines tracing its roll cage, lamps, wheel treads, panels and bolts, parked in front of corrugated container buildings</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/outline-clay-street.DUReo96A_zdetk.webp</image:loc><image:caption>A clay render of a street corner with no textures, the outline picking out panel seams, window frames, a stack of tyres, a street pole, a wall box and a sandwich board</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/outline-debug-bands.Cf-LQC_C_ZgBL0H.webp</image:loc><image:caption>A Lectra City street with the outline debug colours on: outlines on the nearest canopy and road drawn in orange and red, the overpass and mid distance buildings outlined in yellow, and the distant skyscrapers outlined in bright green</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/artbible-lighting.BXq0Dpdq_Z1uVbTY.webp</image:loc><image:caption>An art bible slide titled Lighting. The text says the time is set in the early morning with a yellow haze from the smog, and small neon signs break up the colour. It shows a colour scheme strip running from near black through olive and orange to pale yellow, and two Borderlands 3 screenshots of Lectra City in orange haze labelled Early Morning and Fog.</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/artbible-vfx.Dhf9bImN_RqN6d.webp</image:loc><image:caption>An art bible slide titled VFX. The text says semi-realistic 2D flipbooks for effects like flashes, fires and splashes, or emissive neon distorting textures for things like signs. Around it are Borderlands 3 screenshots of holographic and neon signs, one labelled Hologram, and three fires, one labelled Fire.</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/vfx-files.DWmtXOO7_2tbjz9.webp</image:loc><image:caption>The VFX folder in the Unreal content browser: material instances like MI_FX_Fire_Loop and MI_FX_Smoke_Thick, Niagara systems including NS_Ambient_LargeFire, NS_BoosterSmoke, NS_DirtKickup, NS_ExhaustSmoke, NS_Shield_Sparks and NS_WaterSplash, and flipbook textures such as T_FX_Fire_SubUV and T_FX_Smoke_Wispy_SubUV</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/vfx-showcase.C5tMJxpy_Z23MdKa.webp</image:loc><image:caption>A test level laid out with the project&apos;s effects and technical assets: a column of smoke, a burst of confetti, fires, sparks and dust puffs around a buggy, a blue shield bubble, the start lights, a holographic sign, the BANG billboard with a Claptrap on top and a green item box</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.ByPwIox8_ZHqBno.webp</image:loc><image:caption>A cel shaded city street under an orange haze, black outlines on every surface, a curving overpass in front of tiered cooling towers lit with green bands, stacked shipping containers, graffiti and a vertical neon BAR sign</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/outline-debug-bands.Cf-LQC_C_1O25X6.webp</image:loc><image:caption>A Lectra City street with the outline&apos;s debug colours on, nearby edges in red and orange, distant towers in green</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/vertex-painting.Cvt9hMFu_Z11JXPi.webp</image:loc><image:caption>Patches of grass, dirt and pebbles vertex painted over paving stones, their edges broken up irregularly</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cables.Di1TwdS7_MiFrv.webp</image:loc><image:caption>Cables strung between stacked shipping containers, strings of coloured lights hanging along them</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/auto-turret-still.Y5EIPGIY_2tSYhO.webp</image:loc><image:caption>A buggy blasting a rival with the auto turret, the banner reading &apos;Rivz was eliminated by You using COV Turret!&apos;</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/dev-start-0518.tA1Qqelt_Z2sys0c.webp</image:loc><image:caption>The finished start straight, neon signs and street lights under a curving overpass and an orange sky</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/borderline-racing/producing/</loc><lastmod>2025-06-01T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/artbible-blockout.ChZtQtqv_2b96XP.webp</image:loc><image:caption>An art bible slide titled Blockout. The text says a blockout of Lectra City and the sewer, intentionally closed circuit and designed to reuse assets as much as possible. It shows a grey top down view of the blockout with the looping track and the highway, and two grey perspective views under a blue sky with the curving overpass and a cooling tower.</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/trello-timeline.C_Ivf4WV_ZwukN5.webp</image:loc><image:caption>The Production Timeline Trello board, one column per week from 17/2/25 Pre-prod to 19/5/25 Submission, each card tagged with its discipline, a priority and a status, with the two break weeks in April coloured purple</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/file-structure.DtJW2z6m_Z2b46ch.webp</image:loc><image:caption>The Unreal editor with Lectra City seen from above, the content browser showing the Borderlands folder split into _Global, _Meta, Art, Cinematic, Gameplay, Level, MaterialLibrary and UI, and the outliner grouped into 1_Meta, 2_Gameplay, 3_Lighting and 4_Art, with nine development cameras from 0_TopDown to 8_Finish under Dev</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/sublevels-coloured.DgW4fxhQ_1goEoT.webp</image:loc><image:caption>Lectra City from above with level colouration on: buildings and the highway in cyan, the distant skyline and cooling towers in magenta, the road in dark blue, and props scattered in purple and green</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/dev-start-0312.DMLtmoAs_SV45i.webp</image:loc><image:caption>The start straight in the grey blockout on 12 March: plain boxes and cylinders under the highway overpass, with a blue sky</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/dev-start-0409.3EzqElBB_kqAhh.webp</image:loc><image:caption>The same view on 9 April, the overpass, cooling tower and buildings modelled and textured under a yellow sky, with the racers lined up on the start grid</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/dev-start-0518.tA1Qqelt_Z1Vcewi.webp</image:loc><image:caption>The same view on 18 May, finished: dressed buildings, street lights, neon signs, props on the pavement and an orange sky</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.ByPwIox8_ZHqBno.webp</image:loc><image:caption>A cel shaded city street under an orange haze, black outlines on every surface, a curving overpass in front of tiered cooling towers lit with green bands, stacked shipping containers, graffiti and a vertical neon BAR sign</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/outline-debug-bands.Cf-LQC_C_1O25X6.webp</image:loc><image:caption>A Lectra City street with the outline&apos;s debug colours on, nearby edges in red and orange, distant towers in green</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/vertex-painting.Cvt9hMFu_Z11JXPi.webp</image:loc><image:caption>Patches of grass, dirt and pebbles vertex painted over paving stones, their edges broken up irregularly</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cables.Di1TwdS7_MiFrv.webp</image:loc><image:caption>Cables strung between stacked shipping containers, strings of coloured lights hanging along them</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/auto-turret-still.Y5EIPGIY_2tSYhO.webp</image:loc><image:caption>A buggy blasting a rival with the auto turret, the banner reading &apos;Rivz was eliminated by You using COV Turret!&apos;</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/dev-start-0518.tA1Qqelt_Z2sys0c.webp</image:loc><image:caption>The finished start straight, neon signs and street lights under a curving overpass and an orange sky</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/borderline-racing/tools/</loc><lastmod>2025-06-01T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/cables.Di1TwdS7_Z1c6vj8.webp</image:loc><image:caption>Cables strung between stacked shipping containers in Lectra City, with coloured lights hanging along them and graffiti on the container walls</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/skyscraper-controls.CvAx4DDQ_Z1f7wVP.webp</image:loc><image:caption>The BP_Skyscraper details panel in Unreal: Reset and Extension On unticked, a Seed, Scale Variation Range 1.2, Height Variation Range 10000.0 and Rotation Variation Range 360.0</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/prop-vehicles.Dp0XaJwA_Z11rBsM.webp</image:loc><image:caption>A clay render of an armoured buggy prop placed on a street, with more parked vehicles behind it</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.ByPwIox8_ZHqBno.webp</image:loc><image:caption>A cel shaded city street under an orange haze, black outlines on every surface, a curving overpass in front of tiered cooling towers lit with green bands, stacked shipping containers, graffiti and a vertical neon BAR sign</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/outline-debug-bands.Cf-LQC_C_1O25X6.webp</image:loc><image:caption>A Lectra City street with the outline&apos;s debug colours on, nearby edges in red and orange, distant towers in green</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/vertex-painting.Cvt9hMFu_Z11JXPi.webp</image:loc><image:caption>Patches of grass, dirt and pebbles vertex painted over paving stones, their edges broken up irregularly</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cables.Di1TwdS7_MiFrv.webp</image:loc><image:caption>Cables strung between stacked shipping containers, strings of coloured lights hanging along them</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/auto-turret-still.Y5EIPGIY_2tSYhO.webp</image:loc><image:caption>A buggy blasting a rival with the auto turret, the banner reading &apos;Rivz was eliminated by You using COV Turret!&apos;</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/dev-start-0518.tA1Qqelt_Z2sys0c.webp</image:loc><image:caption>The finished start straight, neon signs and street lights under a curving overpass and an orange sky</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/project-umbrae/</loc><lastmod>2026-05-01T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.mFPsZ2qX_PxmMo.webp</image:loc><image:caption>A CRT monitor glowing in a dark room, showing a glitching colour test card</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/default-rules.BoO3T2cW_Z1QFFeB.webp</image:loc><image:caption>The plugin&apos;s default rules in the Content Browser, each tile marked with a green tick by the status overlay</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/lsv-boundaries.1kgfJcG2_Wn8CW.webp</image:loc><image:caption>The whole house covered by large, overlapping orange Level Streaming Volumes</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/creature-shadow.D8wVYVRz_Z1PhDUM.webp</image:loc><image:caption>The dark silhouette of a tall, thin humanoid creature cast across an orange-lit tiled wall</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/living-room-v048.DMpv7TPb_xLiKc.webp</image:loc><image:caption>The fully dressed living room, a lit fireplace, sofa, lamp and moving boxes, stamped with the progress log burn-in</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/beauty-01.Bv1PXK8T_205B82.webp</image:loc><image:caption>Close up of a grimy stove top, a stack of dirty plates in front of dented pots and a frying pan, with flies in the air above</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/beauty-02.CNXDIBl2_Z15aR6a.webp</image:loc><image:caption>Looking up past the rail of a white wooden cot at a round ceiling light, with dark red tendrils spreading across the ceiling around it</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/render-dining-room.D60FQba9_1uVxxp.webp</image:loc><image:caption>A dark dining room lit by a ceiling fan light over a table laid with plates, flies swarming above the centrepiece, with the Project UMBRAE logo overlaid at the bottom</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/render-kitchen.DHDrkYB8_CjMDT.webp</image:loc><image:caption>A kitchen at night under a single fluorescent strip light, cockroaches scattered across the floor between the counters and the fridge, with the Project UMBRAE logo overlaid at the bottom</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/render-bedroom.DLV8ydO-_Sljk4.webp</image:loc><image:caption>A bedside lamp with a floral ceramic base glowing in the foreground of a dark bedroom, a patterned quilt on the bed behind it, with the Project UMBRAE logo overlaid at the bottom</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/render-bathroom.CEOwnvBA_Rjjb.webp</image:loc><image:caption>A tiled bathroom washed in green light from a strip light, dark branching tendrils across the ceiling above a rail of white towels, with the Project UMBRAE logo overlaid at the bottom</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.mFPsZ2qX_1xzlKs.webp</image:loc><image:caption>A CRT monitor glowing in a dark room, showing a glitching colour test card</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.XAymT9sQ_1sxe0V.webp</image:loc><image:caption>Emmet&apos;s bedroom built from LEGO bricks, warm light from an arched window falling across a studded yellow floor, with a bed, a red wardrobe, a bike, a computer on a round table and a digital clock reading 12:01</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.ByPwIox8_ZHqBno.webp</image:loc><image:caption>A cel shaded city street under an orange haze, black outlines on every surface, a curving overpass in front of tiered cooling towers lit with green bands, stacked shipping containers, graffiti and a vertical neon BAR sign</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.Df4rAsrO_Zy4lEt.webp</image:loc><image:caption>A high angle view over a stylised sandy cove, with teal water shading darker where it deepens, pale shallows around the rocks, a stone arch standing in the water and trees casting shadows across the beach</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/project-umbrae/escape-asset-helper/</loc><lastmod>2026-05-01T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/import-dialogue.B_04UUVn_Ztgt5G.webp</image:loc><image:caption>The Name Your Asset dialogue for an imported Texture2D, with Prefix T, Base Name CardboardBox and Variant Big filled in, an empty Suffix field, a yellow preview reading T_CardboardBox_Big and a note that a suffix is required, listing the valid suffixes</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/context-menu.BhPXCUDU_11TFsI.webp</image:loc><image:caption>The Escape Asset Helper section of the Content Browser context menu, with Validate Asset, Ignore Validation and Auto-Fix Names, next to two toast notifications saying an asset has pending validation rules, each with Apply Fixes and Dismiss buttons</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/default-rules.BoO3T2cW_Z2uH7eg.webp</image:loc><image:caption>The plugin&apos;s content folder in the Content Browser: seven action and query blueprints such as AVA_TurnOnNanite and AVQ_MaxPolygons, and thirteen rule data assets such as AVR_DiffuseCompression and AVR_NormalSRGB, every one marked with a green tick</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/subsystem-node.DDV6AQ8o_ZB7Fm0.webp</image:loc><image:caption>A Blueprint graph for a custom query: a Get Editor Subsystem by Class node fetching the Static Mesh Editor Subsystem, which feeds a Get Number Verts node once the asset has been cast to a static mesh</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/status-overlay.BlOA5gDT_Z1ftlkh.webp</image:loc><image:caption>Four Content Browser tiles: M_MasterTest with a green tick, T_CardboardBox with a red cross, T_Drip_D with a grey dash, and a level called Z_Test with an orange tilde</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/submit-warning.YfmZNyuL_Z1VhxH6.webp</image:loc><image:caption>Unreal&apos;s Confirm changelist submit dialogue for a single asset, TestMaterial, showing the warning: Asset &apos;TestMaterial&apos; violates naming convention: Missing prefix. Expected &apos;M_&apos;. Suggested: &apos;M_TestMaterial&apos;</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.mFPsZ2qX_1xzlKs.webp</image:loc><image:caption>A CRT monitor glowing in a dark room, showing a glitching colour test card</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/default-rules.BoO3T2cW_Z1QFFeB.webp</image:loc><image:caption>The plugin&apos;s default rules in the Content Browser, each tile marked with a green tick by the status overlay</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/lsv-boundaries.1kgfJcG2_Wn8CW.webp</image:loc><image:caption>The whole house covered by large, overlapping orange Level Streaming Volumes</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/creature-shadow.D8wVYVRz_Z1PhDUM.webp</image:loc><image:caption>The dark silhouette of a tall, thin humanoid creature cast across an orange-lit tiled wall</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/living-room-v048.DMpv7TPb_xLiKc.webp</image:loc><image:caption>The fully dressed living room, a lit fireplace, sofa, lamp and moving boxes, stamped with the progress log burn-in</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/project-umbrae/optimisation/</loc><lastmod>2026-05-01T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/week2-empty-level.CD4DEi8u_Z2mprwb.webp</image:loc><image:caption>An almost empty test level, a tiled grid floor with a single grey cube, overlaid with Unreal&apos;s GPU stats and a stat unit readout of 10.95 FPS and a 91.32ms frame, with the draw thread at 91.46ms and the game thread at 14.25ms</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/winterfell-task-manager.DCjivRBk_FpS3M.webp</image:loc><image:caption>The editor running the empty prototype level beside Windows Task Manager on a classroom PC: a dual Xeon E5-2620 v4 at 2.10GHz with 32 logical processors sitting at 14% CPU while the NVIDIA Quadro GPU shows 95%, and a red warning in the viewport that MegaLights has no ray tracing data and hardware ray tracing is not allowed</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/sublevels.YlgBzLgG_Z1EeQxr.webp</image:loc><image:caption>The Levels panel listing the persistent level&apos;s sublevels: meta, prototype and technical folders, then an environment folder where each first floor room such as DiningRoom, Entrance, Garage and Kitchen has one Environment and one Gameplay sublevel</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/lsv-kitchen.Bv-BxxnI_1fy3PU.webp</image:loc><image:caption>An overhead view of the house blockout in the editor, with the kitchen&apos;s Level Streaming Volume highlighted as a yellow box and the other rooms&apos; volumes outlined in orange</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/nsight-frame.BulolISx_2hA0V1.webp</image:loc><image:caption>An NVIDIA Nsight frame capture timeline showing three consecutive frames of about 32ms each, with SceneRender at about 29ms and a MegaLights block of about 9ms inside each one, and an async compute queue below running DiffuseIndirectAndAO and Lumen screen probe gather</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/lumen-blockers.BX1gdBYj_ZvxFVE.webp</image:loc><image:caption>Bright magenta boxes stacked around the outside of the house walls in the editor, the invisible masked volumes that stop Lumen placing probes outside</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/lsv-boundaries.1kgfJcG2_1sr05m.webp</image:loc><image:caption>The whole house in the editor covered by large overlapping orange Level Streaming Volumes, simpler and bigger than the room outlines underneath</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.mFPsZ2qX_1xzlKs.webp</image:loc><image:caption>A CRT monitor glowing in a dark room, showing a glitching colour test card</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/default-rules.BoO3T2cW_Z1QFFeB.webp</image:loc><image:caption>The plugin&apos;s default rules in the Content Browser, each tile marked with a green tick by the status overlay</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/lsv-boundaries.1kgfJcG2_Wn8CW.webp</image:loc><image:caption>The whole house covered by large, overlapping orange Level Streaming Volumes</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/creature-shadow.D8wVYVRz_Z1PhDUM.webp</image:loc><image:caption>The dark silhouette of a tall, thin humanoid creature cast across an orange-lit tiled wall</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/living-room-v048.DMpv7TPb_xLiKc.webp</image:loc><image:caption>The fully dressed living room, a lit fireplace, sofa, lamp and moving boxes, stamped with the progress log burn-in</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/project-umbrae/producing/</loc><lastmod>2026-05-01T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/brief-to-plan-slide.CVpNbnR2_iVill.webp</image:loc><image:caption>A presentation slide comparing the Initial Brief with the Final Plan. Removed: adaptive AI similar to Alien Isolation, a hidden shadow creature, short but replayable, and hallucinogenic themes. Changes: cutscenes and events, a skinwalker creature, a scripted and larger environment, and satanic and folklore themes. Remained: grounded gameplay and non-linear puzzle progression</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/schedule-slide.wRgzDdnf_dM3Ej.webp</image:loc><image:caption>A timeline slide laid over a colour-coded module timetable, with callouts for Week 1 project begins on 24 November 2025, Week 4 pre-production end, the Christmas break, two reading weeks, Week 5 production begins, Week 10 production mid-point, Week 15 production end, the Easter break and the Week 18 project deadline on 7 May 2026</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/youtrack-knowledge-base.Bx2xOKbk_ZsKtrq.webp</image:loc><image:caption>The Project UMBRAE YouTrack knowledge base search index page, with links grouped under Tracking (master project tracker, asset list, sound list, animation spreadsheet, timeline and milestones, stretch goals), Design (GDD, gameplay walkthrough, weekly feedback, art bible, full story) and Guidance (project structure guide, asset guide, team roles, original brief)</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/asset-guide.mYTjikqm_ZAJz6f.webp</image:loc><image:caption>The Asset Guide Style and Targets page on YouTrack, listing general rules such as following the UE5 style guide naming convention, Nanite-enabled meshes, power of two textures, diffuse, normal and ORM texture sets, one material slot per mesh and a 1.8m tall player, followed by small prop limits of 1K textures and 3K polygons</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/dev-cameras.ye3McC-h_2cXiRF.webp</image:loc><image:caption>The editor with the house blockout, five camera preview thumbnails labelled 01 DevCam External Front to 05 DevCam ThirdFloor Overview, the outliner listing thirty cameras from 01_DevCam_External_Front to 30_DevCam_Underground_ChaseBack, and the DevelopmentSequence folder holding the queue, the level sequence and the burn-in widget</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/living-room-v001.CmzNXSOb_ZVlcva.webp</image:loc><image:caption>The living room in greybox on 29 December, grey block furniture, a floating Living Room label, moonlight through the window and one lamp lit, with the progress log burn-in across the top and bottom</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/living-room-v016.BiYBHaPV_1hGqO2.webp</image:loc><image:caption>The same view on 23 January, the blocks now covered in grid textures, with a fireplace wall, a radiator and a bookcase through the doorway</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/living-room-v032.DzVXm6tx_1iVyKm.webp</image:loc><image:caption>The same view on 18 February, with textured walls and a wooden floor, a fire lit in the fireplace, a lamp on the table and a mix of finished and greybox furniture</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/living-room-v048.DMpv7TPb_1SV7de.webp</image:loc><image:caption>The same view on 10 March, fully dressed, with a sofa and armchair, a coffee table with a lamp, rugs, curtains, a lit fireplace and boxes on the floor</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/video-guides.BVjVpR17_ZhKwNP.webp</image:loc><image:caption>A Teams post by James Marland titled Guide Videos, listing five YouTube links: How to set up Perforce and Unreal, How to basically use Unreal, How to Import animations, How to export the scene for animators, and How to make the full asset pipeline</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.mFPsZ2qX_1xzlKs.webp</image:loc><image:caption>A CRT monitor glowing in a dark room, showing a glitching colour test card</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/default-rules.BoO3T2cW_Z1QFFeB.webp</image:loc><image:caption>The plugin&apos;s default rules in the Content Browser, each tile marked with a green tick by the status overlay</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/lsv-boundaries.1kgfJcG2_Wn8CW.webp</image:loc><image:caption>The whole house covered by large, overlapping orange Level Streaming Volumes</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/creature-shadow.D8wVYVRz_Z1PhDUM.webp</image:loc><image:caption>The dark silhouette of a tall, thin humanoid creature cast across an orange-lit tiled wall</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/living-room-v048.DMpv7TPb_xLiKc.webp</image:loc><image:caption>The fully dressed living room, a lit fireplace, sofa, lamp and moving boxes, stamped with the progress log burn-in</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/project-umbrae/systems/</loc><lastmod>2026-05-01T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/event-types.G4muB9p__ZUcy8z.webp</image:loc><image:caption>A Teams post titled Event System showing four coloured wireframe trigger boxes with icons, followed by descriptions of the four planned event types: Auditory Hallucination, Visual Hallucination, Environment Change and Creature Encounter, each with an example</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/creature-shadow.D8wVYVRz_Z1iUqrS.webp</image:loc><image:caption>The dark silhouette of a tall, thin humanoid figure cast across a wall lit a deep orange</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/look-at-graph.CAPcmayl_Z1d8Dza.webp</image:loc><image:caption>Blueprint graph: the player camera&apos;s forward vector and the normalised direction from the camera to a Look At component feed a dot product, which is compared against a Look At Tolerance to output Passed</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/event-manager.o8OXk-cD_2gEE74.webp</image:loc><image:caption>The Event Manager blueprint graph: BeginPlay gathers all BP Event Parent actors that are controlled by the manager and all Level Streaming Volumes as rooms; Event Tick updates the game state&apos;s current room, counts down a random timer, collects primed events as candidates and picks one at random, printing that it gave permission to play</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/sink-cutscene.CQngCa0b_1eGoNv.webp</image:loc><image:caption>The sink burst cutscene in the editor: the player character kneels at an open cupboard under the kitchen sink as dark sludge sprays from a pipe, with the Sequencer below listing BP_MeterPuzzle, BP_PlayerCharacter, SM_Burst and SM_GushingSinkWater tracks</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/light-blueprint.Dkf2LC1A_Z19F5Cc.webp</image:loc><image:caption>The BP_Light parent blueprint in the editor: event graph nodes for electricity on and off, interaction and BeginPlay, with a details panel listing Light Audio Type, Light Health at 100%, flicker and spark timers, intervals and chances, Directly Interactable and Start Off</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/footstep-debug.CdK7_pA2_welHD.webp</image:loc><image:caption>A close view of the floor where wooden boards meet tiles, with a white debug wireframe sphere at the player&apos;s foot and yellow text reading A_MS_Footstep_Tile with its volume and play time</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/interaction-icons.CC8Y5XHs_pSYKT.webp</image:loc><image:caption>Kitchen cupboards and drawers at night, each handle marked with a small faint circle, with the one being looked at filled in and the word Open at the bottom of the screen</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/portal-camera.wLpswxX2_2bTu3i.webp</image:loc><image:caption>Two blueprint comment boxes, Update Portal Camera Location and Update Portal Camera Rotation, built from Get Actor Transform, Inverse Transform Location and Direction, three pairs of Mirror Vector by Normal nodes and Make Rotation from Axes</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/portal-crossing.CdILw-rV_ZNk0NB.webp</image:loc><image:caption>The IsPointCrossingPortal blueprint function: a dot product of the point&apos;s offset against the portal normal decides whether it is in front, a plane is made from the portal location and normal, and a Line Plane Intersection between the last position and the current point combines with the in-front flags to return Crossing</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/broken-ik.DYKdiH6y_Z2gkNrI.webp</image:loc><image:caption>A first person view almost entirely filled by the player&apos;s own sleeved arm, twisted up in front of the camera by the broken hand IK</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.mFPsZ2qX_1xzlKs.webp</image:loc><image:caption>A CRT monitor glowing in a dark room, showing a glitching colour test card</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/default-rules.BoO3T2cW_Z1QFFeB.webp</image:loc><image:caption>The plugin&apos;s default rules in the Content Browser, each tile marked with a green tick by the status overlay</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/lsv-boundaries.1kgfJcG2_Wn8CW.webp</image:loc><image:caption>The whole house covered by large, overlapping orange Level Streaming Volumes</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/creature-shadow.D8wVYVRz_Z1PhDUM.webp</image:loc><image:caption>The dark silhouette of a tall, thin humanoid creature cast across an orange-lit tiled wall</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/living-room-v048.DMpv7TPb_xLiKc.webp</image:loc><image:caption>The fully dressed living room, a lit fireplace, sofa, lamp and moving boxes, stamped with the progress log burn-in</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/stylised-ocean-shader/</loc><lastmod>2025-02-01T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.Df4rAsrO_Z1g6kCx.webp</image:loc><image:caption>A high angle view over a stylised sandy cove, with teal water shading darker where it deepens, pale shallows around the rocks, a stone arch standing in the water and trees casting shadows across the beach</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/wave-six.kFU1UhNx_ZSvBgA.webp</image:loc><image:caption>A grey test plane with an irregular, rolling surface built from six overlapping Gerstner waves</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/far-wireframe.DAhCSmpc_SiXfh.webp</image:loc><image:caption>The whole ocean from high above in wireframe, a dense mesh grid around the island stepping down to coarser tiles toward the edges</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/foam-shoreline.BMdN7bnQ_2tHbFk.webp</image:loc><image:caption>A curved sandy shoreline at golden hour, with a soft band of pale foam along the water&apos;s edge fading out into the sea</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/day-cove.pJie8vt9_8JPuz.webp</image:loc><image:caption>A high angle view of a sheltered cove, green water flecked with white foam patches, rocks and a stone arch standing in the shallows</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/day-rocks.Do4wHUAK_1VvW9K.webp</image:loc><image:caption>A cluster of tall rocks standing in teal water off a sandy beach, with foam gathered around their bases and along the shoreline</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/sunset-ruins.DqAIHkqx_Z1Su8uQ.webp</image:loc><image:caption>The ocean at sunset from the beach, the sun low on the horizon reflecting in a bright streak across the waves, with ruins and a jetty silhouetted in the water</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/sunset-sun.DKL8TS6b_FmRdE.webp</image:loc><image:caption>A sunset over open sea framed by silhouetted trees and a ruined wall, the sun&apos;s reflection breaking up across the wave surface</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/set-deco.CN5cap8u_Z1q68SQ.webp</image:loc><image:caption>A jetty and ruined stones silhouetted against a red sunset over the sea, with a lens flare in the foreground</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.mFPsZ2qX_1xzlKs.webp</image:loc><image:caption>A CRT monitor glowing in a dark room, showing a glitching colour test card</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.XAymT9sQ_1sxe0V.webp</image:loc><image:caption>Emmet&apos;s bedroom built from LEGO bricks, warm light from an arched window falling across a studded yellow floor, with a bed, a red wardrobe, a bike, a computer on a round table and a digital clock reading 12:01</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.ByPwIox8_ZHqBno.webp</image:loc><image:caption>A cel shaded city street under an orange haze, black outlines on every surface, a curving overpass in front of tiered cooling towers lit with green bands, stacked shipping containers, graffiti and a vertical neon BAR sign</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.Df4rAsrO_Zy4lEt.webp</image:loc><image:caption>A high angle view over a stylised sandy cove, with teal water shading darker where it deepens, pale shallows around the rocks, a stone arch standing in the water and trees casting shadows across the beach</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/stylised-ocean-shader/gerstner-waves/</loc><lastmod>2025-02-01T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/wave-node-graph.NkHKcJaJ_ZzKUqi.webp</image:loc><image:caption>The cleaned up Gerstner material function in Unreal, grouped into coloured comment boxes for the wave, world position offset, inputs and normal</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/wave-single.226i5A1o_ZONSag.webp</image:loc><image:caption>A single clean Gerstner wave rolling across a grey test plane</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/wave-six.kFU1UhNx_Z2uh7Uk.webp</image:loc><image:caption>A grey test plane with an irregular, rolling surface built from six overlapping Gerstner waves</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/bug-spikes.kUyLv-An_d8Mjv.webp</image:loc><image:caption>A test plane with world position offset gone wrong, erupting into a dense block of vertical spikes</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/bug-dimples.gTySqoGP_Z1EG0HH.webp</image:loc><image:caption>A test plane covered in a regular pattern of small dimples instead of a wave</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/hlsl-bug.jR1nJDTp_Zt8yGK.webp</image:loc><image:caption>A broken render of the ocean plane, split into hard black and white blocks</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/hlsl-bug-2.CXju56M8_Eq02N.webp</image:loc><image:caption>A diamond shaped patch of ocean rendered in pale blue and white, scattered with blocky dark purple artefacts</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.Df4rAsrO_Zy4lEt.webp</image:loc><image:caption>A high angle view over a stylised sandy cove, with teal water shading darker where it deepens, pale shallows around the rocks, a stone arch standing in the water and trees casting shadows across the beach</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/wave-six.kFU1UhNx_ZSvBgA.webp</image:loc><image:caption>A grey test plane with an irregular, rolling surface built from six overlapping Gerstner waves</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/far-wireframe.DAhCSmpc_SiXfh.webp</image:loc><image:caption>The whole ocean from high above in wireframe, a dense mesh grid around the island stepping down to coarser tiles toward the edges</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/foam-shoreline.BMdN7bnQ_2tHbFk.webp</image:loc><image:caption>A curved sandy shoreline at golden hour, with a soft band of pale foam along the water&apos;s edge fading out into the sea</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/stylised-ocean-shader/realtime/</loc><lastmod>2025-02-01T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/far-lit.CgGOsbxb_Z1BRxTx.webp</image:loc><image:caption>The whole ocean seen from high above, a small island in the middle of dark blue water scattered with pale foam patches</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/far-wireframe.DAhCSmpc_1omOGG.webp</image:loc><image:caption>The same view in wireframe, showing a dense mesh grid around the island stepping down to progressively coarser tiles toward the edges</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/lod-mesh.0QUHAk-8_249jHF.webp</image:loc><image:caption>A wireframe view looking across the ocean, the displaced near mesh rising in rolling waves in front of flatter far tiles</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/material-graph.ulIIjcRt_fqqnu.webp</image:loc><image:caption>The full Ocean material graph in Unreal, grouped into coloured comment boxes labelled Gerstner Wave, Sea Colour, Sea and Shore Foam, PBR and Additional Detail</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/normals-flipped.ChAv3frm_Zt4gH3.webp</image:loc><image:caption>The ocean at golden hour, with two red circles marking black specks and brown streaks in the reflection</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/origin-bug.DzjZNFoN_1Vf1WM.webp</image:loc><image:caption>A crumpled spike of water rising out of the landscape at the world origin, where the wave offsets accumulate</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.Df4rAsrO_Zy4lEt.webp</image:loc><image:caption>A high angle view over a stylised sandy cove, with teal water shading darker where it deepens, pale shallows around the rocks, a stone arch standing in the water and trees casting shadows across the beach</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/wave-six.kFU1UhNx_ZSvBgA.webp</image:loc><image:caption>A grey test plane with an irregular, rolling surface built from six overlapping Gerstner waves</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/far-wireframe.DAhCSmpc_SiXfh.webp</image:loc><image:caption>The whole ocean from high above in wireframe, a dense mesh grid around the island stepping down to coarser tiles toward the edges</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/foam-shoreline.BMdN7bnQ_2tHbFk.webp</image:loc><image:caption>A curved sandy shoreline at golden hour, with a soft band of pale foam along the water&apos;s edge fading out into the sea</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/stylised-ocean-shader/water-details/</loc><lastmod>2025-02-01T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/repetition.yB41T0Az_z3V7S.webp</image:loc><image:caption>An early ocean made of duplicated tiles around a sandy landscape, the same wave pattern visibly repeating from tile to tile</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/slw.BbE4z9Rr_1auxvb.webp</image:loc><image:caption>The ocean plane using the Single Layer Water shading model, dark blue with glossy rolling waves</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/fresnel.D9NOfauK_1zpVUi.webp</image:loc><image:caption>Close up of blue water with pale fresnel reflection across the wave crests, swirled by an early normal map</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/slw-normals.DywguCsk_mPPHD.webp</image:loc><image:caption>A wide shot of turquoise water covered in fine, broken ripples with bright glints of reflection, paler toward the horizon</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/foam-shoreline.BMdN7bnQ_Z25q5Gc.webp</image:loc><image:caption>A curved sandy shoreline at golden hour, with a soft band of pale foam along the water&apos;s edge fading out into the sea</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/caustics-graph.B9LourUc_2i4U6B.webp</image:loc><image:caption>The caustics decal material graph in Unreal: absolute world position and the scene&apos;s world normal feed a projection, two panned caustic textures are distorted and added, then multiplied by a strength parameter into base colour and opacity</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/caustics-sand.Z-ofyHXV_ZF7V1V.webp</image:loc><image:caption>Sand under shallow water, covered in thin, wavy bright caustic lines with faint colour fringes, wrapping over the slope of the dune</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.Df4rAsrO_Zy4lEt.webp</image:loc><image:caption>A high angle view over a stylised sandy cove, with teal water shading darker where it deepens, pale shallows around the rocks, a stone arch standing in the water and trees casting shadows across the beach</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/wave-six.kFU1UhNx_ZSvBgA.webp</image:loc><image:caption>A grey test plane with an irregular, rolling surface built from six overlapping Gerstner waves</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/far-wireframe.DAhCSmpc_SiXfh.webp</image:loc><image:caption>The whole ocean from high above in wireframe, a dense mesh grid around the island stepping down to coarser tiles toward the edges</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/foam-shoreline.BMdN7bnQ_2tHbFk.webp</image:loc><image:caption>A curved sandy shoreline at golden hour, with a soft band of pale foam along the water&apos;s edge fading out into the sea</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/tool-brick/</loc><lastmod>2025-11-24T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.XAymT9sQ_M7Y8k.webp</image:loc><image:caption>Emmet&apos;s bedroom built from LEGO bricks, warm light from an arched window falling across a studded yellow floor, with a bed, a red wardrobe, a bike, a computer on a round table and a digital clock reading 12:01</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/thumbnail-stage.BJdvR_Re_Z1fho4y.webp</image:loc><image:caption>A folder of grey 128px part thumbnails beside the terminal logging each download</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/quarter-plate-points.BTvb5AZI_ZRPqwS.webp</image:loc><image:caption>The underside of a quarter round part in Houdini, green points marking every anti-stud position</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/colour-showcase.CcmhuYpU_KkGsG.webp</image:loc><image:caption>Rows of 2 x 2 bricks in every solid, transparent, glitter, pearl and metallic colour against a blue sky</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/apartment-02.CU9v75l4_ZHUspi.webp</image:loc><image:caption>A low angle across Emmet&apos;s studded LEGO floor towards the bed, a green blanket catching the lamp light and the clock reading 12:01 behind it</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/editor-apartment.B4ohrAw6_Zl7aid.webp</image:loc><image:caption>The Unreal editor with the Tool Brick panel docked on the left, a grid of colour swatches above a searchable list of slope parts, and the finished bedroom set lit warm orange in the viewport</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.mFPsZ2qX_1xzlKs.webp</image:loc><image:caption>A CRT monitor glowing in a dark room, showing a glitching colour test card</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.XAymT9sQ_1sxe0V.webp</image:loc><image:caption>Emmet&apos;s bedroom built from LEGO bricks, warm light from an arched window falling across a studded yellow floor, with a bed, a red wardrobe, a bike, a computer on a round table and a digital clock reading 12:01</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.ByPwIox8_ZHqBno.webp</image:loc><image:caption>A cel shaded city street under an orange haze, black outlines on every surface, a curving overpass in front of tiered cooling towers lit with green bands, stacked shipping containers, graffiti and a vertical neon BAR sign</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.Df4rAsrO_Zy4lEt.webp</image:loc><image:caption>A high angle view over a stylised sandy cove, with teal water shading darker where it deepens, pale shallows around the rocks, a stone arch standing in the water and trees casting shadows across the beach</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/tool-brick/data-pipeline/</loc><lastmod>2025-11-24T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/ldraw-3001-dat.DXQRgZhl_ZYBHNk.webp</image:loc><image:caption>The LDraw library page for part 3001, Brick 2 x 4, showing the file header with its name, author James Jessiman, CC BY 4.0 licence and update history, a few lines of raw transforms underneath, and a yellow preview render of the brick</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/part-list-json.B5L3OYLi_1862hY.webp</image:loc><image:caption>A section of the generated part list in a code editor, one JSON entry per part with a PartID, a Name such as Brick 2 x 4 or Slope Brick Curved 2 x 1 with Cutout Left, a semicolon separated Keywords string and an empty Studs array</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/stage-1-terminal.D8kpEFGj_1XieFz.webp</image:loc><image:caption>A terminal printing the last parts added to the list, including a roadsign and two circuit cubes plates, two lines noting parts that bypassed the filter through the allowlist, and the summary line: Added 945 parts. Did not add 22368 as they did not pass the filter</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/thumbnail-3001.C0heG5at_28K0I6.webp</image:loc><image:caption>A processed thumbnail of the 2 x 4 brick, a flat grey render of the brick at an angle on a transparent background</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/stage-3-thumbnails.DgtekhdE_1xxzhx.webp</image:loc><image:caption>A terminal listing thumbnail downloads by part ID, a few marked as failed for all colours, ending with Thumbnail processing complete. Made 720 thumbnails from 945, beside a file explorer showing grey 128 by 128 thumbnails and a count of 720 items</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.XAymT9sQ_1sxe0V.webp</image:loc><image:caption>Emmet&apos;s bedroom built from LEGO bricks, warm light from an arched window falling across a studded yellow floor, with a bed, a red wardrobe, a bike, a computer on a round table and a digital clock reading 12:01</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/thumbnail-stage.BJdvR_Re_Z1fho4y.webp</image:loc><image:caption>A folder of grey 128px part thumbnails beside the terminal logging each download</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/quarter-plate-points.BTvb5AZI_ZRPqwS.webp</image:loc><image:caption>The underside of a quarter round part in Houdini, green points marking every anti-stud position</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/colour-showcase.CcmhuYpU_KkGsG.webp</image:loc><image:caption>Rows of 2 x 2 bricks in every solid, transparent, glitter, pearl and metallic colour against a blue sky</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/apartment-02.CU9v75l4_ZHUspi.webp</image:loc><image:caption>A low angle across Emmet&apos;s studded LEGO floor towards the bed, a green blanket catching the lamp light and the clock reading 12:01 behind it</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/tool-brick/emmets-apartment/</loc><lastmod>2025-11-24T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/first-version-overview.Zb-qVCWE_228LOB.webp</image:loc><image:caption>The first version of the apartment seen from the front, three rooms in a row on a yellow studded floor with green walls, a kitchen with a red and white striped wall and a checkered floor on the left, a middle room with plain coloured panels on the wall, and a bedroom with a red bed on the right</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/first-version-bedroom.DoOBK1xC_Z1eTffx.webp</image:loc><image:caption>The first version&apos;s bedroom close up, a red bed and a white desk against green walls with plain pink and orange panels where the posters would be, and a purple glitter globe on the desk</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/first-version-living.BJr6DTo0_Z16b8jP.webp</image:loc><image:caption>The first version&apos;s living area, a lamp with a blue and white shade glowing yellow in front of the red and white striped kitchen wall, with a low brown table in the foreground</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/mecabricks-reference.DfSUaTEy_ATDYB.webp</image:loc><image:caption>A Mecabricks render of a LEGO recreation of Emmet&apos;s apartment seen from above with the roof off: a kitchen with a striped wall and checkered floor on the left, a small bathroom in the middle and a bedroom with a navy bed on the right, all behind a brown brick front wall with arched windows</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/raw-render.BtXsiPsA_Z1o3fvR.webp</image:loc><image:caption>The finished bedroom straight out of Unreal, the arched window glowing on the left, posters on the grey-green brick wall, the bed, a red wardrobe, a bike and a computer on a round table, lit warm orange</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/final-render.BkRDlQsE_27VCMX.webp</image:loc><image:caption>The same frame after Photoshop, with fine film grain over the whole image and slightly softer, less saturated colour</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/apartment-02.CU9v75l4_Z1lVToW.webp</image:loc><image:caption>A low angle across the studded floor towards the bed, a green blanket catching the lamp light, the digital clock reading 12:01 on the bedside table behind it</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/apartment-03.x7rMEtXb_Z21HAXo.webp</image:loc><image:caption>Looking past a tall cream wall into the bedroom, the bed and red wardrobe at the back, a green plant in a pot in the foreground and warm light reflecting off the studs</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/apartment-04.8bUO1w43_ZRG9Xb.webp</image:loc><image:caption>Close up of the round desk, a chunky beige computer with a keyboard, a teal mug and a croissant, with the bike wheel behind</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/apartment-05.LzViXhVG_Z8c7vk.webp</image:loc><image:caption>Looking up at the corner of the room, a red wardrobe with a round red shape on top, a patterned red and black poster lit gold on the wall, and a small white ornament on the bedside table</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.XAymT9sQ_1sxe0V.webp</image:loc><image:caption>Emmet&apos;s bedroom built from LEGO bricks, warm light from an arched window falling across a studded yellow floor, with a bed, a red wardrobe, a bike, a computer on a round table and a digital clock reading 12:01</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/thumbnail-stage.BJdvR_Re_Z1fho4y.webp</image:loc><image:caption>A folder of grey 128px part thumbnails beside the terminal logging each download</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/quarter-plate-points.BTvb5AZI_ZRPqwS.webp</image:loc><image:caption>The underside of a quarter round part in Houdini, green points marking every anti-stud position</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/colour-showcase.CcmhuYpU_KkGsG.webp</image:loc><image:caption>Rows of 2 x 2 bricks in every solid, transparent, glitter, pearl and metallic colour against a blue sky</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/apartment-02.CU9v75l4_ZHUspi.webp</image:loc><image:caption>A low angle across Emmet&apos;s studded LEGO floor towards the bed, a green blanket catching the lamp light and the clock reading 12:01 behind it</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/tool-brick/houdini/</loc><lastmod>2025-11-24T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/ld2h-3001.C8w7bwz0_ZCy0E7.webp</image:loc><image:caption>Houdini with the LDraw2Houdini node generating part 3001, a grey 2 x 4 brick in the viewport, and the node&apos;s parameters on the right showing the part number, material settings and a logo on studs option</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/pdg-branches.I3hd4E_5_2k1Aln.webp</image:loc><image:caption>The two branches of the TOP network side by side. On the left, generate_no_stud runs the ldraw_part_no_stud HDA, get_stud_points writes a bgeo per part, and save_stud_postion_to_json is a Python Script node. On the right, generate_mesh runs the ldraw_part_mesh HDA, import_mesh imports the geometry, and save_part_to_fbx writes SM_ToolBrick_ and the part number as an FBX</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/lego-dimensions.Cqt6PVpm_Z2mNAt4.webp</image:loc><image:caption>Diagram of a red 1 x 2 plate and a yellow 1 x 1 brick with their measurements: a stud pitch of 0.8cm, a plate 0.32cm high (1 plate), and a brick 0.8cm wide and 0.96cm high (3 plates)</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/stud-cached.Dq_rrNeF_ZKPEna.webp</image:loc><image:caption>The cached geometry for part 3001 in the Houdini viewport, a black box outline of the brick with small blue points along its top edge where the studs are</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/stud-origin.Bk_YdPD0_PkiMn.webp</image:loc><image:caption>The same black box outline of the 2 x 4 brick, moved across the Houdini grid so its first stud sits on the origin</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/stud-grid.BsEW8yhz_Z252fGJ.webp</image:loc><image:caption>An even grid of small blue points spread across the Houdini viewport floor</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/stud-hits.BDPjE70z_Z1vFkCy.webp</image:loc><image:caption>The same viewport with only eight blue points left, arranged in two rows of four</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/stud-final.CpfRhBGp_Z1KrJVT.webp</image:loc><image:caption>The eight remaining points in two rows of four, after the climb</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/quarter-plate-points.BTvb5AZI_bxx9E.webp</image:loc><image:caption>A quarter round LEGO part seen from underneath in Houdini, dark red, covered in blue rings where the underside tubes are, with bright green points marking positions between the rings across the whole curved shape</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/stud-network.AD2GzzQG_jJmkx.webp</image:loc><image:caption>The SOP network inside the stud branch in Houdini. The incoming part splits three ways: a grid branch of transforms and point wrangles ending in an anti_studs null, a bounds branch, and a top stud branch ending in a blast node with the comment This will be the object orgin and also decide the grid offset. They merge, transfer attributes and go to the output</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/pdg-console.ByE_W456_Z1tEXLu.webp</image:loc><image:caption>The Houdini console listing the last work items, lines such as SUCCESS: 99301 had 14 studs and SUCCESS: u9008 had 1 studs, ending with Part mesh and stud generation complete! Proceed with stage 3</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/snap-handles-slope.DkRfJCaW_Z2oSPsX.webp</image:loc><image:caption>A white slope brick in Unreal with a move gizmo, yellow handles on its top studs and blue rings on the anti-studs underneath</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/curve-stray-points.CuZFIUqB_18b9sn.webp</image:loc><image:caption>A curved green part in the Houdini viewport with red points inside it along its length, and a hand drawn red arrow pointing right to a line of small black points floating in empty space away from the part</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.XAymT9sQ_1sxe0V.webp</image:loc><image:caption>Emmet&apos;s bedroom built from LEGO bricks, warm light from an arched window falling across a studded yellow floor, with a bed, a red wardrobe, a bike, a computer on a round table and a digital clock reading 12:01</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/thumbnail-stage.BJdvR_Re_Z1fho4y.webp</image:loc><image:caption>A folder of grey 128px part thumbnails beside the terminal logging each download</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/quarter-plate-points.BTvb5AZI_ZRPqwS.webp</image:loc><image:caption>The underside of a quarter round part in Houdini, green points marking every anti-stud position</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/colour-showcase.CcmhuYpU_KkGsG.webp</image:loc><image:caption>Rows of 2 x 2 bricks in every solid, transparent, glitter, pearl and metallic colour against a blue sky</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/apartment-02.CU9v75l4_ZHUspi.webp</image:loc><image:caption>A low angle across Emmet&apos;s studded LEGO floor towards the bed, a green blanket catching the lamp light and the clock reading 12:01 behind it</image:caption></image:image></url><url><loc>https://jamesmarland.co.uk/portfolio/tool-brick/unreal-toolset/</loc><lastmod>2025-11-24T00:00:00.000Z</lastmod><image:image><image:loc>https://jamesmarland.co.uk/_astro/euw-search.9a-MbGik_1QWaVp.webp</image:loc><image:caption>The Tool Brick search box reading 2 x 4 next to an open category dropdown listing All, Arch, Baseplate, Brick, Cone, Container, Fence, Panel, Plate, Plant, Slope, Tile and Misc, with Brick highlighted, above a few grey part tiles</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/mvp-ui.B1t439HY_Z2nrRan.webp</image:loc><image:caption>The Tool Brick panel with rows of colour swatches above a grid of grey part tiles, next to a viewport where rows of bricks in many colours, including clear and transparent ones, sit on a green baseplate</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/nanite-ism.CT0t582f_Z2k7GGs.webp</image:loc><image:caption>The Nanite cluster visualisation in the viewport, bricks and a baseplate broken up into small multicoloured patches, next to the details panel for a brick Blueprint with a BrickPos scene component holding a BrickMesh instanced static mesh, its transform showing location and rotation offsets of a few hundredths</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/perf-test.zQTt5iHt_1fySwB.webp</image:loc><image:caption>The Unreal editor on the L_PerfTest level, the viewport filled with rows of red bricks receding into the distance, the outliner reporting 6,406 actors and the stat bar reading 92.9 FPS at 10.8ms</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/brick-imperfection.BMcrLADI_ZS6hgC.webp</image:loc><image:caption>A close up of stacked yellow bricks under warm light, the seams between them uneven, with thin dark gaps where bricks sit slightly off from one another</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/colour-showcase.CcmhuYpU_1W26GP.webp</image:loc><image:caption>Rows of 2 x 2 bricks floating in front of a blue sky under the words Here are all the colours and types that can be used, a staircase of solid colours on the left, then smaller groups of glitter, metallic, pearl and transparent bricks</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/master-material.DZPzny7e_ZJLAIX.webp</image:loc><image:caption>The M_ToolBrick_MasterOpaque material graph in Unreal, organised into coloured comment boxes, with a glossy red sphere in the preview window on the left</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/snap-handles.D-FtDJwF_Z1CnWMQ.webp</image:loc><image:caption>Two white bricks in Unreal. The upper one is selected with a move gizmo on one of its studs, and the lower one shows small green diamond markers on its top studs where the selected stud can attach</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/toggles.p4wuyurm_18NvHe.webp</image:loc><image:caption>The row of four toggle buttons above the part list, a water drop, a dotted grid, a stud and a snapping icon, with a tooltip reading Toggle selected bricks changing colour when new colour selected</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/brick-details.BzORUzZ5_HTDYA.webp</image:loc><image:caption>The Unreal editor with the Tool Brick panel on the left showing the search 2 x 4 in the Brick category, a white 2 x 4 brick selected on a green baseplate with yellow handles on its studs, and the details panel on the right listing Part ID 3001, Grid Size 10 10 4, the random offset ranges, Seed and Grid Snapping</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/cover.XAymT9sQ_1sxe0V.webp</image:loc><image:caption>Emmet&apos;s bedroom built from LEGO bricks, warm light from an arched window falling across a studded yellow floor, with a bed, a red wardrobe, a bike, a computer on a round table and a digital clock reading 12:01</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/thumbnail-stage.BJdvR_Re_Z1fho4y.webp</image:loc><image:caption>A folder of grey 128px part thumbnails beside the terminal logging each download</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/quarter-plate-points.BTvb5AZI_ZRPqwS.webp</image:loc><image:caption>The underside of a quarter round part in Houdini, green points marking every anti-stud position</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/colour-showcase.CcmhuYpU_KkGsG.webp</image:loc><image:caption>Rows of 2 x 2 bricks in every solid, transparent, glitter, pearl and metallic colour against a blue sky</image:caption></image:image><image:image><image:loc>https://jamesmarland.co.uk/_astro/apartment-02.CU9v75l4_ZHUspi.webp</image:loc><image:caption>A low angle across Emmet&apos;s studded LEGO floor towards the bed, a green blanket catching the lamp light and the clock reading 12:01 behind it</image:caption></image:image></url></urlset>