Понедельник, 11 Ноября 2024, 03:17

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Что нужно знать для написания собственного игрового движка?
DooniilДата: Четверг, 26 Марта 2015, 13:20 | Сообщение # 1
частый гость
Сейчас нет на сайте
Вопрос таков: что лучше использовать и с чего начинать писать свой игровой движок? DirectX 9 выдает нормальную картинку? Прошу ответить на вопросы.
WTALKERДата: Четверг, 26 Марта 2015, 13:37 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Об этом думали в начале 2000-х.
Сейчас делают свои конструкторы игр.
DooniilДата: Четверг, 26 Марта 2015, 13:50 | Сообщение # 3
частый гость
Сейчас нет на сайте
Ну смотри, свой движок удобен тем, что ты его знаешь досконально.Да и опыта много наберешься в процессе создания. С чего начинать то? На чем писать? Знаю C++ на среднем уровне, дальше изучаю.
AlexRabbitДата: Четверг, 26 Марта 2015, 13:51 | Сообщение # 4
старожил
Сейчас нет на сайте
Игровой движек для какой игры?

Нам требуются партнеры для продвижения и поддержки нашего ПО
DooniilДата: Четверг, 26 Марта 2015, 14:12 | Сообщение # 5
частый гость
Сейчас нет на сайте
в большей части для TPS, помоему как-то так(Third Person Shooter), тоесть игры от третьего лица, с более менее большим миром
OpenGOOДата: Четверг, 26 Марта 2015, 14:20 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
Так бери движок с открытим кодом и изучи его досконально, а когда изучишь его, то тогда и вопрос сам собой отпадёт.

Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]
DooniilДата: Четверг, 26 Марта 2015, 14:26 | Сообщение # 7
частый гость
Сейчас нет на сайте
можешь порекомендовать какие-нибудь?
vanvanichДата: Четверг, 26 Марта 2015, 15:36 | Сообщение # 8
почетный гость
Сейчас нет на сайте
Цитата
можешь порекомендовать какие-нибудь?

Unreal Engine 4 . Открытые исходники + Бесплатный + Один из самых мощных на рынке .
NoterstoneДата: Четверг, 26 Марта 2015, 15:40 | Сообщение # 9
участник
Сейчас нет на сайте
Dooniil,
Цитата
DirectX 9 выдает нормальную картинку?

А ты в сталкер, крайзис не играл? Картинка от тебя зависит, в большей части, от того, что реализуешь сам и что уже реализовано.
SaiteiДата: Четверг, 26 Марта 2015, 16:06 | Сообщение # 10
старожил
Сейчас нет на сайте
Любой язык программирования (без экзотических, разумеется. Хотя бывает всякое) + GAPI (DirectX\OpenGL\etc + прямые руки = супер движок, ага)
Ну и, конечно же, нужен талант архитектора ПО. Лично у меня (да-да, я тоже пилю движок) часто возникают проблемы со внутренним устройством движка и некоторыми названиями... Начинаешь думать и понимаешь, что кое-где что-то нелогично. Рефакторишь, рефакоришь... И в итоге ничего нового не делаешь..

Добавлено (26 марта 2015, 16:06)
---------------------------------------------
P.S. Я юзаю OpenGL 3.3 (думаю переходить на 4.0) и С++11.
Так же не стесняюсь юзать готовые библиотеки по типу GLEW, GLFW, SOIL, GLM, etc.

DooniilДата: Четверг, 26 Марта 2015, 16:19 | Сообщение # 11
частый гость
Сейчас нет на сайте
Цитата vanvanich ()
Unreal Engine 4 . Открытые исходники + Бесплатный + Один из самых мощных на рынке .

мой комп слабый, можно смотреть исходники, не открывая саму программу(или я что-то не догоняю).
Моя видеокарта первобытных времен, не поддерживает DirectX 11 и OpenGL 3,4.
Цитата Saitei ()
P.S. Я юзаю OpenGL 3.3 (думаю переходить на 4.0) и С++11.
Так же не стесняюсь юзать готовые библиотеки по типу GLEW, GLFW, SOIL, GLM, etc.

Ты пишешь свой API для скриптинга внутри движка?
С чего вообще начать? Я просто не имею понимания, как организовывается весь движок, какая у него структура. Как ты это понял?
ЭргалонДата: Четверг, 26 Марта 2015, 17:07 | Сообщение # 12
Вездесущий
Сейчас нет на сайте
Dooniil, Не поймешь структуру пока не начнешь. У всех она может быть организована по разному. Делай пока так, чтобы что-то получилось, со временем будешь упрощать код и менять структуру. Чтобы это объяснить, потребуется очень много времени.

Кубариум
Rise of the dark lords
DooniilДата: Четверг, 26 Марта 2015, 17:31 | Сообщение # 13
частый гость
Сейчас нет на сайте
Ну у меня такое представление, что на каждую функцию делать свой файл с кодом, а потом подключать его к main файлу, а в нем делать проверки, нужно ли выполнять эту функцию или не надо. Но вот как сами эти функции писать, в какой структуре? Вообще, с чего начинать. На чем писать Gui движка. Вот вопросы, которые меня волнуют.
ЭргалонДата: Четверг, 26 Марта 2015, 17:36 | Сообщение # 14
Вездесущий
Сейчас нет на сайте
Dooniil, То что ты называешь "файлом" зовется классом и в нем может быть несколько функций. Как писать? Сначала определись с языком на котором будешь программировать и читай манулы. Примеров написании функции до едрени фени. Но чтобы начать писать с 0, надо просто понять простейшие термины, вроде переменных, их типов, массивы, функции, методы и т.п.

Кубариум
Rise of the dark lords
DooniilДата: Четверг, 26 Марта 2015, 17:49 | Сообщение # 15
частый гость
Сейчас нет на сайте
я учил C++, знаю на среднем уровне, надо почитать про ООП и классы. Но помоему, я смотрел некоторые мастер классы(или что-то типо того), так там функции писали в разных .cpp файлах, а потом подключали к одному с помощью #include и использовали функции, переменные из того файла, которого подключили
ЭргалонДата: Четверг, 26 Марта 2015, 18:02 | Сообщение # 16
Вездесущий
Сейчас нет на сайте
Dooniil, Чувак, если бы ты знал с++ на среднем уровне, то не задавал бы глупых вопросов. Если ты называешь файл с одной функцией и мастер-классы, о которых я лично слышу впервые, то тут явно проблема в твоем знании ООП и программировании в целом.
Цитата
надо почитать про ООП и классы

С этого и начни пожалуй, чтобы отбросить тонну левых вопросов.


Кубариум
Rise of the dark lords
DooniilДата: Четверг, 26 Марта 2015, 18:05 | Сообщение # 17
частый гость
Сейчас нет на сайте
ок, спасибо, пошел читать))
Цитата Эргалон ()
Чувак, если бы ты знал с++ на среднем уровне, то не задавал бы глупых вопросов. Если ты называешь файл с одной функцией и мастер-классы, о которых я лично слышу впервые, то тут явно проблема в твоем знании ООП и программировании в целом.

Могу оправдать себя тем, что уже как 3 года особо не сталкивался с программированием.
HPlusDieseДата: Четверг, 26 Марта 2015, 18:08 | Сообщение # 18
участник
Сейчас нет на сайте
Dooniil, Есть книги по архитектуре движков. Куча статей и презентаций. Гугли "game engine architecture".
На русском на эту тему ничего нет вроде.
Цитата Dooniil ()
DirectX 9 выдает нормальную картинку?

Нормальную. Но лучше забудь про него.
Жди Vulkan и DX12. DX9 почти умер, DX10 тормознутый и устаревшый, DX11 тоже скоро кончится. DX12 придёт надолго, как и девятый в своё время.
Цитата Dooniil ()
я учил C++, знаю на среднем уровне, надо почитать про ООП и классы. Но помоему, я смотрел некоторые мастер классы(или что-то типо того), так там функции писали в разных .cpp файлах, а потом подключали к одному с помощью #include и использовали функции, переменные из того файла, которого подключили

Поучи ещё. Особенно управление памятью. Изучи паттерны. Научись писать свои аллокаторы, напиши свой GC. Вкури многопоточность.
Через годик задайся снова вопросом о движке. Если хватит знаний и будет лет 5-6 свободного времени для написания, то дерзай.


Сообщение отредактировал HPlusDiese - Четверг, 26 Марта 2015, 18:09
CaptainHuntДата: Четверг, 26 Марта 2015, 18:15 | Сообщение # 19
был не раз
Сейчас нет на сайте
Цитата
что лучше использовать

Это зависит от твоих требований к движку. Нет универсального движка, который подходит для всего. Нужно внимательно изучить варианты (смотри в моих пояснениях к вопросам) и выбрать то, что тебе нужно. Например у физических движков есть у каждого свои минусы и плюсы - ODE делает акцент на скорости в ущерб точности, а Newton делает акцент на точности.

Цитата
с чего начинать писать свой игровой движок?

С понимания архитектуры игрового движка. Прежде чем начать писать, нужно хорошо понять из чего состоит игровой движок.
Ответь себе на следующие вопросы:
1) Движок для 2D или 3D игр? (2D сделать намного проще)
2) Если 3D - есть ли у меня хорошее понимание 3d графики? (без этого невозможно работать с АПИ DirectX и OpenGL)
3) для каких ОС ? (если только для Windows, то можно использовать для графики и DirectX и OpenGL. Если для др. платформ - DirectX не поддерживается.
4) знаю ли я что-нибудь о звуковых библиотеках? Знаю ли чем они отличаются? (кроссплатформенность, поддерживаемые форматы, документация, примеры, проработанная/сырая, набор фич и т.д.)
5) знаю ли я что-нибудь о физических библиотеках? Чем отличаются друг от друга PhysX, ODE, Newton, Bullet и др.
6) насколько я силён в математике (тупо копировать чьи-то алгоритмы не даст результат) - косинусы, синусы, векторы, радианы и др. понятия?
7) есть ли у меня понятие об оптимизации?
8) есть ли у меня понимание того, что такое ООП?
Вообще, движок только для меня или для других? (если для других, нужно будет учитывать их требования, пожелания, капризы, в общем будет дополнительная работа).
9) что обязательно должно быть в движке? что желательно?
10) ... ? ... ? много других вопросов.
В общем, и по времени и по объёму и глубине знания и понимания и по терпению и настрою идти до конца написание игрового движка сравнимо с постройкой частного дома (может быть только деньги не нужны, как при строительстве дома).

Начать, может быть сможешь, а закончить..., готов ли ты терпеливо искать проблемы. Например столкнёшься с тем, что при вращении объекта он будет оказваться не в том положении (ориентации), которая должна быть. Будешь пробовать и так и сяк и бросишь (или будешь часами искать решение в сети, пока не наткнёшься на т.н. 'gimbal lock'). Или при попытке загружать на сцену 3d модели, увидишь, что какие-то грузятся, а какие-то нет. И опять искать, гуглить и не только.

Цитата
DirectX 9 выдает нормальную картинку?

Нормальную. Только капризный он. По сравнению с Directx 11 нет некоторых суперсовременных эффектов.


WorldSim3D: сделай 3D игру на С++/FreeBasic/D для PC Windows/Linux. Программируй в удовольствие, а не "в тягость"! Make your project with pleasure, not with strain! Ознакомиться
DooniilДата: Четверг, 26 Марта 2015, 18:35 | Сообщение # 20
частый гость
Сейчас нет на сайте
ок, спасибо, пошел читать))
Цитата Эргалон ()
Чувак, если бы ты знал с++ на среднем уровне, то не задавал бы глупых вопросов. Если ты называешь файл с одной функцией и мастер-классы, о которых я лично слышу впервые, то тут явно проблема в твоем знании ООП и программировании в целом.

Могу оправдать себя тем, что уже как 3 года особо не сталкивался с программированием.

Добавлено (26 марта 2015, 18:35)
---------------------------------------------
хм..Всем спасибо.Понял, что одному нормальных движок не сделаешь.

  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг