MSX shoot'em ups data structure... (Development MSX Fora)MSX Resource Center PassionMSX MSX2 contest           
            
English Nederlands Español Português Russian         
 Nieuws
   Voorpagina
  Nieuws archief
  Nieuws onderwerpen

 Informatie
   MSX Fora
  Artikelen
  Recensies
  Beursverslagen
  Fotoreportages
  Beurzen en meetings
  Enquêtes
  Links
  Zoek

 Software
   Downloads
  Webshop

 MRC
   Wie we zijn
  Kom bij ons team
  Doneren
  Policies
  Contact met het MRC
  Link naar Ons
  Statistieken

 Zoek
 
  

  

 Login
 

Gebruikersnaam

Wachtwoord




Ben je nog niet lid? Klik hier en word MSX vriend!


 Statistieken
 

Er zijn 113 gasten en 4 MSX vrienden online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Development - MSX shoot'em ups data structure...

Schrijver

MSX shoot'em ups data structure...

LeandroCorreia
msx addict
Berichten: 449
Geplaatst: 10 Juni 2005, 20:19   
I was wondering... How do MSX 32 Kbytes games can handle those HUGE sceneries and enemy attributes (such as enemy type, where do they appear, etc)?

Take for instance games like Anaza Kaleidoscope Special or Star Soldier. Most probably these games have small chunks of scenery that they keep repeating over and over. The scene data is probably compressed in some way... But how about Zanac?

And anyone has any information about how these games define where in the scenery each enemy will appear?

Thanks in advance,
Leandro Correia.
ARTRAG
msx master
Berichten: 1592
Geplaatst: 10 Juni 2005, 20:25   
One possibility is using LRE or other simple compression tecniques,

or using random sceneries and enimy positions in congiunction
with clever rules for posing large building blocks or enemy patterns.

Actually once you choice a generator of random numbers and you
initialize it in a suitable way, you get always the same sequence
of numbers.

This, using good roules, gives huge scenaries at no memory cost.
(you need to set up the rules bytheway...)





marison
msx lover
Berichten: 98
Geplaatst: 11 Juni 2005, 03:03   
Quote:

Actually once you choice a generator of random numbers and you
initialize it in a suitable way, you get always the same sequence
of numbers.

This, using good roules, gives huge scenaries at no memory cost.
(you need to set up the rules bytheway...)



I use random numbers to define when a enemy attack wave appear.

The enemys hierarchy is organized in:
- Enemy attack wave.
- Enemy groups.
- Enemy.
- Enemy sprites.

Each attack wave definition have:
- Number of groups that will be simulataneously launched
- Group definition address of each group

Each group have:
- Delay to launch the enemies (the delay should be change by an event, like a enemy be destroyed, a certain enemy-allied distance is reached and others)
- Number of enemy that will be simultaneously launched
- Enemy definition address of each enemy

Each enemy have:
- Number of sprites
- Sprite definition address of each sprite

Each sprite have:
- Shield power (number of supported impacts)
- Type of Y coordinate address (fixed, random, allied based, based in last sprite + offset, etc)
- Y coordinate relative data (according of type)
And so on for X, pattern and color.

- The sprite movement (Y and X treatment) are defined by tables in the same way.
- The sprite animation (pattern and color), equally.
- And finally, the sprite attack pattern (it's sprite based and totally independent)

All sprite movement and animation could be time based. One example:
- In each 10 VDP interrupts the angle of movement will change. This could cause a some type of eliptical movement if the angles are ajusted accordingly.

The sprite independence could permit that a robot have your right arm destroyed and continue walking.

Most of these features are already working!
BiFi
msx guru
Berichten: 3142
Geplaatst: 11 Juni 2005, 07:13   
for zanac there are attack groups that will appear when you select a certain alternative weapon... for example, when you select the shield for the alternative one some slow enemies shooting missiles will appear.

Quote:

One possibility is using LRE or other simple compression tecniques,

Not sure what LRE is, but I think you mean RLE (Run Length Encoding).
 
 







(c) 1994 - 2008 Stichting MSX Resource Center. MSX is een trademark van MSX Licensing Corporation.