Coder sur PCEngine c'est facile ! [PART 1]
Salut à tous,
J'ai tellement été séduit par la programmation sur PCEngine que j'ai eu l'idée de faire un petit tuto pour programmer avec Huc 3.21.
Ce langage, qui est super abordable tout en restant performant, est le plus simple que je connaisse à l'heure actuelle pour faire un jeu sur une console rétro. C'est l'équivalent pour console de QB64 ou Blitz pour PC, alors que ces derniers sont en basic ! On verra bien si j'arrive à en convertir certains !
Quand j'ai commencé avec Huc, je n'ai pas trouvé de tuto en français et ceux en anglais étaient trop techniques pour un débutant ! Je vais donc essayer de faire un tuto bref et qui viendra à l'essentiel, comme j'aurais aimé en trouver un : afficher une fond d'écran, faire bouger un sprite, un peu de logique, les bases de la création d'un jeu.
De toute façon je n'ai pas la prétention de tout connaitre ni en C ni avec Huc. Ensuite, si vous voulez approfondir, on pourra en discuter sur le forum de Gamopat, il y a pas mal de personnes calées qui pourront vous aider. Mais l'essentiel est d'au moins commencer, c'est souvent là que l'on bute !
01- installation du Huc3.21
Rélécharger Huc ici :
https://www.dropbox.com/s/67ut3vj1y4ce843/Huc321.zip?dl=0
Dezipper le dossier, ça ne prends pas de place. 10 mégas dans ma version qui contient Mednafen, l'emulateur PCEngine.
Voici le dossier une fois en place :
Vous pouvez placer le dossier ou vous voulez, vous pourrez même déplacer ce dossier plus tard si jamais vous changer d'idée car Huc et Mednafen n'ont pas besoin d'installation. Vous pouvez même vous servir de Huc et Mednafen à partir d'une clé USB !
02- Utilisation de Huc
C'est simple, Huc 3.21 fonctionne sous MS-DOS. De tous les fichiers présents dans le dossier, vous ne vous servirez que d'un seul, l'invite de commandes MS-DOS. Si le MS-DOS vous fait peur, n'ayez pas peur : il n'y aura qu'un seul mot à taper et c'est tout !
Il vous suffit de cliquer sur l'invite de commande dans le dossier de Huc (cmd.exe) :
La seule chose que cette fenêtre fera c'est de compiler votre jeu. C'est quoi compiler ?
Et bien quand vous aurez tapé du code dans un fichier nommé 01.c par exemple,
dans l'invite de commande vous taperez compil 01.c... et là c'est la magie, Huc transformera vos codes en une rom pour PCEngine ! Vous pourrez faire fonctionner cette rom avec Mednafen ou sur votre PCEngine via une cartouche Everdrive !
Attention, dans quelques temps Huc 3.21 sera devenu obsolète car une nouvelle version de Huc est en travaux, une version plus moderne, avec interface Windows et tout et tout. Mais pour l'instant elles est encore en version beta si je ne dis pas de bêtise. De tout façon, je pense que les codes basiques que je vais présenter ici seront les mêmes sur les deux versions.
03- comment coder
Si vous avez bien suivi, Huc ne sera là que pour compiler vos codes. Alors, où les taper ? Et bien tout simplement dans un fichier texte que vous allez créer avec l'éditeur de texte que vous voulez : Le bloc-notes de Windows, Wordpad, Notepad++ ou même Codeblocks. Ces deux derniers sont recommandés, car ils gèrent notamment les accolades, chose importantes en C.
Je recommande en particulier notepad++ qui est plus léger.
Si vous ne savez pas comment créer un fichier texte qui fini par .c au lieu de .txt, allez dans le dossier de Huc, j'ai déja crée un fichier nommé 01.c, vous pourrez vous en servir de base.
Je conseille d'avoir un nom de fichier court, comme 01.c car quand vous aurez à compiler ce fichier, écrire compil 01.c c'est moins long que compil monsuperjeu.c ;)
04- commencer à coder
Ouvrez ce fichier 01.c. Vous allez voir qu'il y a des choses déjà écrites dedans :
C'est le minimum qu'il vous faut pour pouvoir compiler avec Huc sans avoir d'erreur.
#include "huc.h" inclue tout simplement Huc à votre programme.
int VSyncCnt;
int TimerCnt;
int MainCnt;
int SubCnt;
ça c'est le minimum de code de Huc pour pouvoir avoir une boucle qui fonctionne entre autres.
Oula, c'est quoi une boucle ?! Vos codes seront lus en boucle par la console plusieurs fois par secondes, en général ça sera 60 fois par secondes. On utilise le terme Vsync pour caler la vitesse de cette boucle à l'affichage de la télé. J'espere avoir expliqué ça le plus simplement possible. Si vous n'avez rien compris, faites comme moi dans ce cas là, du moment que ça marche, n'y touchez pas !
main()
{
}
Voici votre fameuse boucle. elle s'appelle "main" et est vide. c'est entre les deux accolades que vous allez pouvoir y mettre vos codes. Si vous compilez 01.c dans cet état, ça marche mais il n'y aura rien à l'écran. Maintenant il faut commencer !
05- afficher du texte
Maintenant il faut mettre quelque chose à l'intérieur de cette boucle. On va commencer simple, par du texte. Mettez ceci entre les deux accolades :
put_string("salut Gamopat !", 5, 10);
ceci ecrit le texte à l'emplacement x = 5 et y = 10
Ca donnera ça :
Sauvegardez bien sûr. Maintenant il faut compiler pour admirer votre travail. Ouvrez l'invité de commandes, n'ayez pas peur ça fait pas mal, et tapez compil 01.c
Normalement ça donnera ceci :
Ca veut dire que tout s'est bien passé. Votre première rom PCEngine a été créée !
Allez dans votre dossier de Huc, et vous allez voir que quatres nouveaux fichiers ont été créés :
01.lst
01.pce
01.s
01.sym
C'est normal, mais seul 01.pce nous intéresse, il s'agit de la rom
06- lancer la rom
Avoir fait une rom c'est bien, mais maintenant il faut en faire quelque chose ! Si vous avez une Everdrive, vous pouvez l'essayer sur votre PCEengine. Cool.
Et voici comment l'utiliser avec l'émulateur Mednafen :
il y deux méthodes :
Faites glisser la rom sur le raccourci de Mednafen (mednafen.exe - raccourci). Normalement le "jeu" se lance automatiquement dans une fenêtre. Si il y a un code erreur c'est que votre raccourci est incorrect. Refaites le en faisant un clic droit puis créer un raccourci sur le fichier mednafen.exe qui se trouve dans le dossier mednafen, puis copiez-collez ce nouveau raccourci dans votre dossier de travail. Ré-essayez de faire glisser la rom sur le nouveau raccourci, et la ça va marcher.
Mednafen a aussi une interface Windows, nommée mednafenGUI.exe. Au début je l'utilisait mais finalement c'est bien plus rapide de faire glisser la rom !
Voila, j'espere que cette première partie de tuto vous plaira, la suite pour bientôt avec l'affichage d'un background !
@+