Voilà, aimant bien l'informatique j'aimerais commencer par développer un petit jeu vidéo, mais je ne sais pas quel langage utiliser.
J'ai quelques bases en python (mais je ne le trouve pas assez robuste pour les jeux mais en plus il n'est pas trop adapter (pygame))
J'ai déjà un peu coder sur processing (mais assez particulier je trouve a prendre en main)
J'ai déjà essayer de coder sur java, mais j'aime pas du tout le concept des variables (plusieurs types de variables selon le codage sur les octets) Et peut être un peu gros pour me lancer dans ce qu'il m'intéresse.
Et concernant mon projet, sur le fond ce serait un RPG 2D avec une vue comme sur pokémon/zelda. Donc quelque chose d'un peu robuste mais pas trop non plus (enfin un bon rapport entre prise en main et efficacité)
Voilà, je sais pas si ces informations peuvent aider à choisir un langage plutôt qu'un autre ça m'arrangerais.
Pour un mini-RPG à la Zelda, le mieux est encore d'utiliser des outils faits pour, comme RPG-maker ou Game-Maker. C'est le plus simple à manipuler et le plus pertinent pour apprendre à construire des mécaniques de gameplay. Et pour pygame, on peut construire des jeux tout à fait convaincants avec, mais par contre, il faut bien comprendre comment ça marche et ne pas écrire n'importe quoi, mais ça, c'est vrai pour n'importe quel outil.
Après, le mieux pour réaliser un jeu reste d'utiliser un moteur de jeu. Contrairement à ce que dis @JomtekYT1, le fait qu'il faille utiliser des langages bas-niveau ou compilé pour réaliser un "vrai" jeu est une légende. Ce qui est important c'est d'utiliser des outils faits pour ça, donc des moteurs de jeux. La majorité des moteurs de jeu sont pilotés en C++ (mais pas Unity par exemple) mais c'est avant tout un choix de design de la part des développeurs du moteur. La majorité du temps de calcul dans l'exécution du code d'un jeu se trouve dans l'exécution des composants du moteur, donc c'est avant tout lui qui doit être performant, le code qui le pilote peut se contenter de ne pas être trop con.
J'ai déjà essayer de coder sur java, mais j'aime pas du tout le concept des variables (plusieurs types de variables selon le codage sur les octets)
On va enfoncer les portes ouvertes, mais il y a là apparemment un gros problème à résoudre. Les types de variables et leur encodage binaire, c'est la BASE de la programmation (avec la logique booléenne).
C'est à dire que même dans un langage de script (comme Python ou Javascript), tu va être confronté à leur encodage binaire. C'est juste que ces script masquent la complexité, au détriment de la performance.
Quelque soit le moteur que tu choisis, et le langage associé, il faudra bien à un moment savoir quel type de variable est utilisé (et c'est encore plus vrai pour les jeux vidéo, ou de nombreux objet objets (tel que les Vecteur 2D / 3D ou matrices) ont des composants numériques fortement typés.
RPG Maker ou équivalent ne m'intéresse pas forcément car c'est vraiment tout les aspects de la programmation qui m'intéresse. (Enfin comprendre en faisant les mécaniques d'un jeu).
En ce qui concerne python j'en ai un usage scolaire (modélisation physique/chimie) et bien que ce soit un langage vraiment simple a prendre en main je ne sais pas, il est peut être trop assisté (langage interprété aussi)
C'est vrai que j'entend beaucoup parlé du C++ je partirais donc peut être la dessus.
Et pour les variables, oui je sais que les types sont importants (int, float, boolean, str ...) c'est pas du tout ça qui me gène. Mais sur java il faut les initialisés mais avec le nombre de byte (ou octet je sais plus) alloués. (byte, short, ...) pour un même entier. Et c'est ce concept que j'aime pas du tout dessus
Pour information, C++ est l'un des langages les plus complexes à appréhender et manipuler correctement.
gege83var. a écrit:
Et pour les variables, oui je sais que les types sont importants (int, float, boolean, str ...) c'est pas du tout ça qui me gène. Mais sur java il faut les initialisés mais avec le nombre de byte (ou octet je sais plus) alloués. (byte, short, ...) pour un même entier.
Le type par défaut c'est "int" et il correspond au besoin en Java dans 99.9% des cas.
- Edité par Ksass`Peuk 14 septembre 2018 à 13:01:59
Et pour les variables, oui je sais que les types sont importants (int, float, boolean, str ...) c'est pas du tout ça qui me gène. Mais sur java il faut les initialisés mais avec le nombre de byte (ou octet je sais plus) alloués. (byte, short, ...) pour un même entier.
Non absolument pas. L'utilisation de la plupart des types primitifs ( short, int, float, long, double) en Java est quasi-identique au C, C++ et C#.
Moi j'adore le typage statique des variables, ça empêche de trop faire n'importe quoi, en particulier en argument des fonctions
Si tu aimes Python, tu devrais jeter un coup d'oeil à Godot Engine, son coeur est en C++ moderne et il se pilote à l'aide de GDScript qui est très proche du Python
Parce que je pense aussi qu'apprendre le C++ pour faire un jeu n'est pas la bonne approche
Dream on, Dream on, Dream until your dream comes true
Et pour les variables, oui je sais que les types sont importants (int, float, boolean, str ...) c'est pas du tout ça qui me gène. Mais sur java il faut les initialisés mais avec le nombre de byte (ou octet je sais plus) alloués. (byte, short, ...) pour un même entier.
Non absolument pas. L'utilisation de la plupart des types primitifs ( short, int, float, long, double) en Java est quasi-identique au C, C++ et C#.
Après je parlais de java car j'ai déjà essayer de coder un petit peu dessus hein, mais je me doute que ce n'est pas le seul langage à s'en occuper
romantik a écrit:
Moi j'adore le typage statique des variables, ça empêche de trop faire n'importe quoi, en particulier en argument des fonctions
Si tu aimes Python, tu devrais jeter un coup d'oeil à Godot Engine, son coeur est en C++ moderne et il se pilote à l'aide de GDScript qui est très proche du Python
Parce que je pense aussi qu'apprendre le C++ pour faire un jeu n'est pas la bonne approche
J'ai regarder un peu Godot mais pour le coup je le trouve vraiment très assisté (après c'est un moteur de jeu xD).
Et en ce qui concerne la programmation c'est juste que j'ai pas de langage "attitré" dans le sens ou si j'ai envie de programmer un peu bah je vais dessus ^^'.
Et la création d'un jeu serait un fil rouge mais je ne m'attend pas à créer un jeu de A a Z en solo non plus. Mais je cherche à être confronté à des problèmes aussi pour avoir de quoi réfléchir, comment faire une chose ou alors comment la rendre plus optimisé. (C'est ce qui me plait en informatique). Si un jour il est fini (faudrait déjà le commencer mais c'est autre chose mdrr) il serait surement publié mais ce n'est pas mon but. Mon plus gros problème serait enfaîte la "limite" du langage dans le sens ou un problème serait trop compliqué (ou alors vraiment pas optimisé) pour le langage utilisé.
En bref, ce serait plus un passe temps qu'un objectif réel de faire un jeu. J'ai pas mal de cours mais de temps en temps se détendre ça fait du bien aussi C'est pourquoi apprendre un langage ne me gène pas car au pire si ça aboutit bah tant pis, j'aurais appris quelques trucs en informatique et serait un peu plus compétant dans un langage.
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C