Apprendre à programmer un jeux
Modérateurs : Papy.G, fneck, Carl
Apprendre à programmer un jeux
Salut a tous ,
Apprendre à programmer un jeu par où commencer étant débutant mais motivé ?
J'ai bien vu le fil de Bentoc sur le forum de Daniel utilisant Java (http://www.logicielsmoto.com/phpBB/view ... =620☆t=180) et un projet sur github : https://github.com/wide-dot/thomson-to8-game-engine
J'aimerai savoir par quoi commence-t-on pour apprendre ? Existe t'il des formations en Java par exemple ?
Je précise que je parle de langages autre que le Basic.
Merci d'avance pour vos réponses
Apprendre à programmer un jeu par où commencer étant débutant mais motivé ?
J'ai bien vu le fil de Bentoc sur le forum de Daniel utilisant Java (http://www.logicielsmoto.com/phpBB/view ... =620☆t=180) et un projet sur github : https://github.com/wide-dot/thomson-to8-game-engine
J'aimerai savoir par quoi commence-t-on pour apprendre ? Existe t'il des formations en Java par exemple ?
Je précise que je parle de langages autre que le Basic.
Merci d'avance pour vos réponses
Re: Apprendre à programmer un jeu
Rectification : Le propriétaire du site logicielsmoto et de son forum est Yoann.
J'ai créé un forum il y a une vingtaine d'années, mais il a été fermé en 2005 : http://dcmoto.free.fr/forum/index.html
A l'époque des ordinateurs Thomson l'apprentissage de la programmation des jeux commençait le plus souvent par le BASIC. Ensuite on ajoutait des petites routines en assembleur pour accélérer les animations, et avec l'expérience on arrivait à écrire des jeux 100% assembleur. Je ne sais pas s'il y a d'autres processus d'apprentissage. Dans tous les cas, avec les ordinateurs 8 bits de l'époque, il faut apprendre à connaître la machine.
Développer en Java un moteur de jeu comme celui de Bentoc est un tout autre exercice et deviendrait vite hors-sujet ici.
J'ai créé un forum il y a une vingtaine d'années, mais il a été fermé en 2005 : http://dcmoto.free.fr/forum/index.html
A l'époque des ordinateurs Thomson l'apprentissage de la programmation des jeux commençait le plus souvent par le BASIC. Ensuite on ajoutait des petites routines en assembleur pour accélérer les animations, et avec l'expérience on arrivait à écrire des jeux 100% assembleur. Je ne sais pas s'il y a d'autres processus d'apprentissage. Dans tous les cas, avec les ordinateurs 8 bits de l'époque, il faut apprendre à connaître la machine.
Développer en Java un moteur de jeu comme celui de Bentoc est un tout autre exercice et deviendrait vite hors-sujet ici.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
-
- Messages : 7987
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Apprendre à programmer un jeux
Oui, sur les 8bits, le mieux pour commencer sont les simples jeux en basic des magazines et revues d'époque. Rien que de les lire était formateur pour comprendre "comment ils marchaient". Ensuite dans ces magazines, on trouve des jeux "plus rapides/plus cool" avec des bouts d'assembleur. On peut alors regarder de plus près l'assembleur et connaitre la machine (car le BASIC "abstrait" la machine) Et au fil du temps et de l'expérience on maitrise son environnement et on peu passer au full ASM, ou au niveau META (génération d'asm depuis du haut niveau) comme le moteur de Bentoc.
Sur thomson la littérature pour apprendre à programmer est abondante. Je ne les connais pas bien (je me suis formé sur le tas à l'école hebdogiciel), mais je suppose que "Jeux en basic sur TO7", "pratique du TO7/70 - 26 programmes" puis "Faites vos jeux en Assembleur sur TO7/TO7-70" semblent logique. Fool-Duplex les connait mieux que moi et saurait t'indiquer lesquels sont les mieux.
Sur thomson la littérature pour apprendre à programmer est abondante. Je ne les connais pas bien (je me suis formé sur le tas à l'école hebdogiciel), mais je suppose que "Jeux en basic sur TO7", "pratique du TO7/70 - 26 programmes" puis "Faites vos jeux en Assembleur sur TO7/TO7-70" semblent logique. Fool-Duplex les connait mieux que moi et saurait t'indiquer lesquels sont les mieux.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Apprendre à programmer un jeux
Faut commencer par savoir sur quelle machine tu veux programmer un jeu et quel type de jeu tu vises.
La machine te donne tout un tas de contraintes, idem pour le type de jeu.
ensuite a partir de ca tu peux déterminer quel langage (ou a l'inverse, le langage te donne le type de jeux que tu peux faire).
Le langage est important.
Le top c'est l'assembleur sur les machines 8 bits et 16 bits. Ca te donne accès a tout, et a vitesse maximum. Par contre ce sont des langage difficile a apprendre et suivant les machines l'assembleur change et il faut réapprendre un autre (même si il y a des bases commune).
Le basic, c'est le plus simple, mais aussi le plus lent. C'est bien documenté et il y a plein de bouquins.
Perso j'ai choisi une autre approche sur les 8 bits, je programme en C. Avec les compilateurs moderne le code généré en assembleur est assez propre et optimisé. Tu peux ajouter des routine en assembleur direct dans le C pour les parties sensibles.
La machine te donne tout un tas de contraintes, idem pour le type de jeu.
ensuite a partir de ca tu peux déterminer quel langage (ou a l'inverse, le langage te donne le type de jeux que tu peux faire).
Le langage est important.
Le top c'est l'assembleur sur les machines 8 bits et 16 bits. Ca te donne accès a tout, et a vitesse maximum. Par contre ce sont des langage difficile a apprendre et suivant les machines l'assembleur change et il faut réapprendre un autre (même si il y a des bases commune).
Le basic, c'est le plus simple, mais aussi le plus lent. C'est bien documenté et il y a plein de bouquins.
Perso j'ai choisi une autre approche sur les 8 bits, je programme en C. Avec les compilateurs moderne le code généré en assembleur est assez propre et optimisé. Tu peux ajouter des routine en assembleur direct dans le C pour les parties sensibles.
Re: Apprendre à programmer un jeux
Alors effectivement, vu le jeu visé, à mon avis, le Basic risque d'être un peu limité. C'est pour ça que je privilégiais un langage sur PC compatible TO/MO.
Le Basic, risque d'être limité en vitesse et surtout en textures, a moins d'utilisé les defgr$.
Pour ce qui est du langage Basic, je me débrouillais pas mal à l’époque, j'en ai passé des nuits blanches à copier des programmes avec des copains (1986/1988) (Théophile /teo/microtom ect ...) et à relire les instructions du manuel TO8. On a même créé un jeux avec mon père pour mon frangin qui était nul en français, il s'appelait la roulette russe (dommage programme que je n'ai pu récupérer, disquette QDD HS) , un pistolet, un bonhomme et a chaque faute dans un mot, il y avait un tir (avec ou sans balle), les chances de corrections du mot était variable ,vu que c’était du hasard. ,franchement c’était un bon jeux ,pour ça le Basic faisait vraiment le job !(on en a eu des fou-rires et des plantages)
L'idée du jeu partirait d'un jeu de plate-forme type "Vampire/Sorcery" ou avec scrolling type mario bros (mais j'émets des réserves sur la faisabilité.). Pour la petite histoire ma femme écrit plusieurs livre (2)et l'idée d'un livre sur une histoire sur le minotaure "asterion"de la mythologie grec nous a donné une idée, donc ça serai un jeux type labyrinthe (plateau) , avec pas mal de niveaux qui suivrait les aventures de l’histoire de son livre.(du coup ça allie nos passion ,livre / jeux vidéo et musique ,car oui on compte utilisé la carte son de Dino avec des musiques composées par moi même)
Le personnage que l'on contrôlerait, c'est thésè et plusieurs missions seraient à faire, le boss final ça serait Asterion évidemment (Je ne divulgue pas tout ), il faut que l’on dessine avec ma femme la carte du labyrinthe.
Après tout ça reste dans le cadre du loisirs ,donc rien urgentissime.
Le Basic, risque d'être limité en vitesse et surtout en textures, a moins d'utilisé les defgr$.
Pour ce qui est du langage Basic, je me débrouillais pas mal à l’époque, j'en ai passé des nuits blanches à copier des programmes avec des copains (1986/1988) (Théophile /teo/microtom ect ...) et à relire les instructions du manuel TO8. On a même créé un jeux avec mon père pour mon frangin qui était nul en français, il s'appelait la roulette russe (dommage programme que je n'ai pu récupérer, disquette QDD HS) , un pistolet, un bonhomme et a chaque faute dans un mot, il y avait un tir (avec ou sans balle), les chances de corrections du mot était variable ,vu que c’était du hasard. ,franchement c’était un bon jeux ,pour ça le Basic faisait vraiment le job !(on en a eu des fou-rires et des plantages)
L'idée du jeu partirait d'un jeu de plate-forme type "Vampire/Sorcery" ou avec scrolling type mario bros (mais j'émets des réserves sur la faisabilité.). Pour la petite histoire ma femme écrit plusieurs livre (2)et l'idée d'un livre sur une histoire sur le minotaure "asterion"de la mythologie grec nous a donné une idée, donc ça serai un jeux type labyrinthe (plateau) , avec pas mal de niveaux qui suivrait les aventures de l’histoire de son livre.(du coup ça allie nos passion ,livre / jeux vidéo et musique ,car oui on compte utilisé la carte son de Dino avec des musiques composées par moi même)
Le personnage que l'on contrôlerait, c'est thésè et plusieurs missions seraient à faire, le boss final ça serait Asterion évidemment (Je ne divulgue pas tout ), il faut que l’on dessine avec ma femme la carte du labyrinthe.
Après tout ça reste dans le cadre du loisirs ,donc rien urgentissime.
-
- Messages : 408
- Inscription : 22 juil. 2020 20:56
Re: Apprendre à programmer un jeux
Bonjour,
Quelqu'un a-t-il cherché à désassembler Vampire ou Sorcery ?
Pour ma part j'avais commencé pour Vampire, et il utilise un véritable moteur de jeu et qui sépare bien :
- le code (le moteur proprement dit)
- les tableaux (la structure du labyrhinte)
- les graphismes
Il utilise (comme pratiquement tous les jeux de plate-forme de cette époque) un système de tuiles, utilisés pour les décors, objets et monstres.
Après, il suffirait (façon de parler) de programmer un éditeur de tableau, et cela peut se faire sur un PC.
Quelqu'un a-t-il cherché à désassembler Vampire ou Sorcery ?
Pour ma part j'avais commencé pour Vampire, et il utilise un véritable moteur de jeu et qui sépare bien :
- le code (le moteur proprement dit)
- les tableaux (la structure du labyrhinte)
- les graphismes
Il utilise (comme pratiquement tous les jeux de plate-forme de cette époque) un système de tuiles, utilisés pour les décors, objets et monstres.
Après, il suffirait (façon de parler) de programmer un éditeur de tableau, et cela peut se faire sur un PC.
-
- Messages : 254
- Inscription : 22 mars 2022 20:23
- Localisation : Pas trop loin au sud de Paris
Re: Apprendre à programmer un jeux
Il y a 2 étapes
- Apprendre à programmer
- Programmer des jeux
Au delà de la syntaxe particulière d'un langage et des possibilités fournie par ses librairies standards ("la substance"), il y a un savoir-faire fortement recommandé pour arriver à ses fins sans se compliquer la tâche plus qu'elle ne l'est ("l'essence") : l'algorithmique et les structures de données (organisation de collections de données -listes, arbres, dictionnaires-, manipulation des collections -ajouter des élements, retirer des éléments, trier- ; savoir modéliser les données d'un problème ; quelques bonnes pratiques)
Parce que fondatementalement, un jeu est "juste" un type particulier de programmes interactifs, c'est-à-dire basée sur une boucle infinie effectuant la séquence : "détecter les changements des périphériques d'entrée (clavier, joystick, temps)" => "mettre à jour l'état (le modèle) du jeu " => "mettre à jour l'affichage". Bref, programmer un jeu ou programmer un logiciel de gestion, c'est fondamentalement le même combat.
2. Programmer des jeux
J'avais trouvé un article assez intéressant il y a quelques décades, disant en substance d'y aller progressivement en suggérant des archétypes de jeu de difficulté croissante : https://gamedev.net/tutorials/programmi ... ment-r892/
En gros, commencer par faire un Tétris, puis un casse-brique, puis un pac-man, et enfin un jeu de plate-forme.
Re: Apprendre à programmer un jeux
Je regarde cette chaine : https://www.youtube.com/@TUTOUNITYFR ,il y a des tutos mais j'ai peur que langage diffère ,il apprend le C# et la création d'un jeux avec UNITY aux debutants.
Re: Apprendre à programmer un jeux
Pour programmer un jeu, il faut avoir de bonnes compétences dans des domaines très différents : scénario, graphisme, musique, programmation.
Il est rare qu'un même individu soit excellent dans tous les domaines, c'est pourquoi la plupart des jeux ont été développés en équipe.
Aujourd'hui, pour des jeux sur ordinateurs anciens, il est conseillé de programmer sur PC plutôt que directement sur une machine 8 bits, pour bénéficier d'outils de développement plus puissants. Il est possible d'utiliser un langage de haut niveau s'il existe un compilateur pour le processeur concerné, avec des bibliothèques adaptées à l'ordinateur final. Mais ce n'est pas forcément nécessaire, l'assembleur est aussi un bon choix.
Dans tous les cas il faut maîtriser l'assembleur et les spécificités de l'ordinateur cible.
Il est rare qu'un même individu soit excellent dans tous les domaines, c'est pourquoi la plupart des jeux ont été développés en équipe.
Aujourd'hui, pour des jeux sur ordinateurs anciens, il est conseillé de programmer sur PC plutôt que directement sur une machine 8 bits, pour bénéficier d'outils de développement plus puissants. Il est possible d'utiliser un langage de haut niveau s'il existe un compilateur pour le processeur concerné, avec des bibliothèques adaptées à l'ordinateur final. Mais ce n'est pas forcément nécessaire, l'assembleur est aussi un bon choix.
Dans tous les cas il faut maîtriser l'assembleur et les spécificités de l'ordinateur cible.
Dernière modification par Daniel le 12 janv. 2023 09:15, modifié 1 fois.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Apprendre à programmer un jeux
Je suis plutôt de l'école prônée par Daniel, Sam et Sporniket. Il faut programmer, programmer et programmer. Commencer simple, petit mais pas sans ambitions.
-
- Messages : 7987
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Apprendre à programmer un jeux
Oui et lire les programmes des autres. C'est pour cela que les revues des années 80 sur l'informatique avaient des exemple de programmes que chacun pouvait étudier/adapter à sa machine (exemple: les cahiers SVM). C'est très formateur de voir comment les autres fonts ou ont faits.
Ce qui est certain c'est que c'est un processus qui prends du temps. Il faut commencer petit pour aller loin.
/!\ Je parle de programmer un jeu sur les anciennes machines type 8 bits. Pour un jeu PC ou sur des machines modernes, c'est totalement différent: il n'y a qu'à assembler les bouts de codes qu'on trouve de droite et de gauche et qui font vaguement ce que l'on veut, le tout dans un moteur de jeu prédéfini.
Ce qui est certain c'est que c'est un processus qui prends du temps. Il faut commencer petit pour aller loin.
/!\ Je parle de programmer un jeu sur les anciennes machines type 8 bits. Pour un jeu PC ou sur des machines modernes, c'est totalement différent: il n'y a qu'à assembler les bouts de codes qu'on trouve de droite et de gauche et qui font vaguement ce que l'on veut, le tout dans un moteur de jeu prédéfini.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Apprendre à programmer un jeux
Bon ,il me faut un formateur car tout seul en autodidacte ,ça va être compliqué .
Pour la musique aucun soucis ,je suis musicien professionnel ,je joue de la guitare depuis 40 ans entre autres(clavier , batterie, basse) ,je gère des logiciel comme Cubase ,je compose déjà , la musique c'est mon terrain de jeux !(plusieurs groupes a mon actif avec enregistrements de 3 EP)
Pour la musique aucun soucis ,je suis musicien professionnel ,je joue de la guitare depuis 40 ans entre autres(clavier , batterie, basse) ,je gère des logiciel comme Cubase ,je compose déjà , la musique c'est mon terrain de jeux !(plusieurs groupes a mon actif avec enregistrements de 3 EP)
Donc ma formation sur Unity avec le langage C# ne sert a rien pour les 8 bit ?/!\ Je parle de programmer un jeu sur les anciennes machines type 8 bits. Pour un jeu PC ou sur des machines modernes, c'est totalement différent: il n'y a qu'à assembler les bouts de codes qu'on trouve de droite et de gauche et qui font vaguement ce que l'on veut, le tout dans un moteur de jeu prédéfini.
C'est pareil quand je prend des stagiaires dans mon entreprise ,on commence pas par des projets trop véloce ( avec des angles de renversements , galbe ect ...) ... ,je conseille toujours de faire une guitare simple a manche vissé type Telecaster ,voir un montage en kit pour poser les bases.En gros, commencer par faire un Tétris, puis un casse-brique, puis un pac-man, et enfin un jeu de plate-forme.
Re: Apprendre à programmer un jeux
Salut,
Pour répondre à Daniel, la partie scénario / dessin (sur papier) c'est ma part de boulot
Pour le moment, l'idée est assez grossière, au fil des lignes et des mots l'histoire se brodera autour de l'idée générale de base. Le tout, c'est de ne pas rendre le jeu trop compliqué à réaliser, mais aussi à jouer, que tout le monde passe un moment de détente.
Je n'y connais rien en programmation ou en graphisme sur ordinateur, mais quand on veut, on peut donc... Et bien, je vais m'y mettre.
En attendant, merci, à tous pour vos précieux conseils, on vous montrera nos progrès bientôt, j'espère.
Pour répondre à Daniel, la partie scénario / dessin (sur papier) c'est ma part de boulot
Pour le moment, l'idée est assez grossière, au fil des lignes et des mots l'histoire se brodera autour de l'idée générale de base. Le tout, c'est de ne pas rendre le jeu trop compliqué à réaliser, mais aussi à jouer, que tout le monde passe un moment de détente.
Je n'y connais rien en programmation ou en graphisme sur ordinateur, mais quand on veut, on peut donc... Et bien, je vais m'y mettre.
En attendant, merci, à tous pour vos précieux conseils, on vous montrera nos progrès bientôt, j'espère.
Dernière modification par Mag7 le 12 janv. 2023 12:00, modifié 1 fois.
Re: Apprendre à programmer un jeu
Comme la programmation, le graphisme pour ordinateur 8 bits s'apprends en s'appuyant sur les réalisations de spécialistes.
Par exemple, pour Thomson, le blog d'exocet :
https://16couleurs.wordpress.com/2013/0 ... r-thomson/
https://16couleurs.wordpress.com/2018/0 ... omson-to8/
https://16couleurs.wordpress.com/2016/0 ... t-thomson/
https://16couleurs.wordpress.com/2013/1 ... -pour-to8/
https://16couleurs.wordpress.com/2014/0 ... n-thomson/
etc. (cherchez Thomson dans le blog).
Par exemple, pour Thomson, le blog d'exocet :
https://16couleurs.wordpress.com/2013/0 ... r-thomson/
https://16couleurs.wordpress.com/2018/0 ... omson-to8/
https://16couleurs.wordpress.com/2016/0 ... t-thomson/
https://16couleurs.wordpress.com/2013/1 ... -pour-to8/
https://16couleurs.wordpress.com/2014/0 ... n-thomson/
etc. (cherchez Thomson dans le blog).
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Apprendre à programmer un jeux
Merci Daniel pour les liens
J'ai une question, il me faut Grafx2, il y a un lien dans le tutoriel qui m'envoie sur un site où je peux trouver une liste de ce logiciel, mais il y a tant de versions que je ne sais lequel prendre
Je suis sur Windows 10 et le jeu est voulu pour T07/TO8 quelqu'un a une idée ?
http://pulkomandy.tk/projects/GrafX2/do ... ion&desc=1
J'ai une question, il me faut Grafx2, il y a un lien dans le tutoriel qui m'envoie sur un site où je peux trouver une liste de ce logiciel, mais il y a tant de versions que je ne sais lequel prendre
Je suis sur Windows 10 et le jeu est voulu pour T07/TO8 quelqu'un a une idée ?
http://pulkomandy.tk/projects/GrafX2/do ... ion&desc=1