Een Oblivion-fan die zich ergerde aan de lage framerate van de remaster heeft de game met behulp van Claude flink geoptimaliseerd. LTSharpe wist de framerate in gebieden zoals de hoofdstad Cheydinhal op te krikken naar een stabiele 60fps en ook de prestaties in de rest van de spelwereld flink te verbeteren.
Reddit-gebruiker LTSharpe beschrijft in een post hoe hij Claude inzette om een van zijn favoriete games te verbeteren. Het gaat om de remaster van Oblivion uit de Elder Scrolls-serie, die in 2025 uitkwam.
De game werkt op de pc, maar heeft op bepaalde plekken veel last van prestatieproblemen. Dat is bijvoorbeeld het geval in drukke gebieden met veel activiteit, zoals de hoofdstad Cheydinhal. Daar kon de framerate regelmatig terugvallen naar 30fps of zelfs nog lager. LTSharpe schrijft dat hij nog wat Claude-tegoed over had en dat gebruikte om de game te optimaliseren. "Ik was geschokt om te zien dat Claude op de een of andere manier, zonder de game te reverse-engineeren, kon analyseren wat er misging en zo een paar grote inefficiënties kon vinden", schrijft de programmeur.
Twee engines, één thread
Het probleem met de Oblivion-remaster is dat de game twee engines gebruikt: de originele engine van de game uit 2006, met daarbovenop nog de Unreal Engine 5. "Verschillende stappen in die pipeline draaien op een enkele cpu-thread en als die vol is, moet de hele game bufferen", schrijft de programmeur.
De oplossing voor dat probleem is een dll-bestand dat in de game wordt geladen. Dat bestand zoekt naar bijvoorbeeld inefficiënties in de manier waarop de game rendert. LTSharpe en Claude ontdekten bijvoorbeeld dat meerdere personages van veraf in één keer werden ingeladen. Een ander probleem is dat het eerste frame dat verschijnt nadat spelers door een deur (ofwel een laadscherm) komen, het hele gebied in één keer moet laden. Claude wist dat te optimaliseren door dat specifieke deel al eerder in te laden.
Optimaliseer, maak geen fouten
LTSharpe zegt dat hij of zij verschillende locaties of scenario's in de game vond waar de prestaties slecht waren. Daarna vroeg de programmeur aan Claude om een benchmark te maken over dat gedeelte om dat specifieke scenario te optimaliseren. Claude werkte daarna vrijwel zelfstandig met een paar sub-agents om zelf probleem op te lossen.
De programmeur zegt dat het ongeveer 2,5 week duurde om met behulp van een Claude Code Max x5-abonnement een volledig werkende fix uit te brengen. "Fantastisch, zeker voor iemand die niet eens een ICT-ontwikkelaar is, om iets te doen dat een miljardenbedrijf in anderhalf jaar sinds de release niet eens zelf lukte."
De maker heeft de bevindingen en de broncode die dat opleverde op GitHub beschikbaar gemaakt. Daarin vertelt hij of zij ook welke specifieke verbeteringen Claude ontdekte en doorvoerde.
:strip_exif()/i/2008217686.jpeg?f=imagenormal)
:strip_icc():strip_exif()/u/92368/crop67f122a4021bc.jpg?f=community)
:strip_icc():strip_exif()/u/290377/tweak.jpg?f=community)
:strip_icc():strip_exif()/u/486826/crop5de67dd786b4f_cropped.jpeg?f=community)
:strip_exif()/u/57096/crop64cbdcb3776f4_cropped.gif?f=community)
:strip_icc():strip_exif()/u/1321968/crop69d131e85aae3_cropped.jpg?f=community)
/u/237439/cloudy-small-orange.png?f=community)
:strip_icc():strip_exif()/u/500694/crop5a144f5589fd4_cropped.jpeg?f=community)