ID.nl logo
Zo gebruik je een docker op je Raspberry Pi
© Reshift Digital
Huis

Zo gebruik je een docker op je Raspberry Pi

Een Raspberry Pi is ideaal om allerlei programma’s op te installeren die altijd moeten draaien. De betrouwbaarste manier om dat te doen, is met Docker: zo draait elk programma geïsoleerd in een container, waardoor ze elkaar niet kunnen hinderen. We laten zien hoe je Docker op een Raspberry Pi gebruikt en waarop je zoal dient te letten.

Als je al even een Raspberry Pi in huis hebt, is de kans groot dat je er meer en meer software op blijft installeren. Home Assistant,Zwave2Mqtt, Node-RED, Rhasspy … Dat gaat allemaal goed, tot je al je software eens naar een nieuwe versie bijwerkt, en plots een van je programma’s niet meer werkt en een vage foutmelding geeft.

Wat is er gebeurd? Een veel voorkomend scenario is het volgende. Software A en B gebruiken beide versie 1.0 van bibliotheek C. Ondertussen komt versie 2.0 van bibliotheek C uit, die incompatibel is met C 1.0. Software A wordt herschreven om van bibliotheek C 2.0 gebruik te maken, terwijl de ontwikkelaars van software B niet zo snel zijn en nog even bij bibliotheek C 1.0 blijven. Je updatet software A en daardoor wordt bibliotheek C 2.0 geïnstalleerd. Maar Raspbian kan maar één versie van een bibliotheek installeren. Daardoor werkt software B plots niet meer, want die is niet compatibel met bibliotheek C 2.0.

In de praktijk doen Linux-distributies er alles aan om dit soort situaties te vermijden, maar het gebeurt. Soms op veel subtielere manieren, zodat het niet altijd onmiddellijk duidelijk is wat de oorzaak van het probleem is.

01 Wat is Docker?

Docker maakt het eenvoudig voor ontwikkelaars om toepassingen te verspreiden zodat je die op elk Linux-systeem kunt draaien. Die toepassingen vind je in de vorm van een image op de Docker Hub. Zo’n image is in feite een sjabloon voor een minimaal Linux-systeem, dat je bovenop Raspbian kunt draaien in de vorm van een container.

Elke container is volledig geïsoleerd van andere containers. De toepassing in een container ziet dus niet de toepassingen in andere containers. En door één container te installeren en bij te werken, ben je zeker dat die nieuwe versie niet in conflict komt met toepassingen in andere containers. Als je meer dan een handvol toepassingen op je Raspberry Pi wilt draaien, helpt Docker je dus om dat op een betrouwbare manier te doen. Dankzij Docker kun je ook gerust experimenteren met nieuwe software: bevalt die je niet, dan verwijder je achteraf gewoon de container.

©PXimport

02 Installeer Docker

We gaan ervan uit dat je Raspbian hebt geïnstalleerd, de Lite-versie is voldoende. Daarna log je in via ssh om de opdrachten in deze basiscursus uit te voeren. Als eerste installeer je Docker met de opdracht:

curl -sSL https://get.docker.com | sh

Geef daarna de gebruiker pi (waarmee je ingelogd bent) toegang tot Docker, zodat je niet alle Docker-opdrachten met het commando sudo moet uitvoeren:

sudo usermod pi -aG docker

Log uit met exit en log daarna weer in. Nu behoort de gebruiker pi tot de groep docker.

©PXimport

03 Hallo wereld

Je zou nu een eerste Docker-container moeten kunnen opstarten:

docker run --rm hello-world

Met deze opdracht draai je de Docker-container hello-world. Deze container toont in zijn uitvoer wat er exact gebeurt: het image wordt niet op je Raspberry Pi gevonden en wordt dan door Docker van de Docker Hub gedownload. Daarna maakt Docker een container op basis van dit image en voert het programma erin uit. Door de optie --rm wordt de container na het afsluiten van het programma opgeruimd. Je weet nu dat Docker correct geïnstalleerd is en werkt.

©PXimport

Hypriot

We installeren in deze basiscursus eenvoudigweg Docker op Raspbian, maar er zijn ook andere besturingssystemen mogelijk als je geïnteresseerd bent in Docker op een Raspberry Pi. Zo is er Hypriot: een besturingssysteem voor de Raspberry Pi dat is geoptimaliseerd voor gebruik van Docker. Je hoeft dan alleen maar dit image op het micro-sd-kaartje van je Raspberry Pi te installeren en je kunt onmiddellijk met Docker aan de slag. Hypriot is vooral interessant als je alleen maar Docker-containers op je Raspberry Pi draait en niets anders.

04 Maak containers aan

De basis om met Docker-containers te werken, gebeurt met de opdracht docker, zoals we in de vorige stap al toonden. Meestal wil je met Docker geen container uitvoeren en onmiddellijk afsluiten, maar die laten draaien. We gebruiken dan dus niet de optie --rm. Bovendien wil je die container op de achtergrond laten draaien, zonder de uitvoer de hele tijd op het scherm te zien. Daarvoor dient de optie -d.

Als je een container op deze manier zou opstarten, geeft Docker die een willekeurige naam, wat niet handig is als je meer dan een handvol containers hebt. Met de optie --name NAAM geef je de container daarom een vaste naam.

Dan moet je ook nog kijken naar de netwerkverbindingen. Aangezien elke Docker-container geïsoleerd is, krijg je niet zomaar toegang tot bijvoorbeeld een webserver die op poort 80 draait in een container. Daarom moet je Docker opdragen om elke aanvraag op bijvoorbeeld poort 8888 op de Raspberry Pi door te sturen naar poort 80 in een specifieke container. Dat doe je met de optie -p 8888:80. Als je al deze opties samenneemt voor de voorbeeldcontainer containous/whoami, voer je de volgende opdracht uit:

docker run -d --name whoami -p 8888:80 containous/whoami

Als alles goed gaat, krijg je na een tijdje een lange tekenreeks met hexadecimale cijfers te zien (zoals 5122c935ce5178751a59699d2c5605c607700bd04e5f57a6c18de434ae53956e). Dit is het ID van de container. Als je nu in je webbrowser surft naar http://IP:8888 met in plaats van IP het ip-adres van je Raspberry Pi, krijg je een webpagina te zien die door de webserver in de container gegenereerd wordt.

©PXimport

05 Bekijk je containers

Als je zo enkele containers hebt opgestart, begint het beheer belangrijk te worden. Allereerst is het nuttig om te zien welke containers er draaien:

docker ps

Je krijgt dan informatie over alle containers te zien die actief zijn (met de optie -a erbij ook van de containers die zijn gestopt). In de eerste kolom staat een uniek ID voor elke container, daarnaast het image op basis waarvan de container aangemaakt is. De kolom STATUS bekijk je het best bij problemen. Als je container bijvoorbeeld bij een probleem maar blijft herstarten, zie je dat hier.

In de kolom PORTS zie je de gebruikte poorten. Voor onze container whoami staat daar bijvoorbeeld 0.0.0.0:8888->80/tcp. Dat betekent dat tcp-poort 8888 op de Raspberry Pi wordt omgeleid naar tcp-poort 80 op de container. In de laatste kolom zie je de naam van de container, die kun je in verdere Docker-opdrachten gebruiken.

Wil je meer informatie, dan komt het commando docker stats van pas. Je krijgt dan van elke container statistieken te zien, zoals het verbruik van de processor, het geheugen en het netwerk. Wil je alle informatie die Docker over een specifieke container kent, voer dan dit commando uit met het ID of de naam van de container:

docker inspect CONTAINER

En wil je tot slot de logs bekijken van een container, voer dan een van deze twee opdrachten uit:

docker logs CONTAINERdocker logs -f CONTAINER

Met de optie -f volg je de logs realtime terwijl de container ze genereert.

©PXimport

06 Beheer je containers en images

Als je een container wilt stoppen, starten of een draaiende container herstarten, kan dat eenvoudig met respectievelijk deze commando’s:

docker stop CONTAINERdocker start CONTAINERdocker restart CONTAINER

Wil je tijdelijk een container pauzeren (alle programma’s erin worden dan tijdelijk ‘bevroren’), voer dan deze opdracht uit:

docker pause CONTAINER

Na deze opdracht draaien alle programma’s in de container opnieuw:

docker unpause CONTAINER

Met het commando docker images krijg je de lijst te zien van de images die Docker gedownload heeft. Voor onze whoami-container zie je in de kolom REPOSITORY de tekst containous/whoami staan en in de kolom TAG staat latest. De volledige naam van het image zou containous/whoami:latest zijn, maar die latest is de standaardwaarde voor de tag, dus kan weggelaten worden. Daarom dat we in onze opdracht in paragraaf 4 met docker run gewoon containous/whoami als image hebben opgegeven.

In de kolom CREATED zie je hoelang geleden dit image is gedownload. Wil je dit image updaten, dan voer je de volgende opdracht uit:

docker pull containous/whoami:latest

Docker downloadt dan de nieuwste versie van het image of vertelt je dat het image up-to-date is. Als je daarna nog eens docker images uitvoert, zie je dat er een image is bijgekomen.

Maar de huidige whoami-container gebruikt nog altijd het oude image. Om dit te upgraden, stop (docker stop whoami) en verwijder (docker rm wohami) je de container, en creëer je de container opnieuw met de opdracht docker run uit paragraaf 4.

©PXimport

Opruimen

Update je regelmatig je Docker-images om de nieuwste versie in een container te draaien, dan blijven de oude images gewoon staan. De micro-sd-kaart van je Raspberry Pi met een capaciteit van hoogstens enkele tientallen gigabytes kan daardoor snel vol raken, zeker als je grote containers draait. Zo zijn containers zoals die van Home Assistant en Rhasspy meer dan een gigabyte groot. Nu werkt Docker wel met een systeem zodat bij een update niet die volledige gigabyte opnieuw gedownload en opgeslagen wordt, maar na vele updates blijft de benodigde opslag wel toenemen. Met de opdracht docker rmi IMAGE_ID verwijder je een image op basis van het ID dat je in de uitvoer van de opdracht docker images vindt. Docker kent ook de opdracht docker image prune waarmee je alle images verwijdert die niet door een container worden gebruikt. Met docker system prune verwijder je ook gestopte containers, netwerken die niet tenminste door één container worden gebruikt en cachebestanden.

©PXimport

07 Volumes

Onze voorbeeldcontainer whoami maakte geen gebruik van configuratiegegevens of data. Maar je kunt een directory op je Raspberry Pi delen met een Docker-container, zodat die toegang krijgt tot gegevens daarvan. Zo’n gedeelde directory noemt Docker een volume.

Als je met meerdere containers op je Raspberry Pi gaat werken, is het aan te raden om hun directory’s allemaal bij elkaar te zetten. Maak een directory daarvoor aan, bijvoorbeeld met:

mkdir -p /home/pi/containers/nginx/data

Plaats dan in de map containers/nginx/data een bestand index.html met een html-pagina.

Dan kun je nu een container met nginx (een webserver) opstarten waarmee je deze directory deelt:

