← Alla nyheter

Sweclockers · 2 tim sedan Vetenskap

Utvecklare kör Doom i regex

”Som brevschack med hagelbössa” när varje bildruta tar flera minuter att rita upp.

Att köra Id Softwares klassiska Doom på hårdvara som är så långt från en vanlig dator som möjligt är en numera gammal tradition. De senaste åren har utvecklare även siktat in sig på att köra spelet på andra udda sätt, och Artem Lytkins nya projekt är ett riktigt praktexempel.

Han har nämligen fått Doom att köra i en ”processor” som simuleras helt och hållet i regex (reguljära uttryck). Det är en teknik som vanligen används för att automatisera behandlingen av text, exempelvis för att söka och ersätta eller sortera. Regex är ökänt för att vara svårtolkat även med korta uttryck, men Artem Lytkins Doom tar det till en ny nivå.

Den simulerade processorn ryms i en enda gigantisk textsträng (96,6 MB) och varje operation använder ett av 544 definierade regex-uttryck för att göra ändringar i maskinsträngen. För att rita upp en bildruta i spelet krävs runt 14 miljoner sådana operationer. Efter att ha optimerat koden har Artem Lytkin lyckats få den att köra omkring 80 000 operationer i sekunden, vilket innebär att det tar runt tre minuter att rita upp en bildruta.

För att kontrollera att simuleringen är komplett har Artem Lytkin jämfört de färdiga bildrutorna med bildrutor renderade i en vanlig version av Doom som kör på en x86-processor, och de producerar samma hashsummor.

Eftersom regex är Turing-komplett var frågan inte om det var möjligt att köra Doom utan om det var möjligt att göra det ”innan universum dör värmedöden”. Svaret var alltså ett långsamt rungande ja.

Vill du själv testa kan du ladda ned en färdigkompilerad version eller hämta koden från Github. Du kan styra som vanligt med WASD- eller piltangenterna, ctrl och mellanslag, men med tanke på att det tar över en timme att rita upp ”en sekund” i spelet krävs visst tålamod. Artem Lytkin kallar upplevelsen ”mer som brevschack med hagelbössa än twitch shooter”.

Läs hela artikeln hos Sweclockers →

Metodai Nyheter är en nyhetsaggregator. Hela artikeln finns hos källan. Upphovsrätten tillhör respektive medium.