Atom Nieuws 2000 nr 2
../../../images/back.gif ../../../images/exit.gif ../../../images/forward.gif
pagina 10
Frutzen
Voorbeelden uit de praktijk

In 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.

sv10610640.gif             sv10610641.gif

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.

sv10610642.gif             sv10610643.gif

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.

sv10610644.gif

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.

sv10610645.gif

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 zo’n 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 zo’n 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 6502’s of Z80’s 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.

Programma’s:		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
../../../images/back.gif ../../../images/exit.gif ../../../images/forward.gif