docker run -d --name nginx -p 8080:80 -v /home/pi/containers/nginx/data:/usr/share/nginx/html:ro nginx

Daarna start de container met de webserver op en koppelt die de directory /home/pi/containers/nging/data op je Raspberry Pi in de container aan op de locatie /usr/share/nginx/html, met alleen leesrechten (ro staat voor read-only). Als je nu surft naar IP:8080 krijg je het html-bestand index.html te zien.

©PXimport

08 Docker Compose

Tot nu toe hebben we handmatig Docker-containers opgestart met opdracht docker run. Maar als je wat meer Docker-containers draait en regelmatig hun configuratie wilt aanpassen, is een andere aanpak beter: alles in één configuratiebestand zetten. Dat gaat met Docker Compose.

Installeer daarvoor eerst Pythons pakketbeheerder pip en dan Docker Compose (dat een Python-programma is) met deze opdrachten:

sudo apt install python3-pip

sudo pip3 install docker-compose

Nu kun je de configuratie van meerdere Docker-containers in een bestand docker-compose.yml zetten. Maak daarvoor een Docker Compose-bestand aan met:

nano docker-compose.yml

Plaats daarin de volgende configuratie voor onze voorbeeldcontainers whoami en nginx:

version: '3.7'services:whoami:image: containous/whoamicontainer_name: whoamirestart: alwaysports:- 8888:80nginx:image: nginxcontainer_name: nginxrestart: alwaysports:- 8080:80volumes:- /home/pi/containers/nginx/data:/usr/share/nginx/html:ro

09 YAML

Sla het bestand op met Ctrl+O en sluit nano af met Ctrl+X. Het gaat hier om een YAML-bestand (met de extensie .yml). YAML (staat voor de recursieve afkorting ‘YAML Ain’t Markup Language’) is een bestandsformaat om configuratiegegevens op een leesbare manier te definiëren. Meer info vind je op de officiële website.

Je ziet in dit bestand dat we twee containers als services definiëren. Bij elke container definiëren we het gebruikte image, de naam die de container moet krijgen en of de container vanzelf moet herstarten bij problemen. Daarnaast definiëren we ook de omgeleide poorten en de volumes.

Al deze informatie vind je ook op de opdrachtregels met docker run, maar in dit Docker Compose-bestand is het wat overzichtelijker.

©PXimport

10 Werken met Docker Compose

Zodra je een bestand docker-compose.yml hebt, kun je eenvoudig de erin gedefinieerde containers aanmaken en opstarten:

docker-compose up -d

Daarna kun je deze containers beheren met de docker-opdracht, maar docker-compose heeft zelf ook heel wat opties specifiek om containers te beheren die je met Docker Compose hebt aangemaakt. Zo ruim je alles op met de volgende opdracht, alle gedefinieerde containers worden gestopt en verwijderd:

docker-compose down

Verder kun je de logs van alle containers opvolgen met:

docker-compose logs -f

Elke container geeft zijn logmeldingen daarbij in een andere kleur. Ook Docker Compose heeft een bekend riedeltje voor het stoppen, starten en herstarten van alle containers:

docker-compose stop

docker-compose start

docker-compose restart

Alle containers in je Docker Compose-bestand updaten doe je met de volgende twee opdrachten:

docker-compose pull

docker-compose restart

De eerste opdracht downloadt nieuwe images voor alle containers die je hebt gedefinieerd en de tweede opdracht herstart al die containers zodat ze het nieuwe image gebruiken. Daarna kun je indien gewenst de oude images verwijderen met:

docker image prune

11 En verder

Van veel toepassingen vind je Docker-images op Docker Hub. Op LinuxServer.io vind je ook tientallen Docker-images die door vrijwilligers worden bijgehouden. Deze images zijn goed onderhouden en gedocumenteerd, en ze gebruiken allemaal een vergelijkbare aanpak en basisinfrastructuur.

Probeer je te beperken tot ‘officiële’ Docker-images, die door een project zelf worden aangeboden, of images van betrouwbare partijen zoals LinuxServer.io. Want iedereen kan in principe Docker-images publiceren op Docker Hub, maar ze worden niet altijd up-to-date gehouden.

©PXimport

De juiste processorarchitectuur

Het is belangrijk dat je Docker-images voor de juiste processorarchitectuur downloadt. De Raspberry Pi heeft een ARM-processor, die niet compatibel is met de Intel- of AMD-processoren die je in pc’s vindt. Veel Docker-images worden zo gepubliceerd dat automatisch de juiste versie voor je processorarchitectuur wordt gedownload. Op Docker Hub vind je bij de pagina over het gewenste Docker-image welke architecturen zijn ondersteund. Voor Raspbian is dat arm32v7, arm/v7 of armhf. Als je bij het starten van een Docker-container de foutmelding exec format error krijgt, heb je waarschijnlijk een image van de verkeerde processorarchitectuur gedownload. Als dat gebeurt, dien je een image met een andere tag te downloaden. Zo verspreidt het project motionEye zijn officiële Docker-image met twee mogelijke tags: je draait ccrisan/motioneye:master-amd64 op Intel-compatibele processoren en ccrisan/motioneye:master-armhf op een Raspberry Pi.

▼ Volgende artikel
Alles over The Witcher 4 - Releasedatum, het verhaal en een nieuwe trilogie
Huis

Alles over The Witcher 4 - Releasedatum, het verhaal en een nieuwe trilogie

Het was de grote verrassing van The Game Awards in 2024: CD Projekt Red keert na Cyberpunk 2077 terug naar de Witcher-franchise met een vierde deel. Als vervolg op het grandioze The Witcher 3: Wild Hunt heeft de ontwikkelaar grote - en eigen - schoenen te vullen, dus de ontwikkeling kan nog wel even duren. In dit artikel houden we je op de hoogte over alles rondom The Witcher 4.

