Zefirot
@Zefirot

Большая ли разница между написанием на UNITY или чистом С++ C#?

Допустим мне нужно сделать простенький 2D платформер по типу марио, с одной стороны в unity это сделать легко, с другой стороны сам unity при запуске почему-то сильно напрягает ПК, просто мои наблюдения, какую бы я игру не запускал бы сделанную на unity то при самом запуске идет уже сильная нагрузка на процессор (30-40% кулер "взлетает" при учете что процессор 8 ядер да и оперативки 16гиг), причём такая нагрузка к примеру в hollow knight (хотя я бы не сказал что там графика крутая).

Вот тут и вопрос есть ли смысл пробовать писать на чистом С++ C# (еще не пробовал) или не запариваться и писать на unity? Большая ли разница? Или в unity есть какие-то варианты чтобы подобных нагрузок избежать учитывая простоту задачи?
  • Вопрос задан
  • 322 просмотра
Решения вопроса 2
@MarkusD
все время мелю чепуху :)
Инструмент всегда выбирается от задачи.

Первым делом нужно строго сформулировать для себя задачу. Чего ты хочешь добиться?
Сделать игру? Это не задача. Заработать денег на игре? Это не задача.
Задачу надо детально формулировать. Например: сделать игру по уже имеющемуся ТЗ в конкретные сроки и с затратами не выше заданного бюджета.

Исходя из задачи выбирается инструмент.
Разные инструменты предъявляют разные требования к профессионализму разработчика, бюджету и времени разработки. Разные инструменты влекут разные риски для процесса разработки.
Выбор инструмента заключается в сведении проф. навыков, бюджета, времени и рисков в одном месте.

Unity позволяет вести быструю разработку при минимальной квалификации, но влечет риски быстрого изменения системных требований и непредвиденных сопутствующих расходов в местном "магазинчике радостей". Плюс, в определенный момент потребуется заплатить немалые деньги за лицензию.

Чистый C# требует профессионализма и большого времени на разработку. Профессионализм требуется сразу довольно высокий. Человек должен не только языком владеть, но и быть в состоянии выбрать подходящие сторонние библиотеки для помощи.

Чистый C++ требует экспертного уровня профессионализма и, буквально, огромного времени на разработку. Незначительного уменьшения времени на разработку можно добиться покупкой сторонних инструментов за довольно большие деньги. Более того, экспертный уровень требуется не только в знании C++, но и в знании сопутствующих разработке игры областей. Математику, звук, графику, сеть и каждую из целевых платформ требуется тоже знать на экспертном уровне. Иначе выбор чистого C++ будет проигрывать выбору чистого C#.
Современный C# после сборки по своей производительности ничем не отличается от результатов сборки C++, а разработку на C++ вести значительно сложнее.

Более того, использование чистого инструмента всегда требует от пользователя экспертного уровня знания архитектуры ПО.
Ответ написан
Комментировать
@mayton2019
Bigdata Engineer
Основное энергопотребление для игр занимает рендеринг графики. Поэтому для игры будет по большему счету безразлично вызываете вы графичесекий API из С++ или из C#. Исключение пожалуй составят игры со сложным AI где именно важен основной CPU. Но в играх типа Марио нету никакого сложного AI поэтому можете игнорить это исключение.

C# более прозрачный для понимания язык свободный от UB и поэтому если вы планируете в будущем развивать и доделывать софт - то лучше всего этот софт делать на современном и однозначном языке. Для бизнеса это полезно. Всегда найдете другого разработчика который легко разберется в вашем коде и пофиксит все что надо.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы