Schneider / Amstrad CPC Forum

Amstrad / Schneider CPC => Spiele => Topic started by: Devilmarkus on 16. November 2013, 12:43:35

Title: Barbarian 128K
Post by: Devilmarkus on 16. November 2013, 12:43:35
Hallo CPC-Freunde,

momentan bastel ich an einem Hack (Erweiterung) für das Spiel "Barbarian" von Palace Software.

Wer das Spiel kennt, wird sich schon immer geärgert haben, dass man zu Begin einen von 4 Hintergründen auswählen muss, und diese nicht, wie auch beim Amiga z.B. in einer chronologischen Folge geladen werden.

Dies habe ich nun grundlegend geändert:
- Das Spiel lädt alle 4 Hintergründe ins RAM und schaltet sie dem Gegner entsprechend durch.

Klingt Einfach, ist es aber nicht:
Das Spiel speichert diverse Variablen fast überall im RAM ab, auch im unsichtbaren Bildbereich.
Deswegen muss ich erst diese Variablen in das Bild im RAM schreiben, das Bild dann in den Vordergrund holen, und teilweise auch in den "Doublebuffer" kopieren.

Ausserdem werkeln TotO, MacDeath und ich auch ein wenig an den Grafiken.
Das Spiel wird nun, wie das Amerikanische Original, "Death Sword" heissen und hat 2 verschiedene Paletten nun, Eine für Hintergrundbild 1 und Eine für die anderen Hintergründe.
MacDeath beschäftigt sich grad damit, ein paar neue Sprites zu erschaffen.
TotO und ich pixeln an den Hintergründen herum.

Das Font habe ich auch schon erneuert und die Lebenspunkte Anzeige.

Hier schonmal ein kleiner Vorgeschmack:

(https://cpcwiki.de/back1.png)

(https://cpcwiki.de/back2.png)

(https://cpcwiki.de/back3.png)

(https://cpcwiki.de/back4.png)

Sobald die letzten Grafiken fertig sind, kann das Spiel komprimiert werden und dann werde ich es als DSK-Download bereitstellen.
Title: Re: Barbarian 128K
Post by: Vandalsk on 16. November 2013, 17:04:45
Da bin ich schon sehr gespannt drauf. Babarian war eins meiner Lieblingsspiele für den CPC.
Title: Re: Barbarian 128K
Post by: TFM on 18. November 2013, 20:39:40
Auch für mich. Das Original ist schon super, und jetzt wird es noch besser.  :jubelaola:
Title: Re: Barbarian 128K
Post by: Devilmarkus on 18. November 2013, 21:14:14
Ihr dürft gespannt sein...

Leider wird das Spiel auch 0,24µs langsamer, aber DAS merkt man nun wirklich nicht!!! :D
Title: Re: Barbarian 128K
Post by: TFM on 19. November 2013, 21:57:42
Du meinst ms, nicht µs?!? Pro Frame?
Title: Re: Barbarian 128K
Post by: Devilmarkus on 19. November 2013, 22:52:43
Ja, pro Frame...

Ich musste eine Folge von LDI von über 68 verkürzen und dafür 3x CALLen...

Sonst hätte der übrige Code keinen Platz mehr gefunden.

Ich zumindest aber merke keinen Unterschied.. (Ok, ich bin Alt...)
Title: Re: Barbarian 128K
Post by: Devilmarkus on 19. November 2013, 22:57:06
Zum Veranschaulichen:

Mein Code: (Ausschnitt)


call ldi_table
call ldi_table
call ldi_table
ldi_table:
LDI ;;7D50:   ..      ED A0
LDI ;;7D52:   ..      ED A0
LDI ;;7D54:   ..      ED A0
LDI ;;7D56:   ..      ED A0
LDI ;;7D58:   ..      ED A0
LDI ;;7D5A:   ..      ED A0
LDI ;;7D5C:   ..      ED A0
LDI ;;7D5E:   ..      ED A0
LDI ;;7D60:   ..      ED A0
LDI ;;7D62:   ..      ED A0
LDI ;;7D64:   ..      ED A0
LDI ;;7D66:   ..      ED A0
LDI ;;7D68:   ..      ED A0
LDI ;;7D6A:   ..      ED A0
LDI ;;7D6C:   ..      ED A0
LDI ;;7D6E:   ..      ED A0
RET ;;7DD0:   .       C9

removedraxx:
CALL &7C0E
ld HL,#D2EB
call do

ld HL,#D2FE
do
ld BC,#0720-2
ld DE,#0800

loop1
push BC
push HL

loop2
ld (HL),E
inc HL
djnz loop2

pop HL
call bc26
pop BC

dec C
jr nz,loop1

call &7ddd
ret

bc26:
ld a,h
add #08
ld h,a
and #38
ret nz
ld a,h
sub #40
ld h,a
ld a,l
add #50
ld l,a
ret nc
inc h
ld a,h
and #07
ret nz
ld a,h
sub #08
ld h,a
ret

defs &19


Original code:


                LDI                             ;;7D50:   ..      ED A0
                LDI                             ;;7D52:   ..      ED A0
                LDI                             ;;7D54:   ..      ED A0
                LDI                             ;;7D56:   ..      ED A0
                LDI                             ;;7D58:   ..      ED A0
                LDI                             ;;7D5A:   ..      ED A0
                LDI                             ;;7D5C:   ..      ED A0
                LDI                             ;;7D5E:   ..      ED A0
                LDI                             ;;7D60:   ..      ED A0
                LDI                             ;;7D62:   ..      ED A0
                LDI                             ;;7D64:   ..      ED A0
                LDI                             ;;7D66:   ..      ED A0
                LDI                             ;;7D68:   ..      ED A0
                LDI                             ;;7D6A:   ..      ED A0
                LDI                             ;;7D6C:   ..      ED A0
                LDI                             ;;7D6E:   ..      ED A0
                LDI                             ;;7D70:   ..      ED A0
                LDI                             ;;7D72:   ..      ED A0
                LDI                             ;;7D74:   ..      ED A0
                LDI                             ;;7D76:   ..      ED A0
                LDI                             ;;7D78:   ..      ED A0
                LDI                             ;;7D7A:   ..      ED A0
                LDI                             ;;7D7C:   ..      ED A0
                LDI                             ;;7D7E:   ..      ED A0
                LDI                             ;;7D80:   ..      ED A0
                LDI                             ;;7D82:   ..      ED A0
                LDI                             ;;7D84:   ..      ED A0
                LDI                             ;;7D86:   ..      ED A0
                LDI                             ;;7D88:   ..      ED A0
                LDI                             ;;7D8A:   ..      ED A0
                LDI                             ;;7D8C:   ..      ED A0
                LDI                             ;;7D8E:   ..      ED A0
                LDI                             ;;7D90:   ..      ED A0
                LDI                             ;;7D92:   ..      ED A0
                LDI                             ;;7D94:   ..      ED A0
                LDI                             ;;7D96:   ..      ED A0
                LDI                             ;;7D98:   ..      ED A0
                LDI                             ;;7D9A:   ..      ED A0
                LDI                             ;;7D9C:   ..      ED A0
                LDI                             ;;7D9E:   ..      ED A0
                LDI                             ;;7DA0:   ..      ED A0
                LDI                             ;;7DA2:   ..      ED A0
                LDI                             ;;7DA4:   ..      ED A0
                LDI                             ;;7DA6:   ..      ED A0
                LDI                             ;;7DA8:   ..      ED A0
                LDI                             ;;7DAA:   ..      ED A0
                LDI                             ;;7DAC:   ..      ED A0
                LDI                             ;;7DAE:   ..      ED A0
                LDI                             ;;7DB0:   ..      ED A0
                LDI                             ;;7DB2:   ..      ED A0
                LDI                             ;;7DB4:   ..      ED A0
                LDI                             ;;7DB6:   ..      ED A0
                LDI                             ;;7DB8:   ..      ED A0
                LDI                             ;;7DBA:   ..      ED A0
                LDI                             ;;7DBC:   ..      ED A0
                LDI                             ;;7DBE:   ..      ED A0
                LDI                             ;;7DC0:   ..      ED A0
                LDI                             ;;7DC2:   ..      ED A0
                LDI                             ;;7DC4:   ..      ED A0
                LDI                             ;;7DC6:   ..      ED A0
                LDI                             ;;7DC8:   ..      ED A0
                LDI                             ;;7DCA:   ..      ED A0
                LDI                             ;;7DCC:   ..      ED A0
                LDI                             ;;7DCE:   ..      ED A0
                RET                             ;;7DD0:   .       C9

Title: Re: Barbarian 128K
Post by: TFM on 20. November 2013, 17:20:09
Naja, ein CALL und ein RET brauchen jeweils 3 µs, so tragisch kann es also gar nicht sein.  :whip2:
Title: Re: Barbarian 128K
Post by: Rennert on 21. February 2014, 19:48:43
gibts hier Neuigkeiten? würde gerne mal testen :smiley027:
Title: Re: Barbarian 128K
Post by: Devilmarkus on 22. February 2014, 20:29:06
Huch hab ich ja ganz vernachlässigt hier... Sorry Jungs!
Klar gibt es Neuigkeiten.
Das Spiel kann man herunterladen. Ist fix-und fertig...

http://deathsword.cpcwiki.de
Title: Re: Barbarian 128K
Post by: Devilmarkus on 22. February 2014, 20:58:03
Feedback ist natürlich trotzdem willkommen ;)
Title: Re: Barbarian 128K
Post by: Rennert on 22. February 2014, 21:20:21
hab das Game mal kurz angetestet aufm KCC und läuft :00008351:
hier wieder mit !Romon,7 vorher, da muss ich das MF nicht abziehen.
Title: Re: Barbarian 128K
Post by: Devilmarkus on 22. February 2014, 21:21:17
Nimm doch mal ein Video auf, mit deinem KCC und Death Sword... Und stell es auf Youtube ;) *grins*
Title: Re: Barbarian 128K
Post by: TFM on 23. February 2014, 00:04:23
Ja und irgendwo musst Du M drücken, dann passiert was ;-)