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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement 2D, 3D et Jeux Discussion :

Le langage Java est-il adapté pour les jeux vidéo ? [Débat]


Sujet :

Développement 2D, 3D et Jeux

  1. #581
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Récemment, les entreprises de jeux videos font cette mixture entre C++ pour l'engine, et python pour les scripts du gameplay ( le controle de l'engine à peu près )
    Je n'ai pas encore entendu parler de JAVA dans le jeu video, juste sur Android ... ce qui pourra peut être faire l'intégration d'un nouveau langage dans le monde du JV
    Le Duke's choice award 2009 pour le "meilleur jeu desktop java": Runescape (http://www.java.com/en/java_in_action/runescape.jsp).
    Le jeu à 1.000.000 d'euros: Poisonville (de Bigpoint aussi, dont on dit d'ores et déjà que le résultat est un monde entièrement en 3D d’une qualité que l’on ne croyait possible que pour les jeux de console classiques http://www.poisonville.de/)
    On te les avait déjà cités vieux trol^^

    Tous ces jeux java sur mobile tournent sur un PC également, maintenant combien de ces jeux python sont portables sur un mobile?.
    (Dans la mesure ou le moteur de rendu ou moteur de jeu sont généralement écrits en c++ le débat devrait plutôt être si on préfère le java ou le python pour 'wrapper' les appels à un moteur 3D quelconque)
    (perso je programme bcp en java mais je trouve que le python est vraiment chouette et rapide)


    Le langage Java est-il adapté pour les jeux vidéo ?
    Je pense qu'on va continuer à troller tant qu'on ne spécifie pas sur quel matériel/plateforme (Mobile, console, web-based, web-start, i386, ppc, sparc, solaris, etc), à qui est destiné le jeu (enfants, grands enfants, adultes ou senior) et qui le produirait (professionnel ou amateur)...

  2. #582
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Quelques échantillons de ce qu'on peut faire en java en 3D sur le web avec opengl:

    http://www.jpct.net/demos/jbullet/jbullet.jnlp
    http://www.jpct.net/demos/dust/dust.jnlp
    http://www.jpct.net/demos/proj/proj.jnlp
    http://www.jpct.net/demos/blue/blue.jnlp

    PS: pour ceux qui ne connaitraient pas cet extension jnlp, c'est du java web-start (http://java.sun.com/javase/technolog...tart/index.jsp)

    PPS: a mon avis le 'greffon java' pour apporter l'opengl aux browser web va p-e disparaître en partie à cause du webGL et du web3D (la partie integrant opengl dans la page en l'occurence, le webstart devrait perdurer encore). En septembre 2009, aucun navigateur Web ne permet l'affichage 3D directement sur le navigateur sans greffon. Cependant, beaucoup de navigateurs vont intégrer cette fonctionnalité dans les versions futures de leurs navigateurs. En avril 2010, plusieurs navigateurs supportent cette fonctionnalité, ce qui est notamment le cas de la version 4 de Firefox.

  3. #583
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    Citation Envoyé par infectm Voir le message
    Frank, si tu n'es pas trop regardant sur le langage, je connais un super moteur 3D pour débuter et comprendre comment tout cela marche:

    Panda3D (http://www.panda3d.org/) est un moteur de jeu et rendu 3D très facile que l'on peut utiliser en python ou c++ (perso je préfère le python que je trouve très élégant à écrire et qui regorge de fonctionnalités haut niveau très pratiques. de plus c'est assez pratique de connaître le python pour écrire des scripts pour Blender)


    A titre d'exemple de l'élégance du code (cf. wikipedia):

    Hello world en python:

    print("Hello world!")

    Hello world en C++:
    #include <iostream>

    int main()
    {
    std::cout << "Hello world!" << std::endl;
    return 0;
    }

    3 versions du Hello world en Java:
    /* Affichage console 1*/
    public class HelloWorld {
    public static void main(String[] args) {
    System.out.println("Hello world!");
    }
    }

    /* Affichage console 2*/
    public class HelloWorld {
    {System.out.println("Hello World!");}
    public static void main(String[] args) {
    new HelloWorld();
    }
    }

    ou

    /* Affichage graphique */
    public class HelloWorld {
    public static void main(String[] args) {
    javax.swing.JOptionPane.showMessageDialog(null, "Hello world!");
    }
    }
    ca c'est trop simple, dans ce cas, le scripting ssh, c'est trop bien et super élégant, mangez en :
    echo Hello World

    ^^

    On ne juge pas un langage sur sa syntaxe (bien que le brainfuck ...) mais plutôt sur ses emmerdements, mon illustre prof d'algo de DUT nous disait vrai :

    Citation Envoyé par Mr Roussel
    De toutes facons, quand vient la problématique du choix, je choisis ce que j'ai envie, et ce qui m'apporte le moins d'emmerdement pour ce que je veux faire, parcequ'on a toujours la loi de conservation des emmerdements qui vient fouttre la m***** : quel que soit le langage que vous choisirez, vous aurez toujours un emmerdement que vous n'avez pas chez un autre, mais qui lui en aura un que celui que vous avez choisi n'a pas. C'est comme ça, le langage parfait, c'est une utopie.
    ...

    ...

    Mon héros

    F.

  4. #584
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par mavina Voir le message
    ca c'est trop simple, dans ce cas, le scripting ssh, c'est trop bien et super élégant, mangez en :
    echo Hello World

    ^^
    Je voulais surtout appuyer le point sur l'élégance du code entre python, java et c++ (les langages dont on reparle svt dans ce sujet)

    Et puis, je ne suis pas d'accord, ton script sh (j'imagine que c'est une erreur de frappe ssh) appelle une fonction écrite en C qui s'appelle echo:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
     
    /* echo.c, derived from code echo.c in Bash.
       Copyright (C) 87,89, 1991-1997, 1999-2005, 2007 Free Software
       Foundation, Inc.
     
       This program is free software: you can redistribute it and/or modify
       it under the terms of the GNU General Public License as published by
       the Free Software Foundation, either version 3 of the License, or
       (at your option) any later version.
     
       This program is distributed in the hope that it will be useful,
       but WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       GNU General Public License for more details.
     
       You should have received a copy of the GNU General Public License
       along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
     
    #include <config.h>
    #include <stdio.h>
    #include <sys/types.h>
    #include "system.h"
    #include "long-options.h"
     
    /* The official name of this program (e.g., no `g' prefix).  */
    #define PROGRAM_NAME "echo"
     
    #define AUTHORS "FIXME unknown"
     
    /* echo [-neE] [arg ...]
    Output the ARGs.  If -n is specified, the trailing newline is
    suppressed.  If the -e option is given, interpretation of the
    following backslash-escaped characters is turned on:
    	\a	alert (bell)
    	\b	backspace
    	\c	suppress trailing newline
    	\f	form feed
    	\n	new line
    	\r	carriage return
    	\t	horizontal tab
    	\v	vertical tab
    	\\	backslash
    	\0NNN	the character whose ASCII code is NNN (octal).
     
    You can explicitly turn off the interpretation of the above characters
    on System V systems with the -E option.
    */
     
    /* If true, interpret backslash escapes by default.  */
    #ifndef DEFAULT_ECHO_TO_XPG
    enum { DEFAULT_ECHO_TO_XPG = false };
    #endif
     
    /* The name this program was run with. */
    char *program_name;
     
    void
    usage (int status)
    {
      if (status != EXIT_SUCCESS)
        fprintf (stderr, _("Try `%s --help' for more information.\n"),
    	     program_name);
      else
        {
          printf (_("Usage: %s [OPTION]... [STRING]...\n"), program_name);
          fputs (_("\
    Echo the STRING(s) to standard output.\n\
    \n\
      -n             do not output the trailing newline\n\
    "), stdout);
          fputs (_(DEFAULT_ECHO_TO_XPG
    	       ? "\
      -e             enable interpretation of backslash escapes (default)\n\
      -E             disable interpretation of backslash escapes\n"
    	       : "\
      -e             enable interpretation of backslash escapes\n\
      -E             disable interpretation of backslash escapes (default)\n"),
    	     stdout);
          fputs (HELP_OPTION_DESCRIPTION, stdout);
          fputs (VERSION_OPTION_DESCRIPTION, stdout);
          fputs (_("\
    \n\
    If -e is in effect, the following sequences are recognized:\n\
    \n\
      \\0NNN   the character whose ASCII code is NNN (octal)\n\
      \\\\     backslash\n\
      \\a     alert (BEL)\n\
      \\b     backspace\n\
    "), stdout);
          fputs (_("\
      \\c     suppress trailing newline\n\
      \\f     form feed\n\
      \\n     new line\n\
      \\r     carriage return\n\
      \\t     horizontal tab\n\
      \\v     vertical tab\n\
    "), stdout);
          printf (USAGE_BUILTIN_WARNING, PROGRAM_NAME);
          emit_bug_reporting_address ();
        }
      exit (status);
    }
     
    /* Convert C from hexadecimal character to integer.  */
    static int
    hextobin (unsigned char c)
    {
      switch (c)
        {
        default: return c - '0';
        case 'a': case 'A': return 10;
        case 'b': case 'B': return 11;
        case 'c': case 'C': return 12;
        case 'd': case 'D': return 13;
        case 'e': case 'E': return 14;
        case 'f': case 'F': return 15;
        }
    }
     
    /* Print the words in LIST to standard output.  If the first word is
       `-n', then don't print a trailing newline.  We also support the
       echo syntax from Version 9 unix systems. */
     
    int
    main (int argc, char **argv)
    {
      bool display_return = true;
      bool allow_options =
        (! getenv ("POSIXLY_CORRECT")
         || (! DEFAULT_ECHO_TO_XPG && 1 < argc && STREQ (argv[1], "-n")));
     
      /* System V machines already have a /bin/sh with a v9 behavior.
         Use the identical behavior for these machines so that the
         existing system shell scripts won't barf.  */
      bool do_v9 = DEFAULT_ECHO_TO_XPG;
     
      initialize_main (&argc, &argv);
      program_name = argv[0];
      setlocale (LC_ALL, "");
      bindtextdomain (PACKAGE, LOCALEDIR);
      textdomain (PACKAGE);
     
      atexit (close_stdout);
     
      if (allow_options)
        parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, VERSION,
    			usage, AUTHORS, (char const *) NULL);
     
      --argc;
      ++argv;
     
      if (allow_options)
        while (argc > 0 && *argv[0] == '-')
          {
    	char const *temp = argv[0] + 1;
    	size_t i;
     
    	/* If it appears that we are handling options, then make sure that
    	   all of the options specified are actually valid.  Otherwise, the
    	   string should just be echoed.  */
     
    	for (i = 0; temp[i]; i++)
    	  switch (temp[i])
    	    {
    	    case 'e': case 'E': case 'n':
    	      break;
    	    default:
    	      goto just_echo;
    	    }
     
    	if (i == 0)
    	  goto just_echo;
     
    	/* All of the options in TEMP are valid options to ECHO.
    	   Handle them. */
    	while (*temp)
    	  switch (*temp++)
    	    {
    	    case 'e':
    	      do_v9 = true;
    	      break;
     
    	    case 'E':
    	      do_v9 = false;
    	      break;
     
    	    case 'n':
    	      display_return = false;
    	      break;
    	    }
     
    	argc--;
    	argv++;
          }
     
    just_echo:
     
      if (do_v9)
        {
          while (argc > 0)
    	{
    	  char const *s = argv[0];
    	  unsigned char c;
     
    	  while ((c = *s++))
    	    {
    	      if (c == '\\' && *s)
    		{
    		  switch (c = *s++)
    		    {
    		    case 'a': c = '\a'; break;
    		    case 'b': c = '\b'; break;
    		    case 'c': exit (EXIT_SUCCESS);
    		    case 'f': c = '\f'; break;
    		    case 'n': c = '\n'; break;
    		    case 'r': c = '\r'; break;
    		    case 't': c = '\t'; break;
    		    case 'v': c = '\v'; break;
    		    case 'x':
    		      {
    			unsigned char ch = *s;
    			if (! isxdigit (ch))
    			  goto not_an_escape;
    			s++;
    			c = hextobin (ch);
    			ch = *s;
    			if (isxdigit (ch))
    			  {
    			    s++;
    			    c = c * 16 + hextobin (ch);
    			  }
    		      }
    		      break;
    		    case '0':
    		      c = 0;
    		      if (! ('0' <= *s && *s <= '7'))
    			break;
    		      c = *s++;
    		      /* Fall through.  */
    		    case '1': case '2': case '3':
    		    case '4': case '5': case '6': case '7':
    		      c -= '0';
    		      if ('0' <= *s && *s <= '7')
    			c = c * 8 + (*s++ - '0');
    		      if ('0' <= *s && *s <= '7')
    			c = c * 8 + (*s++ - '0');
    		      break;
    		    case '\\': break;
     
    		    not_an_escape:
    		    default:  putchar ('\\'); break;
    		    }
    		}
    	      putchar (c);
    	    }
    	  argc--;
    	  argv++;
    	  if (argc > 0)
    	    putchar (' ');
    	}
        }
      else
        {
          while (argc > 0)
    	{
    	  fputs (argv[0], stdout);
    	  argc--;
    	  argv++;
    	  if (argc > 0)
    	    putchar (' ');
    	}
        }
     
      if (display_return)
        putchar ('\n');
      exit (EXIT_SUCCESS);
    }

  5. #585
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Dans ce cas, Python est lui aussi un gros morceaux de C ou de Java ou de .NET, ...

  6. #586
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    Dans ce cas, Python est lui aussi un gros morceaux de C ou de Java ou de .NET, ...
    la JVM actuelle aussi alors...

    comme quoi y a pas un langage meilleur qu'un autre mais qu'ils se complètent

  7. #587
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    Citation Envoyé par infectm Voir le message
    la JVM actuelle aussi alors...

    comme quoi y a pas un langage meilleur qu'un autre mais qu'ils se complètent
    Dans ce cas, argumenter ce genre de choses n'a d'intérêt que si le langage dont tu vantes les mérites ne fait pas lui aussi appel à un langage plus bas niveau (C/C++, Assembleur)... J'en doute fortement (ne connaissant pas python, je ne peux pas non plus être vindicatif là dessus)

  8. #588
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Points : 1 630
    Points
    1 630
    Par défaut
    C'est vrai que dans la vrai vie on fait des hello world tous les jours...

  9. #589
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par mavina Voir le message
    Dans ce cas, argumenter ce genre de choses n'a d'intérêt que si le langage dont tu vantes les mérites ne fait pas lui aussi appel à un langage plus bas niveau (C/C++, Assembleur)... J'en doute fortement (ne connaissant pas python, je ne peux pas non plus être vindicatif là dessus)
    Je n'argumente pas vraiment en faveur de l'un ou l'autre, je dis juste que les langage sont complémentaires et relativement interdépendants.

    Sachant dès lors qu'il est est possible de travailler soit avec des méthodes élémentaires (assembleur), soit avec des méthodes plus haut niveau (qui font appel à ces méthodes élémentaires, comme le c/c++), je me dis juste que ce qui compte c'est de s'y retrouver quand on programme. Et pour cela, perso, j'établis mes préférences sur le niveau d'asbtraction, la présence de suffisamment de sucre syntaxique et le minimum de sel syntaxique.

    Quoi qu'il arrive, tous les langages ont au moins besoin d'un autre langage (j'ai par exemple écrit un petit compilateur pour un langage maison (+/- comme assembleur MIPS), ben j'ai du utiliser du lex et du yacc pour faire mon compilateur). Ce que j'essaye juste de dire c'est qu'un bon langage, c'est comme un bon vin, c'est celui qu'on apprécie.


    Il est vrai que je regarde bcp la syntaxe mais c'est pck c'est cela qui permet un grande rapidité de développement (un langage qu'on écrit intuitivement, voire avec de la complétion c'est quant même plus cool que de devoir se farcir notepad).

    De plus, on peut faire à priori ce qu'on veut avec n'importe quel langage.. mais faut savoir ce qu'on veut en faire. C'est pour cela que je pensait qu'il serait logique de reformuler la question Le langage Java est-il adapté pour les jeux vidéo ? car je la trouve un peu vague pour trancher en faveur de l'un ou l'autre langage. En l'absence d'exigence plus claire, la syntaxe est finalement se qui les dissocie car sinon à priori tous (y compris le java) sont adaptés au jeu video.

  10. #590
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par TanEk Voir le message
    C'est vrai que dans la vrai vie on fait des hello world tous les jours...
    Je voulais surtout appuyer le point sur l'élégance du code entre python, java et c++ (les langages dont on reparle svt dans ce sujet)

    Adapté dans Le langage Java est-il adapté pour les jeux vidéo ? veut-il dire
    'qui donne les meilleur résultat'
    ou
    'qui permet le plus facilement d'avoir un résultat'?
    Suis-je tant hors sujet?

  11. #591
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Points : 1 630
    Points
    1 630
    Par défaut
    Citation Envoyé par infectm Voir le message
    Je voulais surtout appuyer le point sur l'élégance du code entre python, java et c++ (les langages dont on reparle svt dans ce sujet)

    Adapté dans Le langage Java est-il adapté pour les jeux vidéo ? veut-il dire
    'qui donne les meilleur résultat'
    ou
    'qui permet le plus facilement d'avoir un résultat'?
    Suis-je tant hors sujet?
    Oui car un jeu ce n'est pas un hello world. Par exemple, le "coup" de l'ecriture de la fonction main est hors de propos car il est negligeable par rapport au coup integral d'un jeu video. Je ne n'amuserai pas a faire des scripts en C++ mais plutot en bash/python (lua pour les jeux car le coup en memoire tres faible ce qui est crucial pour des jeux consoles) car ils sont adaptes a ce type de programme.

    Pour tous les types de programmes ou tu as besoin de controle et de haute performance, le C++ sera plus adapte.

  12. #592
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    Citation Envoyé par infectm Voir le message
    Je voulais surtout appuyer le point sur l'élégance du code entre python, java et c++ (les langages dont on reparle svt dans ce sujet)

    Adapté dans Le langage Java est-il adapté pour les jeux vidéo ? veut-il dire
    'qui donne les meilleur résultat'
    ou
    'qui permet le plus facilement d'avoir un résultat'?
    Suis-je tant hors sujet?
    Et surtout que la syntaxe ne fait pas la performance, loin de là. Tu as beau avoir un sucre syntaxique énorme, si l'exécution reste rapide, ca ne fait pas du langage en question un mauvais langage parcequ'il y a du sucre syntaxique un peu partout... Java en est un peu l'exemple, depuis les dernieres versions (1.5 et 1.6), ils se sont beaucoup améliorés au niveau de la vitesse d'exécution, certains tests ont été faits pour omparer une exécution C++ et/ou C et une execution Java de la même chose, et c'était, à peu de choses près, du pareil au même. Parfois, Java passait même devant. Ca n'en fait pas forcément un langage adapté aux jeux vidéos pour autant... Je pense juste que Sun fait beaucoup d'efforts pour pailler aux problèmes que peut rencontrer java, surtout la lenteur, et qu'on peut pas exclure, un jour, avoir des jeux faits en java, fluides et beaux. Pour le moment, c'est beaucoup d'amateurs qui font des jeux sous Java, en essayant de montrer qu'on peut en faire, avec plus ou moins de réussite...

    Enfin voilà, tout ça pour dire que oui, tu es un peu HS

    F.

  13. #593
    Membre actif
    Profil pro
    Directeur technique
    Inscrit en
    Juillet 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 107
    Points : 200
    Points
    200
    Par défaut
    Citation Envoyé par TanEk Voir le message
    C'est vrai que dans la vrai vie on fait des hello world tous les jours...
    Oui, ne serait-ce que pour du debug

  14. #594
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    Citation Envoyé par Christuff Voir le message
    Oui, ne serait-ce que pour du debug
    ça c'est pas faux

  15. #595
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par mavina Voir le message
    Et surtout que la syntaxe ne fait pas la performance, loin de là. Tu as beau avoir un sucre syntaxique énorme, si l'exécution reste rapide, ca ne fait pas du langage en question un mauvais langage parcequ'il y a du sucre syntaxique un peu partout... Java en est un peu l'exemple, depuis les dernieres versions (1.5 et 1.6), ils se sont beaucoup améliorés au niveau de la vitesse d'exécution, certains tests ont été faits pour omparer une exécution C++ et/ou C et une execution Java de la même chose, et c'était, à peu de choses près, du pareil au même. Parfois, Java passait même devant. Ca n'en fait pas forcément un langage adapté aux jeux vidéos pour autant... Je pense juste que Sun fait beaucoup d'efforts pour pailler aux problèmes que peut rencontrer java, surtout la lenteur, et qu'on peut pas exclure, un jour, avoir des jeux faits en java, fluides et beaux. Pour le moment, c'est beaucoup d'amateurs qui font des jeux sous Java, en essayant de montrer qu'on peut en faire, avec plus ou moins de réussite...

    Enfin voilà, tout ça pour dire que oui, tu es un peu HS

    F.
    C'est pas faux.

    Bon j'arrête de me perdre alors^^
    Juste 2 remarques courtes sur la question posée par le forum:

    1) selon la machine ciblée, c'est adapté ou non (par exemple les mobiles)
    2) beau et fluide est le critère qui te fera choisir un jeu alors que d'autres gamers s'amusent aussi bien avec des jeu laids (comme WoW par exemple). Le gamer ciblé par le jeu a donc son importance pour savoir si c'est adapté.

  16. #596
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 98
    Points : 115
    Points
    115
    Par défaut
    Sinon, on peut écrire des jeux en D.

    cf les shootem ups de Kenta Cho, qui viennent avec le source en D.
    http://www.asahi-net.or.jp/~cs8k-cyu/index_e.html

  17. #597
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    C'est totalement hors sujet. Ici on parle de Java, pas de D. Il y a déjà des discussions concernant D ailleurs. (regarde dans la partie C++)

  18. #598
    Membre habitué
    Profil pro
    Dev
    Inscrit en
    Mai 2009
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Mai 2009
    Messages : 257
    Points : 190
    Points
    190
    Par défaut
    Citation Envoyé par el muchacho Voir le message
    Sinon, on peut écrire des jeux en D.

    cf les shootem ups de Kenta Cho, qui viennent avec le source en D.
    http://www.asahi-net.or.jp/~cs8k-cyu/index_e.html
    intéressant mais franchement pas mature comme langage

    et puis le C++0x va bientôt faire son entrée

  19. #599
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Le langage Java est-il adapté pour les jeux vidéo ?
    Bonjour.

    Je réponds en partant du principe que la question sous-jacente est : Java peut-il rivaliser avec les meilleurs jeux vidéo du moment ?

    Je suis tenté de répondre non, malgré que je n'ai aucune connaissance pratique de ce langage.

    Le principe de Java, enfin sa philosophie, c'est la portabilité. Jusqu'à preuve du contraire, portabilité et performance ne font pas bon ménage. Je suis ouvert à toutes démonstrations du contraire.

    Néanmoins, dans les jeux vidéo modernes, beaucoup de choses se passent au niveau de la carte graphique. Donc les traitements processeurs de la carte mère sont moins sollicités et peuvent laisser de la place à un interpréteur, forcément plus gourmand qu'un langage impératif. Ceci permet aux langages interprétés de présenter de bonnes performances dans le graphisme 3D.

    Java, pour être portable, j'imagine, doit utiliser OpenGl. Vous n'êtes pas sans savoir qu'OpenGl n'est pas logé à la même enseigne que DirectX. Les fabricants de GPU font des efforts, mais quand Microsoft demande une fonctionnalité avec le prix qui va avec, ça doit être différent pour Java. Il y a aussi un historique derrière tout ça (développement à la base C/C++, problèmes de refonte dans un autre langage, etc...), et une guerre des parts de marché dans le jeu vidéo.

    Le langage Java n'a pas été conçu pour le développement de jeux vidéo, mais pour le développement d'applications portables. (Certes, Java peut rectifier le tir).

    Le langage Java, langage objet tel que le C++, est certainement adapté au développement de jeux vidéo en tant que tel. Les problème, ce sont le développement des API, conjointement aux fabricants de GPU.

    Le développement de jeux vidéo ne se limite pas au choix du langage.

    Aussi, le rachat de Sun par Oracle, le comportement actuel d'Oracle, semble poser des questions à la communauté Java. Je pense que cet élément d'information à son importance.

    En résumé, quel est le langage qui a la plus grosse, il n'y a pas de réponse...

  20. #600
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    Citation Envoyé par coda_blank Voir le message
    et puis le C++0x va bientôt faire son entrée
    C'est C++1x maintenant et ça fait depuis pas mal d'année qu'il est censé faire son entrée on l'attend toujours ^^

    Sinon sans balancer du benchmark biaisé, quelqu'un peut expliquer, par la théorie comment un langage interprété comme le Java pourrait arriver dans certains cas à être plus rapide qu'un langage natif comme le C++ ??? (A pars par des optimisations des bytecodes dépendante de la machine, car ça à termes n'importe quel compilateur pourras lui aussi utiliser cette optimisation (fin j'ose espérer que les compilateurs sont en avance niveau optimisations par rapport à une machine virtuelle qui existe depuis moins longtemps), mais si non, pourquoi)

    Merci

Discussions similaires

  1. Réponses: 39
    Dernier message: 13/07/2018, 04h48
  2. L’interview technique est-il adapté pour les recrutements ?
    Par Cedric Chevalier dans le forum Actualités
    Réponses: 103
    Dernier message: 08/07/2013, 09h38
  3. [Autre] HTML5 est-il adapté pour les jeux sur le Web ?
    Par Hinault Romaric dans le forum Publications (X)HTML et CSS
    Réponses: 42
    Dernier message: 22/01/2012, 12h17
  4. HTML5 est-il adapté pour les jeux sur le Web ?
    Par Hinault Romaric dans le forum Balisage (X)HTML et validation W3C
    Réponses: 42
    Dernier message: 22/01/2012, 12h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo