2026 July Retrospective
With the second month of this big beautiful summer all wrapped up, writing this one up feels more like a monthly newsletter than anything else, and oddly enough I am not even covering half of all the remotely semi-interesting topics that came into my radar and sparked my interest.
Perhaps this is a sign that I should venture into the monthly newsletter business, which still seems to be well and thriving for some weird reason or another.
The East Palace

I really don’t want to cast the evil curse of the single-season-show on yet another series, but if you enjoyed the Kingdom, then you’ll more than likely find yourself binging the East Palace in nothing less than a single sitting.
If you like ghosts, and rather stylish hats that is.
Our Machinery

I am no interweb sleuth, but I have to admit that one of my guilty pleasures is to do a couple of searches every-now-and-then around Our Machinery, in an attempt to find out more about what exactly happened before and after the shutdown of the company and discontinuation of the engine.
Now, there always have been quite a few theories lingering out there, some more realistic than others, but nothing concrete. Imagine my surprise when I stumbled upon the following article: Apple’s Latest Vision Pro Tool Contains Traces of Defunct Game Engine ‘The Machinery’ on MacRumors.com no less.
This little piece of information throws the theory of Autodesk suing or buying up the company straight out of the window, which in turn ends up dragging us even further down the sleuth rabbit hole.
And, if you are asking why am I talking about it in July, when the article is from late June. Well, I only stumbled upon it in July. it’s a simple as that. Not everything is an elaborate mystery, you know that right?
Stronghold Crusader: Definitive Edition
More DLC is needed, my Lord!
Box3D
Box3D is finally out of the proverbial oven. It only took 20 years, but finally there’s a physics engine out there that doesn’t suck, and has a sane API which unsurprisingly is very similar to Box2D.

Needless to say everybody and their grandmother seems to have jumped on it, which again is not very surprising all things considered. I haven’t had a chance to play around with it too much yet.
Vartamaxxing
Are you tired of all the hardcore euromaxxing yet?

The news about the insolvency of Varta was most definitely not on my euro-bingo card this year.
Paged Out: Issue #9

Yet another absolute banger issue of Paged Out has landed this month.
AI native-web-browsers
Sometime last year, I have made a loose promise that I shall find the time and write a so called “Tell us how you really feel?” type of long form post on the subject of ai-native-web-browsers.
That was quite a mouthful, wasn’t it? Roughly a year later, it seems like that will no longer be necessary.
This month, OpenAI has announced rather unceremoniously, the fact that they will be sunsetting Atlas.
s&box
it has been a couple of months since s&box has been released, and out there in the wild, so I thought that I’d take a look at the state of things. I was especially interested if any steps or progress have been made towards making the editor usable with Proton.
Sadly, the answer is a resounding no. Now, I did manage to get it running by performing a couple of minor incantations by using protontricks, which greatly simplifies dealing with Proton prefixes.
First, I had to install version 10 of the .NET runtime, the installer for which can be located over at _redist/dotnet-runtime-10.0.0-win-x64.exe, so there’s no need to download it separately.
It should be fairly trivial and straightforward to add an install.vdf definition file for the editor as well; which would make this manual installation step completely unnecessary.
"InstallScript"
{
"Run Process"
{
"DotNetRuntime1000"
{
"Process 1" "%INSTALLDIR%\\_redist\\dotnet-runtime-10.0.0-win-x64.exe"
"Command 1" "/passive /install"
"NoCleanUp" "1"
}
}
}
Second, I had to run winecfg and disable the Allow the window manager to decorate the windows option, which is necessary to get the custom chrome in good working order.
With these two steps out of the way, the editor does launch, and it kind of works.


