Spelcreatie met Löve2D

0

Heb je ooit de wens gehad om fantastische spelletjes te maken die jij en je vrienden kunnen opstarten en samen kunnen spelen?

Als je een aanzienlijke hoeveelheid tijd online hebt doorgebracht om de enorme hoeveelheid verschillende game engines te verkennen, dan weet je dat er een duizelingwekkende hoeveelheid is om uit te kiezen. Je hebt Godot, Phaser, libGDX, OGRE, Box2D, en een lange lijst van anderen.

Een kleine engine genaamd Löve2D, (technisch uitgesproken als ‘Lurve,’ maar laten we het simpel houden), heeft onlangs mijn aandacht getrokken, en ik zal je laten weten waarom.

Inhoudsopgave:
Wat is Löve en wat kan ik ermee doen?
Löve2D is een open-source game engine die zich uitsluitend bezighoudt met de ontwikkeling van 2D spellen voor de computer. Het maakt veel gebruik van de programmeertalen Lua en C++ als framework. Löve2D gebruikt dat raamwerk om leuke 2D-spelletjes te maken.

Het werd meer dan 10 jaar geleden ontwikkeld en heeft sindsdien meerdere updates uitgebracht. De eerste stabiele release, getiteld ‘Santa-Power’, werd uitgebracht op 13 januari 2008. De ontwikkelaars updaten Löve2D regelmatig, allemaal met grappige bijnamen om alle versies te onderscheiden: Salted Nuts, Baby Inspector, Super Toast, en Jiggly Juice.

Het wordt gepubliceerd onder de ‘zlib Licentie’, een licentie die extreem lichte beperkingen toelaat. In feite zijn er slechts drie belangrijke punten die de licentie benadrukt:

Het auteurschap van de originele software mag niet verkeerd worden weergegeven,
Gewijzigde bronversies mogen niet verkeerd worden voorgesteld als de originele software, en
De licentiemelding mag niet verwijderd worden van bronverdelingen.
Het belangrijkste is dat u spellen kunt maken met Löve2D.

Löve in actie
Kenmerken
Löve2D

Cross-platform
Löve2D is niet alleen gratis en open-source, maar het is ook cross-platform. Dit betekent dat spelers en ontwikkelaars van alle merken en systemen mee kunnen doen aan de spelontwikkeling. Zolang je kunt coderen in een van de twee verschillende talen (C++ en Lua), maak je in een mum van tijd Löve2D-spellen.

Deze platforms omvatten:

Windows
Mac
iOS
Android
Linux
Open Source en gratis
Deze game engine is volledig gratis, en je kunt er zelfs de broncode mee bewerken, met de voorwaarde dat je de code niet claimt als je eigen code, dus niet inhalig worden! Dit is een fantastische kans voor beginnende spelontwikkelaars en -coders om vooral te oefenen.

Hoewel het maken van spellen altijd voorop staat, kan de game engine je snel vertrouwd maken met de ins en outs van het coderen en programmeren van spellen en apparaten.

Beperkingen
Hoewel Löve2D een betrouwbare open-source engine is, zijn er enkele beperkingen. Spellen die cross-platform worden gebruikt, werken niet gegarandeerd tussen verschillende Löve2D-versies.

Waar is de kracht? Ik heb kracht nodig!
Misschien wel de meest opvallende beperking van Löve2D is het gebrek aan kracht. Löve2D bevindt zich qua kracht absoluut niet in hetzelfde universum als Unreal of Unity. Dit zou sommige spelontwikkelaars kunnen afschrikken die op zoek zijn naar een indrukwekkend spelproject om hun tijd mee door te brengen.

Vergeleken met andere engines zijn er niet zoveel modules om mee te experimenteren en te gebruiken. Dit beperkt de creativiteit en diversiteit, wat de mening van ontwikkelaars zou kunnen beïnvloeden.

GUI? Nooit van gehoord.
Ook is er geen enkele grafische interface voor Löve2D. Dit betekent dat er geen client is met een glimmende gebruikersinterface om te raadplegen. Je moet in staat zijn om code te lezen en te schrijven en de kale kern van de werking te zien.

Hoewel dit voor sommigen misschien geen belemmering is, kan het het spelmaakproces nodeloos langer maken dan nodig is. Voor beginnende spelontwikkelaars is dit een ongelukkige smet op een verder robuuste open-source engine.

