<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Apolyton Civilization Site - Civilization I and Civilization II</title>
		<link>https://apolyton.net/</link>
		<description />
		<language>en</language>
		<lastBuildDate>Wed, 21 Oct 2026 22:16:55 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>images/misc/rss.png</url>
			<title>Apolyton Civilization Site - Civilization I and Civilization II</title>
			<link>https://apolyton.net/</link>
		</image>
		<item>
			<title>Civ 1 period-accurate decompilation</title>
			<link>https://apolyton.net/forum/civilization-series/civilization-i-and-civilization-ii/9492071-civ-1-period-accurate-decompilation</link>
			<pubDate>Tue, 20 Oct 2026 09:00:38 GMT</pubDate>
			<description><![CDATA[I've used LLMs to decompile Civ 1 and put the reconstructed C source on GitHub (https://github.com/sjmelia/civd), along with a technical book (https://sjmelia.github.io/civd/book/) and story (https://sjmelia.github.io/civd/story/). 
 
The reconstructed source builds with what i'm pretty sure is the original Microsoft C compiler and toolchain. It produces a byte-for-byte match with the original executable, aside from a four-byte correction for what appears to be a patch applied after linking. So...]]></description>
			<content:encoded><![CDATA[I've used LLMs to decompile Civ 1 and <a href="https://github.com/sjmelia/civd" target="_blank">put the reconstructed C source on GitHub</a>, along with a <a href="https://sjmelia.github.io/civd/book/" target="_blank">technical book</a> and <a href="https://sjmelia.github.io/civd/story/" target="_blank">story</a>.<br />
<br />
The reconstructed source builds with what i'm pretty sure is the original Microsoft C compiler and toolchain. It produces a byte-for-byte match with the original executable, aside from a four-byte correction for what appears to be a patch applied after linking. So it should be pretty close to how the original game was made; although it can't be said that this is the &quot;original source code&quot;.<br />
<br />
I've also used that source to create a <a href="https://github.com/sjmelia/reciv" target="_blank">modern build of the game</a>, which you can <a href="https://github.com/sjmelia/reciv/releases/latest/download/reciv-windows-x86_64.zip" target="_blank">download here</a>. (Original assets required.)<br />
<br />
Like most people, I'm in two minds about the benefits and downsides of LLMs. This work also builds on <a href="https://codeberg.org/rhorvat/OpenCivOne" target="_blank">OpenCiv1</a>, which probably deserves most of the credit - not only did I direct the LLM to use that work; but it was almost certainly in the training data.<br />
<br />
Qualms aside - I couldn't resist having a look inside one of my all-time favourite games. I hope it doesn't ruin the fun of puzzling out the internals!]]></content:encoded>
			<category domain="https://apolyton.net/forum/civilization-series/civilization-i-and-civilization-ii">Civilization I and Civilization II</category>
			<dc:creator>sjmelia</dc:creator>
			<guid isPermaLink="true">https://apolyton.net/forum/civilization-series/civilization-i-and-civilization-ii/9492071-civ-1-period-accurate-decompilation</guid>
		</item>
	</channel>
</rss>
