Форум программистов, компьютерный форум, киберфорум
Программирование игр
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/26: Рейтинг темы: голосов - 26, средняя оценка - 4.77
5 / 5 / 1
Регистрация: 15.08.2014
Сообщений: 76

Игры в основном делают на C++?

22.11.2015, 13:51. Показов 5791. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим основные компании по разработке игр, пишут свои игры почти только на C++ ?
А начинающие разработчики игр ?

Да и вообще почему игры обычно пишут на C++ ?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.11.2015, 13:51
Ответы с готовыми решениями:

Запуск игры на не основном мониторе
Есть ноутбук, к которому подключен большой монитор. Основным монитором сделан внешний. Нужно запускать игры на ноутбучном, встроенном...

Синий экран, в основном из-за игры wacraft 3
вобщем началось это у меня после сноса винды на acer aspire 5750g,была раньше заводская винда,потом были проблемы и я ее снес,и начались...

Подбор комплектующих на 30 000 рублей в основном под игры.
Добрый вечер. Хотелось бы узнать хорошую производительную систему в хорошем соотношении цены качества актуальную на январь 2011. ...

37
9954 / 2956 / 497
Регистрация: 05.10.2013
Сообщений: 8,081
Записей в блоге: 242
28.11.2015, 01:45
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Shamil1 Посмотреть сообщение
Так что вряд ли эта лавочка с С++ свернётся в ближайшее время.
Да, никогда она не свернётся, потому что это уникальный мультипарадигменный язык, который позволяет писать, как на высоком, так и на низком уровне.

Цитата Сообщение от Shamil1 Посмотреть сообщение
Один из самых популярных языков на сегодня - это Фортран.
Один из самых популярных фреймворков на сегодня - это Qt. Написан на C++ и для C++ программистов.
1
 Аватар для SanchO-SEK
61 / 23 / 7
Регистрация: 22.05.2012
Сообщений: 89
28.11.2015, 03:08
https://dev.by/lenta/main/top-... a-v-2015-m
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
30.11.2015, 16:17
Цитата Сообщение от Shamil1 Посмотреть сообщение
Что касается С++, то на Java, Python, C# и т.д. можно написать быстрее и лучше (скорость написания - в разы, стоимость поддержки кода - в разы).
У меня такое ощущение, будто Вы понятия не имеете о языке С++ совсем...
К тому же, любой адекватный программист(не кодер) понимает, что под каждую задачу может лучше свой другой язык. Не получилось выучить плюсы - не повод занижать значимость этого языка.
А теперь перейдём к аргументам. Каковы Ваши аргументы против плюсов? Только не "плюсы сложные, медленные, ололо" - это аргумент испуганного школьника. Конкретно. Стояла такая вот задача. Написал на плюсах - медленно. Написал на джаве - полетело!
Жду.
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
01.12.2015, 01:07
Цитата Сообщение от Тамика Посмотреть сообщение
К тому же, любой адекватный программист(не кодер) понимает, что под каждую задачу может лучше свой другой язык.
И для каких задач предназначен C++? Назовите задачу, для которой C++ подходит лучше, чем другие языки (или хотя бы не хуже)?

Цитата Сообщение от Тамика Посмотреть сообщение
Каковы Ваши аргументы против плюсов?
Плюсы сложные, медленные.
0
 Аватар для SanchO-SEK
61 / 23 / 7
Регистрация: 22.05.2012
Сообщений: 89
01.12.2015, 01:21
Цитата Сообщение от Shamil1 Посмотреть сообщение
И для каких задач предназначен C++? Назовите задачу, для которой C++ подходит лучше, чем другие языки (или хотя бы не хуже)?
Системное программирование (те же драйвера устройств), для чего вряд ли подойдет что-то кроме С и/или С++, со вставками Ассемблера! А панель управления драйвером устройства уже можно писать на тех же Java/C#....
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
01.12.2015, 09:24
Цитата Сообщение от Shamil1 Посмотреть сообщение
Плюсы сложные, медленные.
Цитата Сообщение от Тамика Посмотреть сообщение
Только не "плюсы сложные, медленные, ололо" - это аргумент испуганного школьника. Конкретно. Стояла такая вот задача. Написал на плюсах - медленно. Написал на джаве - полетело!
Я так и не услышала задачу, над которой Вы трудились и плюсы не подошли.
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
01.12.2015, 10:54
Цитата Сообщение от SanchO-SEK Посмотреть сообщение
Системное программирование (те же драйвера устройств)
То есть, по Вашему мнению для этой задачи С++ подходят лучше, чем С?
0
9954 / 2956 / 497
Регистрация: 05.10.2013
Сообщений: 8,081
Записей в блоге: 242
01.12.2015, 12:15
Цитата Сообщение от Shamil1 Посмотреть сообщение
И для каких задач предназначен C++? Назовите задачу, для которой C++ подходит лучше, чем другие языки (или хотя бы не хуже)?
Смотрите, тема называется "Игры в основном делают на C++ ?" Ответ - Да. Потому что есть бесплатный Unreal Engine 4 и CryEngine 4 (платный, но недорогой) у которых скриптинг на C++. Но на CryEngine чаще выбирают Lua. Это прямые конкуренты Unity (со скриптингом на C#)

Чуть подробнее:

Программирование игр и 3D приложений с использованием UE4. Здесь лучше использовать комбинирование визуального языка Blueprint и С++. Если использовать только Blueprint, то, по-моему, ничего хорошего не выйдет. Запутаешься в этим прямоугольниках и линиях.

По сути, есть только два передовых бесплатных движка для игр и 3D приложений: Unreal и Unity

Unity и C#. Я выбрал его. Мне C# понравился больше, так как там не нужны new и delete, нет висячих указателей. Зато есть делегаты, события, индекстаторы, атрибуты, намного удобнее работать с исключениями, есть out и ref. И что лично мне очень сильно понравилось, то что очень удобно работать с тестами в Visual Studio. Там через NuGet можно быстро поставить NUnit. А вот в Qt когда работал, там встроенный QTest очень убогий, приходилось подключать Google Test, но с ним так неудобно, я так и не понял как там Mock-объекты создавать.

Но всё же для создания и скриптинга игр на этих трёх доступных движках особой разницы нет: C++, Lua или C#.

Игры в основном делают на C++ ?
Мой окончательный ответ такой. Да, игры в основном делают на C++, но лучше и удобнее делать на C# и Unity.
1
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
01.12.2015, 12:23
Цитата Сообщение от Тамика Посмотреть сообщение
Я так и не услышала задачу, над которой Вы трудились и плюсы не подошли.
Вы ожидаете услышать от меня душещипательную историю, как я 2 года писал программу на С++, а потом плюнул и написал за 6 месяцев на C#? Но я не занимаюсь таким расходованием своего времени.

Квалификация программиста определяется качеством кода, который он пишет (сколько багов, насколько просто внести изменения, читаемость и так далее). Сложность плюсов выражается в том, что для достижения аналогичного уровня квалификации приходится тратить больше времени. И если для Вас это означает "испуганного школьника", то для руководителя проекта это означает, что плюсовику той же квалификации придётся платить больше. А медленность плюсов выражается в том, что плюсовику той же квалификации потребуется больше времени на реализацию той же задачи (имеются ввиду задачи, для которых оправдано использование ООП подхода).

Добавлено через 6 минут
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Смотрите, тема называется "Игры в основном делают на C++ ?"
Моя реплика была офф-топом. А её смысл заключался в том, что у С++ нет своей ниши.
0
9954 / 2956 / 497
Регистрация: 05.10.2013
Сообщений: 8,081
Записей в блоге: 242
01.12.2015, 13:00
Цитата Сообщение от Shamil1 Посмотреть сообщение
Моя реплика была офф-топом. А её смысл заключался в том, что у С++ нет своей ниши.
Okey

Добавлено через 21 минуту
Shamil1, у меня к вам такой вопрос. Есть такая очень популярная программа и единственная в своём роде Substance Painter. Реально аналогов её сейчас нет. Правда, она дорогая (инди-верия - около 10 тыс. рублей, а pro-версия около 40 тыс. руслей), но это неважно. Так вот. Она написана на Qt коммерческой версии и распространяется на несколько платформ. Если бы вы были руководителем проекта, то на каком фреймворке писали бы аналогичную кроссплатформенную программу?
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
01.12.2015, 14:58
Shamil1, а вообще правильно. Чем больше людей ненавидят плюсы, тем больше они глупеют и тем больше получают такие, как я. Так что поддерживаю Вас! плюсы отстой! Правильно! Долой быстрое ПО и много специалистов по плюсам!
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
01.12.2015, 15:28
8Observer8,
Я не знаком с этой программой и её возможностями.

Тамика,
Вы так и не обозначили класс задач, для которых С++ подходят лучше других языков программирования.

Цитата Сообщение от Тамика Посмотреть сообщение
Чем больше людей ненавидят плюсы
Убогих обычно жалеют, а не ненавидят.
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
01.12.2015, 15:41
Цитата Сообщение от Shamil1 Посмотреть сообщение
Вы так и не обозначили класс задач, для которых С++ подходят лучше других языков программирования.
Вы так и не описали ТЗ, для которых плюсы так страшно не подошли.

И как бы, я же сказала - считайте плюсы плохим языком, пожалуйста. Мне это только на руку, потому переубеждать и делать из Вас себе конкурента - не хочу. Зачем вопросы?
0
9954 / 2956 / 497
Регистрация: 05.10.2013
Сообщений: 8,081
Записей в блоге: 242
01.12.2015, 16:13
Цитата Сообщение от Shamil1 Посмотреть сообщение
Я не знаком с этой программой и её возможностями.
По-другому задам вопрос. Есть три программы: Blender, 3DsMax и Maya. Это редакторы для создания 3D моделей. Blender написан на С++, Maya - на Qt C++, 3DsMax на C#. Blender и Maya кроссплатформенные, а 3DsMax - нет. Вопрос: на каком фреймворке вы решите разработать аналогичный кроссплатформенный продукт?

Shamil1, вопрос из той же оперы. Допустим, вам нужно набрать команду и написать кроссплатформенный игровой движок (конкурента для Unreal, Unity и CryEngine). Какие языки вы будете использовать?
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
01.12.2015, 18:49
Цитата Сообщение от Тамика Посмотреть сообщение
Вы так и не описали ТЗ, для которых плюсы так страшно не подошли.
Вообще-то я описал этот класс задач: "задачи, для которых оправдано использование ООП подхода".
Если Вам так хочется увидеть какую-то конкретную задачу, то вот:
Code
1
2
Программа:
На главной странице кнопка с надписью "включи, наконец, мозг". При нажатии на неё запрашивается в БД и выводится на экран список шоколадных батончиков (натс, сникерс и т.п.) с описанием, ценой и другими свойствами.
Цитата Сообщение от Тамика Посмотреть сообщение
Мне это только на руку
Откуда Вы можете это знать? А вдруг я сейчас сижу и решаю, какие технологии (и яп) использовать для нового проекта?

Добавлено через 2 часа 8 минут
8Observer8,
Blender написан не на C++, а на трёх языках: C, C++, Python. Предположу, что все основные (критичные) функции написаны на С. ООП возможностей С++ почему-то не хватило, решили добавить Python.

Кроссплотформенность подобных программ не является заслугой языка C++. Она достигается за счёт того, что для каждой ОС написан отдельный кусок кода. Знаете, почему Qt написана на C++? Потому что её писали С++ программисты. Программист на C# пишет код, опираясь на базовые классы и стандартные фреймворки. Для решения отдельных задач исползует разные библиотеки. А С++ программистам нужна прослойка между С++ и их кодом. И эта прослойка должна заменять как можно большее число сторонних библиотек, так как, не смотря на формальную совместимость, обычно возникают проблемы в использовании в своих проектах С++ кода, написанного на С++, но другими людьми и в рамках других проектов. И эту проблему пытаются решить с помощью Qt. Фактически, Qt - это новый язык программирования. Код, написанный для Qt, проще перевести на C#, чем на "чистый" С++. Возьмите любой Qt "модуль". Мало что ли библиотек для решения данной узкой задачи? Много... но у всех есть один недостаток - "они написаны не мной" (с) - и поэтому их неудобно использовать.

p.s. Ответ на Ваш вопрос: Предположу, что я бы написал ядро на С, а интерфейс к нему - на C#. (Правда, когда начинали Блендер писать, С# ещё не было...)
0
9954 / 2956 / 497
Регистрация: 05.10.2013
Сообщений: 8,081
Записей в блоге: 242
01.12.2015, 20:35
Цитата Сообщение от Shamil1 Посмотреть сообщение
Предположу, что все основные (критичные) функции написаны на С. ООП возможностей С++ почему-то не хватило, решили добавить Python.
В Википедии справа написано на каких он языках. Там рядом с языками есть сноска на ссылку:

What Language is Blender written in?
Short Answer C/C++/Python.
- C - for Blender's [startup/main-loop/shutdown] and most internal functionality, tools, drawing, GUI and editors.
- C++ - physics, audio, game-engine and Cycles render engine.
- Python - The interface definitions, addons, most format import/export and some tools.

Про нехватку ООП там не написано. Python используется для скриптинга. На нём плагины написаны.

Blender использует физический движок Bullet написанный на C++ с открытыми исходниками. Конечно, можно было его на Си написать. Но C++ добавляет свои удобства в использовании библитеки. А вот как бы библиотека выглядела на Си+C#, даже не представляю. Может перепишут когда-нибудь.

Цитата Сообщение от Shamil1 Посмотреть сообщение
Ответ на Ваш вопрос: Предположу, что я бы написал ядро на С, а интерфейс к нему - на C#.
Я находил несколько игровых движков написанных на C#, но почему-то они не развились. А на чистом Си вообще не находил. Если, действительно, просто люди заблуждаются и не могут додуматься, что намного быстрее сделать на C#+Си, то в конце концов до них дойдёт. А пока те кто писал на Си будут находить много удобств при использовании полезностей C++.
1
 Аватар для SanchO-SEK
61 / 23 / 7
Регистрация: 22.05.2012
Сообщений: 89
04.12.2015, 06:23
То есть, по Вашему мнению для этой задачи С++ подходят лучше, чем С?
А в чем разница между С и С++? ООП!? Полиморфизм и остальные приятные мелочи? Не знаю как сейчас, но по началу компиляторы С++ переводили С++-код на С, а потом компилировались компилятором С. Так что разница только в удобстве и, следовательно, С++-программы можно написать на С, пусть это было бы дольше и "геморней"...
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
04.12.2015, 09:59
Цитата Сообщение от SanchO-SEK Посмотреть сообщение
А в чем разница между С и С++?
Разница между языками прежде всего в том, как программист выражает свои мысли. Решение одной и той же задачи на C, C++ и Haskell будет выглядеть по-разному.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.12.2015, 09:59

Синий экран, в основном, когда на компе запускаются онлайн-игры
Здравствуйте. очень нужна помощь, сама я не разберусь. после установки 7ки начал появляться синий экран, хотя я думаю это совпадение. Мне...

Синий экран смерти в основном появляется после сворачивания игры на рабочий стол
В последнее время стал беспокоить BSOD, примерно раз в неделю стабильно вылетает синий экран смерти. В основном появляется после...

Непонятное шипениг из колонок/наушников, когда нагружаю видеокарту, в основном, когда играю в игры
Всем доброго времени суток,комрады! Проблема в непонятном шипении из колонок/наушников, когда нагружаю видеокарту,в основном,когда играю в...

Сборка ПК "для себя" - игры, игры, игры! Киев, бюджет 8300 грн с монитором.
Всем доброго времени суток. 1. Бюджет примерно 8300 грн (с монитором) 2. Украина, г. Киев, намерен покупать на http://rozetka.com.ua/...

Ошибка проводника в основном
ошибки с проводником


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Новые блоги и статьи
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ начало и оглавление - Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
Текстовый слайдер с нумерацией страниц и кроссбраузерность.
russiannick 18.07.2026
Один мой друг написал текстовый слайдер с нумерацией страниц. Сегодня я расскажу как он умудрился подружить его с кроссбраузерностью. Очевидно сложно угодить с шириной каждому браузеру. Один крадет. . .
Грибы - это мемы, дерево - это человек. Применение микоризной модели к теории меметики Докинза.
anaschu 18.07.2026
Меметический изоморфизм теории «всего»: Грибная сукцессия как модель эволюции идей Докинза Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а универсальную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru