Quel langage pour quel jeu?

Répondre
Partager Rechercher
Bonjour,

Je viens ici pour vous posez la question suivante: Quel langage apprendre pour pouvoir s'amuser à programmer?

J'ai de bonne notion de programmation dans des langages type VB ou SQL, un ami à appris plusieurs autre langage à la suite de ça, il m'a dit qu'une fois un langage bien apprit les autres étaient plus facile.

Mon but est d'apprendre à programmer pour faire des petits jeux, et à terme pouvoir développer des jeux plus importants.

Quel langage utiliser? Le flash, le Java, le C++ what esle?

D'après ce que j'ai compris le Flash et le Java permette de faire des petits jeux, comme l'on trouve en ligne directement sur internet, et le C++ des jeux plus complet, utilisant un moteur 3D. Quel langage vous me conseillez pour commencer à faire des petits jeux en sachant que l'objectif final et de faire des jeux plus conséquents (pas en solo bien sur).

Mon frère connait Blender et apprend à ce servir d'Irrlicht en ce moment, je ne sais pas encore mais pour faire le lien entre la programmation est de monde qu'il crée le C++ n'est-il pas plus utile?

Merci d’avance
Python ou C#, tu me remercieras plus tard.
Le C++ est maintenant destiné aux jeux qui se veulent TRES conséquents et qui ont besoin d'avoir un contrôle profond des ressources utilisées pour les optimiser. Bref c'est pas fait pour commencer le développement, de plus la plupart des boîtes ont des outils vieux de plusieurs années d'expérimentations, donc n'ont pas à refaire la masse conséquentes de choses que tu devrais refaire.
Le Java peut être une bonne alternative ...

Il permet de faire des applets assez facilement, qui sont des programmes intégrés dans des pages web (comme Flash, quoi) ...
Seulement, avec Java, tu peux plus facilement faire qqchose de plus "conséquent" qu'avec le Flash ...

En fait, il permet justement de faire les deux (de petits jeux, et des gros) ...
Faut quand même préciser que tous les jeux 'sérieux' sont fait en C/C++
Sinon si tu commence tu peux tenter le Java/C#, après pour le python / perl on peut pas faire grand chose je pense. Ces langages sont plutôt utilisés pour des parties bien spécifiques du moteur.
Citation :
Publié par Eno
Faut quand même préciser que tous les jeux 'sérieux' sont fait en C/C++
Pour le cas du Java, ça vient surtout du fait que jusqu'à ya pas hyper longtemps, les temps de calculs nécessaires pour exécuter un prog "évolué" en java et un prog en C++ équivalent triplait au minimum ...
Maintenant, il y a une nouvelle façon de faire (la compil "Just In Time", me semble), qui permet de mettre la barre à peu près au même niveau ...

Puis bon, faut voir que le Java est de plus en plus utilisé, et est justement (comme je le disais) très évolutif :
Il est possible de faire de petits applets hyper simples et légers intégrés dans une page web, qqchose de plus "concret" (tous les jeux pour tel portables sont en Java), et bien sur qqchose de vraiment gros (Wakfu est en Java, Wurm Online (très peu connu, mais hyper complexe) est en Java, ...).
Merci de vos réponses.

Je suis pas un très pressé, c'est plus en passe temps à côté que j'aimerais le faire, le java à l'air plus simple pour faire des petits jeux, ce n'est pas possible avec du C++ de faire des petits jeux simpliste?

A côté de ça je suis en gestion de production, même si je suis encore en cour, développer quelques applications (type mini ERP) pour également beaucoup m'intéresser, seul le C++ le permet?

(je ne cherche pas la simplicité, mais le plus complet, pouvoir faire des petits jeu voir un gros projet plus tard et des applications...
Citation :
Publié par Gwolt
Je suis pas un très pressé, c'est plus en passe temps à côté que j'aimerais le faire, le java à l'air plus simple pour faire des petits jeux, ce n'est pas possible avec du C++ de faire des petits jeux simpliste?
C'est possible, si, mais justement, pour des jeux "simplistes", c'est plus pratique (si tu veux les faire jouer un minimum) de les mettre sous forme d'applet dans une page web, plutôt que de faire DL un jeu de 3ko aux joueurs ...

Citation :
Publié par Gwolt
A côté de ça je suis en gestion de production, même si je suis encore en cour, développer quelques applications (type mini ERP) pour également beaucoup m'intéresser, seul le C++ le permet?
M'étonnerai ...
Tout ce que C++ sait faire, Java peut le faire, en gros ...
Il peut juste y avoir un manque de "puissance" pour du très très complexe, s'too ...
Quand je parlais de jeu simpliste, pas non plus juste des flocons qui tombe et qu'il faut récupérer. Style un petit jeu de plateforme ou autre dans un premier temps.

Je ne connais que mal les capacités du java, je voyais sont utilisation limité au jeu très simpliste qu'on l'on trouve sur des sites internet.

Donc avec du java je peux développer un petit logiciel permettant de faire des calcules, garder des choses en mémoire (couplet à une base de donnée)…? Et en plus faire des jeux simple comme assez complexe

Du coup je me tâte entre le C++ et le Java, s'ils sont si proche pourquoi en inventer deux mdr^^
Citation :
Publié par Gwolt
Donc avec du java je peux développer un petit logiciel permettant de faire des calcules, garder des choses en mémoire (couplet à une base de donnée)…? Et en plus faire des jeux simple comme assez complexe
Oui.

Citation :
Publié par Gwolt
Du coup je me tâte entre le C++ et le Java, s'ils sont si proche pourquoi en inventer deux mdr^^
Si yen avait que deux ... -_-
De toute façon quand tu connais un langage tu les connais tous, en gros apprends un langage orienté objet C++/Jave/C# et là tu pourra faire de bonnes choses.
Le Java donne vraiment de bonnes bases, le C++ est très puissant mais plus complexe que les autres. ( à cause la gestion de la mémoire qui est plus basse en niveau )
Java poubelle, sauf si tu désire faire des jeux pour Téléphone portable...
C# c'est très bien, mais lui faut obligatoirement le framework de .net derrière... Et ce Framework est une véritable usine à gaz bordélique encombrante et lourde.

Je te conseil de te diriger vers le C++ ou le Python.

Sisi le Pythion... Si vous voulez des exemple de gros jeux fait en Python :

- EVE Online... Bah ouais (plus exactement il utilise du Stackless Python)
- Battle Field 2 et 2142 utilise du Python pour le "Game Logic"
- BattleField Heroes utilise du Python pour le "Game Logic" également.

Bref Python est également une très bonne idée.

Mais, au final tout ceci est "anecdotique"... car que tu veuille faire un jeu est 2D ou en 3D la est la vrais question.

Si tu veut tapper dans la 3D, il te faudras également apprendre à programmer avec Direct X ou OpenGL... (voir même certaine partie 2D utilise l'un ou l'autre, au choix)... C'est la le vrais challenge.

Et c'est surtout la que le C++ brille de mille feu avec ces 3 tonnes de lib remplies de function toute prête orienté vers Direct X/Open GL...
Citation :
Publié par Gwolt
Bonjour,

Je viens ici pour vous posez la question suivante: Quel langage apprendre pour pouvoir s'amuser à programmer?
Pour t'amuser à programmer je conseille plutôt un langage de script comme celui de NWN (mais il y en a d'autres). Car ceux-ci sont inclus dans un toolset qui permet de créer des campagnes ou scénarios. Du coup tu ne te concentres que sur ce qui t'intéresse, et de plus tu as accès à de nombreux tutoriels et bibliothèques de scripts, comme ici 140 pages de scripts, excusez du peu :

http://nwvault.ign.com/View.php?view=Scripts.List




D'autre part l'intérêt c'est de te familiariser avec les concepts clefs du jeu, tels que les waypoints, les triggers, etc... sachant que la quasi totalité des jeux sont conçus de cette manière (avec un toolset+des scripts) c'est une bonne idée de prendre de bonnes habitudes directement.
Effectivement si tu n'as jamais programmé, le C++ / Direct X va te tuer...

Il faut avoir des bases de prog pour ne pas buter sur la syntaxe et passer au vif du sujet. Si tu ne comprend pas les appels de fonctions et déclarations de variables, pointeurs et autres c'est fichu d'avance.

Pour débuter et avoir un petit projet rapidement je te conseille le JAVA, le PHP n'étant pas un langage "propre" pour apprendre les bases.

L'idée de NWN n'est pas mauvaise, il me semble que le langage de script est en C#
Nwn est excellent pour apprendre à transformer des idées en petits bouts de code : le moteur graphique est là, on ne s'occupe que du gameplay et des événements scriptés.
C'est un langage dérivé du C, le principal truc qui fait défaut est qu'il n'y a pas de tableaux.
Je plussoie Lorim pour le Python (ou tout autre langage de script semblable, mais Python ça roxe), mais pas pour la même raison. Même si tu n'utilises pas directement le Python pour faire ton jeu (quoique si la partie graphique n'est pas hyper pointue ça doit être possible), c'est toujours utile de connaitre un "petit" langage de script : ça permet de tester des trucs rapidement, d'automatiser facilement pleins de petites taches chiantes, voire de l'utiliser après dans ton jeu pour écrire une partie spécifique de ton jeu (et ça tombe bien, Python s'interface très bien avec le C et ses dérivés)
D'accord merci,

Je vais allez regarder le Python de plus prêt alors, j'avais commencé rapidement à suivre le tutoriel du siteduzero sur le Java, car comme dit plus haut, en dehors des jeux, pouvoir me programmer des petits logiciels pourraient m'être très utiles.
Citation :
Publié par SekYo
(quoique si la partie graphique n'est pas hyper pointue ça doit être possible)
Le logiciel de 3D Blender est entièrement écrit en Python.... Et il devient de plus en plus performant pour un logiciel Open Source sous licence GNU/GPL.(D'ailleurs je le trouve bien meilleur sur pas mal de point au bas de game qu'est 3DS Max... Bon il n'est pas encore tout a fait du niveau des cador du genre que sont Maya et LightWave... mais il en prend le chemin)

Sinon le Python, en plus d'être un language puissant, léger et très fexible, est "facile" et accéssible de point vu apprentisage grace à une syntaxe très clair et agréable, à la porter de tout le monde.
Blender entièrement écrit en Python? C'est pour ca que dans le répertoire source est bourré de .c, .cpp et de .h?( des sources C et C++)

Ils ont juste utilisé Python comme language de script ou peut être pour l'interface faudrait que je regarde de plus près, mais la couche bas niveau est en C ou C++.
Euh... C'est juste le GameEngine et le Renderer et non Blender la ^^

Il n'est pas rare de voir une Renderer codé dans un autre language que l'appli elle même (CF Maya et Renderman)
Non c'est pas juste le game engine et le render, dans tout le répertoire source: c'est 829 fichiers c et c++, 801 .h pour 69 .py (je passe ce qui semble être des librairies externes). J'aillais pas m'amuser à screen 1600 fichiers alors que tout le monde peut farfouiller dans les sources de blender et en tirer ses propres conclusions.

Donc à 1600 fichiers a part, blender est codé entièrement en python?
C'est pas grave, je pense que le point de Lorim était de souligner qu'on pouvait tout a fait faire du graphisme en python. Et c'est vrai, y a effectivement des librairies disponibles. Maintenant il faut reconnaître qu'au niveau ressources (moteur, framework et surtout documentation/tutorials etc...) Python est encore très loin du C/C++ a ce sujet, or quand on débute la présence de telles ressources est assez indispensable. Au début, c'est souvent laborieux d'apprendre a utiliser une API avec une simple "javadoc" pour documentation
Je plussoie SekYo pour l'utilisation du Python, c'est très utile pour automatiser des trucs chiants à écrire dans des langages plus bas niveau (tout ce qui est manipulation de fichiers par exemple se fait de façon très naturelle en Python). Après, pour les gros calculs, on fait appel à des procédures C++ et le tour est joué. Ceci dit, pour développer des petits logiciels perso, c'est l'idéal.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés