Я хочу программировать игры (в частности, игровые движки) с помощью C++. Основа есть. Осталось определится, что делать дальше. Какую литературу читать?

Ответить
Ответить
Комментировать
0
Подписаться
0
5 ответов
Поделиться

Плюнь на С++, бери Unity и воплощай идеи.

Иначе, пока будешь разбираться с написанием движка, тебе всё это так осточертеет, что уже не до игры будет.

С готовым движком быстрее. Ведь движок писала команда программистов несколько лет...

4
0
Прокомментировать

Этот ответ написан и доступен на

Этот ответ написан и доступен на Яндекс Кью

у Борескова отличные книги по OpenGL как и его сайт (steps3d.narod.ru) со множеством примеров, в качестве дополнительных библ, советую Assimp (для 3D), для звука BASS LIB, ну а для графики, лично я использую SOIL (просто и понятно, поддержка всех основных форматов (jpg, png,tga ...) + скриншоты и сохранение на диск, правда только в TGA).

1
0

Чем bass lib лучше openal soft, SDL2, portaudio или нативных?

0
Ответить

@PeterKabin ., В коде DSP - это чтение бита звука, ну например, чтобы что то дергалось под музыку, звук будет разбит на 28 частей и в 0,1,2,3,4 - это басы, и так далее, голос обычно 18-22, ну а высокие частоты это 23-27. Очень удобно. Вообще BASS отличная штука. Из всех перепробованных выбрал эту. FMOD тоже хорошо, но читает бит все таки хуже. OpenAL не понравился загрузкой ЦП.

+1
Ответить
Ещё 2 комментария

@Александр Кириенко, жалко, что эта библиотека закрытая. Легко ли её будет воссоздать? Для игр нужно считать распространение звука трассировкой лучей или симуляцией вибраций. В библиотеке я не нашёл для этого функций и их придётся делать самостоятельно.

0
Ответить

@PeterKabin ., Ну это же не сложно, рассчитывать распространение звука (канал, громкость, затухание) по углу PointOfView от персонажа игры (то есть треугольник, где A- Положение персонажа, B - точка куда персонаж смотрит, C - источник звука), рассчитываем углы этого треугольника и все прекрасно . Это совсем просто сделать (имитировать) , если, конечно, вам не для науч расчетов. В BASS есть channel переменная (double) : -1 (левый), 1 (правый) то есть диапазон от -1 до 1. Где 0 - оба канала, ну а рассчитать громкость (даже через DotProduct или CrossProduct) совсем легко. Кроме того, channel от -1 до 1, можно нормализовать от 0 до 1 и , таким образом, рассчитывать звуковое давление на среду. То есть, пошаманить с тригонометрией, конечно, придется, но ничего критичного там нет. Более того, завернув все в свой класс например cSound вы сможете сами настроить весь базовый функционал библиотеки BASS как вам надо, используя тот же DSP для определения частот звука. Хотя, должен сказать, что BASS это в первую очередь библиотека для игр и плейеров (AIMP, WinAMP и тп)

0
Ответить
Прокомментировать

Этот ответ написан и доступен на

Этот ответ написан и доступен на Яндекс Кью

Плюнь на Unity, используй C++ в Godot это игравой движок ЯП C++,C#,GDScript поддерживает все платформы Windows,Mac, GNU/Linux, Android, ios, web. А вобще лучше переходи на Ubuntu с Windows10,WindowsXP,Windows7,Windows8 это я написал чтобы пройти фильтр, по символам "используй C++ в Godot".

2
-1

Я считаю данный ответ сомнительным.

0
Ответить

Я считаю данный ответ сомнительным.

0
Ответить

Я считаю данный ответ сомнительным.

0
Ответить
Ещё 1 комментарий

Я считаю данный ответ сомнительным.

0
Ответить
Прокомментировать

Этот ответ написан и доступен на

Этот ответ написан и доступен на Яндекс Кью

Читай Lua Game Development Cookbook - там описан простой для понимания движок на связке Lua и С++. Кроме того небесполезно поковырять исходники таких движков, как Love2d, Pipmak, Instead.

0
0
Прокомментировать

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

Поэтому все программисты либо работают "на дядю", либо пытаются декомпилировать популярные приложения, добраться до их движка, и, внедрив туда свои ресурсы, выдавать их за собственные разработки.

0
-1

На данный момент, поскольку я учусь, наверное стоит рассматривать не только одно направление. Например ещё меня привлекает программирование непосредственно геймплейной части, может Вы можете сказать что-то про эту область?

0
Ответить

@kiryanavo.steam, Это называется как я понял с вашего вопроса - Программирование Игровой Физики.

0
Ответить
Прокомментировать
Ответить
Читайте также на Яндекс.Кью
Читайте также на Яндекс.Кью