Преимущества Java против Python для 2D-графики, пользовательские скрипты
Отказ от ответственности: я не хочу поощрять дебаты "Моя Java лучше, чем ваш Python" здесь. Я пишу на обоих языках сам и люблю их, я знаю, что оба языка имеют свои преимущества, и именно эти преимущества я хочу знать здесь, и ничего больше.
Некоторое время я думал о создании игры, и мне было интересно, подойдет ли Python или Java для того, что я хочу сделать.
Это была бы двухмерная стратегическая игра, немного похожая на Frozen Synapse, но без изящной графики и пошагового аспекта. Игра натравит двух Игроков друг на друга, которые не смогут повлиять на игру после ее запуска (так что технически это скорее симулятор, чем игра). Оба игрока вводят сценарий, который они написали для своих армий, который говорит им, что делать. Например:
On EnemySpotted:
contact Units in Range
find cover
move to cover
open fire
On Contacted:
If Contacted for(enemy spotted):
Move in range
find cover
open fire
...
Язык сценариев, конечно, выглядел бы немного иначе, но вы поняли идею.
Так что, в принципе, мне потребуются следующие вещи:
- 2D Графика
- Ввод, анализ и применение пользовательских скриптов
- Сетевое общение
Я знаю, что Java может довольно легко выполнять 1 и 3, и то же самое относится и к python. Итак, есть ли разница между Java и Python в применении пользовательского ввода, может ли один язык сделать это безболезненно, без массовых if
-блоки? Какую рекомендацию использовать на каком языке?
Я знаю, что вы, скорее всего, скажете "Используйте любой язык, который вам удобнее всего", но несколько указателей на полезные функции, библиотеки и / или структуры обоих языков все равно будут хороши.
1 ответ
Я вижу проблемы со вторым требованием к игре на Java. У вас есть по крайней мере:
- Groovy
- Jython
- носорог
для расширения вашего программного обеспечения с помощью возможностей сценариев. Я не могу посоветовать вам, лучше ли использовать Java или Python, потому что я в основном работаю с Java (использую Python в основном для небольших вспомогательных программ для работы с консолью), просто приводя примеры сценариев, которые могут быть интегрированы в ваше Java-приложение.,