Space Invaders Amstrad CPC
Io non sono uno sviluppatore, sono più che altro un “hobbysta” uno smanettone, ma qualche riga di codice in Locomitive Basic nel corso del tempo l’ho scritta si, e mi sono chiesto se fossi in grado di produrre una mi a versione di gioco liberamente ispirata ad un classico dei classici: Space Invaders, dicevo, mi sono fatto la domanda e mi sono dato la risposta e la risposta è No! Tuttavia mi sono anche chiesto vuoi provare a tirarne fuori qualcosa e mi sono risposto: Si proviamoci!
Eccomi quindi a raccontarvi questa esperienza ma mano che procede… Ho iniziato da quello che sapevo fare un po’ meno peggio, ovvero dalla creazione del set grafico. Ho deciso di create il gioco utilizzando caratteri ASCII modificati in modo da creare i personaggi del gioco, ho anche modificato i font per renderli più simili ai font arcade dell’epoca ed il risultato al momento è questo:
prego notare gli erroracci di ortografia
Ho perso un po’ di tempo, un paio di settimane o qualcosa meno per problemi di lavoro e di salute non sono stato benissimo, ma direi che ora posso cercare di riprendere il progetto.
Iniziamo dalla ridefinizione dei font, di seguito vi lascio il codice di riferimento che ho utilizzato:
1360 REM FONT ONLY UPPERCASE
2370 SYMBOL 65,0,16,40,68,68,124,68,68: REM A
3380 SYMBOL 66,0,120,68,68,120,68,68,120: REM B
4390 SYMBOL 67,0,56,68,64,64,64,68,56: REM C
5400 SYMBOL 68,0,120,68,68,68,68,68,120: REM D
6410 SYMBOL 69,0,124,64,64,120,64,64,124: REM E
7420 SYMBOL 70,0,124,64,64,120,64,64,64: REM F
8430 SYMBOL 71,0,56,68,64,76,68,68,56: REM G
9440 SYMBOL 72,0,68,68,68,124,68,68,68: REM H
10450 SYMBOL 73,0,56,16,16,16,16,16,56: REM I
11460 SYMBOL 74,0,4,4,4,4,68,68,56: REM J
12470 SYMBOL 75,0,68,72,80,96,80,72,68: REM K
13480 SYMBOL 76,0,64,64,64,64,64,64,124: REM L
14490 SYMBOL 77,0,68,108,84,84,68,68,68: REM M
15500 SYMBOL 78,0,68,68,100,84,76,68,68: REM N
16510 SYMBOL 79,0,56,68,68,68,68,68,56: REM O
17520 SYMBOL 80,0,120,68,68,120,64,64,64: REM P
18530 SYMBOL 81,0,56,68,68,68,84,76,60: REM Q
19540 SYMBOL 82,0,120,68,68,120,80,72,68: REM R
20550 SYMBOL 83,0,56,68,64,56,4,68,56: REM S
21560 SYMBOL 84,0,124,16,16,16,16,16,16: REM T
22570 SYMBOL 85,0,68,68,68,68,68,68,56: REM U
23580 SYMBOL 86,0,68,68,68,68,68,40,16: REM V
24590 SYMBOL 87,0,68,68,68,84,84,108,68: REM W
25600 SYMBOL 88,0,68,68,40,16,40,68,68: REM X
26610 SYMBOL 89,0,68,68,40,16,16,16,16: REM Y
27615 SYMBOL SYMBOL 90,0,124,4,8,16,32,64,124
28620 SYMBOL 49,0,16,48,16,16,16,16,56: REM 1
29630 SYMBOL 50,0,56,68,4,24,32,64,124: REM 2
30640 SYMBOL 51,0,124,4,8,28,4,68,56: REM 3
31650 SYMBOL 52,0,8,24,40,72,124,8,8: REM 4
32660 SYMBOL 53,0,124,64,64,56,4,68,56: REM 5
33670 SYMBOL 54,0,28,32,64,120,68,68,56: REM 6
34680 SYMBOL 55,0,124,4,8,16,16,16,16: REM 7
35690 SYMBOL 56,0,56,68,68,56,68,68,56: REM 8
36700 SYMBOL 57,0,56,68,68,60,4,8,112: REM 9
37710 SYMBOL 48,0,56,68,76,84,100,68,56: REM 0`
Fate riferimento a questa parte di codice per quanto riguarda la definizione dei font per le lettere maiuscole e le cifre 0-9. Di seguito vi lascio il codice di ridefinizione dei alcuni caratteri per la realizzazione dei nemici:
1170 REM ENEMY 1 ASCII 167-168 position 1 - 169-170 position 2
2180 SYMBOL 167,8,4,15,27,63,47,40,7
3190 SYMBOL 168,8,16,248,236,254,250,10,112
4200 SYMBOL 169,8,36,47,59,63,31,8,16
5210 SYMBOL 170,32,72,232,184,248,240,32,16
6220 REM enemy 2 ASCII 171-172 position 1 - 173-174 position 2
7230 SYMBOL 171,3,31,63,57,63,6,13,48
8240 SYMBOL 172,96,248,252,156,252,96,176,12
9250 SYMBOL 173,3,31,63,57,63,14,25,12
10260 SYMBOL 174,96,248,252,156,252,112,152,48
11270 REM enemy 3 ASCII 175 position 1 - 176 position 2
12280 SYMBOL 175,24,60,126,219,255,90,129,66
13290 SYMBOL 176,24,60,126,219,255,36,90,165
14300 REM enemy 4 BOSS Ship ASCII 177-178 position 1 static
15310 SYMBOL 177,3,31,63,109,255,57,16
16320 SYMBOL 178,192,248,252,182,255,156,8
17330 REM SPACE SHIP V 0.1 ASCCI 179-180 postion 1 static
18340 SYMBOL 179,1,3,7,14,30,62,127,14
19350 SYMBOL 180,128,192,224,112,120,124,254,112
Al momento sto eseguendo degli esperimenti per il movimento destra/sinistra dell’astronave, astronave che ho ridisegnato secondo mio gusto, in quanto la piramide di tre blocchetti originale su Space Invaders mi colmava di tristezza il cuore… vedremo come sistemarla….