ID.nl logo
Websites monitoren doe je zo
© Reshift Digital
Huis

Websites monitoren doe je zo

Leveringsproblemen zijn helaas aan de orde van de dag, waardoor we onze geliefde gadgets maar moeilijk te bestellen zijn. Vooral videokaarten en spelconsoles zijn lastig te krijgen. Door slimme tools te gebruiken, zorg je dat je als eerste op de hoogte wordt gebracht zodra een product beschikbaar is. In dit artikel laten we zien welke tools er zijn en hoe je ze gebruikt! Kortom: websites monitoren doe je zo.

Code downloaden

In dit artikel worden wat voorbeelden van stukken code gegeven. Omdat overtikken van code erg foutgevoelig is, kun je die code ook downloaden en daarna bekijken of kopiëren. Zie het bestand code-webmonitor.txt, beschikbaar via www.bit.ly/webmoncode.

Het lukt de gadgetliefhebbers maar niet om hun zuurverdiende geld uit te geven. Misschien wacht je al een jaar op een (betaalbare) videokaart uit de RTX 30-serie van Nvidia, maar zijn de Ethereum-miners je telkens voor. Of je bent de Sony PlayStation 5 misgelopen, omdat je bijvoorbeeld de voorraadmelding te laat ontving. Misschien zit je te wachten op de nieuwe iPhone, maar dat lijkt direct al een uitdaging. Webwinkels slagen er niet in hun voorraden op peil te brengen. In het verleden werd zulke schaarste vaak kunstmatig gecreëerd, om het verlangen naar een product aan te wakkeren. Vanwege de coronapandemie hebben veel sectoren hier nu ook noodgedwongen mee te maken, onder andere door wereldwijde chiptekorten. Je kunt natuurlijk wat dieper in de buidel tasten en een product overnemen van één van de gelukkigen. Of herhaaldelijk alle productpagina’s verversen om te zien of er voorraad is. Maar je kunt het ook slimmer spelen dan de rest en dit proces automatiseren. In deze masterclass leer je met allerlei scripts hoe je dat doet.

01 Welke tools

Wil je op de hoogte blijven van nieuwe voorraad bij webshops, dan kun je bepaalde kanalen in Discord of Telegram volgen, of forums op sites als Tweakers.net. Op https://alerts.laagst.nl vind je voorraadbots voor bekende spelconsoles en videokaarten. Heb je weinig tijd, dan kun je een geautomatiseerde aanpak kiezen. In deze masterclass laten we zien hoe je met Distill.io websites kunt monitoren op veranderingen. Je kunt lokaal monitoren, via een extensie in je browser, maar ook op afstand via de servers van Distill.io. Daarna laten we zien hoe je webpagina’s met de hulp van eigen scripts kunt monitoren.

Voordat we beginnen geven we wat uitleg over XPath, een krachtige tool om delen van een internetpagina te selecteren. Je komt XPath vaak tegen bij het monitoren van veranderingen, zeker als je zelf scripts gaat maken. In het tweede deel van dit artikel laten we een voorbeeld daarvan zien. We gaan een voorbeeldtoepassing starten binnen Node.JS die pushnotificaties of een melding via Gmail stuurt bij veranderingen aan een of meer pagina’s.

©PXimport

02 Selecties op webpagina’s

Om veranderingen in delen van een website te kunnen monitoren, is het nodig om die specifieke gedeeltes van een pagina aan te kunnen wijzen. Alleen dan kunnen door de inhoud te vergelijken bepaalde veranderingen worden opgemerkt en gemeld. Voor het aanwijzen gebruik je een zogenoemde selector. Dit kan om te beginnen op basis van css, de opmaaktaal waarmee je stijlen voor html-elementen aangeeft. Een krachtigere selector is XPath. Daar gaan we hoofdzakelijk mee werken. Het is ontwikkeld voor xml-documenten, maar is bruikbaar voor html-documenten. De syntax is heel krachtig en flexibel, maar het zelf opstellen van een selector is daardoor niet altijd eenvoudig. Gelukkig zijn er tools die je kunnen helpen. We zullen enkele eenvoudige voorbeelden geven zodat je een idee hebt hoe de syntax voor XPath eruitziet, hoe je XPath gebruikt en welke tools je kunnen helpen.

03 Voorbeeld XPath

Je kunt eenvoudig experimenteren met XPath in Chrome om bepaalde elementen op een pagina te selecteren. Als voorbeeld maken we een html-pagina met slechts de volgende basisinhoud:

<html>

<head>

<title>Title of the document</title>

</head>

<body>

<h1>Dit is een header</h1>

<p>Dit is een paragraaf.</p>

</body>

</html>

De elementen in xml- en html-documenten volgen een boomstructuur. De XPath voor de eerste header kun je schrijven als /html/body/h1. Dat noemen we een absoluut pad. Je kunt dit vergelijken met de paden in een bestandssystemen. De eerste enkele slash (/) duidt de root aan, voor dit html-document is dat html. Elke volgende slash duidt een lager niveau aan, in dit voorbeeld body gevolgd door h1. Een XPath kan ook met een relatief pad beginnen. Die herken je aan een dubbele slash (//). Zo’n relatief pad is vaak veel korter. Op https://devhints.io/xpath vind je een handige cheatsheet met tips. We zullen hieronder een eenvoudig voorbeeld van zowel een absoluut als relatief pad geven.

©PXimport

XPath achterhalen in Chrome

In Chrome kun je de XPath voor elk html-element op een bepaalde webpagina simpel achterhalen. Open daarvoor een webpagina, bijvoorbeeld met ons html-voorbeeld. Klik dan met rechts op een bepaald element, zoals de header, en kies Inspecteren. Je komt op het tabblad Elements, waar je de volledig inhoud van het document ziet. Hierin wordt het geselecteerde element uitgelicht, maar je kunt ook een ander element selecteren. Klik met rechts op het gewenste element en kies Copy / Copy XPath om het relatieve pad te kopiëren naar je klembord. Of kies Copy full XPath om het absolute pad te kopiëren. Dit kun je plakken in bijvoorbeeld Kladblok.

©PXimport

04 XPath via console

De inspectietool die we zojuist hebben gebruikt, valt onder de hulpprogramma’s voor ontwikkelaars. Deze kun je in Chrome eenvoudig openen via het menu of met Ctrl+Shift+I. Als je naar het tabblad Console gaat, kun je experimenteren met XPath. Wil je bijvoorbeeld de tekst van de eerste header uit ons voorbeelddocument selecteren, dan gebruik je de XPath-selector /html/body/h1/text(). In de console geef je daarvoor de volgende opdracht (gevolgd door Enter):

$x("/html/body/h1/text()")

Na de opdracht bekijk je het resultaat. Je kunt ook wat experimenteren met de geavanceerdere selectors van XPath. Zo wijs je de inhoud van de eerste header van het type <h1> in een html-document aan met de opdracht:

$x("(//h1)[1]/text()")

En ook deze opdracht voer je uit met Enter.

©PXimport

Distill.io

05 Installatie

Distill.io is een van de makkelijkste manieren om content op websites te monitoren. Deze tool geeft een melding als een pagina is veranderd of als er veranderingen in geselecteerde delen van die pagina worden opgemerkt. Het is daarom heel breed inzetbaar. Je gebruikt Distill.io via een browserextensie, beschikbaar voor onder meer Chrome, Firefox en Opera.

Klik nadat je de extensie hebt geïnstalleerd op het icoontje. We raden je aan om eerst in te loggen via Sign In of een account te maken. Dan kun je taken op de servers van Distill.io laten draaien en meldingen ontvangen bij veranderingen, bijvoorbeeld via een e-mail, sms-bericht of een notificatie. Bij de gratis versie is het aantal controles en meldingen overigens wat beperkt. Zo kun je slechts tot dertig e-mailmeldingen per maand ontvangen. Bij veel valse meldingen zit je daar snel aan. Het goedkoopste abonnement op deze dienst kost 15 dollar per maand of 12 dollar per maand als je gelijk een jaarabonnement afsluit.

©PXimport

06 Elementen selecteren

Wil je een bepaalde productpagina van een webshop monitoren, dan open je die webpagina gewoon eerst in je browser. Klik vervolgens op het icoontje van Distill.io en kies Select parts of page. Kies op de webpagina zelf het element dat je wil monitoren. Je kunt ook nog andere elementen selecteren. Een element kun je ook weer verwijderen, op de plek waar je het element hebt geselecteerd, door het menu te openen en op het prullenbakicoontje te klikken. Voor elke selectie wordt een XPath-expressie toegevoegd. Rechts daarvan zie je de tekst van de geselecteerde elementen. Onder Text filter kun je eventueel filteren op een bepaalde tekst. Wees creatief! Voor de productpagina van de PlayStation 5 selecteren we bijvoorbeeld het veld Tijdelijk uitverkocht en filteren onder Text filter op diezelfde tekst. Klik op Save selections als je klaar bent.

07 Opties aanpassen

Als je een webpagina hebt toegevoegd, wordt deze in de zogenoemde watchlist gezet en kun je ook direct enkele opties aanpassen. Bij Device kies je of de controle in je huidige browser moet worden gedaan of op de servers van Distill.io. Bij Schedule checks geef je aan hoe vaak de bron moet worden gecontroleerd. Als voorbeeld nemen we een interval van 45 seconden. Als je een bepaalde productpagina te vaak opent, zou je door de betreffende webshop kunnen worden geweerd, dus maak het niet te bont. Eventueel gebruik je de optie Random voor een willekeurig interval. Bij Actions geef je aan wat er moet gebeuren als er een verandering wordt gedetecteerd. Zo kun je bijvoorbeeld een geluid laten afspelen. Achter Conditions kies je bepaalde condities, zoals een bepaalde tekst die wel of niet is gedetecteerd of een prijs die onder een bepaald niveau is gedoken. Klik onderaan op Save om de wijzigingen te bewaren.

©PXimport

08 Watchlist bekijken

Als je via het menu naar je watchlist gaat, zie je een overzicht van alle toegevoegde webpagina’s. Als de betreffende taak al een keer is gestart, zie je ook een preview van het resultaat. Vanuit de watchlist kun je ook enkele opties aanpassen of de geschiedenis bekijken. Je kunt met Distill.io tot 25 pagina’s lokaal monitoren. Zo kun je een gewild product dus bij verschillende webshops monitoren en heb je alle resultaten in één overzicht. De dienst is ook goed bruikbaar om bijvoorbeeld prijzen te monitoren. Eventueel kun je de conditie toevoegen om alleen een melding te krijgen als de prijs onder een bepaald niveau is gekomen. Je zult vaak de filters en opties wat moeten tweaken om de resultaten te krijgen die je zoekt.

©PXimport

Eigen scripts

09 Node.JS-installatie

Node.JS is een zogenoemde JavaScript-runtime-omgeving waarmee je JavaScript buiten een browser kunt uitvoeren. Er zijn enorm veel handige bibliotheken voor beschikbaar die je via de pakketbeheerder npm (Node Package Manager) gemakkelijk kunt downloaden en installeren, zodat je ze in je programma kunt gebruiken. Het uiteindelijke programma blijft dan compact en overzichtelijk. In de volgende paragraaf gebruiken we een voorbeeldprogramma in Node.JS als basis. Eerst moeten we de nodige tools installeren. We gaan uit van een systeem met de Linux-versie Ubuntu. Je installeert Node.JS en de pakketbeheerder npm met de opdracht:

sudo apt install nodejs npm

Daarnaast gaan we ook Git gebruiken (een managementtool voor software-broncode) en die installeer je met:

sudo apt install git

We gebruiken Git om in de volgende paragraaf een project vanaf GitHub op ons systeem te installeren.

©PXimport

10 Projectbestanden installeren

We gaan de zogenoemde Stock Checker installeren, waarmee je de voorraad van producten in webshops kunt controleren. Dit is een vrij flexibel inzetbare tool. Je geeft op welke webpagina moet worden bezocht. Ook geef je via een XPath aan welk element op die pagina gecontroleerd moet worden. Je weet inmiddels hoe je die kunt achterhalen. Als laatste geef je aan met welke waarde het resultaat moet worden vergeleken. Je kunt vervolgens bij veranderingen een melding ontvangen. Om het project te installeren, geef je de opdracht:

git clone https://github.com/jaydlawrence/stock-checker/

Je maakt nu eigenlijk een lokale kloon van de repository op GitHub. Hiermee plaats je alle bestanden op je systeem in het mapje stock-checker. Blader naar deze map met:

cd stock-checker

Geef nu de opdracht:

npm install

©PXimport

11 Websites toevoegen

Het project heeft twee configuratiebestanden. De eerste (sites.json) bevat de sites die je wilt monitoren. Een voorbeeld vind je in sites.json.template. Kopieer dit bestand naar sites.json met de opdracht:

cp sites.json.template sites.json

Bewerk het daarna met de opdracht:

nano sites.json

Als voorbeeld voegen we één site toe, maar je kunt er ook meerdere toevoegen. Wij kiezen als voorbeeld een pagina van de webshop Azerty (zie afbeelding 11, maar inmiddels bestaat deze pagina niet meer). We kopiëren via Chrome de XPath voor de tekst met levertijd, waar op het moment van schrijven stond meer dan 10 werkdagen. De XPath blijkt als volgt:

//*[@id="detail"]/div/div/div[2]/div[2]/div[1]/div/div[2]/span/text()

In het bestand sites.json vul je de url en XPath in bij respectievelijk url en xPath. Bij expected vul je de waarde in die je verwacht (meer dan 10 werkdagen). Je krijgt straks een melding als de gevonden waarde afwijkt van wat hier staat. Achter description vul je een omschrijving voor jezelf in. Let er op dat je elk dubbel aanhalingsteken (") in het configuratiebestand moet aanpassen naar \". We noemen dat ook wel ‘escapen’. De configuratie voor deze site ziet er dan als volgt uit:

[

{

"url": "https://azerty.nl/product/gigabyte/4570235/geforce-rtx-3080-eagle-rev2-0-lhr-vid>

"xPath": "//*[@id=\"detail\"]/div/div/div[2]/div[2]/div[1]/div/div[2]/span/text()",

"expected": "meer dan 10 werkdagen",

"description": "RTX 3080 op Azerty"

}

]

©PXimport

12 Pushover installeren

Bij veranderingen kun je een pushnotificatie ontvangen via de app Pushover, een melding per Gmail of beide. In deze masterclass gebruiken we Pushover. Details vul je in het bestand config.json in. Kopieer eerst het voorbeeld met de opdracht:

cp config.json.template config.json

We installeren eerst de Pushover-app op een Android-smartphone. Open de app en maak een account met gebruikersnaam en wachtwoord. In de volgende stap geef je de smartphone een naam. Ga dan naar www.pushover.net en log in met je gebruikersaccount. Hier vind je de User Key, die je overneemt in het configuratiebestand (config.json). Onderaan volg je de link naar Create an Application/API Token. Voer hier minimaal een (korte) naam in en zet een vinkje om akkoord te gaan met de voorwaarden. Vul ook deze token in het configuratiebestand in. Je hebt nu alles ingesteld om het script te starten.

13 Script uitvoeren

We gaan het script handmatig starten, maar je kunt het natuurlijk ook automatisch op gezette tijden draaien via een cronjob. Voor het starten, voer je deze opdracht in:

npm link

Daarna start je het script met:

npx check-stock

De projectpagina van Stock Checker op GitHub geeft allerlei extra tips. Als je bij de uitvoering een foutmelding krijgt, mis je mogelijk enkele bibliotheken. Die kun je installeren met:

sudo apt-get install libpangocairo-1.0-0 libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxi6 libxtst6 libnss3 libcups2 libxss1 libxrandr2 libasound2 libatk1.0-0 libgtk-3-0 libgbm-dev

Als er een verandering op de gemonitorde site(s) wordt gedetecteerd, zie je daar in de console geen melding van, maar je ontvangt (als alles goed is ingesteld) wel een pushnotificatie!

▼ 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