Monos - posté le 15/01/2016 à 06:37:41. (57322 messages postés)
Voici la un topic pour parler de ma passion. Le vrais, et l'unique Rétro Making. Pas cette Ersatz que je fais sur RM/Fusion xd. (A la demande de création que j'ouvre ce topic !!!) Je place ça ici car je trouve que ça plus ça place que dans les projets.
Bon vous le savez bien j'adore le rétro. Bon je ne parle pas de l’ustensile qui se trouve sur une voiture pour regarder ce qui se trouve derrière l'automobile. Non je parle du vrais Rétro au niveau informatique. Les vieux jeux.
J'ai vécu avec deux micros ordinateur avant de migrer sur PC.
Un Amstrad 6128 (et 464 aussi) qui possède 64ko de mémoire (et 64ko paginé en plus pour le 6128). Paginé ? Oué. En gros pour faire simple les 64ko de mémoire supplémentaire sont découpé en 4 Bloc de 16ko. Et si on veux utiliser un bloc de la mémoire supplémentaire, on doit l'échanger contre un bloc prévus à cette effet de la mémoire principale. Ce qui nous fait en tout 5 bloc. Quand on r'ajoute de la mémoire supplémentaire cela marche comme ça. J'ai une carte qui ajoute 512Ko de mémoire sur mon Asmtrad 6128 que j'ai.
L'amstrad est cadencé par un Zilog Z80 à 4Mhz. (8 bits) Un palette de 27 couleurs, trois modes d'affichage. Un mode à 2 couleurs mais en "Grande résolution", 640*200 points, un mode intermédiaire avec 4 couleurs affichable est une résolution en 320*200 points. Et un mode en petite résolution en 160*200 points qui permet d'afficher 16 couleurs.
Les disquettes avait de faces. Une face fait 172ko en moyenne. L'amstrad avait pour concurrence Le C64 de chez Commodore
L'Amiga. J'avais eu rapidement un Amiga 500. 512Ko de mémoire avec une carte qui passe la mémoire à 1Mo.
Le proco est un Motorola 6800 cadancé en moyenne à 7Mhz. (C'est un proco 16/32 bits) Une palette de 4096 couleurs.
Une pléthore de mode d'affichage. L'amiga pouvais facilement afficher 32 couleurs voir 64 couleurs dans un mode spécial. Les 4096 couleurs était affichable à l'écran mais doit prendre trop de ressource pour du jeu.
Particularité des disquettes, l'amiga travaille avec des disquette de 880ko. (Un formatage pc c'est 720ko), mais à partir d'un os installé , le mig est capable de les lires aussi. (Sortie en 87)
L'amiga 1200 est une petite révolution. Cela n'a pas duré car à le PC à commencé à prendre de la puissance avec ses cartes graphique, et la chute de commodore n'aida pas à l'amiga à évolué. On connais la suite, MAC<=>PC
Le 1200 a un proco supérieur et cette fois si en 32 bits. 2Mo de base. Le proco cadencé à 14mhz. Cette ordinateur est toujours évaluable. Des nouvelles pièces sortent toujours. Comme il est équipé d'un port IDE, nous pouvons brancher un tas de chose dessus. Disque dure en carte flash par exemple. On lui foutre des carte graphiques, le mig 1200 peut aller sur le net... La révolution informatique de ce micro tien aussi à son chipset (puce) graphique. Le Mode AGA qui lui permet d'afficher 256 couleurs à l'écran avec une palette dite en True color. En gros vous ouvrez n'importe qu'elle logiciel de dessins vous choisissez une teinte, et l'amiga à la même.256 valeurs pour le Rouge, 256 pour le Vert, 256 pour le bleu pour faire la teine. (Ce que nous connaissons tous vous savez les couleurs de type #AFA5B2
Alors que le le mig 500 n'a qu'une 16 valeurs pour le rouge, 16 pour le vers et 16 pour le Bleu.
En ce moment je suis plus sur l'amiga. Après avoir sortir Prisonnier
Lien, je cherche à apprendre à faire un RPG jap.
Car ce type de jeu est vraiment absent sur ce genre de micro même en amateur.
J'ai testé donc un déplacement case par case.
(Plusieurs test même)
Cela tourne pas trop mal.
Je programme tout ça dans un Basic amélioré créer sur l'amiga par François Lionnet. L'Amos.
Il permet d'avoir accès au capacité de l'amiga sans entrer dans de la programmation "lourde".
Gosub BATTLE
Rem #########################
Rem # Initiation de l'écran #
Rem #########################
Screen Open0,320,200,16,Lowres
Flash Off : Curs Off : Paper 0 : Cls
Rem ############################
Rem # Initiation des variables #
Rem ############################
PJX=16 : Rem position X du héros
PJY=16 : Rem Position Y du Héros
Dim MAP(20,13) : Rem Taille de la map
PJPOSE=1
BATTLERANDOM=Rnd(20)
Gosub ARNE
'Save Iff "arne.iff" Rem ########################## Rem # Gestion de la map test # Rem ########################## ' A=Numéros du Tiles, B=Passabilité
For Y=0 To 11For X=0 To 19
Read A
C=0If A=1and C=0Then B=1 : A=1 : C=1 : Rem Montagne
If A=0and C=0Then B=0 : A=2 : C=1 : Rem Sol
If A=2and C=0Then B=1 : A=3 : C=1 : Rem Eau
If A=4and C=0Then B=0 : A=4 : C=1 : Rem Village
If A=5and C=0Then B=0 : A=5 : C=1 : Rem Forêt
MAP(X,Y)=B
Paste Icon X*16,Y*16,A
NextNext
Rem #################
Rem # Data Map Test #
Rem #################Data1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2Data1,0,0,1,1,1,1,1,0,0,0,0,0,0,2,2,2,2,2,2Data1,0,4,0,0,5,5,1,1,0,0,5,5,5,5,0,2,2,2,2Data1,0,0,0,0,0,0,1,1,0,0,5,5,4,5,0,0,2,2,2Data1,0,0,0,0,0,1,1,1,0,0,0,5,5,5,0,0,2,2,2Data1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1Data1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1Data1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1Data1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1Data1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1Data1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1Data1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Rem #####################
Rem # Boucle principale #
Rem #####################Do
Locate 1,1 : Print" " : Locate 1,1 : Print(SCHIP-Fast Free)
Gosub COMMANDE
Gosub MOUVEMENT
Bob 1,PJX,PJY,PJPOSE
Gosub TESTBATTLE
Wait Vbl
Loop
Rem ###################
Rem # Commande du jeu #
Rem ###################
COMMANDE:
If Key State(78)=Trueand MVT=0and MAP((PJX/16)+1,PJY/16)=0Then MVT=6 : Rem Mouvement Droite
If Key State(79)=Trueand MVT=0and MAP((PJX/16)-1,PJY/16)=0Then MVT=4 : Rem Mouvement Gauche
If Key State(76)=Trueand MVT=0and MAP(PJX/16,(PJY/16)-1)=0Then MVT=8 : Rem Mouvement Haut
If Key State(77)=Trueand MVT=0and MAP(PJX/16,(PJY/16)+1)=0Then MVT=2 : Rem Mouvement Bas
Return
Rem #############
Rem # Mouvement #
Rem #############
MOUVEMENT:
Rem ####################
Rem # Mouvement Droite #
Rem #################### If MVT=6and PAS<8
Add PJX,2
Inc PAS
EndIf
Rem ####################
Rem # Mouvement Gauche #
Rem #################### If MVT=4and PAS<8
Add PJX,-2
Inc PAS
EndIf
Rem ##################
Rem # Mouvement Haut #
Rem ################## If MVT=8and PAS<8
Add PJY,-2
Inc PAS
EndIf
Rem #################
Rem # Mouvement Bas #
Rem #################If MVT=2and PAS<8
Add PJY,2
Inc PAS
EndIf
Rem Update de Pose
If MVT>0Then Gosub UPJPOSE
Rem #####################################
Rem # Remise à 0 du pas et du mouvement #
Rem #####################################If PAS>7Then PAS=0 : MVT=0 : BT=1Return
Rem ################
Rem # Palette Arne #
Rem ################
ARNE:
Palette $0,$999,$FFF,$B23,$E68,$432,$A62,$E83,$FE6,$244,$481,$AC2,$123,$58,$3AF,$BDE
Return
Rem ##############
Rem # Pose du PJ #
Rem ##############
UPJPOSE:
If MVT=2and PAS=1If PJPOSE=1
PJPOSE=2Else PJPOSE=1EndIfEndIfIf MVT=6and PAS=1If PJPOSE=3
PJPOSE=4Else PJPOSE=3EndIfEndIfIf MVT=4and PAS=1If PJPOSE=5
PJPOSE=6Else PJPOSE=5EndIfEndIfIf MVT=8and PAS=1If PJPOSE=7
PJPOSE=8Else PJPOSE=7EndIfEndIfReturn
Rem ############################
Rem # Test Battaille Aléatoire #
Rem ############################
TESTBATTLE:
If BT=1
Dec BATTLERANDOM
If BATTLERANDOM<1
Gosub BATTLE
EndIf
BT=0EndIfReturn
Rem ##################
Rem #Script de Combat#
Rem ##################
BATTLE:
Wait 5
Screen Open1,320,240,16,Lowres
Curs Off : Flash Off
Gosub ARNE
Paper 0
Cls
Gosub HUD
Bob 2,(320-16)/2,130,1
Clear Key
' Boucle de combat Do ' Calcule pour s'avoir qui à la main ' Si c'est un PNJ action PNJ ' Si c'est un PJ Action PJ ' Si l'ennemie est mort retour ' Si c'est le groupe PJ, Game Over Wait Vbl Loop Wait 20Screen Close 1BATTLERANDOM=Rnd(20)Return HUD:Wind Open 1,10,160,14,9,1Curs Off Paper 12 : Clw Locate 1,1 : Print "Attaquer"Locate 1,2 : Print "Compétence"Locate 1,3 : Print "Objet"Locate 1,4 : Print "Défense"Locate 1,5 : Print "Fuir"Wind Open 2,120,160,25,9,1Paper 12 : Clw : Curs Off Locate 1,2 : Print "Monos"Locate 1,3 : Print "Astrid"Locate 1,4 : Print "Sylvanor"Locate 1,5 : Print "Perine"Locate 13,1 : Print "PV"Locate 18,1 : Print "MP"Locate 12,2 : Print "9999/9999"Return
Et le code source qui a servie pour le déplacement de la vidéo.
A l'heure actuel au moment ou j'cris ses lignes j'ai modifier ma programmation pour le déplacement.
L'amos peut être compilé.
D'autre test graphique sur Amiga.
Au niveau de l'amstrad j'avais fais pas mal de test l'année dernière. Il faut que je retrouve un vieux PC avec des connectiques pour brancher un lecteur Disquette. Pour formater mes disquettes en 720ko pour le lecteur 3.5 que j'ai sur mon amstrad pour faire des tests en condition réel Bon bref,
L'amstrad possède un Basic, c'est pratique pour pas mal de "jeu", ou autre mais bien lent quand il faut manipuler les graphismes. J'avais dont débuter mon apprentissage de l'assembleur. (Langage Machine)
J'avais réussis à créer un affichage de tiles en langage machine et même à déplacer un "sprite"
L'amstrad n'a pas de sprite machine pour information, et en plus la mémoire vidéo et entrelacer. CE que je veux dire c'est que les cases mémoires pour afficher des points à l'écran arrivé à certaine ligne ça saute de ligne pour aller à d'autre ligne plus bas avant de revenir bien plus tard pour compléter ça. La merde quoi.
J'avais même créer sur fusion un créateur d'image pour amstrad.
Il me sortait du code basic, que je récupéré sur l'émulateur amstrad. J'avais codé un programme qui me dessine l'image et je récupère les données binaires de l'image.
Un code assembleur qui me permet de déplacer deux lettre cote à cote. Je voulais à la base créer mes persos de combat (toujours pour un RPG) en caractère. Avec cette routine (Bout de programme) assembleur cela me permet de faire en gros un pas en avant au perso rapidement et sans décalage.
Voila pour débuter le topic. Je parlerais un peu plus de l'amiga la prochaine fois la à part avoir ré écrit la routine de déplacement, j'ai pas fais grand chose.
Monos - posté le 15/01/2016 à 05:28:27. (57322 messages postés)
Site en maintenance. Cela commande déjà bien.
Edit:
Ah moi je dois aller voir sur la MSA.
Après simulation, le premier trimestre j'ai le droit à 65 euro par mois.
Ensuite ça devrait monter à 100 euro en gros. Oué j'ai mon 13em mois qui compte.
Monos - posté le 12/01/2016 à 17:36:46. (57322 messages postés)
Citation:
Je n'avais pas réalisé que d'apprendre à coder pour l'Amiga était quelque chose qu'on pouvait transférer ensuite pour RPG Maker (en même temps, moi et la programmation...).
J'ai pas compris le sens de la phrase je crois.
Ce que je voulais et qui doit d'induire en erreur c'est que les algorithme que j'ai trouvé sur clickteam fusion (MMF2) sont utilisable sur amiga. Enfin en langage programmation en général même.
Il n'y a aucune passerelle en Rpg Maker et un amiga.
J'ouvrirais un topic oui pour présenter ce que j'aime faire sur ça et mon avancé pour créer un RPG sur Amiga. De toute façon je dois ré écrire le code, il est quand même bordélique xd
Monos - posté le 12/01/2016 à 12:18:02. (57322 messages postés)
J'émule l'amiga 1200 et je code dans l'émulateur. Cela évite d'allumer mon vrais 1200 qui est à coté. Mais je peux tout transférer facilement.
J'émule exactement la configuration que j'ai. J'ai un amiga 1200 avec une carte accélératrice.
Monos - posté le 11/01/2016 à 20:26:18. (57322 messages postés)
Merci mais j'ai beaucoup de travaille et de correction, optimisation même pour la gestion des maps et déplacement.
J'ai vraiment envie d'arriver à programmer un système de combat. C'est le point qui m'a toujours posé problème sur Fusion et Rm. Si j'arrive à programmer ça, je pense que faire un level up dans la création d'un rpg sans Rpg Maker xd
Je ne vais pas dire que le reste soit simple, mais les combats c'est vraiment ce qu'il y a de plus compliqué je trouve.
J'ai rien programmé ce soir, vous avez le code source actuel en état. Mais je réfléchie pour passer le mode de vu à la FF pour plus immersion.
La faut que je réfléchisse comment afficher les images. Ce n'est pas du simple afficher png comme RM.
Gosub BATTLE
Rem #########################
Rem # Initiation de l'écran #
Rem #########################
Screen Open0,320,200,16,Lowres
Flash Off : Curs Off : Paper 0 : Cls
Rem ############################
Rem # Initiation des variables #
Rem ############################
PJX=16 : Rem position X du héros
PJY=16 : Rem Position Y du Héros
Dim MAP(20,13) : Rem Taille de la map
PJPOSE=1
BATTLERANDOM=Rnd(20)
Gosub ARNE
'Save Iff "arne.iff" Rem ########################## Rem # Gestion de la map test # Rem ########################## ' A=Numéros du Tiles, B=Passabilité
For Y=0 To 11For X=0 To 19
Read A
C=0If A=1and C=0Then B=1 : A=1 : C=1 : Rem Montagne
If A=0and C=0Then B=0 : A=2 : C=1 : Rem Sol
If A=2and C=0Then B=1 : A=3 : C=1 : Rem Eau
If A=4and C=0Then B=0 : A=4 : C=1 : Rem Village
If A=5and C=0Then B=0 : A=5 : C=1 : Rem Forêt
MAP(X,Y)=B
Paste Icon X*16,Y*16,A
NextNext
Rem #################
Rem # Data Map Test #
Rem #################Data1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2Data1,0,0,1,1,1,1,1,0,0,0,0,0,0,2,2,2,2,2,2Data1,0,4,0,0,5,5,1,1,0,0,5,5,5,5,0,2,2,2,2Data1,0,0,0,0,0,0,1,1,0,0,5,5,4,5,0,0,2,2,2Data1,0,0,0,0,0,1,1,1,0,0,0,5,5,5,0,0,2,2,2Data1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1Data1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1Data1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1Data1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1Data1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1Data1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1Data1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Rem #####################
Rem # Boucle principale #
Rem #####################Do
Locate 1,1 : Print" " : Locate 1,1 : Print(SCHIP-Fast Free)
Gosub COMMANDE
Gosub MOUVEMENT
Bob 1,PJX,PJY,PJPOSE
Gosub TESTBATTLE
Wait Vbl
Loop
Rem ###################
Rem # Commande du jeu #
Rem ###################
COMMANDE:
If Key State(78)=Trueand MVT=0and MAP((PJX/16)+1,PJY/16)=0Then MVT=6 : Rem Mouvement Droite
If Key State(79)=Trueand MVT=0and MAP((PJX/16)-1,PJY/16)=0Then MVT=4 : Rem Mouvement Gauche
If Key State(76)=Trueand MVT=0and MAP(PJX/16,(PJY/16)-1)=0Then MVT=8 : Rem Mouvement Haut
If Key State(77)=Trueand MVT=0and MAP(PJX/16,(PJY/16)+1)=0Then MVT=2 : Rem Mouvement Bas
Return
Rem #############
Rem # Mouvement #
Rem #############
MOUVEMENT:
Rem ####################
Rem # Mouvement Droite #
Rem #################### If MVT=6and PAS<8
Add PJX,2
Inc PAS
EndIf
Rem ####################
Rem # Mouvement Gauche #
Rem #################### If MVT=4and PAS<8
Add PJX,-2
Inc PAS
EndIf
Rem ##################
Rem # Mouvement Haut #
Rem ################## If MVT=8and PAS<8
Add PJY,-2
Inc PAS
EndIf
Rem #################
Rem # Mouvement Bas #
Rem #################If MVT=2and PAS<8
Add PJY,2
Inc PAS
EndIf
Rem Update de Pose
If MVT>0Then Gosub UPJPOSE
Rem #####################################
Rem # Remise à 0 du pas et du mouvement #
Rem #####################################If PAS>7Then PAS=0 : MVT=0 : BT=1Return
Rem ################
Rem # Palette Arne #
Rem ################
ARNE:
Palette $0,$999,$FFF,$B23,$E68,$432,$A62,$E83,$FE6,$244,$481,$AC2,$123,$58,$3AF,$BDE
Return
Rem ##############
Rem # Pose du PJ #
Rem ##############
UPJPOSE:
If MVT=2and PAS=1If PJPOSE=1
PJPOSE=2Else PJPOSE=1EndIfEndIfIf MVT=6and PAS=1If PJPOSE=3
PJPOSE=4Else PJPOSE=3EndIfEndIfIf MVT=4and PAS=1If PJPOSE=5
PJPOSE=6Else PJPOSE=5EndIfEndIfIf MVT=8and PAS=1If PJPOSE=7
PJPOSE=8Else PJPOSE=7EndIfEndIfReturn
Rem ############################
Rem # Test Battaille Aléatoire #
Rem ############################
TESTBATTLE:
If BT=1
Dec BATTLERANDOM
If BATTLERANDOM<1
Gosub BATTLE
EndIf
BT=0EndIfReturn
Rem ##################
Rem #Script de Combat#
Rem ##################
BATTLE:
Wait 5
Screen Open1,320,240,16,Lowres
Curs Off : Flash Off
Gosub ARNE
Paper 0
Cls
Gosub HUD
Bob 2,(320-16)/2,130,1
Clear Key
' Boucle de combat Do ' Calcule pour s'avoir qui à la main ' Si c'est un PNJ action PNJ ' Si c'est un PJ Action PJ ' Si l'ennemie est mort retour ' Si c'est le groupe PJ, Game Over Wait Vbl Loop Wait 20Screen Close 1BATTLERANDOM=Rnd(20)Return HUD:Wind Open 1,10,160,14,9,1Curs Off Paper 12 : Clw Locate 1,1 : Print "Attaquer"Locate 1,2 : Print "Compétence"Locate 1,3 : Print "Objet"Locate 1,4 : Print "Défense"Locate 1,5 : Print "Fuir"Wind Open 2,120,160,25,9,1Paper 12 : Clw : Curs Off Locate 1,2 : Print "Monos"Locate 1,3 : Print "Astrid"Locate 1,4 : Print "Sylvanor"Locate 1,5 : Print "Perine"Locate 13,1 : Print "PV"Locate 18,1 : Print "MP"Locate 12,2 : Print "9999/9999"Return
Monos - posté le 11/01/2016 à 07:06:22. (57322 messages postés)
Il faut passer le programme en mode anglais (ou faire la mise à jour je crois pour la VF tout pourrit)
Les traductions sont faite par google translate donc merdique de toute façon.
Monos - posté le 11/01/2016 à 05:30:30. (57322 messages postés)
J'avance dans ma petite programmation sur un vieux micro ordinateur (Amiga).
J'ai enfin mi en place une annimation du héro, avec un déplacement case par case propre. Bon graphismes de Dragon quest pour tester je compte complètement changer plus tard mais c'est suffisant pour coder les systèmes de jeu.
C'est cool à faire n’empêche. Les notions que j'ai appris sur Fusion, je les ressors ici. Et générer une map c'est plus rapide à programmer qu'avec le mmf n’empêche.
J'attaque un peu le système de combat, hier soir j'ai du tester plein de truc pour afficher "les monstres". Beaucoup de choix à faire pour coller au limitation de la machine.