[NEW] STAR TREK pour ALICE 32/90
Modérateurs : Papy.G, fneck, Carl
Re: [NEW] un superbe jeu d'action spatial pour ALICE 32/90
Excellent !
Merci pour toutes ces infos.
Merci pour toutes ces infos.
- Carl
- Modérateur
- Messages : 13253
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: [NEW] un superbe jeu d'action spatial pour ALICE 32/90
bravo pour ce nouveau développement...
Carl
Re: [NEW] STAR TREK pour ALICE 32/90
J'ai commencé la gestion des déplacements ennemis et comme je le pensais ça prends un peu plus de temps
Aujourd'hui je n'aurais pas assez de temps pour continuer donc la suite de cette aventure demain soir normalement
Aujourd'hui je n'aurais pas assez de temps pour continuer donc la suite de cette aventure demain soir normalement
Re: [NEW] STAR TREK pour ALICE 32/90
J'ai bien avancé sur la gestion des déplacements des ennemis, il me restent à peaufiner ça.
J'ai prévu un déplacement différent pour chaque type d'ennemis.
J'espère demain avoir le temps de terminer cette partie et le détailler dans le post, à suivre...
J'ai prévu un déplacement différent pour chaque type d'ennemis.
J'espère demain avoir le temps de terminer cette partie et le détailler dans le post, à suivre...
Re: [NEW] STAR TREK pour ALICE 32/90
géant, bravo pour le chemin déjà parcouru !
Re: [NEW] STAR TREK pour ALICE 32/90
J'ai hâte de voir ça Phil. Dans l'idée où on voudrait l'adapter au VG5K, pourrais-tu donner le dessin des sprites ? Pas tout de suite, mais plus tard.
Re: [NEW] STAR TREK pour ALICE 32/90
Pas de problèmes ce sont les sprites d'origines des version TI99 et coleco recadrés au dimension des caractères du vdp alice 8X10
Aujourd'hui je n'ai pas pu avancer
Demain j'espère pouvoir finir la partie mouvements ennemis ...
Aujourd'hui je n'ai pas pu avancer
Demain j'espère pouvoir finir la partie mouvements ennemis ...
- Carl
- Modérateur
- Messages : 13253
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: [NEW] STAR TREK pour ALICE 32/90
le VDP Alice32/90 est le même que celui du VG5000, donc tes sprites sont compatibles VG5K
carl
carl
Re: [NEW] STAR TREK pour ALICE 32/90
Oui tout a fait
Re: [NEW] STAR TREK pour ALICE 32/90
Eh oui Carl, et en plus ça me permettrait de ressusciter le vieux Forth du VG5K avec l'intention de le terminer et de le documenter cette fois.
- Carl
- Modérateur
- Messages : 13253
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: [NEW] STAR TREK pour ALICE 32/90
Ce serait bien, avec la doc, je pourrai tenter de m'y mettre
Carl
Carl
Re: [NEW] STAR TREK pour ALICE 32/90
Bon les déplacements ennemis sont fait.
IA MOVE :
Pour la gestion des déplacements ennemis, j'ai opté pour cette solution :
- chaque ennemi utilise un déplacement spécifique.
- les starbases ne ce déplacent pas.
- il y a une temporisation pour ralentir les déplacements ennemis ( a chaque itération de la routine IA_MOVE un compteur est décrémenté lorsqu'il arrive à zero un déplacement est effectué pour les KLINGON et UNKNOW ).
- a chaque itération de la routine IA_MOVE un seul ennemi est déplacé a la fois (par type d'ennemis).
ce qui donne ceci:
Pour les KLINGON:
Pour les SAUCER:
Pour les METEOR:
Pour les UNKNOW:
La routine validate_movement pour s'assurer avant d’écrire la nouvelle coordonnées d'un ennemi qu'il n'y a pas déjà un objet a cet endroit
Les variables de travail:
Voila pour aujourd'hui
Reste a faire la gestion des tirs ennemis, les tirs du joueur, la gestion des dégats, améliorer le POV ....
IA MOVE :
Pour la gestion des déplacements ennemis, j'ai opté pour cette solution :
- chaque ennemi utilise un déplacement spécifique.
- les starbases ne ce déplacent pas.
- il y a une temporisation pour ralentir les déplacements ennemis ( a chaque itération de la routine IA_MOVE un compteur est décrémenté lorsqu'il arrive à zero un déplacement est effectué pour les KLINGON et UNKNOW ).
- a chaque itération de la routine IA_MOVE un seul ennemi est déplacé a la fois (par type d'ennemis).
ce qui donne ceci:
Pour les KLINGON:
Code : Tout sélectionner
;-------------------------------------------------
; IA MOVE
; Gestion des déplacements des ennemies
; Klingons ce deplacent en chassent l'enterprise assez lentement
; starbase ne ce deplacent pas
; Saucer ce déplacent très vite aléatoirement
; meteor ce déplacent rectilignement et lentement
; unknow ce déplacent en warping aléatoirement
;-------------------------------------------------
IaMove
; KLINGON MOVEMENT
LDAA TempoIA ; temporisation déplacement ennemis
DECA
STAA TempoIA
CMPA #00
BNE FinIaMovey
LDAA #05
STAA TempoIA ; " " " "
LDAB IdxEnnemy ; on récupere l'index de l'ennemi
ADDB #02 ; on addition 2 (coordonnées h,v)
STAB IdxEnnemy ; on met a jour l'index
CMPB #20 ; est que le dernier ennemi à etait fait
BMI StartIaMove ; si inférieur alors non on passe au traitement
CLR IdxEnnemy ; sinon on réinitialise l'index de l'ennemi
StartIaMove
LDX #Klingons ; on place le pointeur sur les données Klingons
LDAB IdxEnnemy ; on place l'index de l'ennemi en B
ABX ; on l'addition a X pour placer le pointeur sur l'ennemi a traiter
LDAA $0,X ; on charge la permière valeur ( X )
CMPA #00 ; est il actif ( >0 )
BEQ FinIaMovey ; Oui on va a la fin
CMPA JX ; on compare avec la coordonnées X du joueur
BMI IaMoveINCx ; Est ce plus petit ?
TAB ; tranfert A dans B
SUBB JX ; on soustrait la coordonnée X du joueur
CMPB #03 ; on compare le resultat à 1
BLS IaMoveOKx ; si c'est egale on bouge pas l'ennemi
DECA ; si non on decremente sa position
JMP IaMOveContx ; saut a la fin du deplace. X
IaMoveINCx
TAB ; transfert A dans B
SUBB JX ; on soustrait la coordonnée X du joueur
CMPB #03 ; le résultat est il différent de 3
BLS IaMoveOKx ; si inférieur ou égale on ce déplace pas
INCA ; on incremente la position X de l'ennemi
IaMOveContx
CMPA #0 ; est ce que la position de l'ennemi est egale à 0
BNE NotWarpX ; si non on passe a la suite
LDAA #12 ; si oui on fait un saut de l'autre côté
JMP IaMoveOKx ; on va a la fin du deplace. X
NotWarpX
CMPA #13 ; est ce que la position est egale à 13
BNE IaMoveOKx ; si non on valide la coordonnée X
LDAA #01 ; si oui on saute de l'autre côté
IaMoveOKx
STAA Gener_Radx ;$0,X ; on écrit la nouvelle coordonnées X de l'ennemi
FinIaMoveX
LDAA $1,X ; idem avec Y
CMPA JY
BMI IaMoveINCy
TAB
SUBB JY
CMPB #03
BLS IaMoveOKy
DECA
JMP IaMOveConty
IaMoveINCy
TAB
SUBB JY
CMPB #03
BLS IaMoveOKy
INCA
IaMOveConty
CMPA #0
BNE NotWarpY
LDAA #20
JMP IaMoveOKy
NotWarpY
CMPA #21
BNE IaMoveOKy
LDAA #01
IaMoveOKy
STAA Gener_Rady ;$0,X
FinIaMovey
JSR Validat_Movement
Code : Tout sélectionner
; SAUCER MOVEMENT
LDAB IdxSaucer
ADDB #02
STAB IdxSaucer
CMPB #08
BMI StartSaucerMove
CLR IdxSaucer
StartSaucerMove
LDX #Saucer
LDAB IdxSaucer
ABX
LDAA $0,X
CMPA #00 ; est il actif ( >0 )
BEQ Roll_AleaSaucer
ADDA AleaSaucer
CMPA #13
BMI OK_saucerx
LDAA #01
OK_saucerx
STAA Gener_Radx
LDAA $1,X
ADDA AleaSaucer+1
CMPA #21
BMI Ok_saucery
LDAA #01
Ok_saucery
STAA Gener_Rady
JSR Validat_Movement
; ROLL ALEASAUCER
Roll_AleaSaucer
LDAB #24
LDX #AleaSaucer+23
Boucle_Alea_Roll
LDAA $0,X
STAA $1,X
DEX
DECB
BNE Boucle_Alea_Roll
LDAA AleaSaucer+24
STAA AleaSaucer
Code : Tout sélectionner
; METEOR MOVEMENT
LDAB IdxMeteor
ADDB #02
STAB IdxMeteor
CMPB #20
BMI StartMeteorMove
CLR IdxMeteor
StartMeteorMove
LDX #Meteor
LDAB IdxMeteor
ABX
LDAA $0,X
CMPA #00
BEQ Not_active_Meteor
ADDA AleaSaucer
CMPA #21
BNE NOT_Meteor_Border
LDAA #01
NOT_Meteor_Border
STAA $0,X
Not_active_Meteor
Code : Tout sélectionner
; UNKNOW MOVEMENT
LDAA TempoIA+1
DECA
STAA TempoIA+1
BNE Fin_Unknow_move
LDAA #15
STAA TempoIA+1
LDAB IdxUnknow
ADDB #02
STAB IdxUnknow
CMPB #08
BMI Unknow_Move
CLR IdxUnknow
Unknow_Move
LDX #Unknow
LDAB IdxUnknow
ABX
STX Temp_Adrs_Ennrmy
Start_Unknow_Move
LDX Temp_Adrs_Ennrmy
LDAA $0,X
CMPA #00 ; est il actif ( >0 )
BEQ Fin_Unknow_move
STAA Gener_Radx
INX
LDAA $0,X
LDAB WarpingUnknow
ABA
CMPA #13
BMI Not_Border_Unknow
SUBA #12
Not_Border_Unknow
STAA Gener_Rady
JSR Validat_Movement
; ROLL ALEA UNKNOW
LDAB #15
LDX #WarpingUnknow+14
Boucle_Alea_Unknow
LDAA $0,X
STAA $1,X
DEX
DECB
BNE Boucle_Alea_Unknow
LDAA WarpingUnknow+15
STAA WarpingUnknow
Fin_Unknow_move
Code : Tout sélectionner
Validat_Movement
STX Temp_Adrs_Ennrmy ; on sauvegarde le pointeur
LDX #MapSecteur
LDAB Gener_Radx
ABX
LDAA Gener_Rady
LDAB #20
MUL
ABX
LDAA $0,X
CMPA #0
BNE COLISS_Case
LDX Temp_Adrs_Ennrmy ; on recupere le pointeur
LDAA Gener_Radx
STAA $0,X
LDAA Gener_Rady
STAA $1,X
COLISS_Case
RTS
Code : Tout sélectionner
TempoIA .DB 05,15
IdxEnnemy .DB 00
IdxSaucer .DB 00
IdxMeteor .DB 00
IdxUnknow .DB 00
AleaSaucer .DB 00,01,01,00,01,00,00,01,00,00,01,01,00,00,01,01,01,00,01,00,01,01,01,00,00
WarpingUnknow .DB 05,03,07,09,15,04,08,02,01,11,03,06,01,09,00,00
;-------------------------------------------------
Voila pour aujourd'hui
Reste a faire la gestion des tirs ennemis, les tirs du joueur, la gestion des dégats, améliorer le POV ....
Re: [NEW] STAR TREK pour ALICE 32/90
Merci Phil !
Même si je suis dans mon projet, crois moi que je suis en train de mettre au chaud ton Star Trek. C'est la première fois que je vois les codes d'un jeu tel que celui ci et ça me tente énormément !!!
Même si je suis dans mon projet, crois moi que je suis en train de mettre au chaud ton Star Trek. C'est la première fois que je vois les codes d'un jeu tel que celui ci et ça me tente énormément !!!
- Carl
- Modérateur
- Messages : 13253
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: [NEW] STAR TREK pour ALICE 32/90
pour l'occasion, j'ai voulu faire un screen videotext compatible VDP Alice / VG5000
Code : Tout sélectionner
610 DATA 12,31,65,86,14,27,85,27,64,47,27,81,32,27,68,44
610 DATA 12,31,65,86,14,27,85,27,64,47,27,81,32,27,68,44
620 DATA 32,27,64,39,27,82,43,27,84,47,31,66,76,14,27,85
630 DATA 27,64,63,111,9,27,84,63,9,9,9,9,9,27,85,55
640 DATA 114,27,81,104,27,84,27,69,37,27,81,32,27,86,122,27
650 DATA 83,27,71,125,27,86,27,69,35,27,82,122,27,64,115,27
660 DATA 84,43,27,85,111,8,10,27,81,61,111,31,68,73,14,27
670 DATA 81,27,64,119,27,85,126,31,71,71,14,27,82,27,64,63
680 DATA 8,8,10,27,81,53,27,87,27,67,33,27,80,27,66,49
690 DATA 31,72,81,14,27,65,112,27,71,120,27,84,116,27,85,27
700 DATA 64,123,59,27,83,47,27,85,47,27,84,111,31,73,70,14
710 DATA 27,84,27,66,37,27,87,48,43,27,83,27,64,111,9,9
720 DATA 9,9,9,27,85,47,27,83,39,27,87,27,66,37,32,42
730 DATA 27,69,39,27,65,35,47,27,83,109,27,68,124,27,87,27
740 DATA 65,115,27,68,47,27,82,27,64,43,27,86,47,31,74,70
750 DATA 14,27,85,27,64,105,27,82,27,71,97,27,81,35,27,87
760 DATA 32,27,68,43,27,80,48,9,9,27,65,96,27,87,33,32
770 DATA 18,67,27,82,27,69,99,27,83,122,27,84,27,71,43,27
780 DATA 80,47,27,81,27,67,45,27,82,27,64,107,124,27,81,27
790 DATA 71,43,27,83,111,27,86,125,27,84,124,27,80,124,27,81
800 DATA 112,112,27,80,124,124,27,81,60,27,84,27,64,107,31,75
810 DATA 70,14,27,81,27,67,101,27,87,27,70,53,27,65,47,27
820 DATA 80,27,66,51,27,87,60,27,80,53,9,27,68,96,27,87
830 DATA 27,66,55,32,18,68,27,86,27,64,35,27,85,39,9,27
840 DATA 86,63,43,9,9,9,52,27,87,32,32,32,27,69,112,120
850 DATA 27,65,124,124,27,86,110,27,80,50,31,76,70,14,27,85
860 DATA 27,65,106,27,87,32,27,69,122,27,82,27,64,53,27,71
870 DATA 55,27,80,27,70,33,9,27,66,106,27,87,32,18,70,34
880 DATA 32,27,69,34,35,27,70,35,32,27,66,34,39,32,32,27
890 DATA 85,32,27,80,116,27,68,112,112,27,66,34,51,27,68,33
900 DATA 31,77,70,14,27,81,27,67,41,27,86,27,71,43,27,85
910 DATA 27,67,49,27,87,27,68,47,27,86,108,9,27,85,27,64
920 DATA 35,27,81,53,27,87,32,18,82,27,67,33,27,66,35,27
930 DATA 65,35,27,80,27,66,33,13,10,27,65,112,9,9,9,9
940 DATA 27,68,34,27,87,27,69,117,27,70,99,27,67,43,27,70
950 DATA 50,27,81,27,68,39,27,87,27,66,47,27,69,39,27,66
960 DATA 38,109,27,86,121,27,87,27,69,61,32,18,72,27,67,48
970 DATA 32,18,71,27,80,27,69,33,13,10,27,71,47,27,67,37
980 DATA 27,70,112,27,66,112,27,87,27,68,39,27,64,35,27,68
990 DATA 107,27,83,107,27,80,27,65,35,27,68,34,27,70,96,27
1000 DATA 87,27,66,53,32,32,120,27,70,60,32,18,70,27,69,96
1010 DATA 27,65,116,27,69,112,113,27,70,48,32,18,69,27,65,122
1020 DATA 13,10,27,68,47,27,69,39,32,32,43,27,68,47,27,82
1030 DATA 27,64,43,27,68,104,27,80,33,9,27,66,106,27,70,106
1040 DATA 27,83,27,71,103,27,85,61,27,82,114,27,87,32,18,71
1050 DATA 27,82,125,27,81,112,27,86,27,64,43,27,84,111,27,82
1060 DATA 116,27,71,35,115,27,87,32,32,27,83,63,27,80,27,66
1070 DATA 55,13,10,27,87,27,69,35,35,45,27,66,44,27,65,46
1080 DATA 27,69,60,27,70,62,27,84,27,66,105,27,64,110,9,9
1090 DATA 9,27,69,62,27,82,101,27,83,27,70,55,27,71,106,27
1100 DATA 86,103,27,87,32,18,72,27,83,125,27,82,124,27,87,32
1110 DATA 32,32,27,81,63,27,80,27,69,37,13,10,27,68,35,27
1120 DATA 70,35,27,67,43,27,81,27,71,35,35,27,85,37,27,82
1130 DATA 27,68,109,27,87,32,27,69,43,27,82,27,64,111,9,9
1140 DATA 9,9,27,83,27,70,47,27,71,126,117,27,87,32,32,27
1150 DATA 83,119,27,82,49,27,83,27,69,45,27,87,124,27,70,124
1160 DATA 27,66,124,27,65,124,27,68,112,112,27,69,48,32,32,27
1170 DATA 81,27,66,115,27,80,27,70,113,27,65,112,27,70,120,27
1180 DATA 87,27,68,47,27,86,27,64,39,27,85,111,27,87,27,65
1190 DATA 39,35,27,66,35,35,115,27,69,61,32,27,66,42,27,69
1200 DATA 39,32,32,34,27,82,27,64,107,9,9,9,27,86,125,27
1210 DATA 87,116,27,86,27,69,113,27,82,27,71,115,27,87,32,32
1220 DATA 32,27,70,99,27,82,27,69,107,27,84,27,71,35,43,27
1230 DATA 81,44,27,86,27,66,99,113,27,87,27,68,43,27,66,37
1240 DATA 32,27,70,35,32,18,68,27,69,35,32,32,27,80,27,65
1250 DATA 35,35,9,27,87,27,69,117,32,18,69,42,27,82,27,64
1260 DATA 111,9,9,9,9,9,27,86,116,27,82,27,71,111,27,87
1270 DATA 32,32,32,27,67,35,35,27,69,35,27,65,47,27,64,47
1280 DATA 27,66,39,32,18,75,27,81,27,64,111,9,9,9,27,82
1290 DATA 124,27,87,27,65,124,27,69,112,32,18,67,42,27,83,27
1300 DATA 64,111,9,9,9,9,9,27,81,125,27,71,35,27,80,47
1310 DATA 27,82,47,27,86,47,47,27,87,32,27,82,111,27,87,32
1320 DATA 27,86,63,27,82,47,27,87,32,18,74,27,80,27,65,43
1330 DATA 9,9,9,9,9,9,35,27,70,43,27,81,27,71,35,27
1340 DATA 85,47,27,87,32,27,82,125,27,83,27,64,43,31,86,88
1350 DATA 14,27,81,27,64,54,27,85,44,124,27,65,115,27,64,114
1360 DATA 115,115,27,81,27,66,45,27,71,46,47,18,71,31,87,76
1370 DATA 14,27,85,27,64,125,27,82,116,27,84,27,71,35,27,80
1380 DATA 27,66,45,27,69,36,27,68,112,96,27,66,112,112,27,68
1390 DATA 48,9,9,27,87,27,69,55,27,67,106,27,69,115,27,83
1400 DATA 27,65,59,27,64,43,27,85,47,13,9,9,9,9,10,27
1410 DATA 84,123,31,88,83,14,27,84,27,64,124,27,83,124,27,86
1420 DATA 126,9,27,84,55,27,87,27,67,33,32,32,35,27,66,35
1430 DATA 27,70,46,27,80,27,66,61,27,67,124,27,70,116,27,69
1440 DATA 112,255