ID.nl logo
Zo kun je programmeren in Python - deel 8
© Reshift Digital
Zekerheid & gemak

Zo kun je programmeren in Python - deel 8

Tot nu toe leerde je heel wat mogelijkheden van de programmeertaal Python. Misschien ben je buiten onze lessen zelf al aan de slag gegaan met je kennis. Super, want programmeren leer je door het veel te doen. Maar een goed programma is ook gedocumenteerd en goed getest. Dat leer je in onze achtste les.

Hier vind je les 1 van de Python-cursus.

Verkeerde gewoontes leer je niet snel af, daarom dat we nu even een stapje terugdoen en nadenken over wat ‘goede code’ is. Na deze les kun je code produceren die niet alleen goed gedocumenteerd en goed getest is, maar weet je ook hoe je informatie over Python-modules opzoekt met de helpfunctie.

Code documenteren met commentaar

Tot nu toe schreven we onze code zonder enige vorm van documentatie. Als je met anderen samenwerkt aan een programma, is het belangrijk dat je die documenteert, zodat je anderen duidelijk maakt wat je met je code bedoelt. Maar ook als je helemaal alleen programmeert, is documentatie geen overbodige luxe. Zo begrijp je je eigen code nog als je er over een jaar opnieuw naar kijkt.

De eerste manier om je code te documenteren is met commentaar. Alles na het #-teken (hekje) tot het einde van de regel (behalve als het hekje ín een string voorkomt) is commentaar en wordt door Python genegeerd. Op die manier kun je een uitleg voor jezelf of anderen schrijven. Als je bijvoorbeeld in de functie is_palindroom van deel 6 in de war raakt met die indexen, schrijf er dan gerust wat commentaar bij:

if letters[0] != letters[-1]: # Als de eerste en de laatste letter verschillen

Het getuigt van goede stijl om twee spaties tussen je code en het erna volgende commentaarteken te houden en één spatie tussen het commentaarteken en je commentaar. Overigens kun je ook commentaar op een nieuwe losstaande regel beginnen, dan spreken we van een commentaarregel:

# Als de eerste en de laatste letter verschillen

if letters[0] != letters[-1]:

Het is de gewoonte om een commentaarregel te zetten op de regel vóór de regel waarover hij gaat.

Code uitcommentariëren

