Bonjour
Je suis due un gros projet de moteur de jeu et j'aurais deux, trois(mille) question,
La première est que je voudrais être capable de créé tout un jeu avec seulement des script cs-script (pour les habitué du c#) et qu'un non programmeur n'est pas à télécharger un compilo
Si vous pourrais m'éclairer
Qui cour de l'avant est sur de vivre plus longtemps, car les mains ne peuvent atteindre ce que les yeux ne voient pas.
Tout dépend ensuite des possibilités de ce "moteur". Si c'est très restrictif, que ça ne permet que faire des jeux d'un certain moule (ou un MOD d'un autre jeu, c'est éventuellement faisable (si tu es très fort)).
Si tu veux scripter ou faire un truc très générique, tu t'attaques à un truc d'une complexité pharanonique.
Intermédiaire
Et la j'ai un autre problème,
Tous le monde se souvient de quand pour un jeu tous ce qu'il fallait,
Une api 3D,la physique et le son.
Aujourd'hui avec nvidia et AMD y'a des api pour tous
Des cheveux au doigts de pied 😂
Et si jamais des nouvelles api arriver
Comment les intégrer sous forme de plugin ?
Et quelle classe de base utiliser.
Aussi, est-ce que si j'utilise à la fois des plugin nvidia et amd
Aurai-je des problèmes avec l'un des deux ?
Qui cour de l'avant est sur de vivre plus longtemps, car les mains ne peuvent atteindre ce que les yeux ne voient pas.
Le moteur est en c++ Il sera 3D/2D/VR(directx,sfml)
Ok, cette phrase m'a convaincu que tu n'avais aucune idée de ce dans quoi tu te lançais.
Essaie vraiment d'écouter les conseils qu'on te donne: fait un jeu à l'aide d'un moteur de jeu existant (Unity si tu aimes bien le C#, Unreal si tu aimes bien le C++), n'essaie pas de faire ton propre moteur de jeu avant.
Je peux comprendre l'argument de la portabilité, mais tu exagères en parlant d'obsolète, et de réduction considérable.
Hummm.... A voir...
On connait tous (si on n'en fait pas carrément dans le cas) "quelqu'un" qui préfère tourner sous *nix et qui ne garde windows que... pour pouvoir utiliser le jeu dont ils raffolent.
Et je crois d'ailleurs (même si je peux me tromper) que ces gens sont de plus en plus nombreux.
Certains diffuseurs (je pense entre autres à steam) en a d'ailleurs pris conscience. Et je crois que l'idée de fournir des logiciels et des services payant sous linux commence tout doucement à faire son chemin.
Même microsoft semble avoir pris conscience de l'importance croissante de linux, vu qu'ils fournissent désormais (bien que je ne l'ai pas encore testé) un moyen de développer pour linux sous Visual Studio.
Si bien que l'un dans l'autre, on pourrait en arriver à considérer que le manque d'outils de qualité professionnelle représente sans doute la dernière grosse barrière à faire tomber.
Si lynix exagère peut-être un peu en utilisant le terme considérable, peut-être tombes tu dans l’excès inverse en minimisant justement trop l'importance de la portabilité
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
"On connait tous quelqu'un qui préfère tourner sous *nix", car on est programmeurs. Les non programmeurs ne savent même pas ce qu'est Linux.
De plus, comme tu dis, le mec garde Windows pour faire tourner son jeu.
Bien sûr qu'il y a de la demande sous Linux, même ma boîte propose des solution Linux, je ne dis pas le contraire, mais c'est moins de 5% des clients.
On ne va pas lancer un débat interminable une fois de plus.
Je dis juste qu'il faut arrêter l'intégrisme et l'extrémisme. DirectX, ce n'est pas "du caca", et l'utiliser n'est ni être obsolète, ni "réduisant considérablement son audience", c'est de la mauvaise foi la.
Attention, je ne dis pas que DirectX est "caca" (bien que je n'aime pas du tout l'idée de devoir travailler avec).
Je dis juste que tu fais sans doute autant preuve de mauvaise foi en essayant de "limiter l'importance de la portabilité" que celle dont fait preuve en écrivant que "DirectX restreint considérablement la portabilité".
Car, si tu ajoutes, aux "seulement 5% de gens qui utilisent linux" ceux qui se retrouvent à garder windows "parce qu'ils n'ont pas le choix", tu obtiens forcément une proportion différente.
Après, je ne veux pas non plus me lancer dans un débat quant à savoir où l'on place le curseur pour décider que c'est "proportion négligeable" ou "proportion considérable". Je vais laisser chacun voir midi à sa porte sur le sujet (ce qui ne m'empêchera pas d'avoir ma propre idée, bien sur )
La seule chose que je voulais mettre en évidence, c'est que tant lynix et toi avez tendance à aborder -- pour une raison ou une autre, à tord ou à raison -- un attitude extrémiste qui n'est jamais que le "reflet naturel" de l'autre, et qu'il suffirait sans doute que vous preniez la peine de discuter calmement de la position du curseur pour trouver un terrain d'entente.
Koala01: farouche opposant à tout extrémisme, quelle qu'en soit la forme
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
Donc
1 :terminer mon jeu sur unréal (j'en commencer un y pas longtemps)
2:penser a ajouter opengl
3:je fais quoi pour amd/nvidia, si jamais je crée des plugin physique ou autre(havok/physx, hairworks/trèss fx...)?
Qui cour de l'avant est sur de vivre plus longtemps, car les mains ne peuvent atteindre ce que les yeux ne voient pas.
Essaies déjà d'arriver au bout du (1)... Cela représente largement assez de problèmes à résoudre pour te tenir en haleine pendant plusieurs années
Après, ben, on verra... Mais comme on ne peut même pas être sur que Vulcan (le successeur de OpenGL) n'aura pas lui-même vu arriver son successeur, pourquoi s'en inquiéter dés aujourd'hui
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
Si lynix exagère peut-être un peu en utilisant le terme considérable, peut-être tombes tu dans l’excès inverse en minimisant justement trop l'importance de la portabilité
Utilise Vulkan, ça tourne beaucoup mieux qu'OpenGL, au moins aussi bien que DirectX 12 et ça tourne sur Windows, Linux, macOS, iOS, Android, Nintendo Switch et d'autres à venir, à la condition que le matos ne soit pas trop vieux, mais si tu commences un moteur de jeu tu n'as pas à t'inquiéter pour ça: tous les GPUs supporteront Vulkan quand ton moteur sera prêt à être sorti.
Donc oublie complètement OpenGL/DirectX, et la SFML au passage (qui n'est pas du tout une base solide pour un moteur de jeu).
(Et pour ceux qui sont en train d'écrire: Vulkan ne tourne pas sur macOS/iOS: MoltenVK a été absorbé par le groupe Khronos, c'est une implémentation très complète de Vulkan par-dessus Metal, l'API next-gen d'Apple).
Mais mon plus grand conseil serait: n'essaie pas de faire un moteur de jeu.
> Même microsoft semble avoir pris conscience de l'importance croissante de linux, vu qu'ils fournissent désormais (bien que je ne l'ai pas encore testé) un moyen de développer pour linux sous Visual Studio.
Si tu parle de vscode, c'est très simple c'est parce qu'il s'agit juste d'un fork d'atom
> Obsolète ? DirectX 12 n'est pas obsolète me semble-t-il.
DirectX c'est fait par microsoft, une entreprise privée seule à développer dessus, Vulkan et OpenGL sont fait par un consortium avec bien plus de gens / entreprises différentes qui travaillent dessus. Quand on développe une alternative à un groupe on est souvent en retard (syndrome NIH), exemple : pourquoi MSVC est il toujours à la ramasse en support de C++ moderne ? Parce qu'ils ont décidé de développer leur propre compilateur. Toutefois, il y a une nette progression de leur part car ils commencent à utiliser des outils communautaire comme clang, cmake, git dorénavant…
> Je dis juste que tu fais sans doute autant preuve de mauvaise foi en essayant de "limiter l'importance de la portabilité" que celle dont fait preuve en écrivant que "DirectX restreint considérablement la portabilité".
Mauvaise foi ? DirectX c'est Windows uniquement. Il n'y a pas que Linux comme alternative, il y a Android, iOS, macOS aussi. Éventuellement, même les consoles (autre que XBox bien entendu)
- Edité par markand 20 avril 2018 à 9:21:01
git is great because Linus did it, mercurial is better because he didn't.
Le débat DX vs OpenGL/Vulkan est stérile à souhait.
Si DirectX était à la ramasse, aucun dév de jeu/moteur ne l'utiliserait et pourtant c'est l'API la plus utilisée au niveau pro. Le portage OpenGL/Vulkan se fait après. Pour les cibles autres que les PC à part sur Switch (et encore, je ne sais pas quels jeux sont développés avec Vulkan) on utilise les API spécifiques fournies par le SDK de la console.
Je ne suis pas défenseur de DX, juste l'avocat du diable.
Par contre, je persiste, si ton objectif est de faire un jeu, ne développe pas un moteur de jeu, mais développe ton jeu en utilisant un moteur existant.
Si vous ne trouvez plus rien, cherchez autre chose.
Le débat DX vs OpenGL/Vulkan est stérile à souhait.
Si DirectX était à la ramasse, aucun dév de jeu/moteur ne l'utiliserait et pourtant c'est l'API la plus utilisée au niveau pro. Le portage OpenGL/Vulkan se fait après. Pour les cibles autres que les PC à part sur Switch (et encore, je ne sais pas quels jeux sont développés avec Vulkan) on utilise les API spécifiques fournies par le SDK de la console.
Je ne suis pas défenseur de DX, juste l'avocat du diable.
Là par contre je ne suis pas d'accord.
Je pense que DirectX 12 est une bonne API, mais elle est pompée de Mantle, la base de Vulkan, et je ne vois pas d'avantage à utiliser DX12 plutôt que Vulkan, surtout quand ce dernier tourne sur PC tout aussi bien, la seule exception que je puisse voir c'est la XBox (qui nécessite une façon spéciale d'utiliser DX plutôt que la façon PC, là où Vulkan est compatible partout si bien utilisé).
Sur Android et iOS, les API disponibles sont OpenGL ES et Vulkan/Metal, et le seul reproche qu'on puisse faire à Vulkan est de ne pas encore couvrir l'ensemble du marché (ce qui ne sera plus un problème d'ici quelques années).
Nintendo de son côté a décidé de supporter Vulkan pour la Switch, et raisonnablement les autres consoles. Reste effectivement donc la XBox et la Playstation (et encore, à priori il n'est pas impossible que la PS4 supporte Vulkan à venir), qui sont au final les exceptions plutôt que la généralité (je m'attaque ici au point "quand on quitte le PC on utilise une API spécifique", il ne faut pas oublier que Vulkan tourne sur mobile).
Du coup, DirectX 12 pour un amateur n'a pas d'intérêt à moins de vouloir développer pour XBox. En revanche, comme tu le dis bien, c'est l'API majoritairement utilisée sur Windows de façon pro, une tendance que je pense qui va s'affaiblir avec Vulkan, comme on peut voir certains gros jeux du style Star Citizen, passer à Vulkan plutôt que DX12 justement pour le portage.
Donc oui, si on veut bosser dans le milieu pro du monde du rendu, DX est incontournable, mais concrètement, un amateur s'en fiche royalement à moins de viser la XBox (et les amateurs ne visent généralement pas la XBox).
Certes, mais la petite différence était à mon sens que DirectX était une API mieux foutue et mieux implémentée qu'OpenGL, les constructeurs poussaient même à l'utilisation de DirectX (cf un témoignage que j'avais lu à propos de NVidia notamment).
Le problème a été aussi qu'avec le temps, OpenGL s'est obsolètisé et que ça n'a jamais été vraiment réglé (malgré l'update 3 censé régler le problème).
Vulkan à côté de ça est une API moderne conçue et poussée par les constructeurs (et tellement plus facile à implémenter pour eux) et qui j'espère ne reproduiras pas les mêmes erreurs qu'OpenGL vis-à-vis de la compatibilité. *croise les doigts*
N'utilise pas DirectX, c'est obsolète, privateur et non portable. Tu réduiras considérablement ton audience.
Obsolète ? DirectX 12 n'est pas obsolète me semble-t-il.
Après oui, ce n'est pas portable, mais "considérablement ton audience", la majorité des gens tournant sous Windows non, c'est pas "considérable"
Je peux comprendre l'argument de la portabilité, mais tu exagères en parlant d'obsolète, et de réduction considérable.
Le marché des jeux vidéo aujourd'hui, ce n'est plus Windows vs les autres Ordis. Ce serait plutôt une galaxie aux contours pas très bien définis, PC (Windows,*Nix,Mac...), consoles(PSx,XBox,Nitendo...), tablettes(Androïd,iPad...), smartphones(Androïd,iPhone,Windows Phone...)... Partir sur DirectX me parait quand même extrêmement réducteur
Pour le reste, il y a un petit moment déjà, un habitué du forum, Awpsoleet qui bossait à l'époque sur TESO donnait quelques éléments sur la quantité de boulot à réaliser pour produire un jeu comme TESO. Si je me souviens bien, il parlait de 50 personnes sur une dizaine d'années pour produire le jeu. Si tu ramènes ça à une seule personne, ça te fait juste 500 ans de boulot, pas besoin d'être Cassandre pour savoir que tu vas te planter.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
git is great because Linus did it, mercurial is better because he didn't.
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Si vous ne trouvez plus rien, cherchez autre chose.
git is great because Linus did it, mercurial is better because he didn't.
Si vous ne trouvez plus rien, cherchez autre chose.
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)