Aller à la page... |
[Moteur de jeu] Comment ca marche ?
Suivre Répondre |
|
Partager | Rechercher |
Prince / Princesse
|
Keeth, essaye le C++ mais essaye autre chose pour pouvoir par expérience comparer ce que tu peux accomplir en dev de jeux...
Partez dans de longs débats, il va se noyer dans votre discussion, Keeth si tu veux voir ce que la gestion de la mémoire est en C++, fais tes tests avec un petit jeu basique et essaye différents outils de dev... |
31/07/2014, 15h07 |
|
Assurancetourix |
Voir le profil public |
Trouver plus de messages par Assurancetourix |
|
Citation :
|
31/07/2014, 15h45 |
|
|
Citation :
Quand tu merde dans ton code avec des templates, ton compilateur ne te dit pas "jé pa kompri lol", il te dit justement avec BEAUCOUP de détails la connerie que tu as fait (ou plutôt ce que tu essaie de faire). Clang réduit ce détail dans les erreurs de compilation et est bien plus concis. (Il y a BEAUCOUP plus de différences entre GCC et Clang que l'ajout de base de certains flags.) Ça reste beaucoup plus lourd que des "naked pointers" et en effet, ça a l'air assez amusant de s'en sortir avec l'alternance shared/weak Petite question : c'est vraiment une bonne pratique de les utiliser (en milieu professionnel par exemple) ? (pas quand on fait attention à la vitesse d'exécution visiblement, mais mis à part ça ?) |
31/07/2014, 16h25 |
|
Prince / Princesse
|
Nom des dious, on se croirait dans un forum de programmation à disserter sur la gestion de la mémoire...
Bon Keelth j'ai mieux pour toi apprends à écrire une bibliothèque de fonction (en faisant la gestion de mémoire le profiling des fonctions en C++) pour pouvoir les utiliser dans des scripts de haut niveau comme celui qui est développé par les dev de Unity3D et là tu vas être gagnant grave, si tu veux on voit ça ensemble c'est un truc qui me branche tu connais bien l'anglais? http://docs.unity3d.com/ScriptReference/ ça s’appelle le Boo... y a moyen d'écrire des lib pour le Boo par exemple pour gérer l'AI, je suis sur que ca peut le faire et tu as tous les outils pour le développer, guider par Unity3D, et tu peux les écrire en C++, à vérifier De plus tu as accès au sources de Unity3d, en version pro malheureusement Tiens voilà un lien qui peut t'aider: http://docs.unity3d.com/Manual/Plugins.html tu peux écrire des plugin en C/C++ pour unity3D genre gestion d'AI ça doit être cool à faire! Tiens d'ailleurs voilà plus: http://docs.unity3d.com/Manual/Nativ...Interface.html tu peux télécharger des exemples: http://docs.unity3d.com/uploads/Exam...nExample45.zip C'est ca qui est bien avec unity3D tu as beaucoup de ressources et d'informations, tuto etc... Bon courage! N'hésite pas à me contacter je vais creuser cette piste, ça m’intéresse grave, j'y avais pas pensé |
31/07/2014, 16h29 |
|
Assurancetourix |
Voir le profil public |
Trouver plus de messages par Assurancetourix |
Alpha & Oméga
|
Bof, je sais pas vraiment. C'est juste que le skillcap est plus haut, mais ça empêche pas de commencer simple
|
31/07/2014, 17h20 |
|
Assurancetourix |
Voir le profil public |
Trouver plus de messages par Assurancetourix |
|
|
31/07/2014, 17h52 |
|
|
@Az:
Je me cite: Citation :
Par exemple, la gestion manuelle de la mémoire, tu peux effectivement le faire toi même, comme tu peux avoir des objets qui s'en occupent pour toi (et bien entendu, un débutant va généralement commencer par déclarer des variables "classiques" sur la pile où tu n'as pas à te préoccuper de mémoire), de même, rien n'empêche d'éviter certains concepts que l'on ne connaît ou ne maîtrise pas. Après, l'ordre des déclarations, je vois pas trop ce que tu veux dire. Si tu parles des fonctions/classes et dépendances cycliques, de toute façon, c'est une pratique commune de déclarer les prototypes des fonctions et les noms de classes plus haut, à moins que tu fasses référence à la représentation mémoire des objets (mais ça, ça relève vraiment du détail, surtout pour un débutant). En revanche, maîtriser de A à Z le C++, oui, c'est compliqué. (Edit: no pun intended) Mais rien qu'en connaissant les structures de contrôle de base (if/while/for/switch) les opérateurs arithmétiques (+, -, *, %), les types float, int, char, la notion de tableau, de pointeur (hors pointeur de fonction/méthode/void* et sans arithmétique de pointeur) et de fonction (sans ellipse), tu dois déjà pouvoir programmer à peu près n'importe quoi (j'entends de façon optimale, ou "quasi"-optimale) et sans faire du brainfuck (là ça ressemble plus à un fragment du C d'ailleurs). Je répète des fois que, c'est faisable et pas spécialement compliqué tant que tu n'optimises pas, mais c'est long, surtout pour recoder (souvent moins bien) des choses qui ont sûrement déjà été faites ailleurs. Un bon code, c'est un code bien découpé, qui marche, ne plante pas, et se comprend facilement. Les pointeurs intelligents ont été conçus pour permettre au programmeur de se concentrer sur des tâches plus importantes que farcir ses programmes de "if(ptr)" et "try{}catch{free/delete ...}" qui polluent le code (tout comme les langages de plus haut niveau avec un garbage collector et autres luxes du genre), et devraient être utilisés autant que possible si ça te permet de simplifier ton code. D'ailleurs c'est exactement pour cette raison qu'objectivement, il vaut mieux préférer des outils de haut niveau spécialisés lorsqu'on veut réaliser un programme (principe que je suis rarement, mais c'est une mauvaise habitude de ma part). Après, tu optimises si besoin, mais je doute de toute façon que le gros des pertes viennent de ces pointeurs ("Early optimization is the root of much evil."). Dernière modification par Olxinos ; 31/07/2014 à 20h18. |
31/07/2014, 20h13 |
|
Alpha & Oméga
|
Non, reste sur du c++, les principaux render engine open source sont en C++ (après, y'a des wrappers pour les faibles). De même pour les librairies son (je pense à OpenAL) et réseau.
Ce qui est également bien, c'est l'interopérabilité avec du C, qui permet d'avoir accès à certaines libs bas niveau, comme Sqlite. Olxinos a bien résumé: le C++ est facile à aborder, difficile à maîtriser et possède un large éventail de possibilités. Si tu tiens vraiment à faire du python il reste panda3D, le moteur principal de Disney, notamment utilisé sur le défunt pirates des caraïbes online: https://www.panda3d.org/ Et pour java, il y a Jmonkey qui est pas mal, ceux de Chaos l'utilisent https://forums.jeuxonline.info/showthread.php?t=1215470 |
31/07/2014, 20h48 |
|
Prince / Princesse
|
Faire du C++ mais pas que ma conclusion était!
|
31/07/2014, 20h52 |
|
|
@Keeth : Comme l'a bien résumé Neirdan, le C++ est "easy to learn, hard to master". Pouvoir utiliser du code C et avoir accès à un très grand nombre de libs & co. rend le C++ vraiment intéressant. C'est ce qui te permettra le plus de progresser tout en ayant des outils pour avancer. |
31/07/2014, 21h30 |
|
Suivre Répondre |
Fil d'ariane
Connectés sur ce fil1 connecté (0 membre et 1 invité)
Afficher la liste détaillée des connectés
|