Het commentaarteken (#) wordt ook weleens gebruikt om code die je aan het testen bent maar die niet blijkt te werken tijdelijk ‘uit te commentariëren’ ofwel uit te zetten. Door een commentaarteken voor de code te zetten, wordt de code door Python genegeerd, maar kun je hem erna wel eenvoudig weer inschakelen door het commentaarteken weg te halen. Op deze manier gebruik je het commentaarteken dus niet voor documentatie, maar eigenlijk als hulpmiddel bij het debuggen.

Code documenteren met docstrings

Commentaar gebruik je om te documenteren waarom je iets doet en hoe je het doet, maar voor gebruikers van je code is vooral belangrijk wat die doet. Om dat te documenteren, gebruik je docstrings: in het begin van elke module, elke klasse en elke functie of methode geef je met een string tussen drie dubbele aanhalingstekens aan wat het stuk code doet.

Zo zouden we onze klassen uit de vorige les als volgt kunnen documenteren:

"""Klassen om met tweedimensionale, driedimensionale en hogerdimensionale punten te werken."""

import math

class Point:
"""Stelt een punt voor in een willekeurig aantal dimensies."""

def __init__(self, *coordinates):
"""Initialiseer het punt met de opgegeven coördinaten."""
self.coordinates = list(coordinates)

def __repr__(self):
"""Geef een leesbare voorstelling van het punt terug."""
return 'Point(' + ', '.join(str(co) for co in self.coordinates) + ')'

def displacement(self, other_point):
"""Geef het verschil terug tussen dit punt en een ander punt.

De overeenkomstige coördinaten worden van elkaar afgetrokken.

Voorbeeld: het verschil tussen Point(1, 4, 2) en Point(3, 4, 1) is gelijk aan Point(2, 0, -1).
"""
return Point(*[a-b for a, b in zip(other_point.coordinates, self.coordinates)])

def distance(self, other_point):
"""Geef de Euclidische afstand terug tussen dit punt en een ander punt."""
relative_position = self.displacement(other_point)
return math.sqrt(sum(i**2 for i in relative_position.coordinates))
class Point2D(Point):
"""Stelt een tweedimensionaal punt voor."""

def __init__(self, x=0, y=0):
"""Initialiseer het punt met de opgegeven x- en y-coördinaten."""
Point.__init__(self, x, y)
self.x = x
self.y = y
def get_x(self):

"""De x-coördinaat van het punt."""
return self.coordinates[0]

def set_x(self, x):
self.coordinates[0] = x

x = property(get_x, set_x)

def get_y(self):
"""De y-coördinaat van het punt."""
return self.coordinates[1]

def set_y(self, y):
self.coordinates[1] = y

y = property(get_y, set_y)

Je ziet hier dat documentatie niet lang hoeft te zijn. De docstrings bij de module, de klassen en bij de meeste methodes zijn maar één regel lang.

De moeilijkste methode om te begrijpen is displacement en daarom is het zinvol om daar wat meer uitleg bij te geven. Bij een docstring van meer dan één regel raden we aan om na de eerste regel een lege regel te houden, en om de drie dubbele aanhalingstekens op het einde op een nieuwe regel te zetten. Dat geeft wat meer overzicht.

Merk op: bij onze eigenschappen x en y van de klasse Point2D documenteren we alleen de methode die de waarde van de eigenschap opvraagt. Zo toont de ingebouwde helpfunctie van Python (die we op het einde van deze les bespreken) deze documentatie bij de eigenschap.

Interactieve voorbeelden in docstrings

We hebben in de docstring van de methode displacement al een voorbeeld van het gebruik van de methode gegeven als documentatie. Maar dat bleef nogal informeel. We kunnen die documentatie ook in de vorm van echte Python-code doen die je in een interactieve terminalsessie zou kunnen invoeren. Zo kan de gebruiker die de documentatie leest, onmiddellijk de voorbeelden kopiëren uit de documentatie en plakken in de Python-interpreter om ze uit te proberen. Dat zou voor de methode displacement er dan als volgt uitzien:

def displacement(self, other_point):"""Geef het verschil terug tussen dit punt en een ander punt.

De overeenkomstige coördinaten worden van elkaar afgetrokken.

>>> Point(1, 4, 2).displacement(Point(3, 4, 1))Point(2, 0, -1)"""return Point(*[a-b for a, b in zip(other_point.coordinates, self.coordinates)])

Je ziet hier dat je de code na de >>> exact in een Python-terminalsessie zou kunnen invoeren en dan ook het resultaat zou krijgen dat hier staat. In feite hebben we wat hier staat gewoon eerst in de terminal van Thonny ingevoerd en dan samen met de uitvoer gekopieerd en hier in de docstring geplakt.

Code testen met doctest

Stel dat je nu ooit de code van de methode displacement aanpast omdat je denkt een verbetering te zien, maar er een fout in maakt, waardoor het resultaat verkeerd is. Dan kun je dat testen door de voorbeeldcode in je docstring uit te voeren in een Python-terminalsessie. Voer je de code uit en komt het resultaat niet overeen met de uitvoer in de docstring, dan klopt je code niet meer.

Maar zouden we die test niet automatisch kunnen doen? Jazeker! Python kent daarvoor de module doctest, die automatisch alle docstrings in een module kan testen op interactieve voorbeelden. Dat voer je als volgt uit in een Linux- of macOS-terminal of de Windows Opdrachtprompt:

python3 -m doctest -v point.py

Hierbij is point.py de naam van de module met je code erin. Je krijgt dan als uitvoer de tests die doctest in je docstrings ziet en het resultaat. Als je het alleen wilt zien als een test een fout vindt, haal dan de optie -v weg. Stel dat je bijvoorbeeld per ongeluk de * vergeten bent in de methode displacement om de lijst naar een willekeurig aantal argumenten voor de klasse Point om te zetten, dan zal doctest die fout opmerken met de volgende melding:

**********************************************************************

File "point.py", line 21, in point.Point.displacement

Failed example:

Point(1, 4, 2).displacement(Point(3, 4, 1))

Expected:

Point(2, 0, -1)

Got:

Point([2, 0, -1])

**********************************************************************

1 items had failures:

1 of

***Test Failed*** 1 failures.

Een goede manier van programmeren is dan ook dat je je code zoveel mogelijk documenteert met docstrings en daarin ook interactieve voorbeelden opneemt, die je na elke wijziging van je code automatisch test met doctest om je ervan te verzekeren dat je geen fouten hebt geïntroduceerd.

De helpfunctie gebruiken

Als je code is gedocumenteerd, hoef je niet je codebestand in Thonny te openen om de documentatie te bekijken. Je kunt dit in een interactieve Python-sessie, bijvoorbeeld in Thonny, maar ook in een Python-sessie in een Linux- of macOS-terminal of de Windows Opdrachtprompt. Het enige wat je hoeft te doen, is de functie help op te roepen met de naam van de module, klasse, functie of methode waarvoor je de documentatie wilt zien. Bijvoorbeeld in Thonny:

>>> help(Point.displacement)

Help on function displacement in module __main__:

displacement(self, other_point)

Geef het verschil terug tussen dit punt en een ander punt.

De overeenkomstige coördinaten worden van elkaar afgetrokken.

>>> Point(1, 4, 2).displacement(Point(3, 4, 1))

Point(2, 0, -1)

Overigens zijn alle standaardmodules van Python uitgebreid gedocumenteerd met docstrings. Daardoor kun je van alle modules, klassen, functies en methodes heel eenvoudig documentatie opvragen in je Python-terminalsessie. Let er wel op dat je een module eerst dient te importeren voordat je er documentatie van kunt opvragen met help.

Samenvatting

In deze les ging het minder over het programmeren zelf, maar over het documenteren en testen van je Python-programma’s en het uitzoeken van meer informatie over de standaard Python-modules of je eigen modules. Hoe complexer je programma’s zijn, hoe belangrijker dit soort zaken rond je code zijn. Maak er daarom een gewoonte van om documentatie en tests niet als een nabeschouwing te zien, maar al tijdens de ontwikkeling van je programma in je code te integreren. In de volgende les maken we het nog complexer: dan gaan we extra modules installeren die niet in Python ingebouwd zijn.

Opdracht 1

Voer de helpfunctie eens uit op je klasse Point2D. Wat zou er nog beter kunnen aan de getoonde documentatie?

Uitwerking opdracht 1

*>>> from point import Point2D

help(Point2D)* De helpfunctie van onze klasse toont niet alleen de eigenschappen x en y bij de Data descriptors, maar toont ook de methodes get_x, set_x, get_y en set_y. Dat is wat te veel van het goede. Die methodes hoeven niet getoond te worden. Daar doen we in de volgende opdracht iets aan.

Opdracht 2

We hebben een eigenschap zoals x in de klasse Point2D tot nu toe geconstrueerd met methodes get_x en set_x en een opdracht als x = property(get_x, set_x) om deze methodes samen als eigenschap te gebruiken. Maar je kunt een eigenschap ook met een decorator definiëren en dan worden die methodes niet in de helpuitvoer getoond. Zoek zelf met de ingebouwde helpfunctie van Python op hoe je dat doet.

Uitwerking opdracht 2

Met help(property) krijg je uitleg over de opdracht property. Je leert er zelfs dat het geen opdracht maar een klasse is. Het in de helpuitvoer getoonde voorbeeld kun je bijna rechtstreeks toepassen op onze klasse Point2D. Dan kom je tot de volgende code voor x: *@propertydef x(self):"""De x-coördinaat van het punt."""return self.coordinates[0]@x.setter**def x(self, x):*self.coordinates[0] = x Doe hetzelfde voor y. Voer de helpfunctie opnieuw uit op je klasse en verifieer dat je alleen nog maar hulp over de eigenschappen krijgt en niet meer over de methodes die de eigenschappen opbouwen.

Cheatsheet

Commentaar: een regel die begint met # en dient als uitleg bij een stukje code. Debuggen: fouten (bugs) in je code opsporen en verhelpen. Docstring: een string tussen drie dubbele aanhalingstekens die een module, klasse, functie of methode documenteert. Uitcommentariëren: een regel code uitschakelen door er een commentaarteken voor te zetten.

▼ Volgende artikel
Kristen Bell speelt Amy Rose in vierde Sonic the Hedgehog-film
Huis

Kristen Bell speelt Amy Rose in vierde Sonic the Hedgehog-film

Actrice Kristen Bell zal de stem van Amy Rose inspreken in de aankomende vierde Sonic the Hedgehog-film.

Het personage, dat veelvuldig in de Sonic-games voorkomt, had al een gastrolletje aan het einde van de film Sonic the Hedgehog 3. Deze week heeft The Hollywood Reporter onthuld dat het personage in de vierde Sonic-film ingesproken zal worden door Kristen Bell.

Bell heeft al ervaring met stemacteerwerk: ze speelde ook de rol van Princess Anna in de Frozen-films. Verder is ze bekend van series als The Good Place, Veronica Mars en Deadwood. Ze speelde ook de rol van Lucy in de allereerste Assassin's Creed-game.

De vierde Sonic the Hedgehog-film draait vanaf 19 maart 2027 in de bioscoop.

View post on X

Over de Sonic the Hedgehog-films

De Sonic the Hedgehog-films zijn gebaseerd op het populaire gamepersonage van Sega, een blauwe egel die zijn dierenvrienden probeert te redden en extreem snel kan rennen. De films combineren live-action acteerwerk met computergeanimeerde beelden.

De drie uitgekomen verfilmingen zijn een megasucces: begin 2025 werd al aangekondigd dat de drie Sonic-films bij elkaar meer dan een miljard dollar aan bioscoopopbrengsten hadden gegenereerd.

De films staan mede bekend om hun goedgevulde cast. Zo zijn James Marsden en Jim Carrey te zien, en verlenen onder andere Ben Schwartz, Keanu Reeves en Idris Elba hun stemmen aan computergeanimeerde personages.

▼ Volgende artikel
Alles over Tomb Raider: The Legacy of Atlantis, Catalyst en de aankomende serie
© Crystal Dynamics
Huis

Alles over Tomb Raider: The Legacy of Atlantis, Catalyst en de aankomende serie

Eind 2025 kregen we eindelijk de langverwachte eerste beelden van Tomb Raiders toekomst te zien. Het was al een aantal jaren bekend dat Amazon de franchise met zowel een serie als nieuwe games wilde terugbrengen, maar hoe precies, dat was nog lang giswerk. Nu is bekend dat er maar liefst twee nieuwe games op stapel staan: Tomb Raider: The Legacy of Atlantis en Tomb Raider: Catalyst.

Releasedata van de nieuwe Tomb Raider-games

Tijdens The Game Awards in 2025 werd aangekondigd dat Tomb Raider: The Legacy of Atlantis (een remake van de allereerste Tomb Raider-game uit 1996) in 2026 moet verschijnen. Een geheel nieuwe Tomb Raider-game die zich later in de tijdlijn afspeelt is Catalyst, de game die in 2027 moet verschijnen. Beide spellen komen uit op de PlayStation 5, Xbox Series X en S en pc.

Beide titels worden ontwikkeld door Crystal Dynamics, dat eerder Tomb Raider uit 2013 en Rise of the Tomb Raider uit 2015 maakte. Ook hielp de studio mede-ontwikkelaar Eidos Montréal met de productie van Shadow of the Tomb Raider (2018). De studio Flying Wild Hog (Shadow Warrior, Trek to Yomi) ondersteunt de ontwikkeling van Tomb Raider: The Legacy of Atlantis.

Allemaal in één tijdlijn

Met dit nieuwe Tomb Raider-tijdperk willen Amazon en ontwikkelaar Crystal Dynamics harder dan ooit inzetten op de eenduidige tijdlijn van de franchise. In de allereerste Tomb Raider-game uit 1996 was Lara Croft al een geharde avonturier, en in 2012 begon Crystal Dynamics met het vertellen van haar 'oorsprongsverhaal'. De zogenaamde Survivor-trilogie omvat de games Tomb Raider (2013), Rise of the Tomb Raider (2015) en Shadow of the Tomb Raider (2018), die samen laten zien hoe Lara steeds meer in die rol van de geharde bad-ass groeit.

©Crystal Dynamics

De bedoeling is in principe altijd geweest dat de Survivor-trilogie een voorloper vormt op de originele games, al werd daar nog vaak over gediscussieerd door fans. Sommigen vinden bijvoorbeeld dat de sfeer van de modernere games niet goed overeenkomt met de originele titels. Desalniettemin gaat Amazon door met het plan, zo werd al aangekondigd in 2021, waar in een speciale video het volgende werd gezegd over de aankomende Tomb Raider-game:

"Het bevat alle elementen die de Tomb Raider-reeks een van de meest geprezen franchises in gaming heeft gemaakt. Spelers besturen een zelfverzekerde en multidimensionale heldin in een omgeving waarin verkenning en creatief routes vinden wordt beloond. Er zijn duizelingwekkende puzzels om op te lossen en er is een grote variatie aan vijanden om het tegen op te nemen."

©Crystal Dynamics

Tomb Raider: Legacy of Atlantis

Tomb Raider: The Legacy of Atlantis lijkt dit duidelijk te moeten maken. De game is dus een remake van het spel waar de franchise mee begon, met gemoderniseerde gameplay en visuals. Het verhaal rondom het krachtige artefact de Scion blijft intact, al gaat de verhaalvertelling in deze versie van het spel wat anders dan in 1996.

Dit biedt de ontwikkelaar ook genoeg kansen om het avontuur waar het voor Lara allemaal begon te koppelen aan de Survivor-delen, en dus het tijdperk tussen nieuw en oud te overbruggen. De dinosauriërs uit het origineel zijn dus nog gewoon aanwezig, al is dat nu met veren. Want we moeten wel rechtdoen aan de geschiedenis.

Watch on YouTube

Tomb Raider: Catalyst

Dus wat betekent dat voor Tomb Raider: Catalyst, de andere game die tijdens The Game Awards voor het eerst getoond werd? Catalyst is eigenlijk een soort schone lei voor Tomb Raider, met een verhaal dat zich na alle voorgaande games, boeken, comics en series - ja, daar komen we later nog op - afspeelt.

De voorgaande verhalen worden wel als 'canon' (lees: onderdeel van de geschiedenis in deze tijdlijn) beschouwd. Dat kunnen we opmaken uit de onthullingstrailer van het spel, waarin gerefereerd wordt aan de gebeurtenissen uit Tomb Raider (2013) en de eerste Tomb Raider-game - alsmede Legacy of Atlantis dus.

Watch on YouTube

Het spel speelt zich af in het noorden van India, in de nasleep van een cataclysmische gebeurtenis waardoor verschillende geheimen uit de geschiedenis plotseling geopenbaard zijn. Lara Croft en zo ongeveer iedere andere schattenjager in de wereld gaat dus op pad naar het gebied om de geheimen en rijkdommen van weleer te ontdekken. Aan Lara de taak om te zorgen dat de soms gevaarlijke mythische voorwerpen uit de verkeerde handen blijven, wat volgens de website voor een verhaal bomvol 'vertrouwen en verraad' zorgt.

De start van een trilogie?

Het is goed mogelijk dat Catalyst het eerste deel is van een gloednieuwe Tomb Raider-trilogie. In maart 2024 vond er bij het South by Southwest-filmfestival (SXSW) een panel plaats waarin (zo ontdekte het Tomb Raider fan-account Society of Raiders) Dimitri Johnson aan het woord kwam.

©Crystal Dynamics

Johnson, een producent van onder andere de eerste Sonic the Hedgehog-film, heeft een deal gesloten met Amazon Studios voor het ontwikkelen van televisieseries, onder andere romdom Tomb Raider. In het panel over transmedia - oftewel het gebruiken van een IP (intellectual property) via verschillende mediums, waaronder live-action films, series, animatie en games - zei hij het volgende:

"Er is een franchise waar we aan werken waar ik niet te diep op in kan gaan. En dit is een groot experiment voor ons - de studio's en het gamebedrijf waar we werken aan animatie, live-action films, live-action televisie en een trilogie aan games die gebouwd zijn in Unreal 5. Daarbij kijken we naar een manier om de assets die voor de game gebruikt worden toe te passen om de productie van de live-action producties te ondersteunen."

©Amazon

De precieze franchise waar het om gaat wordt niet genoemd, maar gezien zijn betrokkenheid bij de live-action serie valt aan te nemen dat het om Tomb Raider gaat. Hij heeft dus mogelijk bevestigd dat Cataclysm het startschot is van een nieuwe Tomb Raider-trilogie.

Amazon en Crystal Dynamics lijken hier ook naar te hinten met de trailer van het spel. Na een lange monoloog van een antagonist over hoe de 'legende van Lara Croft tot een einde moet komen' stelt de avonturier zelf dat ze nog maar net begonnen is. Dat kan uiteraard een knipoog zijn naar haar langverwachte terugkeer, maar het lijkt erop dat Amazon hard op Tomb Raider gaat inzetten.

©Crystal Dynamics

De stem van Lara Croft

In de nieuwe games krijgt Lara een nieuwe stemactrice. Alix Wilton Regan - bekend van rollen in Mass Effect 3, Cyberpunk 2077 en Assassin's Creed: Origins - gaat het stokje overnemen van Camilla Luddington, die het personage vertolkte in de Survivor-trilogie. Na de aankondiging dat Regan de rol op zich gaat nemen, plaatste Luddington een emotioneel bericht op haar Instagram-account:

"Ik wil jullie laten weten dat ik van de fans heb gehouden. Het was een ongelooflijke eer om Lara Croft te spelen en ze blijft altijd onderdeel van mij uitmaken. De Survivor-trilogie bood mij een decennium aan avontuur dat ik nooit ga vergeten. Ik kan niet trotser zijn op wat we hebben gecreëerd. Zoals altijd ontvangt de nieuwe actrice een ongelooflijke gift door in haar laarzen te mogen stappen."

View post on Instagram
 

Gameplay van de nieuwe Tomb Raider

Van Legacy of Atlantis hebben we al wat gameplay - mogelijk gemaakt door Unreal Engine 5 - kunnen zien met de onthullingstrailer. Daaruit blijkt dat Lara net zo acrobatisch is als in de oorspronkelijke PlayStation-games - iets wat in de Survivor-trilogie minder aan bod kwam. In de trailer zien we in ieder geval dat Lara zich niet simpelweg omhoog drukt tijdens het klimmen, maar haar iconische 'cirkelmethode' nog altijd onder de knie heeft. Verder zijn er beelden te zien van het klimmen, een puzzel en de valstrikken die je in de verschillende tombes te wachten staan. Ook kregen we een glimp van de gunplay in het spel. Lara heeft haar twee vertrouwde pistolen, en kan die al ontwijkend en springend loslaten op dinosauriërs.

Van Catalyst is nog geen gameplay getoond, al onthult de cinematische trailer mogelijk wel een paar gameplaymogelijkheden. Denk aan de grijphaak die Lara op Spider-Man-achtige wijze aan haar pols heeft hangen, en die ze schijnbaar ook tijdens gevechten kan inzetten om vijanden af te leiden of uit te schakelen. Ook zien we haar een lamp kapotschieten om voor verwarring te zorgen, en daar een voordeel uit halen. Wellicht wordt de combat en stealth dus wel uitgebreid met mechanieken rondom lichtinval. Veel meer is er nog niet op te maken, al zijn er in de afgelopen jaren wellicht al een paar details naar buiten gekomen.

©Crystal Dynamics

Eerdere geruchten

Deze nieuwe Tomb Raider-games zijn al jaren in ontwikkeling, en er zijn in die tijd ook een flink aantal geruchten opgedoken rondom Catalyst. Niets is bevestigd, dus houd een korreltje zout bij de hand.

Het is de insider V Scooper en journalist Gregory Felipe namelijk ter ore gekomen dat de nieuwe Tomb Raider-game een soort Ubisoft-achtige open wereld-game betreft. V Scooper deelde eerder ook al details over het verhaal van Catalyst, die op basis van de onthulling goed overeenkomen.

Volgens V Scooper heeft Lara naast 'gebruikelijke Lara bewegingsmethodes' toegang tot een motor en parachute om zich door het noorden van India te begeven. Daarbij hint hij naar verschillende confrontaties met dieren als luiaarden en tijgers in gebieden als jungles, bergen en woestijnen.

©Crystal Dynamics

Felipe had het voor die berichten ook al over een motor waarmee Lara zich door de map kan verplaatsen. Daarbij had hij het ook over companions met unieke vaardigheden, en dat er bekende personages uit de vorige game terugkeren.

Het spel bevat volgens Felipe vijf Far Cry-achtige vijanden, die volgens hem bestaan uit de stereotiepe rijke man, een misdaadbaas en een duo van twee broers. Lara zelf zou daarbij toegang krijgen tot een skilltree met magische skills. Nogmaals: dit zijn allemaal geruchten. Geen van deze gameplayelementen is tot nu toe bevestigd en er kan in de tijd sinds de rapportage van alles veranderd zijn.

©Crystal Dynamics

De Tomb Raider-serie met Sophie Turner

Tomb Raider en Lara Croft zijn uiteraard game-iconen, maar de franchise is al geruime tijd ook onderdeel van het Hollywoodlandschap. In 2001 en 2003 kwamen respectievelijk de films Lara Croft: Tomb Raider en Lara Croft: Tomb Raider - The Cradle of Life uit. Ondanks de sterrenkracht van Angelina Jolie als Lara Croft waren de films niet bijster succesvol, dus het duurde tot 2018 totdat Lara weer op het witte doek verscheen. Ook met Alicia Vikander in de hoofdrol wist Tomb Raider niet veel indruk te maken als film.

Enfin, we geven niet op. In 2024 kwam Netflix met de animatieserie Tomb Raider: The Legend of Lara Croft - waarvan een tweede en laatste seizoen in 2025 verscheen. Deze serie volgt Lara Croft na de Shadow of the Tomb Raider-game, en overbrugt dus het tijdperk van de Survivor-trilogie en de originele games. Helaas werd ook de animatieserie niet bijster goed ontvangen. Een prima tussendoortje, maar niets om over naar huis te schrijven.

©Netflix

Maar Hollywood - en specifiek Amazon in dit geval - weet niet van ophouden. Er wordt namelijk ook al sinds eind 2023 gewerkt aan een live-action Tomb Raider-serie door Fleabag-maker Phoebe Waller-Bridge, die op een nog onbekend moment op Amazon Prime Video verschijnt. Het heeft even mogen duren voordat de serie in productie ging, maar begin 2026 was het eindelijk zover. In februari kwamen de eerste setfoto's van de serie naar buiten.

Daarbij werd ook bekendgemaakt dat Sophie Turner (van Game of Thrones- en X-Men-faam) de rol van de iconische avonturier op zich neemt. Ze wordt vergezeld door onder anderen Martin Bobb-Semple als Lara's compagnon Zip, Alien-actrice Sigourney Weaver als Evelyn Wallis, Harry Potter-ster Jason Isaacs als Atlas DeMornay en Bill Paterson (Fleabag) als Winston - Lara's butler. Het is nog niet geheel duidelijk hoe de live-action serie in de Tomb Raider-tijdlijn past, en details over het verhaal zijn momenteel nog schaars. Zodra er meer duidelijkheid is, lees je dat uiteraard in dit overzicht.