Frutzen
Voorbeelden uit de praktijkIn jaargang 17
nummer 2 heeft Leendert Bijnagte eens een stukje geschreven over het
begrip Frutzen. Het klonk toen al bekent in de oren maar
nu wil ik dit begrip eens toelichten met wat voorbeelden uit de
praktijk. De voorbeelden die gekozen zijn, zijn weliswaar oud maar
toch nog steeds leuk. De meeste ideeën zijn ontstaan tijdens het
testen of programmeren van een of ander spelprogramma of
sprite-engine of grafische test.
Frutzel 1, Smurf:Gedachte:
Bij een kennis had ik lang geleden op zijn commodore 64 een spel met smurfen gezien.
Je moest een veld van links naar rechts doorlopen en kwam dan in het
volgende veld. Het idee sprak me wel aan en ik heb toen een aanzet
gemaakt voor een dergelijk spel op de Atom.
Spelconcept:De sprite-engine
is in assembler geschreven en het poppetje kan naar links, naar
rechts bewegen en springen. Het appeltje scrollt met een constante
snelheid van links naar rechts over het scherm. Het is de bedoeling
dat het appeltje d.m.v. springen geplukt wordt. Onderstaande schermen
zijn het resultaat van deze frutzel.
Status:
- Sprite engine werkt. Er zit nog geen athit routine in die
detecteerd of b.v. de appel geraakt wordt,
- Spel concept moet verder uitgewerkt worden,
- Sprite voor een smurf is ontwikkeld maar moet nog uitgebreid met sprites
voor diverse objecten die te pakken of te ontwijken zijn bedacht
worden,
- Geen score aanwezig,
- Huidige
veld is enigste, er moeten er nog meer bedacht worden.
Frutzel 2, Karate:Gedachte:
Ik heb vroeger
ook nog eens een MSX gehad en daarop waren diverse karate-spellen te
spelen. Ook op de BBC en andere computers waren dergelijke spellen
verkrijgbaar zoals :
Yie-Ar-Kung Fu en Karate Combat. Het spelidee is dan om de tegenstander te verslaan
door elkaar te raken. Om meteen al een spel te bedenken waar 2
poppotjes tegen elkaar vechten leek me erg moeilijk omdat men dan
altijd met 2 personen moet spelen of er moet een automatische
piloot routine ingebouwd worden voor 1 poppetje. Daarom had ik
een soort behendigheidstest voor een poppetje bedacht waaruit de
volgende frutzel ontstaan is.
Spelconcept:
Een poppetje kan
van links naar rechts over het scherm bewegen. Hij kan slaan en
schoppen. De bedoeling is om de vallende messen weg te slaan of om
zodanig tegen de messen te schoppen dat deze weer omhoog vliegen.
Hiervoor verkrijgt men punten. Wanneer je door een mes geraakt wordt,
zal de energiebalk korter worden. Het spel stopt als de energie op
is. Het spel is geheel in Basic met GAGS-statements geschreven.
Onderstaande schermen geven een indruk van deze frutzel.
Status:
- Sprite engine werkt en is in Basic met GAGS-statements geschreven. Een
Athit-routine is ingebouwd en werkt voor zowel schoppen
als slaan,
- Spel concept moet verder uitgewerkt worden. Hoeveel schermen moeten er
doorlopen worden en wat is het doel in elk scherm,
- De score werkt gedeeltelijk en moet nog uitgebreid worden,
- De energiebalk werkt nog niet goed en was in testfase toen ik gestopt
ben met het programma,
- Er moeten nog meerdere schermen ontwikkeld worden,
- Er moet een moeilijkheidsgraad ingebouwd worden als men verder in het spel komt.
Frutzel
3, Kip:Gedachte:
Bij dezelfde
kennis als in frutzel 1, had ik lang geleden op zijn commodore 64 een
spel met vallende eieren en een kip gezien.
Spelconcept:Het spelidee was
vrij simpel: je moet een mandje besturen om de eieren op te vangen,
net zolang totdat het mandje gevuld is. Hoeveel eieren er in het
mandje zitten, is te zien aan de balk onderin beeld. Wanneer het
mandje vol is komen er meer kippen bij en als de stok vol is komt er
onder de huidige rij kippen een extra rij bij welke lager geplaatst
is dan de vorige. De moeilijkheidsgraad neemt hierdoor automatisch
toe wanneer men verder komt omdat men steeds minder tijd heeft om op
tijd de eieren te vangen. Wanneer er drie eieren gemist worden
verdwijnt er een mandje. Onderstaande schermen zijn het resultaat van
deze frutzel.
Status:Het gehele spel is af!!!!
Frutzel 4, Hunchback:Gedachte:
Hunchback was een
spel wat op bijna elke computer te krijgen was, zelfs voor de Atom is
ooit een Belgische versie verschenen. Ik ben eens bezig geweest om
een nieuwe versie voor de Atom te maken welke uiteindelijk weer tot
frutzel gedegradeerd is. Het spel is geheel in Basic met
GAGS-statements geschreven.
Spelconcept:
Het spelidee is
simpel, probeer van links naar rechts over een kasteelmuur te lopen
zonder kleerscheuren. De eerste 2 schermen werken redelijk maar met
het scherm waarin het touw slingert, is alles opgehouden.
Onderstaande schermen geven een impressie van het resultaat.
Status:
- Sprite engine werkt gedeeltelijk, geen grond onder de voeten wordt nog niet goed gedetecteerd,
- Spel concept moet verder uitgewerkt worden,
- Score werkt,
- Er moeten nog meerdere velden ontwikkeld worden,
- Moeilijkheidsgraad moet toenemen bij elk scherm,
- Spel is eigelijk net iets te traag.
Frutzel 5, Bugs Bunny:Gedachte:
In heb van
internet een tijd geleden een Gameboy emulator gedownload en op mijn
PC geïnstalleerd. Deze werkte perfect en toen ben ik gaan zoeken
naar ROMS voor de Gameboy welke er diverse op internet rondzwerven.
Een van de spelletjes die ik tegenkwam was Bugs Bunny, een platform
spel. De sprites zagen er vrij eenvoudig uit en deze heb ik via
PrintScreen in Paint bekeken. Het waren allemaal figuren van 16x24
pixels wat precies overeenkomt met 3 GAGS-sprites. Na enkele sprites
over te hebben gezet naar GAGS-data ben ik begonnen met de
sprite-engine. Het idee was eigenlijk om een conversie programma te
maken welke van Gameboy-sprite, GAGS-sprites maakt.
Spelconcept:
Het doel van het
spel is om alle wortels uit het scherm op te pakken waardoor je
automatisch in het volgende scherm terecht komt. In het scherm lopen
ook andere figuren die je moet ontwijken. Ook bevinden zich in het
scherm deuren waardoor je naar een ander gedeelte van het scherm gaat
of vice versa. Het spel is nog niet ver uitgewerkt, alleen Bugs Bunny
is te verplaatsen en de wortel zweeft met een constante snelheid over
het scherm.
Status:
- Sprite engine werkt gedeeltelijk, Bugs kan naar links en rechts bewegen.
Een etage naar boven gaat ook maar nu nog op elke plaats op het
scherm. Een routine om b.v. de wortel constant te laten bewegen is
ingebouwd maar moet nog verfijnt worden,
- Spel concept moet verder uitgewerkt worden,
- Er moeten nog meerder sprites ontwikkelt worden voor de diverse figuren
welke in het spel verschijnen. Ook moeten er nog een aantal sprites
gemaakt worden voor de voorwerpen die te verschuiven of te pakken zijn,
- Er is nog geen score ingebouwd,
- Er moeten nog meerdere velden uitgedacht worden,
- De sprite-engine moet uiteindelijk in assembler geschreven worden.
Frutzel 6, Mr Wiz:
Gedachte:In
heb van internet ook eens de emulator MAME (Multi Arcade Machine
Emulator) gedownload (www.vintagegaming.com). Dit is een prachtig
programma welke de originele speelhal computers emuleert, zelfs
geldinworp wordt geemuleerd (nu een toets). De source van het
programma is voor iedereen te downloaden en aan te passen, hierdoor
ontwikkelt zich zon programma zeer snel. Wanneer het iemand
weer gelukt is om een nieuwe machine te emuleren zijn er meteen een
aantal spellen beschikbaar. Dit komt omdat er meestal meerdere
spellen voor dezelfde speelhal machine uitgekomen zijn. Op dit moment
kan men zon 1600 originele spellen downloaden en spelen waarbij
de oldies zoals Donkey Kong, Pacman en Pengo niet ontbreken. De aller
oudste speelhal machines hadden nog een of meerder 6502s of
Z80s als processor en de spellen waren dan ook niet groter dan
30-60 kB. De moderne spellen kunnen al gauw oplopen tot enkele
megabytes en bevatten dan ook zeer grote, gedetailleerde sprites en
achtergronden.
Het
mooie van MAME is dat men de sprites van een spel kan bekijken door
op F4 te drukken en dan valt op dat de oudere spellen meestal sprites
van 16x16 pixels in 16 of meer kleuren hebben. Ook fonts zijn terug
te vinden als blokjes van 8x8 pixels (zie veel van de Atomic Windows
fonts). Het idee ontstond om een programma te maken die sprites van
16x16 pixels gebruikt omdat de Atomic Windows iconen ook 16x16 pixels
zijn. Men kan dan de IconMaker gebruiken om sprites te ontwerpen. Ook
kan men gebruik maken de Atomic Windows fonts omdat deze ook 8x8
pixels zijn en vrij eenvoudig op te roepen of te wijzigen,
FontEditor.
Spelconcept:
De
opzet was om een universele game-engine te maken die d.m.v. het
vastleggen van bepaalde regels de gang van het spel bepaalt. Deze
regels bestaan uit het vastleggen wat er moet gebeuren bij het botsen
van 2 sprites, wat de bewegingen van de sprites zijn en hoe deze zich
automatisch voortbewegen. Als eerste aanzet ben ik begonnen om het
spel Mr Wiz om te zetten naar bovenstaande structuur. Mr Wiz is een
spel waarbij men alle kersen van het scherm op moet pakken om in het
volgende level te komen. Dit is natuurlijk veel te eenvoudig en je
wordt hierdoor gehinderd door een 4-tal monsters die je achtervolgen.
De monsters kunnen alleen op de witte velden lopen en deze worden
uitgebreid wanneer Mr Wiz door de arcering naar de kersen loopt. In
het originele spel liggen her en der appels verspreid welke je op de
monsters kunt duwen waardoor deze even verdwijnen. Ook zijn er een
aantal bonus letters (B, O, N, U en S) welke door het spel lopen en
extra punten opleveren. Je kunt dit spel downloaden van de site
www.emuviews.com/romslite waar ook nog ca. 1599 andere spellen staan
met diverse schermafdrukken. Mr Wiz is ook voor de BBC en MSX
uitgekomen en behoort net als Donkey Kong en Pacman tot de
klassiekers.
Gebaseerd
op dit spelconcept zijn er nog vele spellen gemaakt, kijk maar eens
op bovenstaande site.
Ik
ga deze frutzel nog eens verder uitwerken tot een programma, maar
eerst moet ik alles eens op een rijtje zetten en een goede structuur
bedenken voor de diverse onderdelen in het spel.
De
eerste frutzel van de game-engine is een Atomic Windows opbouw van
het scherm, gebruik makend van de AW iconen en font, om te zien hoe
een en ander er uitziet. Hieronder een schermafdruk met wat details
van de gebruikte sprites.
Zo, tot zo ver een aantal frutzels uit mijn archief. Om alles af te maken
moet er nog veel geprogrammeerd worden en misschien gebeurt dit ook
nog wel. Ik vindt het in ieder geval leuk om grafisch wat te proberen
met de Atom omdat er best veel mogelijk is. Wanneer ik meestal iets
aan het uitproberen ben ontstaat spontaan het idee om iets anders te
maken, ik denk dat dit bij de meeste wel bekent in de oren klinkt.
Tot slot nog een schermafdruk van een programma met stuiterende
ballen wat ook eerder al gepubliceerd is en ook ontstaan is door het
testen van een sprite-engine.
Programmas: BALLEN , Sprite-engine met stuiterende ballen
(op de regioschijf) DATA , Sprite data voor BALLEN
JOY , Achtergrondscherm voor BALLEN
KIP , Spelletje voor joystick
(3->links, G->rechts)
Groeten en tot de volgende keer
Kees van Oss