2011-05-28 10 views
6

Je veux savoir, est-il possible de développer des jeux pour mobiles basés sur Android (et peut-être iPhone) en C#? Oui, je sais à propos de "MonoDroid/Mono pour Android", mais bon ... ce n'est pas gratuit. Java est grand, mais Dalvik performances est bien pire que Mono. Et il manque de certaines fonctionnalités qui sont très utiles pour le développement de jeux tels que la surcharge de l'opérateur. De plus, il y a le framework OpenTK qui est tout simplement incroyable.Développement de jeux Android en C#

Alors, est-il possible d'obtenir en cours d'exécution .NET/Mono sur Androidgratuitement? Ou suis-je condamné à Java?

+1

Je ne sais pas comment vous pouvez suggérer que l'utilisation de Java est une 'phrase' ... –

Répondre

3

Vous devez pouvoir installer du code non géré sur l'appareil. Je recommande d'utiliser Java, car je peux prévoir que le déploiement sera difficile avec le mono. Il se peut que Google ne vous laisse pas vendre votre application sur son marché avec de grandes quantités de code non géré. Il serait également vous attacher à des téléphones Android arborant une marque particulière de processeur, pas beaucoup d'un problème que tous les téléphones que je peux penser utiliser des processeurs ARM, mais il y a quelques exceptions.

Vous pouvez essayer http://www.mono-project.com/Mono:ARM si vous êtes sûr de cela.

La surcharge de l'opérateur est simplement du sucre syntaxique. Je suis sûr que vous êtes capable d'écrire des applications sans elle. Et Java ne peut pas être sans ses propres cadres appropriés sûrement.

Android déborde de Java et il est probablement plus facile de ne pas essayer de le combattre.

+0

+1 pour "La surcharge de l'opérateur est simplement du sucre syntaxique" – Squonk

+2

-1 Pour ne pas autoriser le code non géré. Ils ont le NDK qui est tout fait en C/C++ qui n'est pas géré. L'utilisation de C# ne vous verrouille pas non plus vers un processeur spécifique, car il est compilé dans un langage intermédiaire (IL) et juste dans le temps (JIT) compilé par l'interpréteur. – CaseyB

+0

L'IL elle-même ne serait pas le problème. Le runtime que vous regrouperiez aurait été spécifique au processeur et il y a des difficultés. Il y a aussi un projet Mono: MIPS mais qui semble beaucoup moins fonctionnel.Je pensais que Google pourrait avoir des problèmes de sécurité avec de gros volumes de code non géré, en particulier ceux qui écrivent en mémoire et puis s'exécutent à partir de celui-ci, mais il semble qu'ils vont vraiment tamponner quoi que ce soit. – eyesathousand

2

Si vous ne souhaitez pas utiliser Java, vous devez utiliser NDK et C/C++; surtout pour les jeux. Un avantage supplémentaire à cela est que si vous pensez un peu en avance, vous pouvez avoir un gros morceau de code qui fonctionne sur Android et iPhone.

0

Je ne suis pas normalement un fan d'offrir quelque chose en dehors des limites de ce que vous avez défini, mais vous devez prendre ce conseil à cœur:

Si vous êtes sérieux au sujet de Game Development j'investir du temps dans l'apprentissage Unity3D . La version non Pro est gratuite et n'expire pas. Ils ont des kits iPhone et Android qui vous permettent de déployer votre jeu sur ces deux plateformes. Oui, ils coûtent de l'argent, mais commencez à calculer combien votre temps vaut.

Si vous faites cela comme un exercice pour apprendre comment fonctionnent les moteurs de jeu, alors c'est génial et vous devriez le poursuivre. Si vous êtes plus concentré sur le développement d'un jeu réel, regardez dans l'un des kits existants. Unity3d est de loin le kit le plus facile et le moins cher pour toutes les fonctionnalités dont il dispose.