Salut,
Je voudrais savoir si le c++ ( builder) est un bon language pour créer un jeux vidéo ( pour pc).
Sinon, quel(s) language(s) ?
Merci.
pascal bien mais vieux, le java Ou C le reste je connais pas super bien
Perso j´ai un bon gros faible pour le java ; )
C´est moins prise de tête que le c++ et les derniers tests montrent que niveau performance il n´est pas aussi mauvais que ce qu´on a l´habitude de dire.
D´ailleurs dans plusieurs domaines il bat le c++ au la main.
Donc simple, rapide et portable . .. je crois qu´il n´y a pas à hésiter :D
hahahahaha elu post du jour ![]()
kUfa : on dit merci qui ? ; )
le java c´est le langage de l´avenir : aussi chiant que le C et aussi lent que le VB.
non, sérieusement, mise à part le fait qu´il soit portable et qu´un même programme puisse être directement exécuté sur différente plateforme, ce qui est vraiment très bien, le java ´a aucun ava,tage sur le C et se fait batre à plate couture pour TOUT ce qui touche à la performance.
tout simplement parce que le C est exécuté alors que le java est interprété.
pour répondre à la question initial, oui le C ou le C++ est bien.
Même si le java n´est pas forcement mauvais tout comme le Delphi ou le VB.
le pascal c´est plutot a oublier car c´est un langage qui est plutot en train de disparaitre et tu trouvera moins de ressource que pour d´autre langage.
Je suis d´accord que le java n´est pas le plus rapide dans tt les domaines, mais sur certains points il a été optimisé pour battre le c++. Nottament en ce qui concerne la création d´objets.
J´ai eu un rapport de tests entre les mains l´autre jour. J´ai moi même été très étonné, car comme toi je me disais que le java était un langage interpreté et qu´il ne pouvait donc pas être aussi, voir plus rapide.
Mais visiblement sur quelques points il l´est.
De plus, vu l´évolution du matériel de nos jours, ce manque de performances est pas mal atténué.
Et puis bon, je ne pense pas que les personnes qui sont ici et qui débutent vont créer des gros moteurs 3D qui bouffent la moitié des ressources ; )
Il faut voir ce qu´on veut faire . ..
Quand à kufa et lgv, c´est bien sympa de vous foutre de ma gueule mais je ne crois pas que vos messages n´aient été très constructifs au débat.
Merci les gars ![]()
et bien soyons constructif ; prenons l´exemple que tu cites, de construction d´objets.
Java => garbage collector => destruction masquée => pas de controle de la durée de vie => la JVM de débrouille toute seule
jusque là, tout le monde doit etre d´accord. Un truc que j´ai déjà vu dans une JVM ( meme si je ne fais pas bcp de jamais, et plus du tout maintenant), c´est de garder un objet dont a plus besoin en mémoire pendant qq temps. Et si on besoin d´un nouvel objet de ce type, ben pouf, on recycle l´ancien en le réinitialisant : et pouf, c´est plus mieux, car plus rapide et réduit la fragmentation mémoire. Super.
SAUF QUE, toutes ces manips peuvent AUSSI se faire en C++, et d´autant plus qu´on a le controle total de ce que l´on fait ( cela induit certes une complexité supplémentaire) ; et ne se prive pas le faire ( réecrire les gestionnaires mémoires est un des passe temps favoris des C++-istes...). Pour arriver aux résultats énoncés, il faut donc implicitement comparer du code " moyen/bof" limite " crade" C++ ( où on ne tire pas partie des possibilités) a du code " normal" Java ( où la JVM fait qq trucs bien, caché dans son fonctionnement interne).
Il est aussi évident que pour qqun de niveau " moyen", il serait bcp plus facile de tirer parti du Java ( ça se fait tout seul), que du C++ ( ça se fait que si on le fait, et c´est plus compliqué). Mais il aussi évident que du C++ bien conçus sera bcp plus rapide.
D´autre part, à partir du moment où on compare des langage d´un niveau d´abstraction différent, il parait des le debut abérant d´annoncer que celui qui utilise le plus de couches ( la JVM en l´occurence) est plus rapide que l´autre qui en utilise moins ; à moins de ne pas exploiter réellement les possibilités de ce dernier, comme je l´espère avoir démontré clairement par le petit texte juste au dessus.
Je ne cherche pas à dire que l´un est meilleur de l´autre, chacun ayant ses domaines d´applications, mais qu´il y a certains choses qu´il faut avoir à l´esprirt lorsque l´on choisit ses outils.
oops, j´ai encore oublié de me relire avant de poster... grrr.. vivement un bouton d´édition ![]()
bref, dsl pour les fautes ou les mots mis pour un autre ; je pense que ça reste quand meme compréhensible :/
ça reste compréhensible oui
chacun ayant ses domaines d´applications, mais qu´il y a certains choses qu´il faut avoir à l´esprirt lorsque l´on choisit ses outils. < c´est ce que je disais effectivement. Je doute que sur ce forum on développe des jeux " monstres" qui auront besoin de performances bétons.
C´est pour ça que j´ai énoncé java.
En tout cas, je suis d´accord avec toi pour dire qu´en général java est plus lent que c++, même si je maintiens que sur certain points il est plus rapide. Mais bon on ne va pas rester des heures là dessus.
Le truc que je me demande, c´est si la différence de performances est si importante que ça étant donné les capacités de nos machines de nos jours.
C´est clair et net que du java sur une vieille becane bonjour les dégats ![]()
Mais sur les nouvelles c´est tout autre chose.
Bon je vais m´arreter la parce qu´on va me prendre pour un gros geek pret à se battre jusqu´à la mort pour défendre les interets de son langage favoris, ce qui n´est pas vraiment le cas :p
Pour tout vous avouer, moi mon domaine c´est plutot le web ( on se demande d´ou vient mon interet pour java
, mais j´essaye de toucher un peu à tt .
Tous les gros jeux videos sont ecrits en C++.
Donc quit a apprendre un langage autant apprendre le plus utilisé.
Les autres langages sont aussi tous trés bien ( chacun ayant ses specificité) mais un peu plus marginaux par rapport au jeu video.
moi j´approuve LGV, Kudo, Lapintade : je te conseille le C++.
Mes arguments sont les memes que ceux de LGV.
J´ajouterais que un des arguments des programmeurs Java c´est : " oui mais Java controle les débordements de tableau et ne va pas écrire ailleurs dans le segments mémoire si tu te gourres"
et je rétorque par " si on n´est pas capable de maitriser les octets qu´on met en mémoire, ça plantera un moment ou a un autre, de toute façon..." donc une release n´a pas a vérifier ce genre de choses... ( par contre, ça peut etre une super utilité pour le débuggage)
Ce que je trouve pourri, c´est que ta fonction " main" si j´ose dire, tu la colle en static dans n´importe quelle classe en java : ça sent le rajout et le " merde ! ! j´avais oublié qu´il fallait mettre un " main" "
Si tu preferes la prog web, la je suis d´accord que Java t´aidera + que le C++ ( enfin, moi je dis " vive flash" quand meme pour le web)
Mais sinon, pour faire un Exe, je pense que le Java n´assure pas assez...
Pour les jeux peut être, par contre pour un programme " standard" ( pas un applet ! ), ça ne pose aucun pb.
D´ailleurs je suis en train d´en programmer un et tout se passe très bien.
Mon interface se porte tt aussi bien que n´importe quelle interface.
D´ailleurs bcp de programmes que vous utilisez sont en java mais vous ne le savez pas. Ex : azureus.
Flash c clair que c pas mal mais bon c´est encore un tout autre type de prog ; )
Sans vouloir relancer un debas ou quoi que ce soit, mais juste pas curiosite:
En tout cas, je suis d´accord avec toi pour dire qu´en général java est plus lent que c++, même si je maintiens que sur certain points il est plus rapide
Lesquels?
/ kUfa
je suis curieux de voir la réponse pour Kufa.
Sinon une réaction de ma part :
pour du calcul pur, par exemple un algo qui résoud les chiffres et les lettres, une IA, un algorithme de force ( un truc qui essaie toutes les possibilités)
fait des tests de performance... A mon avis, un algo C++ bien programmé tatanera correctement le Java...
c´est meme oblige : si tu prends deux algos BIEN PROGRAMMES ( important ca, donc tirer parti de toutes les possibilites) dans deux langages avec des niveaux d´abstraction differents, celui de plus bas niveau est forcement plus, car impliquant moins de couches logicielles. Mais bon, plus on est bas niveau, plus c´est complique...
kUfa : tu sais p-e, les JVM, elles sont programmees en quoi ? ca ne serait pas du C++ par hasard...
Ce que je pense sur java ?
C´est bien mais pas pour les jeux... J´ai fait un pong qui rame ! !!(sur Pentium III à 533 mhz)
Non, le C est bien le meilleur langage pour le jeu vidéo !
" J´ai fait un pong qui rame"
forcement, si on pond du code de porcasse, dans tous les langages on peut faire des trucs pourris hein... kUfa fait des jeux qui tournent tres bien sur des telephones portables, c´est dire
J´ai aussi fait des programmes pour portables et je peux te dire que ca n´a rien a voir...
Je ne trouve pas que mon code est pourri mais bon... si tu le dis...
soyons réaliste : si tu fais un pong ( et on dit bien un pong hein), et qu´il rame sur un PIII, Java ou pas c´est que qqpart tu as qqch qui cloche dans ton application. En java on a fait des renderers 3D softwares, des mini-raytracers, des animations, plein de choses, sur des PIII, et en s´y prenant convenablement, ça ne peut que marcher.