Beach Head Dev Log - CBS Colecovision - CVBasic
Beach Head Dev Log - CBS Colecovision - CVBasic
J'ai donc décidé de m'y remettre pour un projet bien précis.
J'ai déjà un peu commencé et je vais essayer de vous partager mon avancement, les problèmes rencontrés, les solutions ou contournements apportés.
Bref un genre de Dev Log, même si je ne suis pas sûr de savoir ce que cela veut dire...
Pour ce premier poste je vais me contenter d'une vidéo
Shaoth- Guéri miraculeux
- Nombre de messages : 2213
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
drfloyd, Ricco59_59, sidchip_fr, grostonton, youki, rocky007, Kristof et offrent 1 suppo à ce post!
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
C'est enorme, ca semble plus beau que sur C64, et c'est une super idée que d'adapter ce jeu sur Coleco, c'est super original, jamais vu, ca va cartonner !
hate de voir les autres parties du gameplay
_______________________________________________________
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
sur C64 dans Beach Head,les scrolls au pixel sont un peu saccadés.Je suppose qu'à l'époque (1983)l'auteur ne maitrisait pas la technique des scrollings fluides.
ça me fait penser aussi à un autre jeu des débuts du C64,aztec challenge,même défault mais ça n'enlève rien au plaisir de jouer.
Super projet en tout cas !
sidchip_fr- Patient contaminé
- Nombre de messages : 436
Age : 52
Date d'inscription : 25/05/2008
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
_______________________________________________________
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Sinon sur coleco (comme sur MSX) il y aurait moyen de faire cette phase tout en étant fluide. surtout que graphiquement c'est plutot simple. En combinant l'usage des sprites, le preshiftage de caractères , et les rotations de pattern on fly , je pense que tu peux faire quelque chose de très fluide.
Et meme , je pense que si c'est pas fluide, ca ne gênerait pas trop.
En tout cas beaucoup boulot jusqu'à présent! C'etait un de mes nombreux jeux sur ma "to do" list pour coleco. Mais bon , ma "version" aurait été un jeu très inspiré de beach head sans être beach head.
youki- Docteur *
- Nombre de messages : 13073
Age : 52
Date d'inscription : 01/08/2009
TotOOntHeMooN offre 1 suppo à ce post!
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Mais je rejoins la réflexion de @youki qui envisage les mêmes pistes que moi concernant le preshiftage des tiles.
Mais on verra cela en temps utile, ça continue de mijoter dans ma petite tête.
Shaoth- Guéri miraculeux
- Nombre de messages : 2213
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
Ricco59_59 offre 1 suppo à ce post!
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Le scrolling est au pixel et est fluide.
sidchip_fr- Patient contaminé
- Nombre de messages : 436
Age : 52
Date d'inscription : 25/05/2008
youki offre 1 suppo à ce post!
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
La dernière version, v0.7.0, au moment où j'écrit ces lignes est disponible, entre autre, sur le site AtariAge : CVBasic
Ensuite un éditeur de textes pour écrire et modifier les lignes de code.
Perso, j'utilise tout simplement NotePad++ en sélectionnant FreeBasic comme langage pour la coloration syntaxique.
Il existe un IDE pour CBVasic disponible sur itch.io : IDE CVBasic
N'hésitez pas à demander au Doc ce qu'il en pense, je ne l'ai pas testé...
Pour tester le code écrit, il faut l'exécuter, pour l'exécuter il faut un émulateur.
Ça tombe bien il y en a un qui est fourni dans le zip de CVBasic
Il s'agit de CoolCV, un émulateur Colecovision développé par Oscar Toledo, l'auteur de CVBasic, tout est lié !
Pour compiler et exécuter le code, j'utilise un fichier .bat qui s'occupe de tout en juste quelques lignes :
- Code:
cvbasic NomDuProjet.bas NomDuProjet.asm
gasm80 NomDuProjet.asm -o NomDuProjet.rom
coolcv NomDuProjet.rom
il vous suffit de remplacer NomDuProjet par le votre : StarField, GTA, Cosmos, TombRaider...
Pour la partie graphique j'utilise
- Paint.net, un logiciel de dessin "basique" pour les travaux de base.
- MultiPaint, très important, un outil de dessin spécialisé dans les machines anciennes : MultiPaint
Il permet de reproduire les contraintes propres à chaque machine.
Il ne dispose pas d'une option Colecovision mais en choisissant MSX 1 MODE 2 on se retrouve avec les mêmes caractéristiques, MSX et Colecovision utilisant la même famille de VDP, le Texas INSTRUMENT TMS9918.
On dispose d'une résolution de 256x192 pixels, 16 couleurs fixes, 2 couleurs par bloc de 8 pixels.
- MSX Sprite & Tile Editor pour la gestion des sprites et des caractères : MSX Sprite & Tile Editor
Un outil développé par Tony Cruise (petit frère de Tom ?) de Electric Adventures qui développe de nombreux jeux sur MSX, Spectravideo et Colecovision.
Il permet de dessiner rapidement et simplement tous les sprites dont vous avez besoin et de les exporter au format CVBasic pour être utilisés immédiatement.
- Aseprite un outil de dessin pixel art que j'utilise pour valider mes animations de sprites : Aseprite
Bon... il est payant... 20$ mais franchement c'est un outil génial !
Voilà, enfin presque...
Dans le package CVBasic, il existe un outil très très très très très très utile.
Les 128 premiers sont utilisés pour les lettres, majuscules et minuscules, les chiffres et les caractères spéciaux.
On peut redéfinir tout ou une partie seulement de ces caractères de 8x8 pixels pour un usage purement graphique et ainsi afficher un décor plus ou moins complexe.
De même on peut aussi modifier la police de caractères proposée par CVBasic.
Faire ces opérations à la main est possible mais chronophage, sujette à erreur et difficile à mettre à jour.
L'outil dont je vous parle permet, en une ligne de commande, de transformer une image BMP (seul format supporté) en une redéfinition de chaînes de caractères.
C'est magique ! fini les feuilles de papier quadrillées.
Cet outil s'appelle TMSColor, il tient son nom du processeur vidéo.
exemple d'utilisation :
- Code:
tmscolor -t128 -b -n nomDuFichier.bmp nomDuFichier.bas nomDuPatern
- -t128 indique qu'on va remplacer les caractères à partir du 128ème dans la table
- -b pour générer des données au format CVBasic
- -n pour se limiter aux données utiles
- nomDuFichier.bmp pour le nom de l'image
- nomDuFichier.bas pour le nom du fichier généré
- nomDuPatern pour le nom des données générées, qui seront appelées dans le code principal
L'outil va découper l'image en bloc de 8x8, il vous indiquera en retour le nombre de blocs générés. Si c'est supérieur à 256, ce ne sera pas utilisable en l'état.
Il faudra revoir votre image source dans votre outil de dessin préféré pour la simplifier, l'optimiser.
L'image de base doit avoir une résolution à base de multiple de 8 et respecter les contraintes de 2 couleurs par bloc de 8 pixels.
C'est pour ça que personnellement je passe d'abord par MultiPaint pour vérifier que tout est ok, ensuite j'exporte en BMP et je passe à la moulinette.
Par exemple, pour l'écran titre de Beach Head
- Code:
tmscolor -t91 -b -n Title.bmp BH_Title.bas title
J'indique ici que je veux redéfinir la table ASCII à partir du caractère 91, en effet je ne vais utiliser que des majuscules et des chiffres pour mes affichage de données INGAME, donc parmis les 90 premiers caractères, le reste peut être utilisé bien plus profitablement pour afficher des graphismes.
En retour, l'outil va m'indiquer que 129 caractères uniques seront utilisés pour afficher cette image.
129 caractères uniques car le caractère tout bleu clair pour le ciel sera utilsié plusieur fois, de même que le caractère bleu foncé pour la mer ou le caractère jaune pour le sable...
90 + 129 = 219, on est bien en dessous des 256 possibles, tout va bien !
Pour la zone 0, correspondant à la vue aérienne 141 caractères seront nécessaires, ça passe toujours puisqu'ils remplaceront ceux utilisés pour l'écran titre.
122 pour la zone 1, le passage secret
77 pour la zone 2, l'attaque des avions
et ainsi de suite.
La police de caractères proposée par CVBasic n'est pas fofolle, alors on la remplace
je vais utiliser 2 images, une pour les chiffres et une pour les lettres majuscules en indiquant que je remplace
pour les chiffres à partir du caractère 48
pour les lettres à partir du caractère 65
et hop !
Dernier truc, dans ma tentative d'adaptation de BEACH HEAD, je me base sur le comportement et les graphismes de la version C64.
Comme mon C64 n'est pas constamment branché, pour jouer rapidement à ce jeu j'utilise un émulateur en ligne : Beach Head C64 online
C'est pratique pour vérifier des comportements et faire des captures d'écran pour avoir des ressources de base.
Bref ces outils, et en particulier TMSColor nous simplifient grandement la vie, pour nous permettre de nous concentrer sur le cœur du problème : le Code !
Mais ceci est une autre histoire...
Shaoth- Guéri miraculeux
- Nombre de messages : 2213
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
sidchip_fr, youki et Bizcuite offrent 1 suppo à ce post!
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
ici ici au dos de la jaquette
https://www.generation-msx.nl/software/access-software/beach-head/release/2779/
_______________________________________________________
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
TotOOntHeMooN- Docteur agrégé **
- Nombre de messages : 18142
Age : 54
Localisation : Terre I
Date d'inscription : 18/04/2013
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Sauf si le but est de faire au plus proche du jeu original.
_______________________________________________________
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Ou permettrait d'adapter proprement Raid Over Moscow
Shaoth- Guéri miraculeux
- Nombre de messages : 2213
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Shaoth- Guéri miraculeux
- Nombre de messages : 2213
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Je pense peut etre que comme c'est pas un jeu qui est sorti en "Arcade" ,c'est moins vendeur sur coleco.
youki- Docteur *
- Nombre de messages : 13073
Age : 52
Date d'inscription : 01/08/2009
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Sinon pas besoin du SGM pour adapter ce jeu sur Coleco.
_______________________________________________________
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Shaoth a écrit:Pour ceux qui souhaitent tester la version MSX : Beach Head MSX online
je pense que tu peux la surpasser largement, visuellement (c'est deja le cas) et meme améliorer un peu le gameplay.
_______________________________________________________
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
C'est cool !
Shaoth- Guéri miraculeux
- Nombre de messages : 2213
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
drfloyd, Ricco59_59 et TotOOntHeMooN offrent 1 suppo à ce post!
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
(Deuxième implique qu'il y en aura au moins une troisième, sinon ce serait seconde)
Avant de se lancer dans le code, il faut un minimum savoir vers quoi on va, quel projet nous donne vraiment envie !
Alors on dresse une liste de candidats potentiels, la mienne comporte une vingtaine de titres existants ou d’idées de jeu. Une recherche rapide pour vérifier que le jeu n’a pas déjà été porté sur la Colecovision (adieu Ghostbusters, Hunch Back… )
Il y a les jeux auxquels on a joué un peu, beaucoup, passionnément et les autres qu’on connait moins bien, alors on regarde des vidéos de gameplay pour voir si on ne détecte pas des pièges, genre un stage avec scrolling parmi une floppée de stages écran fixe alors qu’on sait tous que le hardware de la Coleco ne gère pas les scrolling… Ce serait ballot de se retrouver avec pleins de posts du genre « Mais comment tu vas faire le scrolling ? »
Donc on creuse chaque idée pour identifier ce qui est faisable de ce qui l’est moins. La liste des candidats pour un premier projet diminue et l’élu se fait de plus en plus présent dans vos pensées à longueur de journée.
C’est décidé, le prochain sera Beach Head ou ne sera pas !
C’est un jeu que je connais bien, j’ai eu la chance d’y jouer sur mon Atari 800XL ou sur le C64 d’un ami. Et fini plusieurs fois, on peut dire que je maitrise le gameplay !
Pourtant ce n’ai pas suffisant, j’ai besoin de plus d’informations, beaucoup plus !
Alors je cherche, je lis des trucs, je regarde des vidéos sur différents portages, pour détecter de trucs ou astuces que je ne connais pas, on ne sait jamais.
Par exemple un truc me tarabusque… A quoi sert le foutu passage secret où il faut slalomer entre les mines et éviter les torpilles, pour devoir ensuite affronter la flotte que tu affrontes aussi sans prendre le passage secret…
Eh bien c’est un lisant le manuel du jeu que je l’ai appris. Un manuel ! Mais à quoi ça sert me diraient mes enfants. Vous savez le truc en papier avec plus ou moins de feuilles avec plein de choses à lire dessus.
On minimise toujours l’intérêt du manuel, surtout les jeunes… Et bien il se trouve que j’ai été jeune aussi… et je n’ai pas lu le manuel de Beach Head à l’époque, mais j’ai l’excuse de n’avoir eu que des versions pirates. De toute façon même avec l’original je ne sais pas si j’aurai fait l’effort. De mémoire de moi ils étaient souvent en anglais il me semble au temps jadis.
J’ai été tout ébaubi d’apprendre qu’en empruntant le passage secret on se retrouvait face à une flotte ennemie mal préparée car elle n’a pas pu nous voir arriver de loin. C’est même super précis dans les détails car on apprend que l’on ne devra affronter que 10 avions, contre 30 en temps normal. Et c’est exactement ce genre d’information que je cherche, des données numériques ! la partie gestion des quantités d’ennemis s’en trouve grandement facilité, le gameplay original sera aussi respecté.
On apprend aussi que dans le stage suivant, où il faut couler les navires ennemis on peut régler l’inclinaison du canon à 0.5 degré et que chaque demi degré permet de tirer 100 mètres plus loin. Quand on loupe la cible, on nous dit de combien, par exemple 1500 mètres, il suffit alors d’augmenter (ou diminuer) l’angle de 7.5 degrés et boom !
Cerise sur le Mcdo, comme dit un ami, on y trouve aussi les points gagnés pour chaque type d'ennemi éliminé ou caque objectif rempli.
C’est bien utile les manuels ! Tous !
D’ailleurs j’en profite pour vous rappelez que Nanochess a écrit un livre très pratique pour le CVBasic, avec de nombreux exemples pour reproduire un clone de Donkey Kong, un shoot them up ou même un RPG à parcourir des donjons en 3D.
Quand on porte un jeu existant, les émulateurs et les vidéos disponibles sur internet sont un vrai bonheur. On peut reproduire à l’infini certaines phases de jeu pour les décortiquer et bien les comprendre, faire des captures d’écran pour récupérer des ressources graphiques, passer et repasser des vidéos au ralenti ou image par image pour isoler les frames d’animation d’un sprite… C’est un gros travail, mais il fait partie de la préparation.
Alors voilà, on a
- les outils
- le projet
- pleins de notes qui vont nous permettre d’avancer
- tout une série de questions qui vont bientôt trouver une réponse, comme ce scrolling qui inquiète beaucoup de monde :wink:
- des ressources graphiques brutes qu’il va falloir adapter au nouveau support…
Bref on est prêt, on va pouvoir y aller et écrire les premières lignes de code !
Mais ceci est une autre histoire !
Shaoth- Guéri miraculeux
- Nombre de messages : 2213
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
drfloyd offre 1 suppo à ce post!
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Je l'ai pris pour moi.....
Oui à l'époque on loupait beaucoup de chose sur les jeux, car 99% d'entre nous n'achetait pas les jeux.... et on loupait beaucoup de subtilités, voire on trouvait un jeu nul car on n'avait pas saisi les subtilités.
Le scrolling avec le tank, j'ai trop hate de découvrir ça.... Perso je fera du screen par screen, mais Shaoth est un perfectionniste, il veut faire un vrai clone du jeu original, voire mieux que la version MSX (qui est assez moche), ou l'égal de la version C64.
_______________________________________________________
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
La zone 2 est quasiment terminée.
un petit bug, parfois l'avion explose quand il percute le haut de l'écran...
il faut que je varie les trajectoires disponibles
Et bien sûr, du son, plein de sons !
C'est une putain de guerre quand même !!
Shaoth- Guéri miraculeux
- Nombre de messages : 2213
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
sidchip_fr, youki et Kristof offrent 1 suppo à ce post!
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Si les autres stages sont du meme ordre, ton jeu pourrait rentrer dans le top 10 des les plsu grands de l'histoire de le console, du fait de sa variété et sa grande originalité Vs la ludothèque (axée 99% arcade)
_______________________________________________________
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Il y a des phases sympa et bof dans les deux.
TotOOntHeMooN- Docteur agrégé **
- Nombre de messages : 18142
Age : 54
Localisation : Terre I
Date d'inscription : 18/04/2013
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Beach Head 1.5 !TotOOntHeMooN a écrit:Et pourquoi pas un mix de Beach Head I et II ?
Il y a des phases sympa et bof dans les deux.
Tu penses à quels tableaux ?
Shaoth- Guéri miraculeux
- Nombre de messages : 2213
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Après, il y a la place dans une cartouche Coleco pour intégrer les 8 phases de BH1 et 2 !!!!!
_______________________________________________________
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Comme je l'ai expliqué dans le DevLog, c'est mon métier de connaitre par cœur les jeux que j'adapte.
6 phases dans le 1, plus 4 dans le 2
Et le Doc a raison, on a assez de place de nos jours pour faire tenir les deux sur une seule cassette, oui je préfère le terme "cassette", mais cela représente un gros boulot...
Shaoth- Guéri miraculeux
- Nombre de messages : 2213
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
perso je ne suis pas fan des phases de jeu du II....
On pourrait imaginer une phase originale : un debarquement des soldats sur la plage, avec les allemands qui tirent à vue du haut des falaises.... mon rêve... faire passer un max de soldats donnerait un avantage pour la suite.... mais c'et risqué de deformer un vrai bon jeu.
Un Beach head III plus tard ca pourrait etre sympa.
_______________________________________________________
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Apres tout nous sortira le 2...
Et ensuite Raid over Moscow...
Et ensuite tu nous fais un remix des 3.
youki- Docteur *
- Nombre de messages : 13073
Age : 52
Date d'inscription : 01/08/2009
Shaoth- Guéri miraculeux
- Nombre de messages : 2213
Age : 54
Localisation : 92
Date d'inscription : 05/04/2018
Ricco59_59 et youki offrent 1 suppo à ce post!
Re: Beach Head Dev Log - CBS Colecovision - CVBasic
Et encore, Shaoth ne vous montre que 5% de ses projets en cours......
_______________________________________________________
» [estim] jeu Colecovision SUBROC + câble vidéo console COLECOVISION
» [ECH] Metal Head 32X complet
» Un fou de Final Fantasy ! It's crazy in zi Head !
» A FATAL ERROR OCCURED PLEASE HIT UR HEAD