Dit overzicht is bijgewerkt op 19 januari .

Releasedatum en platforms

CD Projekt Red heeft nog geen releasedatum voor The Witcher 4 bekendgemaakt, al is er reden om te geloven dat het spel in 2027 of later in de winkels moet liggen.

Tijdens de aankondiging op The Game Awards werd al bekendgemaakt dat de game 'in 2026 of later' zou uitkomen, en bij het onthullen van de fiscale cijfers in 2025 heeft CDPR definitief wereldkundig gemaakt dat The Witcher 4 niet in 2026 uitkomt. Volgens Chief Financial Officer Piotr Nielubowicz is de game in het najaar van 2024 volledig in productie gegaan.

Watch on YouTube

Daarentegen nam Eurogamer in 2024 - voor de onthulling van het spel - een uitgebreid interview af met verschillende ontwikkelaars bij CDPR, waarin onder andere duidelijk werd dat het bedrijf probeert hun nieuwe games binnen twee jaar na onthulling uit te brengen. In het geval van The Witcher 4 zou deze regel een release in december 2026 betekenen, maar het lijkt er dus eerder op dat we de game later in 2027 in handen krijgen.

Cyberpunk 2077-launch zorgde voor verandering

CD Projekt Red heeft in een interview met Digital Foundry aangegeven dat de consoleversies van The Witcher 4 leidend zijn bij de ontwikkeling. De game moet op 60 fps draaien op de PlayStation 5 en Xbox Series X en S. Het is een verandering voor de ontwikkelaar, die zijn games normaliter ontwikkelt met voornamelijk een pc-publiek in het achterhoofd. De aanname is dat dit besluit is voortgekomen uit de desastreuze launch van Cyberpunk 2077, waarbij de game voor velen bijna onspeelbaar was op consoles en zelfs pc-spelers problemen ervoeren.

CDPR is zich ervan bewust dat deze problemen nog in het achterhoofd van spelers hangen, en zegt alles op alles te zetten om te zorgen dat dit niet nog een keer gebeurt. Dat lieten de regisseur van The Witcher 4, Sebastian Kalemba, en executive producer Małgorzata Mitręga weten aan IGN. "Allereerst: let it cook," zegt Kalemba, doelend op het niet overhaast uitbrengen van de game. "Ten tweede is de manier waarop we games produceren inmiddels veranderd, op een erg goede manier. We definiëren heel bewust de verschillende stadia van ontwikkeling. Zo zorgen we dat de fundering eerst in orde is."

Dat leidt volgens Kalemba nu al tot merkbare verbeteringen ten opzichte van de Cyberpunk 2077-ontwikkeling: "Het helpt ons met het feit dat alles dat we creëren enorm goed samenhangt met de rest van het spel. Daardoor hebben we het gevoel dat we meer controle hebben over een enorm complexe omgeving. En het geeft iedereen ook meer zelfvertrouwen over de gameontwikkeling op een dagelijkse basis."

Verhaal en de wereld van The Witcher 4

Op het moment is er nog zeer weinig bekend over het verhaal van de nieuwe game, maar we weten wel dat we in dit deel Ciri - ofwel Cirilla Fiona Elen Riannon - onder de knoppen krijgen. In The Witcher 3: Wild Hunt was Geralt of Rivia het hoofdpersonage, al waren er ook secties waarin Ciri speelbaar was. In dit nieuwe deel is de 'Child of the Elder Blood' daarentegen de hoofdpersoon, al heeft ze een nieuwe stemactrice. Ciri werd in de vorige game namelijk ingesproken door Jo Wyatt, maar in dit nieuwe deel neemt Ciara Berkeley de rol op zich.

Ciri is een ontzettend belangrijk personage in de Witcher-reeks. Naast dat ze de prinses van het koninkrijk Cintra is, beschikt ze ook over magische krachten dankzij het zogenaamde 'Elder Blood' dat door haar aderen pompt. De boekenreeks waarin de Witcher-franchise is ontstaan toont in detail hoe de band tussen Geralt en Ciri ontstaat en evolueert, terwijl het jonge meisje continu achterna wordt gezeten door krijgers, tovenaars en een keizer. In The Witcher 3: Wild Hunt speelt ze ook een grote rol, omdat de Wild Hunt uit de titel – een bovennatuurlijke groep krijgers – achter haar aan zit.

De implicatie van The Witcher 4 is vrij duidelijk: Ciri is in een Witcher. De onthullingstrailer laat vrij 'standaard' bezigheden voor de monsterjagers zien, waarin Ciri op een monster jaagt en juist mensen haar verraden. Hoewel specifieke details rondom het verhaal ontbreken, kunnen we vanuit de beelden wel het een en ander opmaken over de nieuwe status quo.

Watch on YouTube

Verschillende eindes van The Witcher 3 en magische krachten

Dat Ciri een Witcher is, is bijvoorbeeld opvallend. Er zijn verschillende scenario's mogelijk in The Witcher 3: Wild Hunt op basis van de keuzes die je maakt, waaronder één waar Ciri inderdaad door het leven gaat als een monsterjager. Ook is het mogelijk dat ze de koningin van Nilfgaard wordt, of ze kan op pad gaan met de Wild Hunt. Volgens regisseur Sebastian Kalemba moet geen van deze eindes botsen met het verhaal in The Witcher 4, dus het maakt niet uit welk einde je in jouw playthrough hebt behaald.

Desalniettemin zijn de magische krachten die Ciri gebruikt in de eerste trailer opvallend. Witchers beschikken weliswaar over een sterker metabolisme, snellere reflexen en een paar simpele magische spreuken - in de vorm van Signs - maar Ciri lijkt nóg sterkere magie te hebben. In The Witcher 3 had zij al magische krachten, maar dat was nog voordat Ciri een volwaardige Witcher was. Volgens executive producer Małgorzata Mitręga gaat het spel uiteindelijk duidelijkheid scheppen over haar krachten.

School of the Lynx

In de Witcher-games is er sprake van verschillende 'scholen' waar de monsterjagers worden opgeleid en muteren. Zo valt Geralt of Rivia bijvoorbeeld onder de Wolf-school, maar zijn er ook Witchers uit de Cat-, Bear- en Griffin-school te vinden. In The Witcher 4 wordt hier een nieuwe school aan toegevoegd: de School of the Lynx. In de beelden is namelijk te zien dat Ciri een Witcher-medaillon van een Lynx draagt, wat herbevestigd wordt in de CD Projekt Red Store, waar de Lynx-ketting te koop is. Hoe deze school is ontstaan is niet duidelijk, maar het is mogelijk dat Ciri hem zelf heeft opgericht.

Nieuwe regio en grootte van de spelwereld

Ook is inmiddels bekend dat je in The Witcher 4 de regio Kovir kunt verkennen. Een Unreal Engine 5-techdemo laat deze locatie uit de Witcher-boeken namelijk zien. Het is voor het eerst dat we in een Witcher-game deze locatie kunnen bezoeken. Kovir is een bergachtig gebied dat hier en daar voorkomt in de Witcher-boeken, en bekendstaat om glashandel. Uit de demo blijkt dat er daarbij ook een heus smokkelwereldje in de regio schuilt, en dat er monsters zoals manticores ronddwalen. Genoeg voor een Witcher om de tanden in te zetten, dus.

Diezelfde techdemo onthult ook dat Ciri beschikt over een paard om mee rond te rijden, Kelpie genaamd. Je gaat het paard ook nodig hebben, aangezien de game minstens net zo groot wordt als The Witcher 3: Wild Hunt - een game die al honderd uur aan content biedt voor spelers die alles willen voltooien. Zowel qua oppervlakte en hoeveelheid quests moet dit nieuwe deel vergelijkbaar zijn met diens voorganger. Maar CDPR heeft ook ambitie, zo vertelde Sebastian Kalemba in een interview met SkillUp.

"De kaart is vergelijkbaar qua grootte, net als de hoeveelheid missies. Nogmaals: het spel wordt groot. Maar we hebben ook veel ambitie, dus het allerbelangrijkste is dat we een enorm boeiende ervaring willen leveren. Kwaliteit boven kwantiteit. Maar we kunnen beloven dat dit spel behoorlijk groot wordt. Het wordt groot vergeleken met al het andere wat we tot nu toe hebben gedaan."

Eerder vertelden andere ontwikkelaars bij CD Projekt Red echter dat The Witcher 4 'groter en beter' moet worden dan hun vorige werk, al is het ook mogelijk dat daarmee niet de fysieke grootte van de kaart wordt bedoeld. De studio lijkt namelijk ook sterk in te zetten op immersie en de geloofwaardigheid van de wereld, blijkt uit een interview met Gamertag Radio.

"We hebben de regel om elke NPC (in The Witcher 4) eruit te laten zien alsof ze een leven hebben, met een eigen verhaal." Volgens Kalemba wordt dit ondersteund door het verhaal in de onthullingstrailer, waarin inwoners van een dorp geloven dat er een god in het bos woont. Eigenlijk is dit een monster, waar de dorpelingen al jaren jonge meisjes aan offeren.

"We willen de kwaliteit van NPC's echt zoveel mogelijk vooruit stuwen. Hun uiterlijk, hun gedrag, de gezichtsanimaties. We willen er een nog meeslependere ervaring van maken dan wat we gewend zijn. We willen grenzen verleggen."

Waar is Geralt?

Het einde van The Witcher 3: Blood and Wine - de tweede uitbreiding van het spel - deed een aardige strik om het verhaal van Geralt of Rivia, dus dat we in dit nieuwe deel als Ciri spelen is weinig verrassend. Maar Geralt is voor velen toch synoniem aan de Witcher-reeks, en er zijn dus veel vragen rondom zijn aanwezigheid in The Witcher 4. CDPR heeft in ieder geval aangegeven dat de White Wolf een rol speelt in de nieuwe game, wat ook al te herleiden was uit de aankondiging op The Game Awards, waar de trailer werd opgevolgd door stemacteur Dough Cockle die zegt: "Tijd voor een nieuwe saga. Zie je op het Pad". Wat Geralts rol in de game precies gaat worden, is vooralsnog onbekend.

Gameplay in The Witcher 4

Over de gameplay van The Witcher 4 is momenteel nog weinig te zeggen. De onthullingstrailer was een geregisseerd filmpje, en hoewel CD Projekt Red samen met Epic Games een Unreal Engine 5-techdemo heeft uitgebracht, representeren die beelden niet het eindproduct - daarover later meer.

In ieder geval is duidelijk dat The Witcher 4 net als zijn voorganger een openwereld-RPG wordt, waarin verschillende quests te ondernemen zijn. Daaronder valt onder andere het jagen op en verslaan van monsters en menselijke vijanden, terwijl spelers keuzes maken die de voortgang van die quests en de overkoepelende verhaallijn beïnvloeden.

Ciri als Witcher

Wat gameplay betreft moet The Witcher 4 spelers meer vrijheid geven, zoals Cyberpunk 2077 toegang geeft tot uiteenlopende builds. Hoewel je in The Witcher 3 vooral met een zwaard wappert, is dit verder in te vullen door onder andere te focussen op het gebruik van signs (magische vaardigheden), alchemie voor extra status-effecten of speciale aanvallen. Het zal ons benieuwen hoe dit systeem er voor Ciri uit gaat zien.

Verhaalsgewijs biedt de verandering naar Ciri als hoofdpersonage ook mogelijkheden, zo geeft de regisseur van het spel aan. Spelers krijgen zo meer controle over hoe zij haar willen definiëren, gezien ze ook een stuk jonger is dan Geralt. "Ze staat op het punt de Witcher te worden. (...) Ze gaat op haar eigen manier om met monsters, missies en avonturen. Het geeft ons ook meer ruimte om andere verhalen te vertellen."

Daarbij hoort volgens Kalemba ook de mogelijkheid om betekenisvolle (romantische) relaties op te bouwen met personages in het spel, net zoals dat in The Witcher 3 bijvoorbeeld kon met tovenaressen Yennefer of Vengerberg en Triss Merigold.

"Het maakt onderdeel uit van hoe we spellen ontwikkelen. Het maakt ook onderdeel uit van de menselijke natuur. Het is doodnormaal. Zonder dat zouden we niet het volledige verhaal kunnen vertellen. We willen er veel tijd aan besteden en het enorm boeiend en erg betekenisvol maken. Het wordt geen romantiek alleen maar om romantiek in de game te hebben. Daar doen we niet aan bij CD Projekt Red."

Unreal Engine 5

Met de aankondiging van The Witcher 4 werd ook bekendgemaakt dat de ontwikkeling van het spel niet met de in-house RED Engine van CD Projekt Red gebeurt. In plaats daarvan gebruikt de studio nu Unreal Engine 5, waarvan de technische capaciteiten getoond werden met de eerder getoonde techdemo.

De beelden zijn dus niet representatief van hoe het spel er uiteindelijk uit gaat zien en hoe het speelt, maar moeten een indruk geven van wat er mogelijk is met de technologie. Een woordvoerder van CDPR zei er het volgende over:

"Het is belangrijk om in het achterhoofd te houden dat deze techdemo niet bedoeld is als representatie van The Witcher 4 - het is een tentoonstelling van de gereedschappen die we samen met Epic Games ontwikkelen. Dat betekent dat specifieke graphics, zoals de modellen van personages en omgevingen, anders kunnen zijn in The Witcher 4."

In ieder geval representeert de tech demo de kwaliteit waar CDPR op mikt, al is het nog te vroeg om te zeggen welke hardwarespecificaties hiervoor nodig zijn.

Levendige spelwereld

Naast het feit dat de Unreal-demo er bloedmooi uitziet, wordt er veel aandacht besteed aan het natuurlijke gedrag van de NPC's, wat aansluit bij wat de ontwikkelaar vertelde over immersie. Zoals je bij het stuk over het verhaal en de wereld hierboven al kon lezen zei de regisseur van het spel: "We willen de kwaliteit van NPC's echt zoveel mogelijk vooruit stuwen. Hun uiterlijk, hun gedrag, de gezichtsanimaties. We willen er een nog meeslependere ervaring van maken dan wat we gewend zijn. We willen grenzen verleggen."

Het begin van een trilogie

CD Projekt Red kondigde in 2022 aan dat The Witcher 4 (dat in 2022 alleen nog bekendstond als Project Polaris) het begin vormt van een nieuwe Witcher-trilogie. Verdere informatie over de invulling van deze trilogie is er niet, maar de eerste game is dan ook nog altijd niet uitgekomen.

Meer Witcher-games

Met die aankondiging van een trilogie bracht CDPR ook direct naar buiten dat er aan meer projecten werd gewerkt. Naast het vervolg op Cyberpunk 2077 - werknaam Orion - onthulde het bedrijf twee Witcher-titels. Helaas is één daarvan inmiddels geannuleerd: Drake Hollow-ontwikkelaar The Molasses Flood werkte aan een Witcher-game met multiplayer-elementen, maar die gaat het daglicht helaas niet zien.

Dan is er wel nog Project Canis Majoris, wat een remake is van het eerste Witcher-spel. De ontwikkeling daarvan wordt uitgevoerd door Fool's Theory, bekend van hun gameThe Thaumaturge en als ondersteunende studio voor onder andere Baldur’s Gate 3. De status van dit project is onbekend, maar er gaan geruchten dat de ontwikkelaar de laatste jaren de focus heeft verschoven naar een nieuwe uitbreiding voor The Witcher 3: Wild Hunt.

Het Poolse platform Strefa Inwestorów heeft namelijk van een aantal bronnen vernomen dat het bedrijf werkt aan een nieuwe DLC om de 'marketing' voor The Witcher 4 af te trappen en de tijdsperiode tussen de games te overbruggen. Het is dus mogelijk dat we in de uitbreiding dus ook als Ciri spelen, gezien het verhaal van Geralt volgens velen prachtig werd afgesloten in Blood and Wine - de tweede uitbreiding van The Witcher 3.

Borys Nieśpielak, een van de mensen die dit gerucht in de wereld heeft geholpen, had een maand later contact met Eurogamer. Hij vertelde nog altijd achter het gerucht te staan, en verwijst naar een specifieke zin van de ceo van CD Projekt Red bij het bekendmaken van de kwartaalcijfers:

"Gezien de huidige geboekte progressie is er een mogelijkheid dat nieuwe content waar recentelijk naar gehint is komend jaar uitkomt en een impact heeft op onze financiële resultaten."

Het klinkt absurd: een nieuwe The Witcher 3-uitbreiding, elf jaar na release. Neem dit gerucht dus uiteraard met een korreltje zout, ook al kunnen we het niet geheel negeren.

Meer van The Witcher

Met de gigantische populariteit van de Witcher-games weten nieuwkomers of minder ingelezen fans soms niet dat de franchise veel verder gaat dan steengoede RPG's. Hieronder vind je een paar tips om je verder te verdiepen in de wereld van The Witcher.

De boeken en comics

Net als veel welbekende fantasy-epieken ligt de oorsprong van The Witcher in boeken, en dan zowel in de korte verhalen en romans van Poolse schrijver Andrzej Sapkowski. Zijn saga neemt zes romans en twee bundels met korte verhalen in beslag waarvan die bundels zich voor het grote overkoepelende verhaal van de overige boeken afspelen. De volgorde van de boeken is als volgt:

-       The Witcher: Crossroads of Ravens

-       The Witcher: The Last Wish

-       The Witcher: Sword of Destiny

-       The Witcher: The Blood of Elves

-       The Witcher: Time of Contempt

-       The Witcher: Baptism of Fire

-       The Witcher: The Tower of the Swallows

-       The Witcher: The Lady of the Lake

-       The Witcher: Season of Storms

Het laatste boek in bovenstaande lijst, Season of Storms, is overigens een roman die zich afspeelt tussen de korte verhalen in The Last Wish, maar daarna pas uitkwam. Daarbij heeft Sapkowski in 2025 een nieuwe Witcher-roman uitgebracht: Crossroads of Ravens. Dit verhaal volgt een jonge Geralt of Rivia, die pas net zijn opleiding als Witcher heeft voltooid en vrij naïef de wijde wereld ingaat.

Daarbij heeft uitgever Dark Horse een fikse collectie Witcher-comics uitgebracht, waaronder ook adaptaties van Andrzej Sapkowski's korte verhalen. Sommige comics vertellen daarbij unieke verhalen met Geralt of andere - nieuwe - personages. The Witcher: Ronin heeft sterke Oosterse invloeden, en een verhaal als The Witcher: The Bear and the Butterflyvertelt een klassiek Witcher-verhaal waarin Geralt in een dorpje onderzoek doet naar een monster.

Overigens maakt CD Projekt Red met zijn games geen adaptaties van Sapkowski's verhalen. De games spelen zich in principe af na de gebeurtenissen van de boeken , maar Sapkowski hoeft het verhaal van de studio ook niet in acht te nemen als hij eventueel een boek in dat tijdperk wil schrijven.

The Witcher op Netflix

We gingen er met relatief goede moed in, maar het tijdperk van The Witcher op Netflix ging vrij snel bergafwaarts. In 2019 kwam het eerste seizoen van de serie uit, met Superman-acteur Henry Cavill als Geralt of Rivia. Dat seizoen was een adaptatie van verschillende gebeurtenissen in The Last Wish en Sword of Destiny, en werd ondanks wat klachten over Geralts karakterisatie en verwarring door het continu springen tussen tijdlijnen redelijk goed ontvangen.

In de seizoenen die daarop volgden steeg de onvrede met de serie en de karakterisatie van Geralt, die in de serie veel meer stoïcijns is dan in het bronmateriaal. Ook werden sleutelmomenten uit de romans maar losjes of helemaal niet overgeheveld naar de serie, wat bij fans in het verkeerde keelgat schoot. Na het derde seizoen werd bekendgemaakt dat in de laatste twee seizoenen van de serie Cavill niet langer zou doorgaan als Geralt. In seizoen 4 en 5 wordt de monsterjager nu dus gespeeld door Liam Hemsworth. Het laatste seizoen van The Witcher moet ergens in 2026 uitkomen.

Daarbij heeft Netflix twee geanimeerde films geproduceerd die zich in de wereld van The Witcher afspelen. Allereerst The Witcher: Nightmare of the Wolf, die het verhaal van de Witcher Vesemir vertelt, en onthult waarom er nog maar weinig Witchers over zijn op het Continent. Later kwam ook The Witcher: Sirens of the Deep uit, een adaptatie van het verhaal A Little Sacrifice uit The Sword of Destiny. De troubadour Jaskier en Geralt hebben daarin geen cent te makken, maar raken verwikkeld in een conflict tussen mensen en Meermensen met een Little Mermaid-sausje. Ook leuk: Geralt wordt in deze film ingesproken door Doug Cockle - de stemacteur van Geralt in The Witcher 3: Wild Hunt.

Thronebreaker: The Witcher Tales

Naast de genummerde Witcher-games is er ook een spin-off uitgebracht door CD Projekt Red, dat ook fungeert als een soort standalone-versie van het kaartspelGwent. Menig Witcher 3-speler is verknocht geraakt aan dit spel, en Thronebreaker is in grote lijnen een versie van Gwent waarin je daadwerkelijk een leger aanvoert.

Waar velen vooral mee weglopen na het spelen van Thronebreaker is echter het verhaal. Dat speelt zich af tijdens de gebeurtenissen van de Witcher-boeken, waarin spelers de controle krijgen over Queen Meve - de leider van Rivia Lyria. Keuzes staan ook weer centraal, dus als je The Witcher 3: Wild Hunt inmiddels wel gezien hebt en niet kunt wachten op The Witcher 4, is deze game een meer dan prima tussendoortje.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Waar voor je geld: 5 smartphones met 1 TB opslag
© MG | ID.nl
Huis

Waar voor je geld: 5 smartphones met 1 TB opslag

In de rubriek Waar voor je geld gaan we een paar keer per week voor je op zoek naar producten die voor een mooie prijs op Kieskeurig.nl te koop zijn, of die bijzondere eigenschappen hebben. Dit keer: vijf smartphones met royale opslag voor al je foto's, video's, e-mails en documenten.

Hoe meer we met onze smartphones doen, des te meer ruimte we nodig hebben om alles op te slaan. Wat te denken van al je (vakantie)foto's, gemaakte video's in 4K-kwaliteit of belangrijke e-mails? We gebruiken onze telefoon voor van alles, maar de opslagruimte is vaak beperkt. Met deze vijf smartphones hoef je je daar de komende tijd in ieder geval niet meer druk over te maken.

Motorola Edge 50 Ultra

De Motorola Edge 50 Ultra heeft een opslagcapaciteit van 1 TB en draait op Android. Met een 6,67‑inch OLED‑scherm en 5G‑ondersteuning biedt deze smartphone een ruime weergave en snelle verbindingen. Deze telefoon werd in 2024 geïntroduceerd en is nog volop verkrijgbaar . De 50 MP hoofdcamera is onderdeel van een drievoudige camerasetup, waardoor je foto’s met verschillende brandpunten kunt maken. Aan de voorkant bevindt zich een 50 MP selfiecamera, ondersteund door een flitser voor extra licht.

De accu heeft een capaciteit van 4 500 mAh en is niet verwisselbaar. Deze smartphone is geschikt voor 5G‑netwerken en heeft natuurlijk ook gps, wifi en Bluetooth voor connectiviteit. Aan de binnenkant combineert Motorola een krachtige chipset met voldoende RAM om apps soepel te laten draaien.

Energy Label B

Schermgrootte: 6,7 inch
Werkgeheugen: 16 GB
Energielabel: B
Gewicht: 197 gram
Opslag uitbreidbaar: Nee

Xiaomi 14T Pro 5G 

De Xiaomi 14T Pro 5G is een Android‑telefoon met 12 GB werkgeheugen en natuurlijk 1 TB opslagruimte. Het 6,67‑inch AMOLED‑scherm biedt een heldere weergave en ondersteunt een hoge resolutie, terwijl 5G connectiviteit zorgt voor de vlotte dataoverdracht. De accu van 5 000 mAh zorgt daarnaast voor een flinke gebruiksduur.

Aan de achterkant zit een 50 MP hoofdcamera, en aan de voorkant een enkele selfiecamera. Dankzij de moderne processor en het ruime werkgeheugen kun je meerdere apps zonder haperingen gebruiken.

Energy Label F

Schermgrootte: 6,67 inch
Werkgeheugen: 12 GB
Energielabel: F
Gewicht: 209 g
Opslag uitbreidbaar: NEE

Samsung Galaxy S25 Ultra

Deze Samsung Galaxy S25 Ultra richt zich op gebruikers die op zoek zijn naar een krachtig topmodel met 1 TB opslagcapaciteit. Het toestel heeft een 6,8‑inch AMOLED‑scherm en ondersteunt 5G. Binnenin zorgt een moderne chipset in combinatie met 16 GB RAM voor snelle prestaties, terwijl 1 TB opslag ruimte biedt voor veel foto’s, video’s en apps. De smartphone beschikt over een quad‑camera met een 200 MP hoofdsensor, waarmee je veel details vastlegt.

De accu van 5 000 mAh is niet verwisselbaar maar ondersteunt snelle laadtechnieken. Samsung levert Android 15 met langdurige softwareondersteuning. Dankzij IP68‑certificering is het toestel water‑ en stofbestendig. Voor connectiviteit ontbreken Bluetooth 5.4, wifi en gps uiteraard niet.

Energy Label B

Schermgrootte: 6,9 inch
Werkgeheugen: 12 GB
Energielabel: B
Gewicht: 218 g
Opslag uitbreidbaar: NEE

Apple iPhone 15 Pro Max

De iPhone 15 Pro Max is Apple’s high‑end toestel uit 2023 maar kan nog steeds prima meekomen. Het toestel beschikt over een 6,7‑inch OLED‑scherm. Onder de motorkap zorgt Apple’s eigen chip voor snelle prestaties en energie‑efficiëntie. De smartphone ondersteunt 5G en is uitgerust met een driedubbele camera met 48 MP hoofdsensor, waarmee je foto’s en video’s in hoge resolutie maakt.

De titanium behuizing zorgt voor stevigheid zonder dat het toestel te zwaar wordt. Met 1 TB opslagruimte heb je voldoende plek voor video’s, foto’s en grote apps.

Energy Label B

Schermgrootte: 6,7 inch
Werkgeheugen: 8 GB
Energielabel: B
Gewicht: 221 g
Opslag uitbreidbaar: NEE

Apple iPhone 16 Pro

De iPhone 16 Pro is een 2024‑model van Apple dat 1 TB opslagruimte biedt. Het is een handzaam 6‑inch model en dankzij Apple’s eigen processor en 16 GB RAM draait het iOS-besturingssysteem soepel, en geeft de interne opslag van 1 TB veel ruimte voor video’s, foto’s en apps. De drievoudige camerasetup omvat een 48 MP hoofdcamera; voor selfies is er een 12 MP camera.

De iPhone 16 Pro biedt functies zoals Face ID, draadloos laden en uitgebreide AR‑mogelijkheden dankzij de krachtige chip. De behuizing is water‑ en stofbestendig (IP68) en gemaakt van aluminium en glas.

Energy Label B

Schermgrootte: 6,3 inch
Werkgeheugen: 8 GB
Energielabel: B
Gewicht : 199 g
Opslag uitbreidbaar: NEE