Skip to content

Latest commit

 

History

History
162 lines (139 loc) · 9.25 KB

spelontwerp_2.md

File metadata and controls

162 lines (139 loc) · 9.25 KB
                      S P E L O N T W E R P   2 ? 
                                                   
      
      Ongeveer een  week na het uitbrengen van een Sunrise Special 
      breekt  bij ons  thuis de  hel los.  De brievenbus heeft dan 
      plotseling last  van chronische indigestie. Zozeer zelfs dat 
      de  postbode speciaal  met de wagen langs komt om de fanmail 
      in bulk  af te  leveren. Nog  dramatischer zijn de taferelen 
      bij  onze onrechtmatig  gedigitaliseerde hoofdredacteur. Bij 
      hem  wordt   de  fanmail  op  dergelijke  dagen  op  pallets 
      aangeleverd.  Dit nadat een dozijn postbodes hernia's hebben 
      opgelopen bij  het afleveren  van postzakken lofbetuigingen. 
      Bij  deze wil  ik (ook  namens Kasper) al mijn fans bedanken 
      voor de  vage bijschriften op mijn girorekening alsmede voor 
      de    overvloedige   huwelijksaanzoeken??    [Nvdr.   Zoveel 
      vrouwelijke of (XOR) homofiele MSX'ers zijn er toch niet?]
      
      U ziet,  enig cynisme  is ons  niet vreemd.  Zelden of nooit 
      komt   er  ook  maar  ��n  letter  commentaar  (positief  of 
      negatief)   op   de   door   ons   gegenereerde   technische 
      computerromans. Je  hebt meer  kans dat je met je ogen dicht 
      intelligent  leven in  de ruimte ontdekt dan dat er ook maar 
      een vleugje van een reactie waar te nemen is na de produktie 
      van een SRS.
      
      Schertste daarom ook mijn verbazing toen ik een poos geleden 
      plotseling wel  enthousiaste mensen  op mijn  stoep vond die 
      graag  wilden dat  ik meer  over een  bepaald onderwerp  zou 
      schrijven. Het  ging daarbij over een vermeende serie die ik 
      zou gaan maken met als thema: "het ontwerpen van een spel".
      
      Dat onderwerp had ik in een opwelling eens bedacht, en onder 
      het  motto 'It  seemed like  a good idea at the time' ben ik 
      toen als  een bezetene  aan een  20 delige  cursus begonnen. 
      Veel verder dan deel 1 ben ik echter nooit gekomen. De reden 
      daarvoor  was dat  alhoewel ik  me wel  een voorstelling kon 
      maken over  hoe je  zoiets aanpakt  ik er  nog geen serieuze 
      praktijkervaring  in had.  Feitelijk stond  ik jullie dus de 
      les te  leren over  een onderwerp  waar ik zelf niets van af 
      wist.  Zelfs ik begrijp dat zoiets voorbestemd is om fout te 
      gaan en  daarom heb  ik toen besloten om met die onzin op te 
      houden.
      
      Heden  doet zich  echter de situatie voor dat die praktische 
      kennis wel aanwezig is. Door de dramatische reakties op mijn 
      eerste  poging  leek  het  me  toch  een  goed  idee om  het 
      verdronken  kalf   uit  de   gedempte  put   te  graven.  In 
      tegenstelling    tot    de    vorige   keer    zullen   deze 
      softwaretechnische  verhandelingen zich  in eerste instantie 
      niet expliciet  op het  ontwerpen van een spel richten, maar 
      meer   op  randvoorwaarden   die  van  belang  zijn  bij  de 
      totstandkoming van  een groot software projekt. Indien ik de 
      maanden  die zullen  komen niet  aan een  terminale situatie 
      onderworpen zal  worden beloof  ik plechtig om mijn uiterste 
      best  te  doen  om  een  aantal  samenhangende  artikelen te 
      schrijven.
      
      
         W A T   G A A N   W E   D O E N   E N   W A A R O M ? 
      
      Wat ik  wil doen  is het behandelen van een aantal problemen 
      die  bij ELK  groot software  projekt aan de orde komen. Het 
      beste  voorbeeld  daarvan  is  bijvoorbeeld het  beheren (en 
      beheersen) van  data. Theoretisch  is het  zeer eenvoudig om 
      een  geheugen van  willekeurige grootte tot de nok te vullen 
      met relevante  data, maar praktisch kleven daar wat haken en 
      ogen  aan. Hoe  onthoud je  waar welke gegevens staan en hoe 
      zorg je  er voor  dat deze  gegevens elkaar  niet in  de weg 
      zitten. Ook moet je er voor zorgen dat de uiteenlopende data 
      op  het juiste moment op de juiste plaats aanwezig zijn, wat 
      dan  ook  nog met  conversieslagen gepaard  gaat (zoals  het 
      decrunchen van grafische data).
      
      Hopelijk zie  je al  dat de  te behandelen problematiek niet 
      van  toepassing is  op het  gemiddelde BASIC programma, maar 
      eerder  op  het soort  programma dat  minimaal 128  kB nodig 
      heeft om  te kunnen  werken. Waarom zou zo'n groot programma 
      meer   problemen  veroorzaken   dan  het   gemiddelde  BASIC 
      programma? Dat  heeft te  maken met het feit dat de door het 
      systeem  in  ROM  aangeboden  routines  voor  dataverwerking 
      plotseling  niet  meer  voldoende blijken.  In BASIC  kun je 
      vrolijk van legio voorgebakken commando's gebruik maken, die 
      dan  in assembly  plotseling niet  meer eenvoudig voorhanden 
      zijn.
      
      Samengevat  kun je  stellen dat  het nodig  is om  een eigen 
      'systeem' van  eigen voorgebakken  routines te  maken om een 
      groot  project in  assembly (of  elke andere  taal die  niet 
      BASIC heet)  te kunnen realiseren. Het door BASIC aangeboden 
      systeem is simpelweg niet langer bruikbaar.
      
      
      De (voorlopig) te behandelen onderwerpen zijn:
      
      - Opbouw van het eigen systeem
        o een standaard filesysteem en kennismaking met een aantal
          relevante programmeerstrategie�n.
        o programmeer- en ontwikkelomgevingen
          * keuze van en eisen aan de omgeving
          * mogelijkheden van een omgeving
          * algemene opbouw
        o geheugen management
        o interrupt management
        o opbouw van het geheugen
        o debugging
      
      Bij   de    behandeling   van    deze   onderwerpen   zullen 
      waarschijnlijk  geen  programma's  gegeven worden.  De reden 
      hiervoor  is dat  praktisch blijkt dat een te beperkt aantal 
      mensen dat als nuttig beschouwd.
      
      Mochten er nu mensen zijn die denken:  "Leuk,  maar  ik  zou
      graag ook wat over onderwerp  'X'  willen  weten",  dan  kan
      hij/zij dergelijke wensen bij de redactie  deponeren  waarna
      ik ze zal behandelen.
      
      De eerlijkheid  gebied me  te zeggen  dat we (= Fuzzy Logic) 
      reeds  beschikken over  een dergelijk  systeem. Dit  systeem 
      (F-KERNEL genaamd)  heeft een  aantal mogelijkheden  die het 
      uitermate  geschikt maakt om bijv. een RPG mee te maken. Het 
      systeem gaat  zo ver  dat op de BDOS na ALLE funkties van de 
      MSX-BIOS  zijn overgenomen.  Ik vermeld het maar even om aan 
      te  tonen  dat  ik  niet weer  uit mijn  nek sta  te zwammen 
      (alhoewel?)  [Nvdr.  Who  cares?  Nek-zwammen  kan  ook heel 
      interessant zijn!].
      
      
                            T O T   S L O T 
      
      H�t grote voordeel van zo'n eigen systeem is dat het (indien
      goed en doordacht ontworpen) herbruikbaar is voor van  alles
      en nog wat. Zodra je je eerste spel af hebt met zo'n systeem
      is het volgende  een  makkie  omdat  je  al  een  scala  van
      handige, snelle, ge�ntegreerde en bij de  gebruiker  bekende
      routines  hebt  die  veel  'dom'  werk  uit  handen   nemen.
      Natuurlijk  gaat  het  niet  alleen  om  spellen,  maar  ook
      utility's, muziekprogramma's en noem ze maar op  kunnen  met
      dergelijke  systemen  gemaakt  worden.   De   routines   die
      onderdeel maken  van  dat  systeem  moet  je  zien  als  een
      aanvulling op het  Operating  System  van  je  computer.  De
      routines die er in komen zijn de routines die JIJ  makkelijk
      in het gebruik vindt en die je vaak gebruikt. Samengevat kan
      je zeggen  dat een  vast eigen  systeem ervoor  zorgt dat je 
      voor elk project niet opnieuw het wiel hoeft uit te vinden.
      
      De ge�nteresseerden  kunnen hun  hart nu ophalen door deel 1 
      aan  een kritisch  onderzoek te  onderwerpen dat ook op deze 
      disk aanwezig  is. Bedenk echter wel dat geen commentaar van 
      de  buitenwereld  voor  mij betekent  dat er  blijkbaar geen 
      animo  voor  dit  onderwerp is.  Ik ben  voor veel  zaken te 
      porren,  maar lullen  tegen spreekwoordelijke  muren is daar 
      niet  een  onderdeel van.  (Gek toch  dat de  Special zoveel 
      leden heeft,  maar dat  die nooit wat van zich laten horen.) 
      Wat  ik persoonlijk erg leuk zou vinden is als bv. de makers 
      van  D.A.S.S.,  Giana Sisters,  Pumpkin Adventure  of andere 
      professionele spellen of andere soorten programma's ook eens 
      iets over  de door  hun gehanteerde  systemen zouden  willen 
      melden.
      
      Voor nu, veel plezier en keep on MSX'ing
      
                                                 Alex van der Wal