Skip to content

Latest commit

 

History

History
95 lines (58 loc) · 4.47 KB

README.md

File metadata and controls

95 lines (58 loc) · 4.47 KB

p1xelHer0s spelsyltstips!

Tips och tricks inför Kodsnacks Tvåveckorssylt

Detta är en liten snabbguide med tips och tricks när du utvecklar ditt spel. Jag har tidigare lekt lite med LÖVE och Lua och tänkte därför dela med mig lite av mina erfarenheter (främst bibliotek som kan underlätta utvecklandet).


Table of Contents

Mitt Projekt 👾

Här är en länk till mitt nuvarande spel som jag tänkt återuppliva och vidareutveckla under spelsylten: love2d-platformer


Installera bibliotek 🛠

Jag själv kommer från JavaScript-världen och är van att installera saker via npm. Lua har något liknande vid namn LuaRocks men jag har själv inte använt det.

Oftast står det i README:n för biblioteket hur det ska installeras. Jag brukar oftast skapa en mapp i rooten av projeket vid namn lib. Där brukar jag sen antingen direkt kopiera lua-filen. Om inte det duger så brukar jag använda mig av Git Submodules.

En tl;dr av Submodules, jag vill installera paketet https://github.com/fake/paket till min mapp lib:

git submodule add https://github.com/fake/paket/ lib/

Nu ligger paketet i mappen lib under namnet paket. Du kan då importera paketet genom följade i din main.lua:

local paket = require('lib.paket')

Notera: paketet i fråga kan exportera andra moduler, då får själv kolla pathen du ska ange i require(...)!


Awesome-lista 😎

Ni alla har nog sätt liknande i andra ämnen, en "awesome-lista". Här hittar man det mesta, om inte mina förslag duger, titta här!


Förslag à la p1xelHer0

Nice2Have 💆‍♀️

Generalla bibliotek som underlättar utvecklande! (Det verkar som att allt rxi gör är fantastiskt!)

  • Lovebird - Browser-baserad debugkonsol.
  • Lume - massvis med små hjälpfunktioner som underlättar spelutveckling.
  • Lurker - "hotswap":a Lua-filer när dom sparas. Behöver Lume för att fungera!
  • hump - Hjälpklasser för spelutveckling, tänk vector, timer, camera med mera. Jag har själv använt hump.vector och hump.timer.

Fysik 🤼‍♀️

Bibliotek för att lägga till fysik i ditt spel, tänk er kollisionshantering.

  • bump.lua - Kollisionsbibliotek för AABB (axis-aligned bounding box), delvis endast för rektanglar! Föredra detta om du endast jobbar med just rektanglar.
  • Hadron Collider - Kollisionbibliotek för punkter, cirklar och polygoner. Komplexare än bump.lua.
  • love.physics - Medflöljer i LÖVE, bindings till Box2D.

Skapa banor 🗺

Verktyg som hjälper dig att skapa banor till ditt spel

  • Tiled - Program utanför spelet som hjälper dig att skapa så kallade Tilemaps, banor indelade i kvadrater. Perfekt för att snabbt kunna iterera.
  • STI - Bibliotek för att skapa banor i LÖVE utfrån exporter ifrån Tiled.

Annat 🤷‍♀️

  • scrale.lua - Litet bibliotek för att hantera skalning av pixelart till olika skärmar.

Overkill, men kul, Entity Component System 🔥

Bibliotek som får dig att slösa tid på att skriva kod istället för att göra spel, men vill man lära sig om ECS, som kanske främst användes i större spel skriva i typade språk kan det vara roligt...! Jag har själv använt HooECS i mitt projekt.

Biblioteken skiljer sig lite, men konceptet ECS är desamma!