Аналогия со вспышкой вполне верна, но я не совсем понимаю вашу аналогию с марионетками.
Хорошие вещи о единстве:
- кросс-платформенный: это очень большой плюс, я бы сказал, большая причина.
- Качественный движок и реализация, я имею ввиду использование игровых объектов Unity и т. Д.
- Очень просто сделать простую игру с нуля, так что это плюс для создания прототипов.
Плохие вещи
- Невозможно связать с C ++ или C, поэтому ваш проект может работать только на Unity. С C # можно утверждать, что он будет работать на XNA, но C ++ был бы хорош. Под этим замечанием я подразумеваю, что это не тот инструмент, который могли бы использовать ветераны-профессионалы или автодидакты, поскольку у вас нет полного контроля над приложением, но это не значит, что вы не можете ничего сделать с Unity. С другой стороны, команда с отличной идеей и талантливыми артистами может делать потрясающие вещи, не нуждаясь в опытных программистах.
- Это довольно новый, так что, очевидно, никто не знает, куда приведет этот инструмент.
В Unity мне не нравится то, что кажется, что вся тяжелая работа выполнена, поэтому программисты гораздо менее ценны. С другой стороны, он отлично подходит для быстрого обучения людей тому, как быстро строить вещи.
Итак, в заключение: Unity (или такой инструмент, как Unity) больше подходит для художников, которые не могут обратиться к великим программистам, но все же могут знать, что нужно немного написать сценарий игры. Конечно, вы можете сделать полнофункциональную игру, добавить реалистичный IA, сделать сетевой код mmo, а что нет, но крупные компании не будут использовать Unity.
Модели программирования позволяют предложить решение, подходящее для 3/4 инструментов разработки, чтобы оно подходило для этих «независимых» разработчиков игр. Он ценит один конкретный инструмент, а также художников, а не программистов (за исключением, конечно, из команды Unity).
Unity - хороший путь для непрограммистов, но они должны понимать, что видеоигры происходят из строк кода, и что вы не можете делать все просто с помощью потрясающего инструмента. В какой-то момент требуется знать кое-что о низкоуровневом программировании.
Имея в виду личный проект, я бы не стал использовать Unity, потому что мне не нравятся C # или Boo (Panda хороша с python, так зачем беспокоиться о коммерческом программном обеспечении?), И потому что, если я покажу свой проект, и он будет сделан с Единство, это будет гораздо менее впечатляющим.