Levels & Tiles

 

Gezochte resultaat

Van makkelijk naar moeilijker (Eindprodukten zijn content waar we uiteindelijk naar streven, dat wat het spel gebruikt, de rest zijn maar tussenstadia):

 

Opzet

Het gros van het spel wordt gespeeld in de verschillende levels. Eerst wou ik een redelijk vrije structuur opleggen van

Intro-level > 1 Easy-level > 1 Hard-level (als geopend door Easy-level) > Final-level

Hierbij is een belangrijk gegeven dat in elk level het wapen van de eindbaas gekregen kan worden door hem te verslaan, en dat elk wapen sterk is (en zwak?) tegen bepaalde types van vijanden en bazen. Dus de keuze die je maakt bepaalt het tactisch verloop van het spel.

3 levels is eigenlijk wreed weinig voor een volledig spel, dus nu denk ik erover om de spelers eerst volgens eigen keuze de Easy-levels te doen, daarna openen de Hard-levels, en als die uitgespeeld zijn komt de laatste uitdaging.

In ieder geval, de speler kan altijd vorige levels opnieuw bezoeken (uitgezonderd de intro-level) omdat nieuw verworven wapens bepaalde gebieden kunnen ontsluiten in die oude levels, waar nieuwe power-ups gevonden kunnen worden.

 

Sfeer

Op naar het ontwerpen van die levels...
Het idee is dat elke level een specifieke sfeer bezit, een bepaald gevoel oproept dat die level uniek maakt t.o.v. de rest.
Bijvoorbeeld

En dan zijn er nog twee levels over: eentje in de Easy en in de Hard, maar ik heb nog geen origineel idee gevonden met een bijpassende sfeer, dat voldoende contrasteert tegen de overige levels. Dus als je inspiratie hebt..!

 

Technische details

Elke level is tile-based, hij bestaat dus uit kleine stukjes bitmap die aan elkaar gepuzzeld worden. Hiervoor maak een gebruik van de prima map-editor Mappy, goed voorzien van documentatie. Let er op dat je de FMP versie 1.0 (niet RLE, de gewone) kiest bij het maken van een nieuwe map, die geeft namelijk meer mogelijkheden.

Ik werk met een resolutie van 800*600 pixels en met 32*32 vierkante tiles op een kleurdiepte van 16bits (hi-color). Aangezien er enkel van boven naar beneden gescrolled wordt (het is een algemeen feit dat verticaal scrollende shoot 'em-ups 1.6% leuker zijn dan hun horizontale broertjes ^_^) hoeven de tegels nooit breder te zijn dan het scherm. De breedte van het scherm is 800pixels, de tegels 32 pixels: hierdoor kunnen exact 25 regels naast elkaar in een map, en dat is Goed™. De hoogte van de map hangt uiteraard af van de lengte van de level. Een level die veel vijandjes heeft, of veel kronkelende gangen zal korter zijn de een lange open level. Ik schat op zo'n 200 à 1000 tegels in de lengte, maar ik heb nog geen praktische ervaring hiermee.

Zie fotooke voor de correcte instellingen van een nieuwe map (hoogte kan verschillen dus).

De tegels kunnen geïm- en exporteerd worden naar en van de Mappy-editor, en zo bewerkt in een grafisch programma zoals Photoshop. Wat ik ook doe in Photoshop is in de Preferences > Grids and Guides mijn grid grootte instellen op 32pixels, zodat mijn tiles mooi omlijnd worden. Let wel dat je soms Snap to Grid afzet, anders kan je niet dicht bij de randen van dit Grid tekenen.
Wil je transparantheid, dan moet je gebruik maken van magisch roze (RGB: 255, 0, 255), en in de Mappy editor onder Tools > Range Edit > Auto-set Transparancy uitvoeren, die alle blokken met magisch roze gaat vlaggen voor doorzichtigheid. Maar in de docs staat dat beter uitgelegd.

Tegels maken is een kunst op zich. Zij moeten passen in de algemene sfeer van de level, nuttig zijn, aansluiten op andere tegels, maar toch monotoon genoeg zijn dat er niets opstaat dat hard uitsteekt als je hem veel gebruikt in de map. Maar luister liever naar de wijze raad van Tsugumo in So You Wanna Be A Pixel Artist?, boordevol killer-tips hierover, en ook over het tekenen van sprites.

Qua opbouw van de mappen voor de levels verdeel ik verschillende zaken verdelen over verschillene layers. Ik doe het zo:

Natuurlijk kan het zijn dat je soms bepaalde lagen niet nodig hebt (bvb maar een laag parallax bruikbaar of zo). Hoe ik dat dan ga oplossen weet ik nog niet, maar door die lagen al te voorzien, kan je nooit verkeerd zitten.
Maak je geen zorgen, ik heb een TestMap-programmaatje waarmee je dat allemaal in 5 seconden kan checken.

Ik heb al geleerd dat om je parallax laag correct te zetten, het dan voldoende is om pas vanaf de helft van de level die laag beginnen te tekenen. Deze scrollt toch 2x zo traag, dus je hoeft maar de helft te tekenen. Hier is een diagrammeke te verduidelijking: