Développement Shoot them up
Modérateurs : SirG, Redfield1, shubibiman, Laucops
- Hero_Tonma
- Push Run Button!
- Messages : 89
- Inscription : lun. 20 juil. 2015 14:26
Développement Shoot them up
Salut. Il faut bien commencer un développement de jeu quelque part et se donner des objectifs. Je me lance dans un shoot them up. A priori horizontal (gradius, r-type, ...) ou vertical (raiden, super star soldier, ...)
Donc du bon jeu d'arcade.
Le soucis est que je suis novice sur PCE et dans le codage 8bits. J'ai vu l'outils HUC pour développer en C, mais est-ce suffisant pour un bon jeu d'arcade avec au moins un double scroll ? Ou Est-ce qu'il vaux mieux utiliser huc avec une base en assembleur pour les fonctions les plus gourmande ?
Si vous avez des conseils ou des liens pour débuter (même en anglais).
Aussi, peut-on envisager un développement pour les 2 consoles dès le départ : PC Engine et Supergrafx. Suivant la bécane, on a un mode amélioré pour avoir plus d'animation ou d'effets spéciaux?
Je posterai directement mes autres questions ainsi que l'avancement du projet au fur et à mesure de mon apprentissage.
Merci de votre lecture.
Version test :
https://www.dropbox.com/s/f8iexf3ia4s86f7/tonma.zip
Donc du bon jeu d'arcade.
Le soucis est que je suis novice sur PCE et dans le codage 8bits. J'ai vu l'outils HUC pour développer en C, mais est-ce suffisant pour un bon jeu d'arcade avec au moins un double scroll ? Ou Est-ce qu'il vaux mieux utiliser huc avec une base en assembleur pour les fonctions les plus gourmande ?
Si vous avez des conseils ou des liens pour débuter (même en anglais).
Aussi, peut-on envisager un développement pour les 2 consoles dès le départ : PC Engine et Supergrafx. Suivant la bécane, on a un mode amélioré pour avoir plus d'animation ou d'effets spéciaux?
Je posterai directement mes autres questions ainsi que l'avancement du projet au fur et à mesure de mon apprentissage.
Merci de votre lecture.
Version test :
https://www.dropbox.com/s/f8iexf3ia4s86f7/tonma.zip
Dernière modification par Hero_Tonma le dim. 04 oct. 2015 16:21, modifié 1 fois.
- Warhol
- Backup RAM Full!
- Messages : 5888
- Inscription : sam. 03 mars 2012 17:41
- Localisation : IDF
Re: Développement Shoot them up
Super projet!
Touko, présent sur le forum, a réalisé un shoot them up sur PCE (super CD) il y a quelques temps.
Il pourra surement t'aider
http://forum.necstasy.net/memberlist.ph ... ile&u=1386
Touko, présent sur le forum, a réalisé un shoot them up sur PCE (super CD) il y a quelques temps.
Il pourra surement t'aider
http://forum.necstasy.net/memberlist.ph ... ile&u=1386
- Kaminari
- Modérateur
- Messages : 7049
- Inscription : ven. 24 sept. 2004 19:36
- Contact :
Re: Développement Shoot them up
Salut Tonma,
Pour du développement sérieux, HuC (qui n'est plus mis à jour depuis 12 ans) va malheureusement vite te poser des problèmes. Il existe quelques outils, resources et portails de dev dédiés à la PCE, mais c'est un peu le foutoir et dresser une liste complète ne serait pas superflu.
Dans l'immédiat, je te recommande chaudement le forum de notre ami MooZ : http://pcedev.blockos.org/
Il n'y a pas d'effets spéciaux sur SuperGrafx
C'est essentiellement une CoreGrafx avec deux GPUs identiques au lieu d'un (donc deux backgrounds indépendants, et 2x64 sprites max), et un peu plus de RAM. Tu dois prévoir tes développements (surtout graphiques) en conséquence.
Pour du développement sérieux, HuC (qui n'est plus mis à jour depuis 12 ans) va malheureusement vite te poser des problèmes. Il existe quelques outils, resources et portails de dev dédiés à la PCE, mais c'est un peu le foutoir et dresser une liste complète ne serait pas superflu.
Dans l'immédiat, je te recommande chaudement le forum de notre ami MooZ : http://pcedev.blockos.org/
Il n'y a pas d'effets spéciaux sur SuperGrafx
- Hero_Tonma
- Push Run Button!
- Messages : 89
- Inscription : lun. 20 juil. 2015 14:26
Re: Développement Shoot them up
Merci pour ces conseils.
Comme environnement de développement, j'ai installé HUC que je vais mettre de côté alors. Et j'ai réussi à configurer l'asm avec pceas2, étant sur du 64 bits, le pceas classique ne veux pas se lancer et je ne vais pas commencer sur une image virtuelle.
C'est plutôt cool pour la SuperGrafx, ça demande pas trop de développement supplémentaire pour des processeurs spécifiques et ça peut s'intégrer au jeu pour une meilleure expérience ludique.
Donc je dois partir sur l'assembleur. J'ai effectivement regardé un peu partout sur le net et c'est vrai que les informations sont bien éclatés. Pas facile de s'y retrouver. Je vais commencer par afficher un simple sprite que je pourrais déplacer. J'ai trouvé un tutoriel intéressant en assembleur sur le site de magicengine pour son mkit.
Touko, si tu peux m'aider par des conseils ou des liens. Ca serait super sympa. D'après ce que j'ai lu le processeur de la pc-engine est le huc6820 ou plutôt un custom du 65C02. Il va falloir que j'apprenne l'assembleur 6502 si je comprends bien.
Et je vais de ce pas me présenter à MooZ sur son forum.
Comme environnement de développement, j'ai installé HUC que je vais mettre de côté alors. Et j'ai réussi à configurer l'asm avec pceas2, étant sur du 64 bits, le pceas classique ne veux pas se lancer et je ne vais pas commencer sur une image virtuelle.
C'est plutôt cool pour la SuperGrafx, ça demande pas trop de développement supplémentaire pour des processeurs spécifiques et ça peut s'intégrer au jeu pour une meilleure expérience ludique.
Donc je dois partir sur l'assembleur. J'ai effectivement regardé un peu partout sur le net et c'est vrai que les informations sont bien éclatés. Pas facile de s'y retrouver. Je vais commencer par afficher un simple sprite que je pourrais déplacer. J'ai trouvé un tutoriel intéressant en assembleur sur le site de magicengine pour son mkit.
Touko, si tu peux m'aider par des conseils ou des liens. Ca serait super sympa. D'après ce que j'ai lu le processeur de la pc-engine est le huc6820 ou plutôt un custom du 65C02. Il va falloir que j'apprenne l'assembleur 6502 si je comprends bien.
Et je vais de ce pas me présenter à MooZ sur son forum.
- MooZ
- Administrateur
- Messages : 2090
- Inscription : jeu. 16 déc. 2004 14:25
- Contact :
Re: Développement Shoot them up
Salut!
Ouaip la dernière version d'HuC date un peu. Je crois qu'un port de cc65 est en cours.
Ouaip la dernière version d'HuC date un peu. Je crois qu'un port de cc65 est en cours.
- Hero_Tonma
- Push Run Button!
- Messages : 89
- Inscription : lun. 20 juil. 2015 14:26
Re: Développement Shoot them up
Ca serait bien, ça pourrait simplifier quand on veut utiliser les sources pour un développement à plusieurs.
Pour l'instant, assembleur assembleur. Je suis en train de lire les docs et les exemples pour avoir une bonne vu d'ensemble.
Pour l'instant, assembleur assembleur. Je suis en train de lire les docs et les exemples pour avoir une bonne vu d'ensemble.
- MooZ
- Administrateur
- Messages : 2090
- Inscription : jeu. 16 déc. 2004 14:25
- Contact :
Re: Développement Shoot them up
Je pense que le plus compliqué au début est de générer une image valide (qui se charge correctement).
- Luciole
- NECromancer
- Messages : 3320
- Inscription : mar. 10 mai 2005 15:19
- Localisation : Calais
Re: Développement Shoot them up
Alors pour le forum ce sera un vertical, dans la lignée des super star Soldier avec son célèbre mode caravan.Hero_Tonma a écrit :Salut. Il faut bien commencer un développement de jeu quelque part et se donner des objectifs. Je me lance dans un shoot them up. A priori horizontal (gradius, r-type, ...) ou vertical (raiden, super star soldier, ...).
Bref tu nous ponds ça, tu as directement le statut de "Héros" sur le forum.
Semper Fidelis.
- Warhol
- Backup RAM Full!
- Messages : 5888
- Inscription : sam. 03 mars 2012 17:41
- Localisation : IDF
- Hero_Tonma
- Push Run Button!
- Messages : 89
- Inscription : lun. 20 juil. 2015 14:26
Re: Développement Shoot them up
Maitre suffiraWarhol a écrit :Héros?! Tu peux carrément dire "Dieu"!
Pour l'instant j'ai une image valide hucard (du moins lisible par l'émulateur) et qui affiche 2 sprites. Mais la j'ai quelques soucis pour créer une animation de sprite, je pense que j'ai du me mélanger dans les zones mémoires parce que sinon mes variables et comparaisons sont bonnes.
J'utilise les macros déjà définies dans pceas (spr_set, spr_pattern, ...). Est-ce que c'est la bonne solution ? Vu qu'elles sont en assembleur, je ne pense pas que ca va ralentir le jeu.
Je vais donc relire les sources à disposition pour comprendre les bases. Donc pour le shoot, c'est pas pour ce week-end mais pour le prochain
- Hero_Tonma
- Push Run Button!
- Messages : 89
- Inscription : lun. 20 juil. 2015 14:26
Re: Développement Shoot them up
J'ai réussi à faire mon animation. J'avais mal compris la notion de bank de sprites avec les groupes.
Même si je pense que je vais encore me planter avec ça, ça me parait plus clair. Je voulais loader plusieurs "group" dans une même "bank", alors qu'on doit loader une "bank" avec le nombre de groupe associés.
Une "bank" peut avoir au max 8 sprites de 32*64, d'après ce que je vois. Correction c'est plutôt 16 ($1FFF / $200)
Prochaine étape, déplacer le sprite dans l'écran.
Même si je pense que je vais encore me planter avec ça, ça me parait plus clair. Je voulais loader plusieurs "group" dans une même "bank", alors qu'on doit loader une "bank" avec le nombre de groupe associés.
Une "bank" peut avoir au max 8 sprites de 32*64, d'après ce que je vois. Correction c'est plutôt 16 ($1FFF / $200)
Prochaine étape, déplacer le sprite dans l'écran.
- Hero_Tonma
- Push Run Button!
- Messages : 89
- Inscription : lun. 20 juil. 2015 14:26
Re: Développement Shoot them up
Hier j'ai fini mes tests pour animer un sprite et ça marche.

Bon c'est pas grand chose mais ça plaisir quand on débute.
Mooz tente de m'expliquer pour le background, mais je suis un boulet, je dois certainement me mélanger les pinceaux lors de l'écriture en vram ou sur la rom. J'aimerai écrire dans le BG Color puis le BG Plane pour commencer, en asm bien sûr, mais je m'accroche.
Vous pouvez tester le rom plus haut, je la mettrais à jour au fur et à mesure au même endroit.

Bon c'est pas grand chose mais ça plaisir quand on débute.
Mooz tente de m'expliquer pour le background, mais je suis un boulet, je dois certainement me mélanger les pinceaux lors de l'écriture en vram ou sur la rom. J'aimerai écrire dans le BG Color puis le BG Plane pour commencer, en asm bien sûr, mais je m'accroche.
Vous pouvez tester le rom plus haut, je la mettrais à jour au fur et à mesure au même endroit.
- MooZ
- Administrateur
- Messages : 2090
- Inscription : jeu. 16 déc. 2004 14:25
- Contact :
Re: Développement Shoot them up
Au fait tu utilises quel émulateur?
Je te conseille mednafen. Il possède un debugger intégré bien pratique.
Tu peux voir l'état de la mémoire, le code, et surtout le contenu de la mémoire vidéo.
Je te conseille mednafen. Il possède un debugger intégré bien pratique.
Tu peux voir l'état de la mémoire, le code, et surtout le contenu de la mémoire vidéo.
- Hero_Tonma
- Push Run Button!
- Messages : 89
- Inscription : lun. 20 juil. 2015 14:26
Re: Développement Shoot them up
Génial. C'est celui que j'utilise mais j'avais pas regardé le debugger.
C'est cool, j'ai accès aux à tous et je peux voir les sprites en mémoire. Ca va m'être utile pour mes tests sur le background et vérifier les registres.
Merci
C'est cool, j'ai accès aux à tous et je peux voir les sprites en mémoire. Ca va m'être utile pour mes tests sur le background et vérifier les registres.
Merci
- touko
- NECromancer
- Messages : 2297
- Inscription : lun. 31 mars 2008 14:32
Re: Développement Shoot them up
Ouuuuuh, j'avais raté ça ...
salut Hero_Tonma, ça fait plaisir de voir un nouveau venu dans le dev PCE/SGX .
Comme certains te l'ont déjàs dit, Huc est une bonne base pour commencer mais date une peu en plus d'être loin de l'optimal .
Pour un shoot tu peux oublier, tu verras très vite les limites de huc pour ce genre de jeu .
Tu peux facilement mixer de l'asm avec huc, ça arrange bcp les choses, mais franchement huc est trop crade, car fait pour les débutants .
Il faut le customiser à mort pour le rendre intéressant .
L'idéal est de commencer avec huc pour comprendre la console, et ensuite passer à l'asm ,tu réécris tes fonctions C en asm, perso j'ai fait comme ça, la transition se fait tout en douceur .
Si tu commences direct en ASM, c'et plus difficile car tu devras assimiler les 2 choses, le hardware et l'asm, mais rien d'impossible .
La ram en plus fonctionne comme une bank en ROM/CDRAM ..
Pour des infos regroupées sur la PCE/SGx tu as ça : http://www.archaicpixels.com/Main_Page
@warhol: Meric pour la pub,mais c'était vraiment un petit shoot .
salut Hero_Tonma, ça fait plaisir de voir un nouveau venu dans le dev PCE/SGX .
Comme certains te l'ont déjàs dit, Huc est une bonne base pour commencer mais date une peu en plus d'être loin de l'optimal .
Pour un shoot tu peux oublier, tu verras très vite les limites de huc pour ce genre de jeu .
Tu peux facilement mixer de l'asm avec huc, ça arrange bcp les choses, mais franchement huc est trop crade, car fait pour les débutants .
Il faut le customiser à mort pour le rendre intéressant .
L'idéal est de commencer avec huc pour comprendre la console, et ensuite passer à l'asm ,tu réécris tes fonctions C en asm, perso j'ai fait comme ça, la transition se fait tout en douceur .
Si tu commences direct en ASM, c'et plus difficile car tu devras assimiler les 2 choses, le hardware et l'asm, mais rien d'impossible .
Au début si tu pars vraiment de 0, c'est pas super facile de tout comprendre, mais si tu t'accroches tu ferras bcp de progrès en peu de temps .Bon c'est pas grand chose mais ça plaisir quand on débute.
Tout ce qui est appris pour PCE, l'est à l'identique pour la SGX, seul le VPC est à apprendre en plus, le second VDC fonctionne comme le 1er, juste accessible via des adresses différentes .Aussi, peut-on envisager un développement pour les 2 consoles dès le départ : PC Engine et Supergrafx.
La ram en plus fonctionne comme une bank en ROM/CDRAM ..
Pour des infos regroupées sur la PCE/SGx tu as ça : http://www.archaicpixels.com/Main_Page
@warhol: Meric pour la pub,mais c'était vraiment un petit shoot .
Ce qui est chiant avec les sprites c'est l'alignement en VRAM qu'il faut respecter, rien de dramatique, mais des fois tu comprends pas que ton sprite soit pas celui que tu attends à cause de l'alignement pas respecté .Même si je pense que je vais encore me planter avec ça, ça me parait plus clair.


