Я хочу создать игру на Java и хотел бы, чтобы она работала на Windows, Linux и Mac. Я почти уверен, что C # - плохой выбор для этого, и у меня нет достаточного опыта в C или C ++. Я хочу держаться подальше от Флэша. Таким образом, является ли Java хорошим выбором для меня? В основном я использую C # и думаю, что Java похожа, поэтому я предполагаю, что это не будет так сложно изучать. Но достаточно ли это быстро? Есть ли язык, более подходящий для моих нужд, чем Java?
java
game-development
cross-platform
CommunistPancake
источник
источник
Ответы:
Java чрезвычайно подходит для написания кроссплатформенных игр. Основные преимущества:
Главное решение, которое вам нужно будет принять, - это то, какой графический интерфейс вы собираетесь использовать. Существует довольно много разных вариантов, но наиболее выдающимися из них являются:
Основные недостатки Java для игр на самом деле связаны с «крайними случаями», которые, вероятно, не затронут вас, но имеют отношение к некоторым классам игр:
Обратите внимание, что есть также несколько вариантов развертывания:
Наконец, стоит также рассмотреть некоторые другие языки JVM - в них есть все преимущества платформы Java, перечисленной выше, но некоторые считают, что они являются лучшими языками, чем сама Java. Scala, Clojure и Groovy были бы наиболее известными, и все они могут использовать инструменты и библиотеки Java, перечисленные выше.
источник
Minecraft и Blocks that Matter созданы на Java, так что да, это очень хорошо для создания игр. Основная проблема, с которой вы столкнетесь при использовании Java, - это портирование на мобильные платформы, если вы решите пойти по этому пути и написать собственное приложение. Android является своего рода франкенштейном Java SE с отдельной библиотекой. Ежевика RIM использует Java ME. Теоретически iOS можно программировать с помощью Java, хотя Objective-C, вероятно, будет лучшим выбором для этой платформы.
Java в достаточной степени похож на C #. Я часто нахожу код C # понятным, несмотря на то, что знаю только Java. У них действительно есть другая философия дизайна, но поскольку они широко развертываются с минимальными хлопотами, оба отвечают всем требованиям. C # не является ужасным выбором для игр с любой натяжкой, хотя ваше мобильное развертывание будет сложнее, а развертывание на платформах, отличных от Windows, займет больше времени или затруднительно в зависимости от того, какие конкретные внешние библиотеки и т. Д. Вы планируете использовать.
источник
Наиболее очевидным и наименее устойчивым способом является использование HTML5 + комбо javascript. Любое приложение или игра, созданные с использованием этого, будут работать практически на всех устройствах и браузерах.
Преимущество : - Вам потребуется нулевая конфигурация для запуска игры на различных платформах и устройствах.
ПРИМЕЧАНИЕ: - Я видел несколько игр, которые построены с использованием вышеупомянутых технологий, но они были меньше ростом. Но, полагаю, если из молока можно сделать сливочное масло, то сыр не исключен.
источник
Вы можете использовать Scala и Scheme Bigloo на Eclipse, чтобы использовать JVM для напряженного кода или параллельных действий в вашей игре Java.
С помощью Pattern Design и UML2 вы также можете защитить код с помощью OCL, все на Topcased.org.
Освоение этих инструментов требует времени, но они являются основой Java, основой, которая подтолкнет вас на вершину.
источник
Краткий ответ: нет.
Java не генерирует двоичный исполняемый файл, а только байт-код, как это делает C # (CLI), и это не очень хорошая вещь для серьезного бизнеса в «открытых средах» по двум основным причинам:
Конечно, у каждого языка есть свои библиотеки, но из-за большого количества их для каждого языка это не является реальной проблемой, и я не думаю, что цель этой темы.
Может быть, на профессиональном уровне вы можете найти что-то, что может нарушить правило, например dev-Kit, который может преобразовать все операторы C # в код сборки для реальной машины, но если такого подхода нет в картах, вы вынуждены практично Рассматривайте только C и C ++ для своего развития, когда вы собираетесь продавать свой продукт в открытой среде.
Для мобильных устройств все немного по-другому, потому что они являются «закрытой средой», даже если Android практически закрыт, учитывая тот факт, что исходные ПЗУ в реальном мире обычно не доступны для общественности. Android можно считать открытым исходным кодом, но 99 % ПЗУ на реальных устройствах нет. В этом случае вы не можете спорить слишком много, все уже настроено для вас, и у каждой платформы есть свой язык, который знают все.
В конце концов, если вы собираетесь продавать эти продукты в открытых средах, я могу предложить только языки, которые могут создавать скомпилированный и двоичный / ассемблерный код, в закрытых средах решение, как правило, легче принять по разным причинам.
источник