ID.nl logo
Detecteer personen in je huis met Frigate
© Reshift Digital
Huis

Detecteer personen in je huis met Frigate

Aanwezigheidsdetectie in een domoticasysteem als Home Assistant gebeurt vaak met bewegingssensoren of met hulpmiddelen zoals bluetooth-beacons, maar dat werkt niet altijd even nauwkeurig. Er is ook een andere oplossing: met machine learning automatisch camerabeelden analyseren op de aanwezigheid van personen. In dit artikel implementeren we dat met de software Frigate en de Google Coral USB Accelerator op een Raspberry Pi 4, zodat we Home Assistant automatisch kunnen laten reageren op onze aanwezigheid of die van andere personen.

Realtime detectie van personen in camerabeelden is mogelijk dankzij machine learning. We gebruiken daarvoor een neuraal netwerk dat getraind is op beelden van personen. Als je dit netwerk daarna nieuwe beelden toont, kan het met de kennis die het tijdens de training opgedaan heeft personen detecteren. Dat werkt vrij goed: de technologie is de laatste jaren met rasse schreden vooruitgegaan.

01 Raspberry Pi 4 met Coral USB Accelerator

Er is één nadeel: deze detectie vereist heel wat rekenwerk. Gelukkig bestaat er speciale hardware die geoptimaliseerd is voor de berekeningen in neurale netwerken. Een van die hardwareversnellers is de Google Coral USB Accelerator, die voor rond de 70 euro te koop is. Het is een klein kastje ter grootte van een wat brede usb-stick, en wordt via een meegeleverde usb-c-kabel op een usb3-poort aangesloten voor de communicatie met de computer.

Als computer waarop we de herkenningssoftware draaien, kiezen we voor de energiezuinige Raspberry Pi (maar het kan ook op een Ubuntu-server, bijvoorbeeld met Ansible-NAS (zie Computer!Totaal 9). Hoewel de eerdere modellen in principe ook kunnen, raden we de nieuwe Raspberry Pi 4 aan omdat die twee usb3-poorten heeft; anders wordt de snelheid van de Coral USB Accelerator afgeknepen door de usb2-poort. Een ander voordeel van de Pi 4 is dat die naast de basisversie met 1 GB RAM ook versies met 2 en 4 GB RAM heeft. Wij hebben deze masterclass met succes uitgevoerd op een Pi 4 met 2 GB RAM.

We gaan ervan uit dat je Raspbian Buster Lite op je Raspberry Pi 4 geïnstalleerd hebt. Dat doe je door het image met balenaEtcher op een micro-sd-kaart te schrijven, er een leeg bestand ssh in op te slaan en eventueel (als je wifi gebruikt in plaats van ethernet) een bestand wpa_supplicant.conf met de wifi-configuratie. Steek de micro-sd-kaart daarna in je Pi, sluit de Coral USB Accelerator op een usb3-poort van de Pi aan, sluit eventueel de ethernetkabel aan en tot slot de voedingsadapter om je Pi op te starten.

©PXimport

02 Domoticacontroller en mqtt-broker

Als domoticacontroller maken we gebruik van Home Assistant. Dat kun je op een Raspberry Pi installeren (eventueel zelfs dezelfde die de beeldherkenning doet), of op je nas of een Linux-server via Docker. Een eenvoudige manier om Home Assistant te installeren is via Hass.io. In de masterclass in Computer!Totaal 7/8 vind je uitgebreide instructies.

Ook met een ander domoticasysteem kun je deze masterclass uitvoeren, zolang je het systeem maar met een mqtt-broker kunt laten communiceren. Die mqtt-broker dien je zelf nog te installeren: Eclipse Mosquitto is een populaire keuze. Gebruik je Hass.io, dan installeer je Mosquitto eenvoudig via de add-on Mosquitto MQTT broker.

Een mqtt-broker is een centrale server die verbonden clients toelaat om boodschappen uit te wisselen zonder dat ze van elkaars bestaan hoeven te weten. Wanneer onze Pi 4 een persoon detecteert in het camerabeeld, stuurt die via mqtt een boodschap naar de broker en wanneer de persoon weer uit beeld is een andere boodschap. Home Assistant heeft zich ondertussen geabonneerd op de boodschappen, zodat het domoticasysteem onmiddellijk door de mqtt-broker op de hoogte gehouden wordt bij het verschijnen of verdwijnen van een persoon.

03 Camera’s

Dan ontbreekt nog maar één component in onze opstelling: de camera’s. De software Frigate kan personen in streams van meerdere camera’s tegelijk detecteren. Dat werkt in principe met elke ip-camera die rtsp (Real Time Streaming Protocol) ondersteunt, dus die camera’s kunnen overal in je huis staan.

De detectie van personen verloopt dan als volgt. De Pi 4 leest continu één of meer streams van ip-camera’s in via het netwerk, laat er zijn neuraal netwerk op los, dat via de aangesloten Coral USB Accelerator versneld wordt uitgevoerd, en stuurt dan de boodschap dat er een persoon verschijnt of verdwijnt via mqtt-boodschappen over het netwerk. Home Assistant pikt die boodschappen op en reageert erop, bijvoorbeeld door verlichting aan of uit te doen of je een notificatie te sturen.

04 Configuratiebestand

De volgende stap is om een configuratiedirectory op je Pi 4 aan te maken en daarin een configuratiebestand in te vullen:

mkdir frigate_confignano frigate_config/config.yml

De inhoud daarvan hangt van je situatie af. Gebruik als inspiratie het voorbeeldconfiguratiebestandvan de GitHub-pagina van Frigate. Het resultaat zal er ongeveer zo uitzien:

web_port: 5000
mqtt:
host: 192.168.0.63
topic_prefix: frigate
cameras:
voordeur:
rtsp:
user: frigate
host: 192.168.0.118
port: 5540
password: geheim
path: /ch0
take_frame: 5
regions:
- size: 200
x_offset: 140
y_offset: 340
min_person_area: 5000
threshold: 0.5

Sla dit op met Ctrl+O en sluit nano dan af met Ctrl+X.

De variabele web_port stelt de poort voor waarop Frigate de mjpeg-stream en jpg-snapshots van de gedetecteerde personen ter beschikking stelt. Onder mqtt definieer je de hostname of het ip-adres van de machine waarop je mqtt-broker draait en het prefix waaronder Frigate al zijn mqtt-boodschappen publiceert.

Onder cameras definieer je één of meerdere camera’s, in dit geval slechts één (voordeur). Onder rtsp vul je de gegevens in over de hostnaam, poort, gebruikersnaam en wachtwoord en het pad waaronder het beeld van de camera beschikbaar is. Als je camera geen authenticatie vereist, vul je een willekeurige gebruikersnaam en wachtwoord in. Met take_frame: 5 zeggen we dat Frigate maar elke vijf frames moet verwerken. Dat is handig voor camera’s waarvan je de framerate niet kunt instellen.

05 Naar personen zoeken

Onder regions tot slot definieer je in welke regio’s Frigate naar personen zoekt. We hebben hier één regio gedefinieerd, maar om rekentijd uit te sparen definieer je er beter enkele kleinere. De juiste waardes hangen van de resolutie van je camera af en waar je personen verwacht.

De variabele min_person_area stelt het product van lengte en breedte in pixels voor dat iemand minimum van oppervlakte moet hebben om als persoon gedetecteerd te worden. En met de drempelwaarde in de laatste regel stellen we in dat we van het detectie-algoritme minstens 50% kans dat het om een persoon gaat verwachten voor we op mqtt publiceren dat we een persoon hebben gevonden. Met al deze waardes zul je wat moeten experimenteren zodra je het beeld ziet.

06 Docker installeren

Frigate wordt verspreid in de vorm van een Docker-container. Installeer dus eerst Docker. Helaas bevatte de versie van Docker in Raspbian Buster tijdens de redactiesluiting een fout, waardoor je die niet met een eenvoudig sudo apt install docker.io kon installeren. Download daarom in de plaats het installatiescript van de website van Docker en voer het uit:

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

Geef dan je gebruiker toestemming om Docker te gebruiken:

sudo usermod pi -aG docker

Log uit met exit en log dan weer in, zodat de gebruikersrechten van toepassing zijn.

07 Frigate installeren

Download nu de broncode van Frigate:

git clone https://github.com/blakeblackshear/frigate.git

Tijdens de redactiesluiting werkte Frigate nog niet out-of-the-box op een Raspberry Pi, maar met één wijziging werkt het wel. Open het bestand Dockerfile:

cd frigatenano Dockerfile

En zoek dan naar de volgende regels:

# VAAPI drivers for Intel hardware accellibva-drm2 libva2 i965-va-driver vainfo \

Plaats een hekje (#) voor de tweede regel, want deze pakketten bestaan niet voor de Raspberry Pi. Sla je wijzigingen op met Ctrl+O en sluit nano af met Ctrl+X.

Daarna creëren we de Docker-container van Frigate met:

docker build -t frigate .

Dat duurt een tijdje, je kunt de stappen van het bouwproces (van 1 tot 24) volgen terwijl ze worden uitgevoerd. Daarna kunnen we de Docker-container van Frigate installeren:

docker run --privileged -v /dev/bus/usb:/dev/bus/usb -v /home/pi/frigate_config:/config:ro -p 5000:5000 frigate:latest

Op deze lange opdrachtregel zie je onder andere dat we verwijzen naar het eerder aangemaakte configuratiebestand en dat we poort 5000 in de Docker-container laten forwarden naar poort 5000 op de Raspberry Pi.

©PXimport

Houd je Pi koel!

De configuratie die we hier voorstellen, is gevoelig voor oververhitting. De Raspberry Pi 4 wordt snel heet, wat je al wel gemerkt zult hebben als je per ongeluk wat te dicht met je hand bij het bordje bent geweest. Maar ook de Coral USB Accelerator verstookt stevig wat warmte. Als je de Pi 4 in een behuizing steekt, heeft die voldoende ventilatie nodig om de warmte te kunnen afvoeren. Een heatsink of ventilator is dan ook geen luxe met dit nieuwe model van de Pi. Zonder behuizing is ook prima, maar zorg altijd dat er voldoende warmteafvoer is voor de Pi en het versnellerbordje van Google.

08 Persoon gevonden

Als je nu een foutmelding te zien krijgt, moet je misschien in het configuratiebestand van Frigate enkele zaken aanpassen. Probeer de framerate bijvoorbeeld te verlagen en de regio’s te verkleinen. Zo mag een regio niet deels buiten het gezichtsveld van de camera vallen. Als alles goed gaat, kun je nu in je webbrowser een stream van het beeld van elke camera opvragen via http://IP:5000/voordeur.

De regio’s voor de detectie worden als witte vierkanten getoond. Als deze verkeerd staan, pas de regio’s dan in het configuratiebestand aan, sluit de Docker-container af met Ctrl+C en start hem opnieuw op met de laatste opdracht uit de vorige stap.

Als er nu een persoon in het beeld gedetecteerd wordt, krijg je er in het rood ‘person’ en een percentage bij te zien. Dat is de kans dat het volgens het neurale netwerk om een persoon gaat. Misschien zie je ergens in beeld ook een ander object herkend worden, zoals een ‘refrigerator’ of ‘cat’. Naast ‘person’ kent het gebruikte neurale netwerk immers ook andere objecten. Op de url http://IP:5000/voordeur/best_person.jpg vind je het recentste beeld van de persoon met het beste herkenningspercentage.

©PXimport

09 Camerabeeld in Home Assistant

Dit statische jpg-beeld kun je eenvoudig in Home Assistant (of een ander domoticasysteem) integreren door de url als een camera te definiëren. Zet daarvoor de volgende code in je configuration.yaml:

camera:- name: Laatste persoonplatform: genericstill_image_url: http://IP:5000/voordeur/best_person.jpg

Deze ‘virtuele camera’ kun je nu in het dashboard van je Home Assistant tonen om altijd een beeld van de laatst herkende persoon te zien. Dat kan bijvoorbeeld met de volgende Lovelace-configuratie:

- type: picture-glancetitle: Voordeurentities: []camera_image: camera.laatste_persoon

©PXimport

10 Mqtt-boodschappen

Je hebt nu altijd een beeld van de laatste persoon die in het camerabeeld kwam, maar als we van de mqtt-boodschappen die Frigate uitstuurt gebruikmaken, kunnen we Home Assistant ook op de aanwezigheid van personen in beeld laten reageren.

Dat gaat als volgt: als Frigate een persoon in de camera voordeur vindt, publiceert het programma een boodschap {"person": "ON"} op het mqtt-onderwerp frigate/voordeur/objects. Gaat de persoon daarna uit beeld, dan stuurt Frigate de boodschap {"person": "OFF"} naar hetzelfde onderwerp. Heb je nu ook een camera achterdeur gedefinieerd waarvan je door Frigate het beeld laat analyseren, dan verschijnen dezelfde boodschappen op het onderwerp frigate/achterdeur/objects. De boodschappen zelf hebben de vorm van een json-dictionary.

11 Persoonssensor in Home Assistant

Daarmee weten we nu genoeg om Home Assistant te laten reageren op de aanwezigheid van personen. Creëer een nieuwe binaire sensor in je configuration.yaml van Home Assistant:

binary_sensor:- name: Camera persoonplatform: mqttstate_topic: "frigate/voordeur/objects"value_template: '{{ value_json.person }}'device_class: motionavailability_topic: "frigate/available"

Als je Home Assistant daarna herstart, krijg je een extra binaire sensor te zien die aan of uit is naargelang er een persoon in het camerabeeld gedetecteerd wordt. En omdat Frigate op het mqtt-onderwerp frigate/available met de boodschap online respectievelijk offline aangeeft wanneer het programma start en stopt, kun je ook van in Home Assistant zien of Frigate wel draait. Als Frigate om een of andere reden gecrasht is, zie je dan in Home Assistant ‘Niet beschikbaar’ als status bij je sensor.

©PXimport

12 Op personen reageren in Home Assistant

Nu kun je Home Assistant in een automatisering laten reageren op de persoonssensor. Open in de webinterface van Home Assistant links Instellingen / Automatisering en klik dan rechtsonder op het plusteken om een nieuwe automatisering aan te maken. Geef je automatisering een naam.

Bij de triggers laat je het type op Staat staan en kies je als entiteit je binaire sensor, bijvoorbeeld binary_sensor.camera_persoon. Zorg dat bij de van-waarde off staat en bij de naar-waarde on. Zo laat je deze automatisering reageren op het verschijnen van een persoon. Wil je daarentegen bij het verdwijnen van een persoon een actie uitvoeren, draai dan beide waardes om.

Vul eventueel bij Voor een duur in, bijvoorbeeld als je de automatisering alleen wilt uitvoeren als een persoon minstens een bepaalde tijd aanwezig of afwezig is. Dat helpt ook om niet op elke snelle schakeling tussen on en off te reageren, want in sommige configuraties doet Frigate dat wel eens, terwijl er gewoon de hele tijd een persoon in beeld is.

©PXimport

13 Voorwaarden

Het volgende onderdeel zijn de voorwaarden. Je wilt immers waarschijnlijk niet elke keer dat Frigate een persoon detecteert iets doen. Misschien wil je bijvoorbeeld alleen als je afwezig bent alarm slaan terwijl er een persoon op het camerabeeld van je voordeur te zien is. Klik dan op Voorwaarde toevoegen en vul hier als voorwaarde toe dat je afwezig bent, bijvoorbeeld op basis van het bluetooth-signaal van je smartphone of fitnesstracker. In Computer!Totaal 7/8 vind je hoe je dat doet.

Kies je als type voorwaarde voor Tijd, dan kun je ook instellen dat de gedefinieerde actie alleen uitgevoerd wordt als de persoon ná of vóór een tijdstip of tussen twee tijdstippen gedetecteerd wordt. Je kunt zoveel voorwaarden toevoegen als je wilt.

14 En … actie!

Als laatste onderdeel van de automatisering komen de acties. Wat je hier doet, hangt natuurlijk af van wat je in Home Assistant allemaal gedefinieerd hebt. In de meeste gevallen zul je als type actie Service aanroepen gebruiken, in het uitklapmenu eronder een service kiezen en dan eronder service data toevoegen. De details hiervan hangen van de service af, en daarvoor verwijzen we naar de documentatie van Home Assistant.

Om je wat inspiratie te geven enkele ideeën die je hier kunt uitvoeren wanneer Frigate een persoon detecteert: stuur een notificatie naar je smartphone inclusief een foto van de persoon op de camera, activeer een willekeurig script, laat je verwelkomen met een gesproken boodschap, of stuur je Philips Hue-verlichting aan. Mogelijkheden genoeg!

Onder de motorkap van Frigate

Frigate maakt voor zijn objectdetectie gebruik van OpenCV, een opensource-bibliotheek voor computervisie, en TensorFlow, een opensource-bibliotheek van Google die vaak gebruikt wordt voor machine learning. Het machinaal leren zelf gebeurt met behulp van de Google Coral USB Accelerator, die TensorFlow Lite ondersteunt, een uitgeklede versie van TensorFlow die geoptimaliseerd is voor mobiele apparaten. In TensorFlow (Lite) kun je een neuraal netwerk uitvoeren dat op voorhand getraind is, en dat netwerk komt in de vorm van een model. Frigate maakt gebruik van het model MobileNet SSD v2 COCO, dat 90 types objecten herkent in afbeeldingen van 300 bij 300 pixels. Frigate verwerkt dus de frames van je camera’s, zet de aangeduide regio’s om naar afbeeldingen van 300 bij 300 pixels, laat die door TensorFlow Lite op de Coral USB Accelerator verwerken en stuurt het resultaat over mqtt. Als je wat wilt experimenteren, kun je ook je eigen TensorFlow Lite-model in Frigate gebruiken om andere types objecten te ontdekken.

©PXimport

▼ Volgende artikel
Nú is het moment: zo breng (én houd) je je cyberhygiëne op orde
© ID.nl
Zekerheid & gemak

Nú is het moment: zo breng (én houd) je je cyberhygiëne op orde

De digitale wereld verandert in een razendsnel tempo. Oplichters gaan dankzij AI steeds overtuigender te werk, waardoor valse berichten en nepwebsites nauwelijks nog van echte te onderscheiden zijn. Tegelijkertijd groeit het aantal accounts en apps dat je dagelijks gebruikt, wat de kans op beveiligingslekken vergroot. Het is daarom belangrijker dan ooit om je online aanwezigheid (nóg) actiever te beschermen. In dit artikel lees je welke aanpassingen je zelf direct kunt doorvoeren en welke extra beschermingslagen jou helpen je digitale veiligheid te versterken.

Partnerbijdrage - in samenwerking met Bitdefender

Waarom cyberhygiëne juist nu belangrijk is

In een modern huishouden volgen de digitale vernieuwingen elkaar razendsnel op. Van schoolapps en games tot werken op afstand; jij en je familie verzamelen ongemerkt een enorme berg online accounts. Tegelijkertijd worden digitale dreigingen steeds lastiger te herkennen.

Vroeger pikte je een nepbericht er zo uit door de kromme zinnen of spelfouten, maar die tijd is echt voorbij. Dankzij de inzet van slimme AI-technieken zien phishingberichten er tegenwoordig ontzettend professioneel uit. Ook foto's, filmpjes en zelfs stemmen kunnen digitaal zo nagemaakt worden dat je niet meer ziet of hoort met wie je echt te maken hebt. Het wordt daardoor steeds moeilijker om de risico's te zien. Hoog tijd dus om je digitale huishouding belangrijker op orde te brengen.

Beginnen bij het begin: een digitale schoonmaak

Veel mensen hebben meer oude accounts dan ze denken. Door die op te ruimen, sluit je meteen een aantal achterdeuren die je gemakkelijk over het hoofd ziet. De volgende onmisbare stap is het gebruik van sterke, unieke wachtwoorden. Zie het als een sleutelbos: wanneer je overal hetzelfde wachtwoord (of een variatie daarop) gebruikt, geef je criminelen met één enkele sleutel direct toegang tot al je accounts. Met unieke wachtwoorden zorg je ervoor dat een lek bij de ene dienst niet automatisch leidt tot een inbraak bij de andere. Een wachtwoordmanager neemt al dat denkwerk van je over. Het geeft je de rust dat je niet langer tientallen ingewikkelde codes zelf hoeft te onthouden. Handig: in een beveiligingspakket als Bitdefender Premium Security zit zo'n Password Manager bijvoorbeeld standaard inbegrepen. Zie tweestapsverificatie vervolgens als een extra slot op de deur; deze laag houdt kwaadwillenden buiten, zelfs als je wachtwoord onverhoopt toch op straat komt te liggen.

Vergeet daarnaast de updates van je apparaten niet. Deze software-updates dichten beveiligingslekken voordat criminelen er misbruik van kunnen maken. Dit is niet alleen belangrijk voor je smartphone, maar juist ook voor apparaten waar je minder vaak bij stilstaat. Denk aan de router in de meterkast of de tablets die de kinderen dagelijks gebruiken.

©Queenmoonlite Studio - stock.adobe.com

De dreigingen van nu vragen om extra hulp

Zelf alert blijven is de basis, maar het speelveld verandert razendsnel. Oplichting wordt steeds geraffineerder door in te spelen op situaties uit je dagelijkse leven. Je krijgt bijvoorbeeld precies op het juiste moment een bericht over een pakket dat vertraagd is, of een dringende waarschuwing die van je bank lijkt te komen. Omdat de grens tussen echt en nep zo vervaagt, is het prettig om een hulpmiddel achter de hand te hebben voor die momenten van twijfel.

Scamio is zo'n hulpmiddel. Deze gratis online tool van Bitdefender controleert binnen een paar seconden of een link of screenshot verdacht is. Je hoeft alleen de inhoud te plakken of de afbeelding te uploaden. Scamio analyseert de informatie en vertelt je direct hoe betrouwbaar het bericht is. Het is alsof er even een expert met je meekijkt voordat je besluit om ergens op te klikken. 

View post on TikTok

Een veilige basis voor het hele gezin

Goede cyberhygiëne draait om slimme gewoonten, maar ook om bescherming die meebeweegt met de dagelijkse werkelijkheid. Bitdefender Premium Security biedt die extra laag voor het hele huishouden. Omdat moderne gezinnen allerlei verschillende apparaten gebruiken, is het omslachtig om alles apart te beveiligen. Door al deze apparaten onder één pakket te brengen, creëer je direct overzicht en rust.

Achter de schermen werken verschillende lagen bescherming nauw samen om je gezin te beveiligen. De software blokkeert malware en ransomware en houdt valse websites tegen nog voordat je ze kunt openen. Scam Copilot kijkt ondertussen met je mee tijdens het browsen en analyseert aanbiedingen en berichten in realtime. Zodra er iets niet klopt, krijg je direct een waarschuwing. Naast deze beveiliging helpt Bitdefender je privacy te bewaken. Denk aan een VPN die je verbinding versleutelt wanneer je onderweg bent, of meldingen wanneer je gegevens onverhoopt opduiken in een datalek.

©Bitdefender

Daarnaast is het goed om te weten dat Bitdefender een Europese partij is met datacenters op eigen bodem. In een tijd waarin je gegevens soms de hele wereld overgaan, is het een prettig idee dat jouw privacy wordt beschermd volgens de strenge regels die we hier in Europa kennen. Je houdt zo simpelweg meer grip op je eigen gegevens.

Samen slim en veilig online

Je digitale veiligheid hoeft geen hoofdpijndossier te zijn. Door kritisch naar je oude accounts te kijken, overal unieke wachtwoorden te gebruiken en updates direct te installeren, zet je zelf al de belangrijkste stappen. Met een totaalpakket als Bitdefender Premium Security voeg je daar een slimme beschermlaag aan toe die de lastige taken van je overneemt. Zo creëer je met een paar simpele aanpassingen een veilige online omgeving voor je hele gezin, waarin je met een gerust hart kunt blijven internetten

▼ Volgende artikel
Review: Dragon Quest 7 Reimagined is een klassieke rpg in een nieuw jasje
Huis

Review: Dragon Quest 7 Reimagined is een klassieke rpg in een nieuw jasje

Dragon Quest is al meer dan drie decennia een icoon binnen de game-industrie. Hoewel de oudere delen al snel gedateerd voelden, zorgde een gestroomlijnde vernieuwing voor een nieuwe aanwas van fans. Toch moest alles nog één keer overboord. Met volle moed en een frisse stijl blijkt Dragon Quest 7 Reimagined een prachtige herinterpretatie van een klassieke rpg voor een nieuwe generatie.

Dragon Quest 7 is een beetje het verloren kindje binnen de reeks. Het was het debuut van de franchise op PlayStation, maar werd berucht door de langzame openingsuren en unieke structuur. Sterker nog: de regisseur van deze remake, Takeshi Ichikawa, biechtte op dat hij als kind nooit verder kwam dan het openingssegment in een recent interview. Er zou dus behoorlijk wat gesneden moeten worden in deze structuur. Bovendien is dit de derde remake van een mainline Dragon Quest-game in twee jaar tijd. Gelukkig onderscheidt Dragon Quest 7 Reimagined zich dit keer wel al vanaf het eerste uur.

©Square Enix

Schuitje Varen, Eilandje Redden

Op het eerste gezicht lijkt Dragon Quest 7 logisch in lijn te vallen met de rest van de serie. Als ‘de Held’ begin je op het enige eiland in de wereld. Samen met prins Keifer en jeugdvriendin Maribel ga je op een groot avontuur wanneer er een portaal opent in de mysterieuze tempel op het eiland. Niet alleen verschijnt er opeens een nieuw eiland in de eindeloze oceaan, maar ook reist de groep terug in de tijd. Ieder nieuw eiland bezoek je zo eerst in het verleden, waarna je acties gevolgen hebben in het heden.

Zo wordt de spelwereld steeds groter. Het ene eiland is compleet verlaten, omdat alle inwoners zijn versteend. Op een ander eiland probeert een groep reizende pelgrims om hun God te helpen terugkeren na zijn verdwijning aan de hand van de Demon King. Onderweg vind je tabletstukken om nieuwe portalen te openen. Ieder eiland heeft zo zijn eigen verhaal en personages die je volgt, wat kan voelen als een televisieserie met allemaal kleine uitstapjes. Het bouwt langzaam op naar een grotere verhaallijn met de terugkeer van de Demon King. Het geeft Dragon Quest 7 een eigen identiteit ten opzichte van andere Dragon Quest-titels, maar vereist wel een langere aandachtsspanne.

Watch on YouTube

Visueel vakmanschap

Gelukkig spat het spel van je scherm. De nieuwe visuele stijl is een hoogtepunt, een fenomenale balans tussen de originele tekeningen en ontwerpen van Akira Toriyama (Dragon Ball) en de 3D-stijl die de games hebben omarmd sinds de PlayStation 2. De hoofdpersonages zien er uit als handgemaakte poppetjes. Steden en kamers worden getoond als kleine diorama's. Het deed mij op meer dan één manier denken aan de uitstekende remake van Zelda: Link’s Awakening op de Nintendo Switch. De nieuwe stijl complementeert de Dragon Quest-serie uitstekend. Wanneer het samenkomt onder begeleiding van de prachtige symfonische muziek, voelt Reimagined als een warme deken voor fans van klassieke rpg’s.

Ik wilde elk hoekje van de wereld verkennen. Elk eiland voelde als een nieuw avontuur. Naarmate de groep avonturiers groter wordt, zwijmel je zo weer weg in de wereld van Dragon Quest. De game heeft zowel Japanse als Engelse stemwerk voor de tussenfilmpjes en belangrijke dialogen, maar ook het schrijfwerk is behoorlijk sterk. Leuke details zoals het gebruik van  ‘Thou’s’ en ‘Thy’s’ bij eilanden in het verleden voelen gepast. Wat minder gepast zijn de plaatsen die stilistische fouten gebruiken om over te komen als ‘Duits’ of ‘Frans’ (‘Wiz’ in plaats van ‘With’, of het weglaten van werkwoorden). Geen pretje om te lezen, maar het brengt wel degelijk het gevoel van een gevarieerde wereld over.

Knokken bouwt karakter

De combat is traditioneel zoals je kan verwachten van Dragon Quest. Elke beurt kies je welke aanval je personage uitvoert. Je maakt gebruik van de zwaktes van vijanden om je aanvallen maximale schade te laten toebrengen. Om in te spelen op de sterke punten van je party kun je ze allemaal een rol geven met het ‘vocation’-systeem. Deze beïnvloedt de statistieken en aanvallen die je kan leren. Na het vrijspelen van de ‘Alltrades abbey’ is het mogelijk om op ieder moment een ander pad te kiezen. Als je specifieke combinaties van vocations leert, krijg je toegang tot speciale rollen. Nadat je de Sailor- en de Thief-vocation beheerst, krijg je de Pirate-vocation, een unieke mix van beide rollen.

Het is een flexibel systeem dat uitnodigt om lekker te experimenteren. Zo maakte ik van Ruff een glazen kanon met een hele hoge kans op critical hits om massale schade uit te delen, terwijl ik Maribel als Sage en Priest gebruikte voor magische aanvallen en genezing. In de beste gevechten van Dragon Quest 7 voelt je party als een goed geoliede machine die compleet kan worden afgestemd op elke situatie. Dankzij de uitgebreide instellingen is het mogelijk om aan te passen hoeveel XP, geld, of levels in vocations je verdient in gevechten. In combinatie met de aangepaste snelheid van gevechten en tactische opties blies ik mij door de gevechten.

©Square Enix

Ideale moderne remake

Al deze kleine verbeteringen maken van Dragon Quest 7 Reimagined de ideale moderne remake. Hoe dol ik ook ben op de 2D-HD-stijl die Square Enix heeft toegepast in de laatste paar Dragon Quest-titels, is de nieuwe stijl in Reimagined een prachtige samensmelting van oud en nieuw. Structureel is de game flink opgepoetst en met de toegankelijkheidsopties hoef je niet eindeloos te grinden voor elke eindbaas. Dit alles komt samen in een heerlijke traditionele en tegelijkertijd modern aanvoelende rpg. Voor de oudgedienden: verwacht geen bergen aan nieuwe missies of verhalen, maar een ‘greatest hits’-album van Dragon Quest 7.

Voor de nieuwkomer is dit niet de eerste Dragon Quest die ik zou aanraden, maar zeker eentje om te ervaren als je nieuwsgierig bent naar andere delen in de serie. Ik kan alleen maar hopen dat dit het startschot is om ook andere delen in de serie op deze manier te ‘reimaginen’. Dragon Quest 9 bijvoorbeeld?

Dragon Quest 7 Reimagined is vanaf 5 februari beschikbaar voor PlayStation 5, PlayStation 4, Xbox Series X en S, pc (via Steam), Nintendo Switch 2en Nintendo Switch. Voor deze review is de game getest op Nintendo Switch 2.

Uitstekend
Conclusie

Dragon Quest 7 Reimagined is een klassieke rpg in een prachtig nieuw jasje. Met een gestroomlijnd verhaal, talloze opties om de ervaring soepeler te maken en een nieuwe visuele stijl is het hopelijk de eerste stap op een nieuwe weg voor Dragon Quest-remakes.

Plus- en minpunten
  • De visuele stijl is fris
  • Gestroomlijnd verhaal
  • Veel toegankelijkheidsopties
  • Klassieke rpg in een nieuw jasje
  • Verhaal komt (nog steeds) langzaam op gang
  • Turn-based combat kan wat eentonig overkomen