Hoe zit het met 3D?
Oké, ik weet dat het misschien niet eerlijk is om dit als een beperking op te nemen, maar toch zullen sommigen nieuwsgierig zijn. De engine is strikt, en dan bedoel ik ook strikt 2D. 2D is zijn brood en boter, dus degenen die iets willen doen als een hybride tussen 2D en 3D ontwikkelen, of gewoon een volledige 3D-titel, hebben helaas pech.

Deze engine heeft niet de kracht die nodig is voor zo’n groot project.

LÖVE installeren
LÖVE2D installeren
Het installeren van de engine is eenvoudig en gratis. Je hebt ook opties, aangezien het cross-platform is. Laten we eens kijken hoe je Löve2D kunt downloaden.

Ga eerst naar de hoofdpagina van Löve2D. Ze hebben een goede beslissing genomen door alle downloadopties direct op de startpagina te zetten. Op deze pagina kunt u uw download kiezen op basis van het besturingssysteem dat u gebruikt.
Ik gebruik Windows. Ik zou klikken op de ’64-bit installer’. U hebt ook de keuze tussen downloaden als een installatieprogramma of als een gezipt bestand met alle toepasselijke bestanden in één map. Dat is aan u en uw voorkeur.
Nadat ik op het installatieprogramma heb geklikt, begint het te downloaden in mijn browser. Het zou bijna onmiddellijk moeten downloaden.
Na het openen van het gedownloade bestand, wordt u getrakteerd op een gids die u door de stappen van de installatie leidt.
Het raadt u aan alle andere toepassingen die u hebt draaien te sluiten voor optimale prestaties en om onnodige problemen te voorkomen.
Het geeft je een licentiepagina waar je op ‘Ik ga akkoord’ moet klikken, en maakt dan een C-schijf map aan voor alles wat met LÖVE te maken heeft. Klik op de volgende stappen, en het zou vrij snel klaar moeten zijn.
En daar heb je het. In minder dan twee minuten staat LÖVE op je systeem. Denk eraan, dit was enkel mijn persoonlijke Windows via Firefox ervaring.

Lua
Lua is één van de belangrijkste programmeertalen die Löve gebruikt, samen met C++. Lua is een sterke programmeertaal voor het maken van spellen.

Je kunt de basis van Lua leren via verschillende programmeer-tutorials die gratis worden gegeven door de Lua officiële site en andere wegen van onderzoek. De officiële site biedt code snippets om vertrouwd te raken met verschillende, eenvoudige aspecten van de codetaal.

Hier zijn enkele voorbeelden:

Als je tekst wilt tekenen:

functie love.draw()
love.graphics.print(“Hello World!”, 400, 300)
einde

Als je een afbeelding wilt tekenen:

functie love.load()
walvis = love.graphics.newImage(“walvis.png”)
einde
functie love.draw()
love.graphics.draw(walvis, 300, 200)
einde

Als je een geluid wilt afspelen:

functie love.load()
geluid = love.audio.newSource(“music.ogg”, “stream”)
love.audio.play(sound)
einde

LÖVE leren
Leren “hoe” je LÖVE gebruikt
Oké, nu we de engine geïnstalleerd hebben, zullen we nu de puntjes op de i zetten? Waar moet je beginnen? Welke functies moet je weten te gebruiken? Hier zijn enkele uitstekende tutorials voor elke beginner:

Handleidingen
De officiële tutorials voor game engines en dergelijke zijn altijd een fantastische optie voor beginners. Vaak zijn de makers en ontwikkelaars van de engine of het programma natuurlijk de beste bronnen.

Er is ook een keur aan andere tutorials van gepassioneerde ontwikkelaars die je een waardevol beeld kunnen geven van wat engines kunnen. Laten we eens een kijkje nemen.

Hoe te LÖVE
Er gaat niets boven een wiki. Hier hebben de ontwikkelaar en gebruikers van Love2D tonnen aan nuttige informatie voor gebruikers verzameld. De nuttigste tutorialserie is misschien wel de ‘Hoe moet ik LÖVE’ serie.

Deze geweldige stap-voor-stap gids brengt je in een mum van tijd van installatie tot het maken van platformers en collision detection properties.

Leren2liefde
Deze tutorial serie gemaakt door RVA Game Jams gaat een stap verder dan de meeste. Het leert je de basis van het programmeren in Lua en het ontwikkelen van games in de engine zelf. Een spannend onderdeel van deze tutorial is dat hij altijd in ontwikkeling is, net als de engine zelf.

Hier zijn de huidige secties van de tutorial:

Hoofdstuk 1 – Basiskennis programmeren
Hoofdstuk 2 – Kennismaking met LÖVE
Hoofdstuk 3 – Diepgaand programmeren (in ontwikkeling)
Hoofdstuk 4 – LÖVE in de diepte (nog te doen)
Als je ooit een spoedcursus informatica, Lua, en de game engine zelf wilt volgen, kun je voor mijn geld geen beter alternatief vinden.

CS50 (Harvard Universiteit)
Deze video is fascinerend voor al onze visuele leerlingen, omdat het kijkers en gebruikers leert PONG te maken met Lua en LÖVE. Het is ook een waardevolle inleiding tot de praktijk van spelontwikkeling.

In de video nemen de twee presentatoren, Colten Ogden en David Malan, van Harvard’s Division of Continuing Education, ons mee door de verschillende stappen van het coderen met Lua en de game engine.

Zorg voor wat snacks en je favoriete drankje, want je zit ongeveer anderhalf uur vast. Het is echter niet saai, dus maak je geen zorgen!

Dit is een introductiecursus, en ze gaan ervan uit dat je geen voorkennis hebt van informatica of programmeren, dus geen zorgen.

Dit is volgens mij de beste plaats om te beginnen, omdat het concepten en ideeën in game development introduceert die veel verder reiken dan de game engine zelf om de gebruiker een duidelijker beeld te geven van game development en technologie.

Veel andere tutorials richten zich op verschillende spelers en ontwikkelaarsstijlen, en je kunt er gemakkelijk een aantal vinden met eenvoudige zoekopdrachten.

Spellen gemaakt met Löve
Spellen gemaakt met Löve
Laten we eens kijken naar enkele spellen die met Löve2d zijn gemaakt.

.lazr.
Schieten
Mac, Windows, Linux
.lazr. is een gratis lokale multiplayer glitch-punk arena shooter voor jou en je vrienden. Het doet me denken aan een mix tussen Asteroids, Geometry Wars, met een vleugje Enter the Gungeon.
Aeternum Blammo
Kogelvrije Hel, Actie
Mac, Windows
Iedereen die bekend is met andere shoot ’em up games zoals Ikaruga, Galaga, Enter the Gungeon, en anderen zal zich thuis voelen bij dit spel gemaakt met behulp van Löve.
Arne’s Breakout
Puzzel
Mac, Android, Windows
Fans van het spel Brick zullen Arne’s Breakout onmiddellijk herkennen en er verliefd op worden. Het is een versie gemaakt in de open-source engine en heeft handgecodeerde graphics en physics, en een modus voor twee spelers.
Bomdodgers
Puzzel, Strategie
Mac, Windows, Linux
Bomberman spelers zullen deze titel onmiddellijk oppakken. Bomb Dodgers lijkt sterk op de spellen uit de Bomberman-serie. Je moet twee van de drie rondes met meerdere vijanden winnen om door te gaan naar de eindbaas. Als die verslagen is, ga je door naar de volgende levels.
GunFu Deadlands
Shooter
Deze retro-achtige shooter kondigt zichzelf aan als ‘Een 2D-shooter met Far West-thema en bullet time’. Wat heb je nog meer nodig? In een stadje in het wilde westen moet de speler vogelvrijen afweren. Het spel bevat zelfs een level editor.
Als dit jouw soort spellen zijn, die de tijd doden, creatieve spieren laten werken en je meer geïnteresseerd maken in het maken van open source spellen, dan is Löve2D misschien wel je eerste stap in de ontwikkelingswereld.

Als je geen scriptkiddie bent en het verschil tussen Java en Python niet kent, kan deze engine meer verwarring dan geluk veroorzaken. Maar als je een paar codetalen onder de knie hebt, zou dit wel eens een goede creatieve oplossing kunnen zijn.

Hoewel het waarschijnlijk niet de plek is waar je eindigt op je creatieve reis, is het geen slechte plek om te beginnen.

LEAVE A REPLY

Please enter your comment!
Please enter your name here