0.10.4 improves large multiplayer games, restores teleporter effects, makes score updates more reliable, and expands the Reclaimer Kit with Forge-map editing, campaign-canvas compilation and AI squads. It also includes fixes for Halo: Reach content, map loading and controller input.
Changes since v0.10.3.
What's new
-
Reclaimer Kit opens campaign canvases and their Forge maps. Campaign canvases (a Halo 3 or ODST mission area as an empty multiplayer map) now open in the Kit.
- File › Open Map has a Campaign Canvases tab listing every area Host
Game offers. A canvas opens as a level with the Forge palette, the camera where Forge enters the area. - File › Open Forge Map… opens Forge maps built on a canvas, and
File › Save as Forge Map… saves a canvas scene as one, which Forge and custom games play. - Objects of the mission itself that Forge does not offer on its canvas
(the mission's own rifle, for example) cannot be saved into a Forge map; the Kit names them instead of saving a map that would drop them.
- File › Open Map has a Campaign Canvases tab listing every area Host
-
Reclaimer Kit compiles campaign canvases. Compile Map now works on a campaign canvas: the result is a mod map of the mission area with the objects, markers, World settings and Forge objects you placed, played like any other compiled map.
- Place spawn points before compiling, or nobody can enter a game on it.
- On a canvas the Kit now offers exactly what Forge offers there, so every
object you place can also be saved into a Forge map. - Edited or imported tags, pictures, sounds, texts and scripts are not
compiled into a canvas yet; the Kit says so, and Save Scenario keeps them.
-
Reclaimer Kit: the decorator brush has spread options. Paint Decorators has a Brush menu in the viewport header. Choose how a stamp spreads its decorators (Even, Soft edge, Clumps, or Single for one under the pointer and a row when dragged), tick several of a set's types to paint them mixed, and set their scale, spacing, how upright they stand, a random lean, and their turn (random, along the stroke, or one heading). Slope limits keep a brush to the flat or to the walls. Erase can take only the chosen set's types, and a strength under 100% thins instead of clearing. Hold Ctrl to erase with a painting brush, and press [ and ] to narrow and widen it. The options are kept between sessions.
-
Reclaimer Kit: squads on maps that have no AI. The AI tab now works on a map with no AI of its own, such as a multiplayer map. New squad makes a squad with one fire team and one starting location at the 3D cursor, where before it could only copy a squad the map already had. A fire team's Character of a biped makes a character for any biped the map has (a Spartan or an Elite on every multiplayer map) and adds it to the map's characters, and Add a character adds one the map already holds. Load into Game and Place squad then put the squad into the game.
-
Reclaimer Kit opens and saves Forge maps. The Kit now works with the maps you save in Forge, as well as with scenarios and compiled maps.
- File › Open Forge Map… lists the Forge maps in your Maps folder. One
opens its base map with everything the Forge map did as edits: the map's own objects it moved or deleted, the objects it placed, its World settings and its object limits. - File › Save as Forge Map… saves the scene as a Forge map, which the
menus list for Forge and custom games. It holds no new content, so there is no map to compile and players download nothing. It works for scenes that only move, delete and place objects of the Forge palettes; a scene with edited or imported tags, changed markers, painted decorators or scripts is refused with the reason, and Compile Map keeps those. - A Forge map cannot move or delete the map's own objects that a game type
never uses (scenery without multiplayer properties); the Kit names them instead of saving a map that would ignore the change. - Map variant files from MCC are not opened yet, and labels set in Forge
are not kept when a map is saved again from the Kit.
- File › Open Forge Map… lists the Forge maps in your Maps folder. One
-
Reclaimer Kit: new zones, also on maps that had none. The AI tab's Zones section has New zone: a zone with one area on the 3D cursor's BSP. New firing position now works in a zone with no positions yet, so a multiplayer map can get its first zone, and a squad can be given it as its initial zone. In a game the host puts a zone's firing positions on the map's walkable area each round.
-
Reclaimer Kit opens campaign canvases of Halo: CE, Halo 2 and Halo: Reach. The campaign canvases of the other games now open in the Kit, listed with each game's maps after its multiplayer maps. As with Halo 3's and ODST's, you can build on one, save it as a Forge map and compile it into a map of its own.
-
Reclaimer Kit: characters from other installed maps for your squads. A fire team in the AI tab can now use a character that only another installed Halo 3 map has, such as a mission's Grunt, Brute, Elite or Marine on Guardian. Open Characters of other maps under the fire team, search by name or by map, and pick one: it joins the map's characters and can be chosen as the fire team's Character. Compile Map brings the character in from its map with its body, its weapons and everything else it needs. Squads of it appear in games of the compiled map; the Kit's own game places nobody of it until the map is compiled.
-
Reclaimer Kit: patrol points show in the 3D view. A squad's patrol points now appear in the Kit's 3D view, each route joined in the order its AI walk it. Click a point to choose its squad in the AI tab, drag it with the move gizmo (or press G) to move it, and press Delete to remove it. A point added with New patrol point shows at once.
-
Reclaimer Kit: patrol routes for squads. A squad's panel in the AI tab has a Patrol route: New patrol point adds a point at the 3D cursor, and each point can be moved by its fields or removed. In a multiplayer game the squad's AI walk the points in order, round and round, until they find someone to fight. On some maps the AI can still get stuck part of the way where the map's generated walkable area has gaps.
-
Reclaimer Kit: a multiplayer squad's team, targets and respawn. A squad on a multiplayer map now has a multiplayer game's choices in the AI tab. Team: enemy of everyone, friendly to every player, or one of the eight team colours. Shoots at: everything, players on foot, or enemy vehicles only. Respawn (seconds): how long after its last AI dies the squad comes back (0 keeps it gone for the round).
-
AI squads on multiplayer maps. A multiplayer map made in the Reclaimer Kit can now have AI squads of its own. The host places them a moment after each round starts, and they find their way around the map without any AI data in it.
-
The FPS and tick rate readout can show your own PC's tick and culling figures. Turn on Show tick and culling details in Settings, Game Options (with Show FPS and tick rate on) for a second line under the readout:
- Local ticks: how many ticks your game played in the last second, of
the number it should. Red means your PC can't keep up with the game. - Tick: how long one tick takes on your PC, in milliseconds.
- Drawn: how many of the world's objects your picture draws, of all
there are. - Simulated: how many players and vehicles your PC simulates itself,
of all there are.
- Local ticks: how many ticks your game played in the last second, of
Changed
-
Big games: aim assistance no longer searches every object along a line of sight that the level has already blocked. With many players behind walls this was the largest per-frame cost on the game thread.
-
Films of big games play in Theater on the PC that joined them. A film you record as a joining player in a game of more than 16 players now plays back from start to end. Theater follows what the host sent during the game, as the game itself did, and saves the same work for players far from the camera, so big films also play smoothly on slower PCs. Films of games you host, and of solo games, play exactly as before.
-
Big games: far-away players and vehicles cost your PC less. In a multiplayer game of more than 16 players that you joined, players, vehicles and weapons too far away to make out (about 16 pixels tall or less, or outside your view) now update their animation four times less often on your PC, and move and turn with their body in between. Looking through a scope brings their full animation back. Games you host, servers, campaign, Forge, Theater and games of 16 players or fewer are unchanged. To turn it off, set
"distant_poses": falseunder"networking"inengine-settings.json.Teleporters, hills and territories also check players that are nowhere near them much faster.
-
Enhanced networking is the default again. Multiplayer games you host, and dedicated servers that name no network model, play with enhanced networking again: each player is sent the players and objects they can see and are near first, and far ones as often as their movement needs, which keeps big games and far vehicles smooth.
To host with Halo 3's own networking, turn on Classic networking in Host settings, or set
network_model = "classic"for a dedicated server. If you had classic networking on before, turn the switch on again: classic was the default for a while and was not saved as a choice. Players who join always play with the host's choice, and co-op games use their own networking either way. -
Big games keep the tick rate: a slow machine simulates fewer distant players. In a multiplayer game of more than 16 players, a machine that keeps up now simulates every player and vehicle in full, as before big games. One that falls behind sheds work to keep its tick rate: first players and vehicles you cannot see or that are only a few pixels tall follow the host's state, then visible players are updated every other tick (still animated and moved smoothly every tick), the smallest on screen first. Anything close enough to touch you is always simulated in full.
To turn it off, set
"followed_objects": falseunder"networking"inengine-settings.json. -
Big games: what you would see first by turning is simulated first. When a machine in a big multiplayer game cannot simulate every player and vehicle, the ones just outside your picture now keep being simulated before the ones behind you, so a turn of the camera shows them as the host has them. In a fast turn the game also switches far fewer players between simulated and followed, which costs less time per tick.
-
Big games on slower PCs: parked Pelicans, Phantoms and other carrier vehicles, and vehicles resting on or against them, no longer keep the physics busy when your PC has to simulate less. On a crowded vehicle map this roughly halved the time of a game tick on a 4-thread test.
-
Big games on slower PCs: empty parked vehicles are the first thing the game stops simulating, so the time saved goes to players and vehicles that are moving.
-
Big games on slower PCs: when the game thread cannot fit both its ticks and a frame for every tick, the game now simulates fewer distant objects to keep the frame rate up, instead of giving the ticks half the time regardless.
-
Forge maps with thousands of placed objects cost less each tick. A Forge map's placed objects no longer cost time every tick just for being there: the game remembers which ones are already where they belong and only looks again at the ones that changed. A map with 3,000 placed blocks ticks about a quarter faster, which helps both editing in Forge and playing big games on Forge maps.
-
New logo and icons. The menus show a new ice-blue logo, PROJECT above RECLAIMER, and the game and its tools have a new icon: its R, on a blurred dark blue plate on macOS and on a clear background on Windows and Linux.
-
Maps with many damaging effects tick faster. Finding the objects around an explosion, a fire or a melee swing is much cheaper on maps with thousands of objects. Forge maps that use many fire objects gain the most: two large city maps tick about a fifth faster. What gets damaged, and in which order, is unchanged.
-
The start's loading screen also builds Halo: CE's and Halo 2's objects. The asset library's objects of Halo: Combat Evolved and Halo 2 are now built with every other game's behind the loading screen at the game's start, instead of when a lobby first asks for them. A new install's first start takes a few minutes longer; later starts reuse what was built.
-
The start's loading screen waits for the whole asset library and the menu scene. The loading screen at the game's start now stays up until the asset library is fully built (Halo: Reach's objects and every installed mod's, not only Halo 3's and ODST's) and the main menu's scene is ready, however long a slow PC takes. The library no longer goes on building behind the main menu after a start. Later starts reuse what was built.
Fixed
-
Players no longer slide frozen in the second match on a server. In the second and later matches on a dedicated server (players staying in the lobby through the map change), some players slid around with no animation, their aim frozen, and could not pick up weapons. The host's input queue kept a few of their inputs from the last match and never took a new one; it now lets go of them when a new match starts.
-
AI on multiplayer maps: patrols no longer stop for good on the way. A squad's AI on a map without AI data could stop somewhere along its patrol route and never move again, most often after changing levels or beside small steps and plates on the floor. The walkable area the host makes now leaves out floor that lies under other floor, no longer sends AI up ledges they cannot climb, and finds an AI standing on a kerb or a step's edge.
-
AI on maps without AI data always get their walkable area. On maps made without AI data (multiplayer maps with Forge AI spawners or Kit squads), the walkable area the game works out for the AI was sometimes not made at all, depending on where the game's memory happened to land at start: the AI then stood still for the whole session. It is now made every time. Small ledges, beam tops and trims that lead nowhere are no longer part of it, so AI are not sent onto them and a patrol point above one lands on the floor below.
-
AI on maps without AI data can walk the whole floor. On maps made without AI data (multiplayer maps with Forge AI spawners or Kit squads), the AI could only stand and walk on part of the floor: on Guardian about half of it. The rest, built from separately placed pieces of the map, did not count as floor, so AI there stood still, and AI elsewhere stopped at the first seam or small step on their way. The walkable area now covers those pieces too and joins floors across seams and steps, so AI cross them and a squad's patrol route is walked round and round.
-
Server browser shows the ping you get in the game. The browser often showed a much higher ping for a server than the scoreboard did once you joined. It timed a single answer from each server, taken while it was asking every server at once, and that first answer is often late. The browser now times each server three times and shows the middle result, so the list matches what you see in the game.
-
Forge maps on a campaign canvas keep every object past the first 640. A Forge map built on a campaign canvas lost some of its objects when it held more than 640: weapons and vehicles the mission also has (a Battle Rifle on Sierra 117, for example) were not placed when the map loaded. They are placed now.
-
Big games rank every player's movement by distance, not only the first 16. In games with more than 16 players, the host decided how often to send a player's movement to each other player by how near the two were, but only for the first 16 players. From the 17th on, every player counted the same whether they stood beside you or across the map. Each player's movement is now ranked by where they are, as Halo 3 ranks the first 16.
-
Big games: when a PC cannot keep up and simulates fewer players, the players in your picture now keep their animations down to a few pixels in size, ahead of everything beside and behind you. Before, a player a little way off in view was among the first to slide along in a frozen pose.
-
Vehicles in big games no longer jump back to where they were parked. In games of more than 16 players, a vehicle far from you could be moved back to an old position every few seconds, sometimes hundreds of metres, and a vehicle you had driven could return to where you got in after you left it. Both came from two parts of the game each keeping their own idea of where the server had the vehicle; they now share it.
-
A Forge map still plays when a surface's map is not installed. A saved Forge map whose blocks use a surface from a map that is not installed is no longer refused: it plays, and those blocks show their default surface.
-
Forge blocks keep their chosen surface outside Forge. A saved Forge map's blocks and other primitives painted with a surface from another map (the Concrete, Metal, Rock and other material lists) showed their plain default surface in custom games, on servers and for everyone who joined: only Forge itself drew them as built. Games on a saved map now load every surface its pieces use. Maps saved earlier need no new save.
-
A new host asks its peers for the right channel. When the host changed in a large game, the game asked the network layer for a channel with the channel's number in the wrong place, so the engine used a leftover value as the number. It now passes the number where the engine reads it.
-
Reclaimer Kit: a map with an added creature saves. Adding a creature to a map (a Flood infection form, for one) and saving failed with "Not saved: no installed map places creatures to copy". The Kit copies an existing placement of the same kind of object for each one you add, and no Halo 3 map places a creature. Such an object is now saved without one to copy.
-
Maps the Reclaimer Kit compiled of Halo 2's maps play again. A map compiled in the Kit from one of Halo 2's maps was refused when you started a game on it ("compiled by a version of the game that makes this map otherwise: compile it again"), however often it was compiled. A map compiled from now on plays; compile an older one once more.
-
Reclaimer Kit: a mod's map that shares its name with another game's map opens as itself. Opening a mod's map in the Kit could load a different map when one of the installed games has a map with the same file name. With Halo: Reach installed, opening Ultimate Forge 2.0's Forge World started loading Reach's Forge World instead, and the Kit closed or crashed while loading. The Kit now opens exactly the map you picked.
-
Large servers show the kill feed and the game type's name again. In a game with more than 32 players, the kill feed, medals and other messages about a player past the 32nd never reached anyone, and those players saw none of the messages meant for them: not the game type's name at the start of a round, nor their own kills and deaths. Every player now gets every message, whatever the size of the game.
-
A game on a map the engine doesn't have is refused instead of closing the game. Starting a game on a map the engine could not find ended the engine: the game, or the Reclaimer Kit, closed or crashed while loading. The start is now refused and says why, and the Kit goes back to its start screen with your other work untouched.
-
Changing the lobby's map again while it is made takes far less memory. A host who chose a large map for the lobby's next game (a campaign canvas of another Halo, for example) and then chose another before the first was ready could run out of memory, most easily while a game was still being played: the game closed with "memory allocation failed". The map chosen first is now given up as soon as another replaces it, instead of being made to its end first, and what was prepared for a map that is never loaded is freed at once.
-
ODST scripts find a spawn point's vehicle reliably. The script call that returns the vehicle of a spawn point passed one argument where the engine takes two, leaving the second to chance. It now passes both, as the game's own code does.
-
Controller input no longer writes a stray byte into the game's memory. The engine's controller update was handed one argument too few, so every reading from a controller wrote one byte to an address left over on the stack. It now gets all of its arguments, and the "controller was used" flag reaches the place that reads it.
-
Halo: Reach maps: floating through Condemned's low-gravity room no longer kills you. On Condemned, a player drifting through the low-gravity room at the reactor core died after half a second, as if stuck inside the level. Props whose collision marks no inside are now left out of that check, as Halo: Reach leaves them out.
-
Halo: Reach HUD: grenades, the motion tracker's range and its blip colours. Grenade icons show again, the motion tracker's range text follows the range the game sets, the tracker shows on missions, and its blips use Reach's own colours: yours and your allies' yellow, enemies' red.
-
Halo: Reach missions: an Elite holds Reach's weapons in first person. Playing a Halo: Reach mission as an Elite showed no arms and no weapon in first person. Each of Reach's weapons now has first-person animations for the Elite's arms.
-
Halo: Reach mods: bodies keep their own physics options. A mod's Halo: Reach character that is physical while alive, or that names the region its ragdoll uses, now behaves so.
-
Halo: Reach mods: characters with inherited animation graphs no longer crash or collapse. A mod character whose animations inherit from a graph that inherits from another crashed the game on its first aim, and one with a different skeleton than its parents fell in a heap. Both now animate, and inherited movement keeps its scale.
-
Halo: Reach objects carry their lights. Plasma bolts, armour abilities, vehicles and lit props on Halo: Reach's maps glow again: the small lights attached to Reach's objects were never drawn.
-
Halo: Reach characters aim while turning, stand right on slopes and hold Halo 3's grips. A Halo: Reach character turning in place keeps its weapon on the crosshair, no longer sinks and rises as it walks or crouch-walks on a slope, and its hands reach the grips of Halo 3's vehicles and turrets.
-
Halo: Reach weapons: the arms play the vent in first person. Venting a plasma repeater or another weapon that vents now plays its vent animation on the first-person arms, from the start of the vent to its end.
-
Scoreboard shows every player's right score on joined games. In a joined game, some players' and teams' scores on the scoreboard could stay wrong: after joining a game in progress, at the start of a round, and on the final scoreboard at the end of a game, where a player or team could show an old score or 0 while the host saw the right one. It affected every eighth player in the game's list (the 8th, 16th, 24th and so on) and the teams listed with them, until their score next changed. A host or server now sends everyone's scores in pieces that always arrive whole. The fix is on the host's side: joiners see it on hosts and servers that have this version.
-
Halo 3 teleporters show their green plasma again. The glowing plasma between a teleporter's two halves was missing on Halo 3's maps and in Forge: only the frame was drawn, as if the teleporter had no partner. Connected teleporters glow again.
-
Graphics and controller wrappers beside the game load again. A dxgi.dll, d3d11.dll, d3dcompiler_47.dll, XInput or dinput8.dll placed in the game's folder (ReShade, DXVK, a controller wrapper) is used again on Windows: these libraries are looked for in the game's folder first, then in the system's.
Install
Project Reclaimer needs Halo: The Master Chief Collection with Halo 3 installed. ODST, Halo: Reach, Halo: Combat Evolved and Halo 2 show in the game once they're installed in MCC too. No game files or game code are included: the game finds MCC in your Steam libraries, or asks where it is, and prepares the engine from your own copy the first time it starts.
- Windows: run
project-reclaimer-client-v0.10.4.exe. An installation of 0.9 offers this update itself. - macOS (Apple Silicon): unzip
project-reclaimer-client-v0.10.4-macos-aarch64.zip, move Project Reclaimer.app to Applications and open it. Apple hasn't checked these apps, so macOS blocks each one the first time: close the message, open System Settings > Privacy & Security, choose Open Anyway under Security and enter your password. Updates don't ask again. If macOS says an app is damaged, or Open Anyway doesn't appear, runxattr -dr com.apple.quarantine "/Applications/Project Reclaimer.app"in Terminal, with that app's name. - Linux: unpack
project-reclaimer-client-v0.10.4-linux-x86_64.tar.gz(-linux-aarch64on ARM64) and runproject-reclaimer; its README says how to add it to your applications. - Dedicated servers:
project-reclaimer-dedicated-v0.10.4.exeon Windows,project-reclaimer-dedicated-v0.10.4-macos-aarch64.zipon macOS,project-reclaimer-dedicated-v0.10.4-linux-x86_64.tar.gz(or-linux-aarch64) on Linux, or the Docker imageghcr.io/projectreclaimer/project-reclaimer-dedicated:0.10.4. macOS blocks a server downloaded in a browser too: runxattr -dr com.apple.quarantineon the unzipped folder in Terminal, once, before its first start. - Tools: each is a download of its own and needs nothing else from this page, so get only the one you want. The remote console is
reclaimer-rcon-v0.10.4, withRCON.mdfor setup and commands, customization mods usereclaimer-customization-editor-v0.10.4, and the Reclaimer Kit isreclaimer-kit-v0.10.4, which needs only MCC and updates itself as the game does. A bot for a dedicated server's chat and voice isreclaimer-bot-v0.10.4, withBOT.mdfor setup. Each comes as.exefor Windows,-macos-aarch64.zipfor macOS (each app opens the first time as the game does, and the bot needs the samexattrcommand as a server) and-linux-x86_64.tar.gz(or-linux-aarch64) for Linux.
The game's log is Logs/client.log in its player folder: %LOCALAPPDATA%\ProjectReclaimer on Windows, ~/Library/Application Support/ProjectReclaimer on macOS, ~/.local/share/ProjectReclaimer on Linux.