CPC Rulez
https://cpcrulez.fr/forum/

Améliorations Defender Of The Crown
https://cpcrulez.fr/forum/viewtopic.php?f=4&t=4830
Page 3 sur 3

Auteur :  Megachur [ 09 Avr 2012, 10:21 ]
Sujet du message :  Re: Améliorations Defender Of The Crown

MacDeath26 a écrit :
à ce propos, je ne sais pas mais y'a t'il la page quand on va voir Robin à sherwood sur la version Amstrad ?

sur Amiga (et 16bit) on a une page spéciale.


:sigh: Non :sigh: pas sur la version cpc, je crois que quand on va visiter Robin, on a qu'un texte qui s'affiche sur l'image avec la rivière devant et le chateau en arrière plan !

Auteur :  kawickboy [ 09 Avr 2012, 10:49 ]
Sujet du message :  Re: Améliorations Defender Of The Crown

oui c'est ça, du texte par dessus l'écran du château.

Auteur :  Megachur [ 09 Avr 2012, 17:11 ]
Sujet du message :  Re: Améliorations Defender Of The Crown

bon, et ce bug de la princesse alors ? est-il corrigé finalement ? :sweatingbullets:

Auteur :  MacDeath26 [ 09 Avr 2012, 18:32 ]
Sujet du message :  Re: Améliorations Defender Of The Crown

Citer :
oui c'est ça, du texte par dessus l'écran du château.
Ok, bref une limitation sans doute due aux 64K de RAM... car oui sinon il faudrait recharger un truc juste pour ça...
Et puis euh, bon c'est clair ils ont pas eut le temps de tout mettre, ni la place...

Bref un autre truc qu'on pourra ajouter éventuellement.

Auteur :  Megachur [ 11 Avr 2012, 05:58 ]
Sujet du message :  Re: Améliorations Defender Of The Crown

bon, je crois que personne n'a testé la version sans bug des princesses (sinon vous auriez dû remarquer deux trucs bizarres que j'ai enlevé volontairement !) !

allez, pour vous mettre en forme ami(e)s codeurs, voici une optimisation de ce matin :

voilà une routine assez utilisée de DIVERS.ASM... on y remarque une boucle en fonction de A (1->9 lords) de temps d’exécution variable ; 28 -> 92 nops

Code :
GETLORD
         PUSH AF
         PUSH DE
         LD   IY,LORDS-16
         LD   DE,16
GETLOR0  ADD  IY,DE
         DEC  A
         JR   NZ,GETLOR0
         POP  DE
         POP  AF
         RET
;
LORDS


une fois celle-ci analysée, voici l'optimisation que je propose à temps d'exécution fixe : 23 nops !!! ce qui est même moins que l'original !

Code :
   push af

   add a,a   ; x2
   add a,a ; x4
   add a,a ; x8
   add a,a ; x16

   db &fd:add a,LORDS-16
   db &fd:ld l,a
   db &fd:adc a,LORDS-16/&100
   db &fd:sub a,l
   db &fd:ld h,a

   pop af


si ça c'est pas de l'optimisation ! :kiss: :kiss: :kiss: :kiss: :D :kissed:

bien sûr, si je vire les interruptions et l'utilisation du système -> je pourrai ensuite faire un ex af,af' à la place des push et pop af !

Auteur :  Megachur [ 11 Avr 2012, 06:30 ]
Sujet du message :  Re: Améliorations Defender Of The Crown

une autre presque pareil sauf qu'on peut dépasser 256 donc avoir un carry pour A dans la multiplication par 16 (19*16 = 304 > 256, si on avait plus de régions, il suffirait d'utiliser ld h,0, ld l,a add hl,hl par exemple mais on rajouterai en + un push hl, pop hl (+6 +7)) :

l'ancienne :

; 28 -> 172 nops
Code :
GETREG
         PUSH AF
         PUSH DE
         LD   IX,REGIONS-16
         LD   DE,16
GETREG0  ADD  IX,DE
         DEC  A
         JR   NZ,GETREG0
         POP  DE
         POP  AF
   RET

REGIONS_LENGTH equ 16
REGIONS


ma nouvelle proposition optimisée :
; 35 (A= 1-> 19)
Code :
   push af

   add a,a   ; x2
   add a,a ; x4
   add a,a ; x8
   add a,a ; x16

   db &dd:ld l,a
   adc a,0
   db &dd:sub l
   db &dd:ld h,a

   db &dd:ld a,l
   db &dd:add a,REGIONS-REGIONS_LENGTH
   db &dd:ld l,a
   db &dd:adc a,REGIONS-REGIONS_LENGTH/&100
   db &dd:sub a,l
   db &dd:add a,h
   db &dd:ld h,a

   pop af




à remarquer que la routine optimisée est moins bonne pour A < 3 !!!

Auteur :  TotO [ 11 Avr 2012, 10:04 ]
Sujet du message :  Re: Améliorations Defender Of The Crown

Le fait d'avoir une routine constate est une très bonne chose. :)

Maintenant, pas besoin de chercher à en faire plus. L'optimisation du code est une phase de fin de projet.
Elle est uniquement nécessaire si le moteur ne tien pas ses promesses, où si le temps le permet.

Auteur :  Megachur [ 11 Avr 2012, 13:51 ]
Sujet du message :  Re: Améliorations Defender Of The Crown

@Toto : En fait, je ronge un peu mon frein en attendant d'avoir un retour sur la correction du bug des princesses... et bien sûr une proposition concrète d'un graphiste/designer pour améliorer le graphisme/design/jouabilité du jeu ! :mdr: :magic: :?

Auteur :  TotO [ 11 Avr 2012, 15:01 ]
Sujet du message :  Re: Améliorations Defender Of The Crown

Je comprend bien.
Comme je te l'ai proposé, je suis ouvert à en discuter par email ou par chat.
J'ai déjà fait des essais pour une version CPC+ il y a 1 mois de ça.

Je peux donc t'aider sur les gfx et le gameplay/design, comme j'ai aidé SyX pour PacMan.
Il n'y a aucun soucis. :)

Auteur :  Megachur [ 11 Avr 2012, 16:55 ]
Sujet du message :  Re: Améliorations Defender Of The Crown

ok, j'attends donc tes propositions par mail pour en discuter ensemble :kissed: :biere: !

Auteur :  Megachur [ 12 Avr 2012, 17:27 ]
Sujet du message :  Re: Améliorations Defender Of The Crown

Bon, bah c'est partie pour un moment -> à dans 2 ou 3 ans pour une nouvelle version de DoTC CPC ! ;-)

Auteur :  Megachur [ 06 Mai 2012, 06:29 ]
Sujet du message :  Re: Améliorations Defender Of The Crown

Je mets à jour la page 0 de ce sujet avec la dernière version que je vais publier pour un moment.

gameplay original sauf pour l'apparition des princesses -> ça arrive pas souvent qd même car il faut qu'un lord saxon se fasse piller son château par un lord normand + selon une proba que se soit la femme de celui-ci qui soit prise plutôt que de l'or !!!

plein d'optimisations, surtout sur l'affichage... j'ai tenté d'améliorer la troisième anim de la joute, mais je ne pourrai l'améliorer que si je change bcp de code -> donc pour plus tard avec éventuellement de nouveau gfx !

vous trouverez dans changelog également les changements et les vecteurs systèmes qui restent encore employés (je vais réécrire cette partie prochainement).

également, il me semble qu'il reste un bug : quand un lord se rend dans une région en nouveau maître et qu'on est dans une région avec un chateau -> l'armée se place en garnison automatiquement !

N'hésitez pas à me faire des retours si vous trouvez des bugs !

Enjoy ! :kiss:

Pour ceux que cela intéresse, le code et le suivi des changements est ici : http://code.google.com/p/amstradz80code/source/browse/#svn%2Ftrunk%2FDefenderOfTheCrown%2FASM

Page 3 sur 3 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/