Je cherche à créer un jeu en Java et j'aimerais qu'il fonctionne sur Windows, Linux et Mac. Je suis presque sûr que C # est un mauvais choix pour cela, et je n'ai pas assez d'expérience en C ou C ++. Je veux rester loin de Flash. Par conséquent, Java est-il un bon choix pour moi? Surtout, j'utilise C #, et je pense que Java est similaire, donc je suppose que ce ne sera pas si difficile à apprendre. Mais est-ce assez rapide? Existe-t-il un langage mieux adapté à mes besoins que Java?
java
game-development
cross-platform
CommunistPancake
la source
la source
Réponses:
Java est extrêmement adapté à l'écriture de jeux multi-plateformes. Principaux avantages:
La principale décision que vous devrez prendre est le cadre GUI que vous allez utiliser. Il existe plusieurs options, mais les plus importantes sont:
Les principaux inconvénients de Java pour les jeux se situent vraiment autour des «cas marginaux» qui ne vous affecteront probablement pas, mais sont pertinents pour certaines classes de jeu:
Notez qu'il existe également quelques options de déploiement à considérer:
Enfin, il convient également de considérer certains des autres langages JVM - ceux-ci ont tous les avantages de la plate-forme Java répertoriée ci-dessus, mais certains les considèrent comme de meilleurs langages que Java lui-même. Scala, Clojure et Groovy seraient les plus importants, et ils peuvent tous utiliser les outils et bibliothèques Java répertoriés ci-dessus.
la source
Minecraft et Blocks that Matter sont tous deux construits en Java, donc oui, c'est très bien pour créer des jeux. Le principal problème que vous rencontrerez lors de l'utilisation de Java est le portage sur des plates-formes mobiles si vous choisissez de suivre cette voie et d'écrire une application native. Android est une sorte de Java SE frankensteined avec une bibliothèque séparée. Le Blackberry de RIM utilise Java ME. iOS peut en théorie être programmé avec Java, mais Objective-C serait probablement un meilleur choix pour cette plate-forme.
Java est assez similaire à C #. Je trouve souvent le code C # compréhensible même si je ne connais que Java. Ils ont une philosophie de conception différente, mais dans la mesure où ils sont largement déployables avec un minimum de tracas, ils conviennent tous les deux. C # n'est pas un choix terrible pour les jeux, même si votre déploiement mobile sera plus difficile et le déploiement sur des plates-formes non Windows prendra plus de temps ou sera difficile en fonction des bibliothèques externes spécifiques et ainsi de suite que vous finirez par utiliser.
la source
La manière la plus évidente et la moins résistante est d'utiliser le combo HTML5 + javascript. Toute application ou jeu créé à l'aide de ce logiciel s'exécutera sur presque tous les appareils et navigateurs.
Avantage : - Vous n'aurez besoin d'aucune configuration pour faire fonctionner votre jeu sur différentes plates-formes et appareils.
REMARQUE: - J'ai vu peu de jeux qui sont construits en utilisant les technologies susmentionnées, mais ils étaient de plus petite taille. Mais je suppose que si l'on peut faire du beurre avec du lait, le fromage n'est pas impossible
la source
Vous pouvez utiliser Scala et Scheme Bigloo sur Eclipse pour utiliser JVM pour du code stressé ou une action parallèle dans votre jeu Java.
Avec Pattern Design et UML2, vous pouvez également sécuriser du code avec OCL, tout est dans Topcased.org.
La maîtrise de ces outils prend du temps, mais ce sont les antécédents de Java, la base qui vous poussera au sommet.
la source
Réponse courte: non.
Java ne génère pas d'exécutable binaire mais uniquement du bytecode comme le fait C # (CLI), et ce n'est pas une bonne chose pour les affaires sérieuses dans des "environnements ouverts" pour deux raisons principales:
Bien sûr, chaque langue a ses propres bibliothèques, mais en raison de leur grande quantité pour chaque langue, ce n'est pas un vrai problème et je ne pense pas que ce soit le but de ce sujet.
Peut-être qu'à un niveau professionnel, vous pouvez trouver quelque chose qui peut enfreindre la règle comme un kit de développement qui peut traduire toutes les instructions C # en code d'assemblage pour une machine du monde réel, mais si ce type d'approche n'est pas dans les cartes, vous êtes pratiquement obligé de ne considérez que le C et le C ++ pour votre développement lorsque vous souhaitez vendre votre produit dans un environnement ouvert.
Les choses sont un peu différentes pour les appareils mobiles car ils sont un "environnement fermé", même Android est pratiquement fermé étant donné que la source des ROM réelles n'est généralement pas accessible au public, Android peut être considéré comme un logiciel open source, mais le 99 Le% des ROM sur les appareils réels ne le sont pas. Dans ce cas, vous ne pouvez pas trop discuter, tout est déjà réglé pour vous et chaque plate-forme a son propre langage comme tout le monde le sait.
En fin de compte, si vous allez vendre ces produits dans des environnements ouverts, je ne peux que suggérer des langages capables de produire du code compilé et binaire / d'assemblage, dans des environnements fermés, la décision est généralement plus facile à faire pour différentes raisons.
la source