Alekmaul dĂ©veloppe un SDK pour crĂ©er des jeux pour la console ColecoVision, cet entretien prĂ©sente les raisons qui lâont amenĂ© Ă sâintĂ©resser Ă cette console.
NDM: cette dĂ©pĂȘche peut ĂȘtre vue comme un DLC du premier entretien avec Alekmaul.
Sommaire
-
- Comment en ĂȘtes-vous venu Ă vous intĂ©resser Ă la ColecoVision?
- Quâest-ce que cette console a de particulier ?
- Comment fonctionne le processeur graphique (TMS9918)Â ?
- Comment fonctionne la puce sonore (SN76489)Â ?
- Quelle est votre manette préférée ?
- Les émulateurs ColecoVision sont-ils bons ?
- Quels sont vos jeux commerciaux préférés sur cette console ?
- Quels sont vos jeux "homebrew" préférés sur cette console ?
- Pourquoi crĂ©er un SDK aujourdâhui pour un si vieux systĂšme ?
- Est-ce que vous participez vous mĂȘme Ă la crĂ©ation de jeux ?
- Quelles ont été les difficultés pour créer PVCollib?
- Est-ce que PVcollib gÚre les divers périphériques de la ColecoVision ?
- Quels conseils donneriez-vous Ă quelquâun qui veut se lancer dans le dĂ©veloppement ColecoVision ?
- Quels sont les outils pour créer/préparer des graphismes utilisable par PVcollib ?
- Quels sont les outils pour créer/préparer des musiques et des sons utilisable par PVcollib ?
- Est-il possible de créer ses propres cartouches ?
- Comment sâaccommoder des faibles ressources ?
Comment en ĂȘtes-vous venu Ă vous intĂ©resser Ă la ColecoVision?
La Colecovision est la console de ma jeunesse, je nâavais hĂ©las pas les moyens de me la payer mais un copain en avait une. On a jouĂ© pas mal de fois Ă Donkey Kong et Zaxxon dessus.
Quand jâai vu que des choses existaient sur Colecovision avec les travaux dâAmy Purple (Daniel Bienvenu Ă lâĂ©poque), jâai dĂ©cidĂ© de regarder comment je pourrais mâen inspirer pour dĂ©velopper des jeux et ainsi faire revivre cette Ă©tincelle que jâavais eu quand jây jouĂ© il y a maintenant trĂšs longtemps.
Ainsi est né mon SDK pour Colecovision : PVCollib.
Quâest-ce que cette console a de particulier ?
Elle posséde trÚs peu de mémoire et faut faire avec !
32Kio pour les programmes (mĂȘme si on fait des versions avec plus de mĂ©moire maintenant avec les notions de bank switching) et surtout moins dâ1Kio de RAM ! Et lĂ , câest sportif mais on y arrive ;)
Comment fonctionne le processeur graphique (TMS9918)Â ?
Il fonctionne comme le processeur de la SNES mais avec un seul plan et une palette de couleurs qui ne peut pas ĂȘtre modifiĂ©e. On a aussi le droit Ă des sprites mais en une seule couleur.
Câest le mĂȘme processeur graphique sur les ordinateurs de type MSX1 et sur le TI99-4A.
Comment fonctionne la puce sonore (SN76489)Â ?
On programme des ports dâentrĂ©e / sortie pour faire du son.
Lâavantage de la Coleco est dâavoir un BIOS (programme interne Ă la machine) qui aide Ă gĂ©rer le son en envoyant des commandes plus facilement via lâappel de fonctions en assembleur. Ca Ă©vite de programmer les entrĂ©es sorties Ă chaque fois.
Quelle est votre manette préférée ?
La manette standard, bien difficile Ă prendre en main et Ă faire fonctionner, surtout pour changer de direction :DÂ !
NDM : la manette "Super Action Controller" semble pourtant plus ergonomique.
Les émulateurs ColecoVision sont-ils bons ?
Oui, ils sont bons mais ne possÚdent pas de mode aidant les développeurs. On peut citer BlueMSX qui est le plus connu, CoolCV de mon ami NanoChess aussi.
Le peu dâaide pour les dĂ©veloppeurs et le fait quâaucun Ă©mulateur ne prend en charge le processeur graphique supplĂ©mentaire F18A embarquĂ© dans le Phoenix (machine Ă base de FPGA permettant de faire comme si on avait une vraie Colecovision) ont fait que jâai dĂ©veloppĂ© mon propre Ă©mulateur que jâutilise tout le temps : E.mult T.wo. Jâai laissĂ© tomber les autres. Je vĂ©rifie quelques fois sur BlueMSX quand E.mult T.wo ne fonctionne pas sur certains points (il est pas mal buggĂ© encore ^^).
Quels sont vos jeux commerciaux préférés sur cette console ?
Je dirais Zaxxon et Donkey Kong.
Quels sont vos jeux "homebrew" préférés sur cette console ?
Sydney Hunter de Nanochess est vraiment bien. Jâaime pas les conversions par dĂ©compilation des jeux MSX ou SG-1000 par contre. Et il y en a pas mal sur Coleco hĂ©las âŠ
Pourquoi crĂ©er un SDK aujourdâhui pour un si vieux systĂšme ?
Car on n'est jamais mieux servi que par soi-mĂȘme et yâavait pas de SDK Ă proprement parler !
Il nây a que des morceaux de bibliothĂšques, sans vraiment de choses permettant de dissocier ce quâil fallait pour coder les graphismes, le son, les manettes. Sans dissociation de la compilation, du linkage, il n'y avait rien aussi quand jâai dĂ©butĂ© pour gĂ©rer le bank switching, jâai fais mes propres outils (disponibles dans pvcollib).
Ăa a Ă©tĂ© la raison de rĂ©aliser PVCollib, qui fonctionne comme PVSneslib. ça mâaide si je dois voir comment porter un jeu entre ces 2 plates-formes.
Est-ce que vous participez vous mĂȘme Ă la crĂ©ation de jeux ?
Oui, jâai fait pas mal de jeux sur cette console dont un Bomberman : RobeeBlaster ;) Jâai aussi rĂ©alisĂ© une adaptation du jeu dâarcade Bagman qui fonctionne vraiment bien.
Quelles ont été les difficultés pour créer PVCollib?
Yâen a pas eu de trop, aprĂšs avoir Ă©tudiĂ© la console, le kit est arrivĂ© assez vite. Jâai mis un peu plus de temps Ă crĂ©er les outils et surtout E.mult T.wo qui en est Ă sa "je sais plus combien" de version :D !
Est-ce que PVcollib gÚre les divers périphériques de la ColecoVision ?
Oui, PVCollib gĂšre le volant par exemple. Il gĂšre aussi le F18A, processeur graphique additionnel.
Quels conseils donneriez-vous Ă quelquâun qui veut se lancer dans le dĂ©veloppement ColecoVision ?
Comme sur SNES, copier/coller de ma rĂ©ponse ;) La difficultĂ© supplĂ©mentaire est le peu de RAM disponible. Il faut vraiment se faire des noeuds au cerveau pour tenir dans moins dâ1K de RAM.
Je suis assez fier de mon Bomberman, RobeeBalster qui permet avec si peu de RAM dâavoir un mode Story et un mode Battle Ă 2Â !
Jâavais mĂȘme prĂ©vu le mode Ă 4 mais câĂ©tait pas terrible avec uniquement 2 manettes sur Colecovision, cette derniĂšre nâayant pas de multitap ou autre accessoire de ce genre (enfin, Ă ma connaissance). On utilisait des cĂąbles en Y pour doubler chaque manette :D !
Quels sont les outils pour créer/préparer des graphismes utilisable par PVcollib ?
Comme sur SNES, GraphicGale pour la conception des graphiques et un outil pour transformer les graphiques au format Coleco.
Jâai aussi un outil interne qui me permet dâoptimiser les graphiques et les compresser comme je veux, les rĂ©pĂ©ter dâun Ă©cran Ă lâautre. Il nâest pas "assez souple" pour ĂȘtre partagĂ© Ă dâautres dĂ©veloppeurs, jâaurais trop de questions tellement il est peu intuitif !
Quels sont les outils pour créer/préparer des musiques et des sons utilisable par PVcollib ?
LĂ , yâa rien de dispo dans le KIT hĂ©las, il faut les faire Ă la main et les transformer par quelque chose de lisible par la Colecovision :( On est toujours en attente dâun tracker pour cette console hĂ©las.
Mon outil "peu intuitif" me permet quand mĂȘme de transformer sans trop de dĂ©bat du format MIDI vers le format lisible par la Coleco.
Est-il possible de créer ses propres cartouches ?
Oui, tout à fait. Au Canada Collectorvision en fabrique vraiment beaucoup et a réalisé la plupart de mes jeux.
En France, CĂŽtĂ© Gamers est aussi de la partie, jâai Ă©ditĂ© 2 jeux avec eux.
Comment sâaccommoder des faibles ressources ?
Il faut faire avec, optimiser et optimiser. Par rapport Ă la taille des programmes, câest surtout les graphiques qui prennent de la place.
On a donc des compressions assez puissantes pour réduire tout cela et le décompresser dans la mémoire vidéo de la Coleco.
On utilise par exemple du Pletter (algorithme générique) ou encore du DANx (DAN1 à DAN3, réalisés par Amy Purple).
N.âŻD.âŻM. : exemple de Pletter et comparatif d'algorithmes
Pour la RAM, on gĂšre au plus juste les 8 bits dâun octets ou alors on utilise aussi en complĂ©ment de la mĂ©moire vidĂ©o pour pallier le peu de RAM en stockant des donnĂ©es dans des zones non affichĂ©es Ă lâĂ©cran.
Aller plus loin
- PVCollib (44 clics)
# Nostalgie...
PostĂ©Â par vmagnin (site web personnel) . ĂvaluĂ©Â Ă Â 7.
Incroyable⊠Seulement 1 Ko de RAM. Dans mes souvenirs la Coleco Ă©tait un grand progrĂšs par rapport Ă l'Atari VCS (https://fr.wikipedia.org/wiki/Atari_2600). Ah ben oui, l'Atari n'avait que 128 octets de RAMâŠ
Il faut dire que les programmes Ă©taient en ROM, donc probablement que la RAM ne servait qu'Ă stocker les variables (score, position des sprites, etc.)
A l'époque pas besoin de graphismes HD 3D, on s'amusait énormément avec quelques gros pixels !
C'est fou que des gens continuent de travailler avec ces machines. Bravo !
# Tracker
PostĂ©Â par pulkomandy (site web personnel, Mastodon) . ĂvaluĂ©Â Ă Â 3.
Il existe https://github.com/tildearrow/furnace comme tracker, il sait faire de la musique utidisant la puce son de la Colecovision, qu'est-ce qui empĂȘche de l'utiliser?
[^] # Re: Tracker
PostĂ©Â par eastwind⯠. ĂvaluĂ©Â Ă Â 2.
Merci , je me posais la mĂȘme question. La question subsidiaire c'est de savoir est-ce qu'on sait mesurer la qualitĂ© du son en sortie entre la puce original et son Ă©mulation ?
[^] # Re: Tracker
PostĂ©Â par alekmaul . ĂvaluĂ©Â Ă Â 1.
Pour les admins, l'image du jeu Sydney hunter de Nanochess est celui de la version Intellivision et non Coleco à mon avis ;)
Pour furnace, il faut que je vois s'il utilise les fonctions du BIOS de la Colecovision ou uniquement de la génération via le SN76489 (ce qui fonctionne aussi mais prend plus de place).
Merci du lien en tout cas !
# les sprites permis par le TMS9918
PostĂ©Â par orfenor . ĂvaluĂ©Â Ă Â 2.
Si ma mĂ©moire n'est pas trop dĂ©faillante, sur TI99-4A les sprites Ă©taient peut-ĂȘtre bien monochromes, mais on pouvait avoir plusieurs sprites de couleur diffĂ©rente Ă l'Ă©cran. C'est pareil sur Coleco ?
# Encore moins (ou encore plus) : Yeno/Epoch Super Cassette Vision 128 octets
PostĂ©Â par pepie34 . ĂvaluĂ©Â Ă Â 2.
Alors la Super Cassette Vision de Yeno (France) ou Epoch (Japon) câest encore moins juste 128 octets. Et pourtant de trĂšs bon jeux comme le premier jeu vidĂ©o Dragon Ball :
https://youtu.be/5e8Xbx5JG7Q
Et quelques hombrew / démos bluffantes :
https://youtu.be/fA2eKN_WMUo
La description sur Wikipédia en:
https://en.wikipedia.org/wiki/Super_Cassette_Vision
Suivre le flux des commentaires
Note : les commentaires appartiennent Ă celles et ceux qui les ont postĂ©s. Nous nâen sommes pas responsables.