MCP Server
While doing all this, I noticed that it got an MCP server, which can you take a look at by clicking here.
My opinion when it comes to MCP servers hasn’t really changed since last time I talked about them. I still think that they are solution looking for a problem, very much like GraphQL. Especially today, when it’s trivial and much more preferred to just let an agent call out to any API directly or to use a CLI tool.
Nonetheless, I thought that I’d use this implementation to call out a couple of aspects and things to watch out for if you must build one on your own for whatever reason.
If we awe a gander at engine/Sandbox.Tools/Mcp/McpServer.cs, we stumble upon the following absolute and total gems:
/// <summary>
/// Protocol revisions we can speak, newest first. If the client asks for
/// something we don't know we answer with the newest and let it decide.
/// </summary>
static readonly string[] SupportedProtocolVersions = [
"2025-11-25",
"2025-06-18",
"2025-03-26",
"2024-11-05"
];
// ...
try
{
message = JsonSerializer.Deserialize<JsonRpcMessage>( body );
}
catch ( JsonException )
{
// JSON-RPC batches (arrays) were removed in protocol revision 2025-06-18
var error = body.AsSpan().TrimStart().StartsWith( "[" )
? JsonRpcResponse.Failure( null, JsonRpcError.InvalidRequest, "Batching is not supported" )
: JsonRpcResponse.Failure( null, JsonRpcError.ParseError, "Parse error" );
WriteJson( response, HttpStatusCode.BadRequest, error );
return;
}
Did I mention already that MCP as a whole concept is a terrible idea? I did? Alright, I’ll shut up then.
Now, let’s look at something that is a bit more interesting inside the HandleRequest function:
// ...
if(request.Headers["Origin"] is string origin && !IsLoopbackOrigin(origin))
{
response.StatusCode = (int) HttpStatusCode.Forbidden;
return;
}
// ...
This verification step is an absolute must-have for any (desktop) application that is exposing an HTTP server of any kind running on localhost, even if said server supports and requires authentication.
Another equally important thing is not relying on the Content-Length header, reading the request payload in reasonable chunks, and finally imposing a hard maximum payload size, all of which can be found inside the ReadBody function:
// ...
const long MaxRequestSize = 8 * 1024 * 1024;
while((read = await request.InputStream.ReadAsync(chunk)) > 0)
{
buffer.Write(chunk, 0, read);
if(buffer.Length > MaxRequestSize)
return null;
}
// ...
Overall, If you are thinking about adding an MCP server into your very own game-dev-toolchain, this is quite solid example to draw inspiration from.
The Java Story
These folks are most definitely some of the most prolific documentary makers out there.
Exorcist: The Two Prequels
The Exorcist is one of my all time favorite horror franchises out there. Most certainly within my top ten. Even so, I didn’t realize until relatively recently that a sequel to the first entry in series ended up being so bad that it ended up being produced and released twice.
Wait, what? It’s all quite confusing to be perfectly honest with you. I am talking about Exorcist: The Beginning, and Dominion: Prequel to the Exorcist of course; released in 2004 and 2005 respectively.
Vampirium: 1997

Do you remember the day when some very British, and very opinionated rectangles (why, am I repeating myself?), managed to take over the charts at the tail end of the great indie-resurrection of the early 2010s?

I am talking about Thomas Was Alone of course. Vampirium: 1997 seems to me to have inherited at least some of the very same spiritual elements. Back to the basics, right?
Not my type of a game per se, but I will be most definitely keeping an eye on it.
IMP
It felt only natural to follow up last months’ entry with another one from the depths of my archives written in Delphi around the same time period.

As you can see, I really must have liked that skinning component very much, what can I say?
Look at this beautiful code-snippet below that I have curated and pulled out just for you.
type
TID3Rec = packed record
Tag : array[0..2] of Char;
Title,
Artist,
Comment,
Album : array[0..29] of Char;
Year : array[0..3] of Char;
Genre : Byte;
end;
procedure FillMp3Tags(var temp:TID3REC;filename:string);
var fMp3:File;
begin
try
AssignFile(fMP3, filename);
Reset(fMP3,1);
try
Seek(fMP3, FileSize(fMP3) - 128);
BlockRead(fMP3, temp, SizeOf(temp));
finally
end;
finally
CloseFile(fMP3);
end;
end;
Just FileSize(fMP3) - 128 without any care or worry in the world. Oh to be young again, right?

To make it sing, it looks like I used the BASS audio library.
$ winedump bass.dll | head
Contents of bass.dll: 102284 bytes
File Header
Machine: 014C (i386)
Number of Sections: 2
TimeDateStamp: 3EF08DAC (Wed Jun 18 19:05:00 2003)
PointerToSymbolTable: 00000000
NumberOfSymbols: 00000000
SizeOfOptionalHeader: 00E0
Characteristics: 210E
Dark Matter: Season 2
I do hope that most people haven’t moved on by now. 2024 was a long time ago, and I would be very surprised if this will get another season.
Halls of Tornment: The Lost Archives

I always considered Halls of Tornment to be one of the best Vampire Survivors clones out there bar none; and, now that a new content drop is on its way in the form of The Lost Archives, I thought that it’s high time that I mention it again.
Blade Runner 2099: Rings of Power
Drop Loot

Are you ready for another game for the monkey-brain?. If the answer to that question is a yes, then give the demo of Drop Loot a try.
Pomegranate
Look, I am fully aware that this is rather touchy and delicate subject. Let me be perfectly clear by stating that I am not here to open the floodgates, nor am I here to condone or promote anything. Okay?
The “Sackhoff” Show

Monthly Amazon “Book Review”

I bought a physical copy of the OpenGL SuperBible (Fifth Edition) at the tail end of 2010 or thereabouts.


I’ll let the reviews speak for themselves as per usual. Enough said!
Monthly “Coup de cœur”
Decided to follow up last months’ entry with yet another production by Moppi Productions called Halla.
Please enjoy the show, and don’t forget to try the fish!
2026-07-31 / retrospective