|
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
|
|
Разработка игр. C++ or C# or Python?13.08.2016, 11:06. Показов 14323. Ответов 40
Метки нет (Все метки)
Приветствую всех.
Уже около года я выбираю между C++, C# и Python. Читаю, спрашиваю и т.д. Параллельно изучаю все 3 языка. Помимо изучения, я знал примерную область, где буду работать. Это прикладное программирование под Windows. Программы клиентсерверные приложения и многое другое. Но недавно я решил окончательно, в какой основной области буду работать и куда двигаться. Это разработка звуковых игр. Использовать буду возможно такие инструменты, как Bass, DirectSound и т.д. И вот у меня появился вопрос: Я знаю, что C++ быстр, позволяет работать на прямую с памятью. В играх, как и где отражается его мощность? Только на графике? Например, я хочу сделать игру с открытым миром. Большая карта, примерно клон GTA. Естественно не с полного нуля. Высокоуровневые инструменты по обработке звука буду точно использовать. Так вот, будет ли разница в производительности игры, если я буду писать на C++, на C# или на Python? Библиотеки есть под все эти языки. Мне главное понять про производительность. Например в C++, где будет мощность языка проявляться. Я задумался о этом, потому что: Давайте представим примерно, структуру игры. Есть главная программа-движок. В движке прописано передвижение, стрельба и т.д. Скрипты - дополнения к движку, где прописаны миссии, сцены и т.д. Так сделано большинство игр. Во всяком случаи, GTA и Mafia 2 точно. Есть движок и файлы, где прописаны миссии, возможности. Вот и мне интересно, если разница писать движок на c++, C#, Python есть, то будет ли она, если исключить графику, а остальное оставить? Заранее благодарен.
0
|
|
| 13.08.2016, 11:06 | |
|
Ответы с готовыми решениями:
40
Что перспективнее - разработка игр под мобильные платформы или разработка embedded-систем Разработка игр или разработка софта Разработка игр |
|
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
||
| 13.08.2016, 12:02 | ||
Можно хоть всю жизнь выбирать и так и остаться на стадии выбора ![]() По теме - Havok написан на C++, Source написан на C++. Даже RAGE Engine (на котором GTA) на C++. Я вообще плохо себе представляю игровой движок на Python. Добавлено через 5 минут Сейчас стало интересно, решил посмотреть список игровых движков. Там куда не ткни - везде C++
0
|
||
|
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
|
|
| 13.08.2016, 12:20 [ТС] | |
|
Ну это игровые движки с графикой. А если я буду без графики, может лучше брать шарп или Python? Или всё же и тут Плюсы лучше?
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||
| 13.08.2016, 12:28 | |||||
|
сюда ещё и вэб можно добавить. обычно на плюсах пишут двигатель, который помимо графической подсистемы включает в себя все необходимое, для развертывания серверов, и их коммуникаций игровой клиент можно писать хоть на бейсике, был бы доступ к игровому апи движка. Добавлено через 6 минут это - двигатель, который представляет собой рабочую среду. клиент, который интегрируется в эко-систему движка. и кучка высокоуровневых игровых скриптов и контента, которые собственно и делают игру игрой. вам нужно определиться: чего вы хотите? сами пилить собственной движок, познать закулисный мир геймдефа? тогда вам нужно будет знать с++ и это - без вариантов. остальные языки тоже нужны, но без плюсов здесь будет делать нечего. если же вы хотите делать именно игру, а не инфраструктуру, тогда берите любой готовый движок. читайте документацию, смотрите для каких языков он предоставляет апи. берите любой из них и вперед, и с песней.
0
|
|||||
|
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
|
|
| 13.08.2016, 12:45 [ТС] | |
|
По поводу игры с технической точки зрения, я игру себе представляю как:
Есть движок, который имеет в себе сам игровой цикл, в котором есть основы игры, такие как передвижение, стрельба, вождение автомобиля, драки, система укрытий и т.д. Есть скрипты, которые пишутся на C#/Python/LUA или тех же плюсах, в которых прописаны возможности, сюжет и многое другое. Так как мне не нужна работа с графикой, больше половины работы отпадает. Мне рисовать даже ничего не нужно на экране, просто окно. Но остаётся физика, и то не полная. Столкновение объектов и т.д. По поводу движка, с нуля я писать точно ничего не собираюсь. Как минимум, возьму звуковой движок типа Bass, возьму какую нить математическую библиотеку. Дело в том, что плюсы сильно сложны для меня. Там указатели и т.д. Но всё же если не обойтись, я конечно готов тупить тупить, но дотупить. Вот и надо понять, стоит ли. Ведь в таких движках, как Rage, там ведь в основе графика и физика. Как и почти во всех движках. Я бы не думал об этом, если бы движок звуковых игр BGT, не был написан на плюсах. Плюс движком это назвать трудно. Там используется для программирования свой язык, подобие Angel script. Шарп меня устраивает, понятно всё, без проблем, Python к сожалению интерпретируемый, но все движки почти на плюсах. Потому я подумал, что вот напишу я что-то на шарпе, а в итоге игра будет очень ограничена в функционале и в возможностях.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 13.08.2016, 12:53 | |||
|
и не должен этого знать. движок предназначен для создания разных игр. а у разных игр случаются разные основы. вам нужно поработать немножко с каким нибудь реальным движком. в связке с шарпом можно потрогать Юнити. что бы просто понять, как вообще осуществляется взаимодействие между бизнес-логикой конкретной игры, и движком. питон никуда не убежит. понадобится - освоите. тоже самое касается Lua. на плюсы пока забейте - это не ваше.
0
|
|||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 13.08.2016, 12:59 | ||||
|
0
|
||||
|
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
|
|
| 13.08.2016, 13:07 [ТС] | |
|
По поводу движка, я работал. Я просто думал, что к примеру движок Rage и какой нибудь open gl это разные вещи. Если движок вида Blitz, OpenGL, то это программа, которая отвечает за вывод графики, воспроизведение звука и т.д.
По поводу Юнити я бы рад, но с редактором Юнити работать физически не могу. Там нет как такового GUI интерфейса. Там визуальные объекты, с ними работать не могу. А без редактора, на сколько мне известно, то есть в чистой студии, писать нереально. Только если движок подключается в саму IDE как библиотека. По поводу Шарпа, а какие аргументы для этого? Ведь он не такой мощный, а мне нужно примерную производительность GTA. Иначе если у меня будет всё глючить и без графики, что это за игра тогда. Там где основы C++, я соображаю отлично. Как только указатели, stl, итералы, всё. Я читал в десятках учебниках о этом, но переварить не могу. Я о Шарпе думаю ещё потому, что мне не нужна крассплотформенность. Мне нужен программинг чисто под Windows. Добавлено через 3 минуты Я вообще могу взять Script Hook под GTA 4 или 5 и программить что-то своё. Но в GTA графика, и если буду продавать, это копирайт.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 13.08.2016, 13:15 | |||
|
и начинайте работать. а то вы так и будете топтаццо на месте.
0
|
|||
|
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
|
|
| 13.08.2016, 13:19 [ТС] | |
|
Но ведь неизвестно, какой в итоге будет результат. Ведь не зря же все сидят на плюсах. Да Майнкрафт на Java написан, но Майнкрафт не GTA, вдруг у Шарпа мощности не хватит на карту, объекты и т.д.
0
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 13.08.2016, 13:25 | |||
|
0
|
|||
|
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
|
|
| 13.08.2016, 13:33 [ТС] | |
|
Так дело не в том, что я не умею. А в том, что не могу вообще. Я полностью слеп. И доступ к объектам не имею, так как все в редакторе не запрограммировано, а нарисовано. А я могу делать всё, кроме работы с графикой.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 13.08.2016, 13:38 | ||
|
которое может и не наступить. если когда нибудь случится ситуация, когда мощностей шарпея уже не хватает, и понадобится тяжелая артиллерия на плюсах - то в тот момент, у вас уже не будет ни сомнений, ни подобных вопросов. а сейчас вам нужно просто с чего то начать. шарп - вполне годный и востребованный язык.
0
|
||
|
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
|
|
| 13.08.2016, 14:34 [ТС] | |
|
Всему можно научиться. Меня просто сейчас интересует, какая разница будет, если я буду писать на плюсах, на Шарпе и на Python.
0
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 13.08.2016, 14:45 | ||
|
0
|
||
|
370 / 133 / 44
Регистрация: 05.02.2015
Сообщений: 901
|
|
| 14.08.2016, 22:41 | |
|
unity можно подружить с редактором visual studio. описано, например, здесь:
http://unity3dforge.com/lessons/28 открою секрет, при желании с движком вообще из командной строки работать можно. вопрос, честно говоря, в другом: зачем вам заниматься деятельностью, результаты которой вы не сможете оценить? ) Добавлено через 9 минут а вот про командную строку, на русском не нашел, но прогеры англ. яз знать должны) http://docs.unity3d.com/Manual... ments.html
0
|
|
|
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
|
|
| 14.08.2016, 23:20 [ТС] | |
|
В Юнити создавалась уже игра с 3д звуком без графики blind surviver. потому юнити хорошая вещь. но разве можно подключить к студии и полностью писать игру без редактора?
0
|
|
|
370 / 133 / 44
Регистрация: 05.02.2015
Сообщений: 901
|
|
| 14.08.2016, 23:58 | |
|
можно использовать редактор visual studio, который хорошо озвучивается.
0
|
|
|
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
|
|
| 15.08.2016, 00:08 [ТС] | |
|
да это так, но ведь чтобы подключить юнити, нужно зайти в редактор юнити и выбрать сторонний редактор.
0
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 26.08.2016, 07:38 | ||||
|
Добавлено через 22 минуты
0
|
||||
| 26.08.2016, 07:38 | |
|
Помогаю со студенческими работами здесь
20
С# и разработка игр Разработка игр Разработка игр Разработка игр Разработка 2D игр на Delphi Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|