Half-Life 2 op de Pi 5?

      Geen reacties op Half-Life 2 op de Pi 5?

Is eindelijk een lang gekoesterde wens in vervulling gegaan? Half-Life 2 spelen op de Raspberry Pi, in plaats van op de ‘grote’ Windows-computer? Het is al knap dat het enigszins kan,  want bij  de echte actiescènes gaat de Pi op de knieën en storten de framerates volledig in.

HL2 Openingsscène, warme ontvangst op het treinstation van City 17.

Legendarisch

De 3D first-person shooter Half-Life werd in 1998 gelanceerd door Valve voor Windows-computers. In  2001 werd het spel geport naar de PlayStation 2, en in 2013 naar de Mac en Linux. Half-Life vertelt het verhaal van een fataal ongeluk in een testlab waarbij een opening naar een andere dimensie ontstond, waarlangs aliens de aarde binnenkomen. Het spel was een groot succes, en de openingsscène met de reis van wetenschapper Gordon Freeman in een metrotrein naar het Black Mesa-complex is legendarisch geworden.

Half-Life 2: het centrum van City 17

Dat succes werd nog overtroffen door de opvolger Half-Life 2, uit 2004 (voor Windows, later voor de Xbox, en in 2013 geport naar Linux-). HL2 begint eveneens met een treinreis, maar nu naar ‘City 17’. In dit verhaal moet Gordon met hulp van het verzet en van Alyx, de dochter van Eli Vance (een collega van Black Mesa), ontsnappen uit de klauwen van een totalitair regiem (het interdimensionale rijk van de Combine) en de aarde bevrijden van de aliens.

Source-engine

Dat ik HL2 überhaupt op de Pi 5 kan spelen, is te danken aan een recente YouTube-video van James Mackenzie: ‘I Made Half-Life 2 Work on Raspberry Pi!‘. Mackenzie geeft daarin precieze instructies voor de build voor de Pi 5 en de installatie. Volg deze handleiding klakkeloos en je krijgt een foutloos werkende HL2. Mackenzie maakt gebruik van de volledige (in 2020 gelekte) broncode van Source, de engine van Valve waar HL2 mee gemaakt is, en die nu op GitHub staat.

HL2

Half-Life 2 dvd-cover met portret van Gordon Freeman.

Conclusie

Onze Pi 5 was uitgerust met 8GB RAM en een micro-SD-kaart van 64GB, en was overgeklokt van 2400 naar 2800 GHz (meer lukte niet, dit kan per chip verschillen). We hebben de instellingen (video-advanced options) die door het spel voor onze hardware zijn aanbevolen zo gelaten.

HL2_advanced_settings

HL2: advanced-video instellingen.

Het spel draait wel zonder te crashen, maar dat is dan ook maar nét. Want bij scènes met veel actie en veel vijanden wordt het echt te zwaar voor de Pi. De framerates die toch al niet subliem zijn, zakken dan door de bodem en dan wordt het wel heel erg moeilijk om nog een vijand te raken. Daarom, als het een kleine computer moet zijn, presteert een goedkope mini-pc (bijvoorbeeld een met de Intel N100-processor) toch een stuk beter.
Maar toch petje af voor deze build-instructies, want dan konden we het in elk geval uitproberen.

HL2

De heftige Water Hazard levels van HL2 zijn duidelijk too much voor de Pi 5. Goed mikken en nauwkeurig sturen is onmogelijk.

Overklokken

Mackenzie raadt aan om de Pi 5 zoveel mogelijk te overklokken, omdat het eigenlijk een te licht platform is voor zo’n zwaar grafisch spel.
De bekende Pi-enthousiast en Youtuber Jeff Geerling heeft overigens op zijn website een paar interessante artikelen gezet over het overklokken van de Raspberry Pi 5:
> ‘Overclocking and *Underclocking* the Raspberry Pi 5’
> ‘An important consideration about Pi 5 overclocking

Benodigdheden:

> Raspberry Pi 5 met Active Cooler.
> micro SD-kaart of liever een NVMe M.2 ssd (is veel sneller met laden).
> Ubuntu 2404 LTS geïnstalleerd (gebruik Imager).

Build en installatie volgens James Mackenzie

Installeer de build-tools:

sudo apt-get install build-essential pkg-config ccache

Installeer de build-afhankelijkheden:

sudo apt-get install libsdl2-dev libfontconfig1-dev libopenal-dev libjpeg-dev libpng-dev libcurl4-gnutls-dev libbz2-dev libedit-dev

Download de Source-engine:

git clone https://github.com/nillerusr/source-engine.git --recursive

Build-proces:

cd ~/source-engine/
python3 ./waf configure -T release --prefix=hl2 --build-games=hl2 --disable-warns
python3 ./waf build -p -v

Installatie:

python3 ./waf install

Kopieer tot slot de twee mappen hl2 en platform met de hl2-content uit de gamemap van Half-Life2 op de pc (afkomstig van Steam), en zet ze in de map ~/source-engine/hl2/ op de Pi.

Start het spel met:

./hl2_launcher