Nous prévoyons de développer un jeu de puzzle 2D basé sur une grille, et bien qu'il soit encore très tôt dans les étapes de planification, nous aimerions bien prendre nos décisions dès le début.
Notre stratégie sera de rendre le jeu disponible sur autant de plateformes que possible, par exemple les PC (Windows, Mac et / ou Linux), les téléphones portables (téléphones iPhone et / ou Android), les consoles de jeux (XBLA et / ou PSN) PC mettra l'accent, mais je pense que c'est la plate-forme la plus flexible, donc cela ne devrait pas être un problème.
Alors, quel langage de programmation, moteur de jeu, frameworks et outils polyvalents seraient les mieux adaptés à notre objectif?
PS: Je parie qu'un ensemble d'outils ne couvrira pas TOUS ceux-ci, et qu'il y aura toujours une sorte d'effort de "traduction" pour certaines plateformes, mais nous aimerions savoir quels sont les plus étendus.
la source
Réponses:
Nous avons un cadre C ++ épais au-dessus d'une couche plate-forme mince, également C ++. Porter un jeu sur une nouvelle plate-forme consiste à implémenter une nouvelle couche de plate-forme, ce qui, parce qu'il est assez mince, est assez rapide à faire.
De plus, toutes nos dépendances sont des bibliothèques open source et multiplateformes, telles que SDL, Ogg, LibPNG, etc.
Par exemple, nous avons une plate-forme Win32 / DirectX, une plate-forme SDL / OpenGL pour Linux et Mac, travaillant sur une plate-forme iOS pour iPhone / iPad, et un port android serait également possible. Pendant un certain temps, nous avions une plate-forme Playground, ce qui signifie que notre framework fonctionnait au-dessus du moteur Playground de PlayFirst. Cette approche en couches vous permet de tirer parti de l'interface que vous avez avec le matériel / système d'exploitation sous-jacent, tant que vous pouvez dessiner un quad texturé, obtenir une entrée et jouer un son, vous êtes à peu près prêt.
Je serai flambé pour cela, mais C ++ est probablement le langage le plus multiplateforme qui soit. Chaque architecture et système d'exploitation a probablement un compilateur C ++ ou gcc peut y être porté.
la source
Utilisez simplement Unity
la source
Je viens de découvrir NME il y a quelques jours dans une autre question et j'ai pensé qu'il valait la peine de passer le mot. Au sujet de la prise en charge multiplateforme, la première page indique ce qui suit:
Je ne l'ai pas encore testé personnellement, mais cela m'a semblé intéressant pour plusieurs raisons:
Je n'ai pas beaucoup de temps pour l'essayer pour le moment, donc si quelqu'un le fait, il serait utile que vous puissiez laisser des commentaires à ce sujet.
la source
Eh bien cela dépend, pouvez-vous programmer en C / C ++, Obj-C et C #?
Unity3D est la meilleure taille 1, mais les jeux 2D peuvent être difficiles (pour un jeu 2D de toute façon).
Si vous ciblez la Xbox avec XNA (alias le magasin indépendant), vous devez utiliser C #. Mais vous ne pouvez pas vraiment utiliser C # avec iOS (sauf avec l'unité). Bien que vous puissiez utiliser C / C ++ pour iOS, vous devez toujours utiliser un peu d'Obj-C, sauf si vous utilisez une sorte de middleware.
Si vous n'utilisez pas de moteur, je pense que la meilleure chose à faire est d'écrire votre propre couche d'abstraction. Pour que tous les appels à votre bibliothèque passent par cette couche intermédiaire, donc quand vient le temps de porter, il vous suffit de changer l'implémentation de la couche d'abstraction et votre code de jeu est plus ou moins intact.
la source
D'autres réponses ont assez bien couvert les outils et les langues, mais du côté des graphiques, je recommanderais certainement de créer vos graphiques (2D) dans un format vectoriel et de vous assurer qu'ils ont l'air bien dans les petites et grandes tailles. Trop de détails se dégradent mal, trop peu de détails se dégradent mal.
la source
Moai SDK est un framework open source et est actuellement en mesure de publier sur Android, IOS et Chrome. Moai pourrait être étendu pour couvrir des hôtes tels que les consoles de jeux, selon vos compétences et vos connaissances dans ces domaines.
la source
Je dirais que votre meilleur choix de langue serait c #. Vous pouvez l'utiliser pour développer dans Unity pour un certain nombre de plates-formes. c # est également le langage utilisé dans MonoTouch (pour le développement pour iOS) et MondoDroid (pas encore sorti mais vous permettra de cibler les plateformes Android). Et, bien sûr, c # peut être utilisé dans XNA qui vous permet de cibler les téléphones XBOX 360 et Windows.
Cela couvre à peu près tout. Il y aura encore du travail à faire dans le fait que vous utiliserez différents outils pour manipuler le contenu du jeu, mais votre logique de jeu de base ne devrait pas avoir besoin de changer si tout est en c #.
oh et bien sûr c # est utilisé dans Silverlight qui vous permettrait également de cibler le web.
la source
La première étape devrait probablement être de créer le jeu, au moins un prototype décent, en utilisant vos outils / technologies préférés, pour une seule plate-forme (ou un petit nombre de plates-formes).
Il est très facile de s'enliser dans les outils multiplateformes / le développement technologique. Se concentrer trop sur la multiplicité des plateformes avant d'avoir un jeu est un peu comme une optimisation prématurée. Il vaut certainement la peine d'y penser dès le début, mais n'y passez pas tout votre temps avant d'avoir un jeu.
Essayer de prendre en charge chaque plate-forme avant de savoir si le jeu sera un succès ressemble à une stratégie à haut risque - en particulier s'il s'agit d'un jeu simple à petit budget (où le coût de développement de systèmes multiplateformes pourrait largement dépasser le coût de développement du jeu lui-même?).
Ne serait-il pas logique de le lancer sur un petit nombre de plates-formes, de voir à quel point il fonctionne et de déterminer s'il vaut la peine de prendre en charge les plates-formes les plus difficiles (par exemple, les systèmes moins puissants, ceux avec des périphériques d'entrée arkward ou ceux qui nécessitent une port vers C # ou Java)
la source
Je sais que c'est impopulaire, mais AS3 avec Starling pourrait être votre réponse pour mobile, ordinateur de bureau et web. C'est ÉTONNANT et se produit d'une manière surprenante. J'ai fait et un jeu iOS kinect qui fonctionnait également sur Windows et Android. Il n'y avait rien d'autre qui pouvait gérer les besoins de calcul et c'était cette plateforme multiplateforme. De plus, vous pouvez connecter n'importe quel projet Arduino de manière transparente. La plupart des gens n'ont tout simplement pas remarqué ce qu'Adobe a fait aux outils Flash / Flash Builder récemment ...
la source
Flash et Java ont un support très répandu; ils fonctionnent sur tous les PC (plus ou moins) et sur de nombreux appareils mobiles (plus ou moins), et je suis sûr qu'ils sont à peu près aussi faciles à porter sur une console que tout autre projet avec une influence PC.
la source