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

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

22.11.2015, 13:51. Показов 5915. Ответов 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
9988 / 2960 / 497
Регистрация: 05.10.2013
Сообщений: 8,128
Записей в блоге: 243
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
Модератор
Эксперт функциональных языков программирования
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,912
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
Модератор
Эксперт функциональных языков программирования
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,912
01.12.2015, 10:54
Цитата Сообщение от SanchO-SEK Посмотреть сообщение
Системное программирование (те же драйвера устройств)
То есть, по Вашему мнению для этой задачи С++ подходят лучше, чем С?
0
9988 / 2960 / 497
Регистрация: 05.10.2013
Сообщений: 8,128
Записей в блоге: 243
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
Модератор
Эксперт функциональных языков программирования
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,912
01.12.2015, 12:23
Цитата Сообщение от Тамика Посмотреть сообщение
Я так и не услышала задачу, над которой Вы трудились и плюсы не подошли.
Вы ожидаете услышать от меня душещипательную историю, как я 2 года писал программу на С++, а потом плюнул и написал за 6 месяцев на C#? Но я не занимаюсь таким расходованием своего времени.

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

Добавлено через 6 минут
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Смотрите, тема называется "Игры в основном делают на C++ ?"
Моя реплика была офф-топом. А её смысл заключался в том, что у С++ нет своей ниши.
0
9988 / 2960 / 497
Регистрация: 05.10.2013
Сообщений: 8,128
Записей в блоге: 243
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
Модератор
Эксперт функциональных языков программирования
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,912
01.12.2015, 15:28
8Observer8,
Я не знаком с этой программой и её возможностями.

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

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

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

Shamil1, вопрос из той же оперы. Допустим, вам нужно набрать команду и написать кроссплатформенный игровой движок (конкурента для Unreal, Unity и CryEngine). Какие языки вы будете использовать?
0
Модератор
Эксперт функциональных языков программирования
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,912
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
9988 / 2960 / 497
Регистрация: 05.10.2013
Сообщений: 8,128
Записей в блоге: 243
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
Модератор
Эксперт функциональных языков программирования
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,912
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
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru