IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Écrire un moteur de jeux vidéo en 2017

Le , par LittleWhite

309PARTAGES

8  0 
Vous avez lu gratuitement 390 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Guntha
Membre expérimenté https://www.developpez.com
Le 05/07/2017 à 14:31
On retrouve beaucoup d'idées de Handmade Hero/du Handmade Network là-dedans (désolé de refaire mon évangéliste :p): la recompilation et le rechargement de la DLL du jeu à la volée, réduire les temps de compilation au minimum, une aversion en général pour l'orienté objet :p

De mon côté, quand j'étais encore à l'école et quand je venais d'en sortir, j'essayais de faire un moteur "intelligemment" en utilisant de l'héritage à tout va, je me prenais la tête pour trouver la meilleure approche possible (quel que soit le jeu qui tourne en dessous :p ), et maintenant je code le jeu d'abord (quitte à avoir des appels OpenGL directement dans le code du jeu), pour ensuite remonter dans le moteur les fonctionnalités qui doivent l'être. Même si je n'ai pas beaucoup de temps pour ça, ça m'a permis d'en faire plus qu'avec l'ancienne "méthode" (et puis l'expérience pro aide beaucoup...).
5  0 
Avatar de
https://www.developpez.com
Le 07/11/2018 à 9:53
Si tu ne connais pas les possibilités des langages les plus communs, c'est un peu tôt pour vouloir créer un moteur de jeu.

Un jeu est une application complexe qui touche plusieurs domaines, un moteur de jeu est encore plus complexe vu qu'il doit pouvoir supporter plusieurs jeux, en simplifiant leur création.

Commence par faire 2 ou 3 petits jeux tout simples (tetris, pong, arkanoid) qui ne sont pas des clones les uns des autres pour avoir plusieurs cas de figures (et bien sur qui représentent le type de moteur que tu veux créer), et une fois ceci achevé, essaie d'en extraire les composants communs, et fais un nouveau jeu à partir de ces composants.

Si ça passe, tu es sur la bonne voie, continue comme ça jusqu'à avoir un framework/librairie de plus en plus complet, refactor tes premiers jeux pour utiliser le moteur et continue ce développement itératif.
En parallèle tu peux développer des outils pour simplifier l'utilisation du moteur(sdk avec interface graphique).
4  0 
Avatar de
https://www.developpez.com
Le 07/11/2018 à 17:16
Citation Envoyé par Mat.M Voir le message
Mais comme il est affirmé souvent sur ce forum il vaut mieux prendre le C++ pour des questions de performances.
Si c'est une question de perf, y a beaucoup plus de chances qu'un débutant mette le pc à genoux parce que ses algos sont mauvais, ses assets non optimisés, plutôt qu'à cause du langage.
Java reste très largement suffisant en terme de performance et c'est un langage bien plus productif que c++, tout comme kotlin est bien plus productif que java , et python plus que kotin etc, etc...
Bref, mieux vaut choisir quelque chose avec lequel on pourra bosser plutôt que de se mettre des limitations d'avances sur des assomptions peu probables.

Citation Envoyé par Mat.M Voir le message

Surtout que pour optmiser du code et faire du code GPU sous Open GL ou D3D ça ne se fait qu'en C++ et HLSL.
Peut-être qu'il existe des classes Java pour faire ça mais ça risque d'être moins performant.
L'optimisation ne se fait qu'à la fin, le temps qu'il y arrive il sera déjà à la 3e ou 4e itération de son moteur et aura sans doute changé de langage entre temps.
Le code HLSL (ou GLSL) est compilé par un compilateur indépendant, aucun impact du langage appelant.
4  0 
Avatar de stopviolence
Inactif https://www.developpez.com
Le 05/07/2017 à 14:15
Citation Envoyé par LittleWhite Voir le message
[*]c'est un projet colossal ;
J'dirais que ça dépend de l'ambition du projet.

J'ai causé avec dragonjoker qui cherche de l'aide sur son castor3d, qui est pour l'instant à l'état de moteur d'affichage de polygones, j'aurais bien apporté ma patte pour y ajouter des trucs à moi histoire de commencer à transformer ça en moteur de jeu, seulement j'en aurais pour minimum 1 an de travail à plein temps.

Et si mes souvenirs sont bons je crois bien que ça fait presque 10 ans qu'il bosse dessus...

Le blème c'est que pour faire un moteur de jeu 3d faut les moyens des boîtes qui font ça, des millions de budget, une équipe d'ingénieurs, 5 ans de travail à plein temps... c'est clair que je me lancerais pas là dedans. Moi j'utilise des moteurs d'affichage déjà fonctionnels et si vraiment je dois tripoter un peu de bas niveau c'est juste pour y rajouter des outils qui manquent (et rien que ça c'est déjà une masse de taf).

Sinon je fais mes petits moteurs 2d dans mon coin et là ça va c'est de l'ordre du faisable pour un type qui code tout seul.
2  0 
Avatar de super_navide
Nouveau Candidat au Club https://www.developpez.com
Le 05/07/2017 à 15:15
Moi j'ai créé mon propre moteur www.power-kube.com qui continue d'évolué ....
ajoute de la physique

ajout inteligence de deplacement (les enemies explore tous seul comme des grands )


Il est sur que mon premier jeux était pas terrible et était la juste pour tester le moteurs et les différents outils.
Mais la je bosse sur power kube 2 et je pense qu'il sera meilleur car le moteur est fini et que j'ai plus qu'a penser et a me focaliser sur le jeux en lui même.
En parallèle je me suis mis a godot que je trouve génial...
3  1 
Avatar de Kannagi
Expert éminent sénior https://www.developpez.com
Le 07/11/2018 à 8:40
Si tu veux faire un moteur 3D , utilise le langage qui te plaît le plus , même si le C++ est le plus indiqué pour la tache (dans le sens où il est compilé donc assez performant).
2  0 
Avatar de
https://www.developpez.com
Le 05/07/2017 à 17:15
jbullet a pas été mis à jour depuis des lunes (et le sera pas vu que l'auteur compte pas bosser sans être payé...)

Avec du JNI tu peux te débrouiller sur bullet natif, c'est assez simple, je l'ai fait sur mon moteur:

https://bitbucket.org/yildiz-engine-...physics-bullet
1  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 05/11/2018 à 22:23
Citation Envoyé par Syrotix Voir le message
je ne sais pas en quel language ...
Citation Envoyé par super_navide Voir le message
je reste en tous java .
1  0 
Avatar de Kannagi
Expert éminent sénior https://www.developpez.com
Le 19/11/2018 à 16:36
Si ton but est de faire un jeu alors utilise Unity ou Unreal...
Pour les connaissances bah un moteur de jeux vidéo reste un abus de langage , vu que c'est plus ou moins un framework assez spécialisé.
Et un framework est un ensemble de fonction/classes , avec une architecture précise.
Et ces ensembles de fonctions/classes sont fait pour faire un jeu , tu pourrais avoir que des fonctions pour le rendu mais ça serait un moteur de rendu et non un jeu , quand tu as un ensemble qui gère l'ensemble des besoins d'un jeux vidéo qui est le rendu , les collisions , le son , gérer le fenêtrage/les event , les script , les outils de façon unifié tu aura ton moteur de Jeux vidéo , pour cela qu'on le conseille pas au premier débutant...
1  0 
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 05/07/2017 à 14:39
Oui, Randy s'inspire pas mal de Handmade Hero (il le dit clairement).
0  0