Apprendre à programmer un jeux

C'est le lieu des discussions diverses et variées, mais toujours en rapport avec le thème général du forum et dans l'esprit de celui-ci. Contient des rubriques électroniques.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
sebastus
Messages : 648
Inscription : 21 janv. 2019 14:36
Localisation : Vosges(88)
Contact :

Apprendre à programmer un jeux

Message par sebastus »

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 ? :wink:

Je précise que je parle de langages autre que le Basic.

Merci d'avance pour vos réponses
Image
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Apprendre à programmer un jeu

Message par Daniel »

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.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Apprendre à programmer un jeux

Message par __sam__ »

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.
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
Avatar de l’utilisateur
Kristof
Messages : 368
Inscription : 08 mars 2021 10:44
Localisation : Narbonne (11)
Contact :

Re: Apprendre à programmer un jeux

Message par Kristof »

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.
Avatar de l’utilisateur
sebastus
Messages : 648
Inscription : 21 janv. 2019 14:36
Localisation : Vosges(88)
Contact :

Re: Apprendre à programmer un jeux

Message par sebastus »

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. :mrgreen: :mrgreen: ,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. :mrgreen:
Image
nouvelhermes
Messages : 401
Inscription : 22 juil. 2020 20:56

Re: Apprendre à programmer un jeux

Message par nouvelhermes »

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.
sporniket
Messages : 242
Inscription : 22 mars 2022 20:23
Localisation : Pas trop loin au sud de Paris

Re: Apprendre à programmer un jeux

Message par sporniket »

sebastus a écrit : 11 janv. 2023 18:48 Apprendre à programmer un jeu par où commencer étant débutant mais motivé ?
Il y a 2 étapes
  1. Apprendre à programmer
  2. Programmer des jeux
1. Apprendre à programmer

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.
Avatar de l’utilisateur
sebastus
Messages : 648
Inscription : 21 janv. 2019 14:36
Localisation : Vosges(88)
Contact :

Re: Apprendre à programmer un jeux

Message par sebastus »

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. :wink:
Image
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Apprendre à programmer un jeux

Message par Daniel »

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.
Dernière modification par Daniel le 12 janv. 2023 09:15, modifié 1 fois.
Daniel
L'obstacle augmente mon ardeur.
Zebulon
Messages : 2788
Inscription : 02 nov. 2020 14:03

Re: Apprendre à programmer un jeux

Message par Zebulon »

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. 8)
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Apprendre à programmer un jeux

Message par __sam__ »

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.
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
Avatar de l’utilisateur
sebastus
Messages : 648
Inscription : 21 janv. 2019 14:36
Localisation : Vosges(88)
Contact :

Re: Apprendre à programmer un jeux

Message par sebastus »

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)
/!\ 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.
Donc ma formation sur Unity avec le langage C# ne sert a rien pour les 8 bit ?
En gros, commencer par faire un Tétris, puis un casse-brique, puis un pac-man, et enfin un jeu de plate-forme.
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.
Image
Mag7
Messages : 20
Inscription : 07 mars 2021 18:46

Re: Apprendre à programmer un jeux

Message par Mag7 »

Salut,

Pour répondre à Daniel, la partie scénario / dessin (sur papier) c'est ma part de boulot :D

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.
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Apprendre à programmer un jeu

Message par Daniel »

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).
Daniel
L'obstacle augmente mon ardeur.
Mag7
Messages : 20
Inscription : 07 mars 2021 18:46

Re: Apprendre à programmer un jeux

Message par Mag7 »

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 :oops:
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
Répondre