Форум программистов, компьютерный форум CyberForum.ru

Создание игры - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 5.00
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
08.11.2013, 23:43     Создание игры #1
Добрый вечер. Начал работу над собственным проектом, и задался вопросом. (gamedev и прочие сайты перечитывал, но так ответа и не нашел. Может плохо искал?):
Движок. На OGL можно вывести окно и заставить бегать по нему квадрат, затем квадраты сцепить и т.д., в итоге мы получим 2d игру змейка ну или еще что (в зависимости от фантазии). Я не понимаю как организовать из этого движок, чтобы мы могли например добавлять те же самые препятствие на поле змейки и вообще создавать какие-либо декорации и прочее...
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2013, 23:43     Создание игры
Посмотрите здесь:

Создание игры и софта C++
C++ Задача на создание карточной игры.
C++ Создание игры! Программисты ХЕЛП!!!
Создание игры - Змейка. C++
C++ Создание игры на Visual C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
09.11.2013, 00:03     Создание игры #2
А чем тебе змейка не "сам себе движок"¿? Для простых игр вроде змейки не требуется не**имоверного уровня абстракции и расширяемости, чтобы твой код назывался движком ¡
Либо ты неверно понимаешь, что такое движок, либо я!
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
09.11.2013, 00:11  [ТС]     Создание игры #3
Kuzia domovenok, я понимаю это как что-то вроде редактора. А змейку привел для примера.
JOKFEN
 Аватар для JOKFEN
6 / 5 / 1
Регистрация: 11.12.2012
Сообщений: 39
09.11.2013, 04:30     Создание игры #4
Вообще это будет называться не "движок", а редактор уровней Сделать его не очень то и трудно. Если вы под словом "движок" понимаете что-то подобное как CryEngine или тот же Unity то я вам рекомендую бросить эту идею.
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
09.11.2013, 08:08  [ТС]     Создание игры #5
JOKFEN, объясните тогда что такое игровой движок, если вам не трудно (ибо из википедии я не понял)
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
09.11.2013, 09:42     Создание игры #6
Ryuk, мм, я раньше и сам задавался этим вопросом, но так и не нашел ответа, пока сам не попробовал писать. Попробую объяснить, но не ручаюсь за правильность.
Движок - это некоторый обособленый (или почти обособленный) модуль программы, который выполняет свой заданный набор действий.
Допустим, физический движок будет просчитывать физику после столкновений - импульсы, скорости, положения, но он (обычно) ничерта не знает о том, а какого же цвета небо в игре.
В свою очередь графический движок оперирует только массивом вершин, цветами и прочим подобным, но понятия не имеет, что будет, если столкнутся два шара. Он их просто нарисует и всё.

Благодоря такому обособлению становится легко и просто писать главный цикл игры. Он имеет вид, примерно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
while(true)
{
timePrevious = timeCurrent;
timeCurrent = GetTime();
timeElapsed+ = timeCurrent - timePrevious;
if (timeElapsed > 1000 / FPS)
{
timeELapsed = 0;
game.update(timeElapsed); //обновляем физику. timeElapsed нужно для "физики-континуума"
game.draw(timeElapsed); //отрисовываем это дело. timeElapsed иногда и сюда передается для эффектов блюра и прочего
}
}
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
09.11.2013, 09:58     Создание игры #7
Движок - это просто набор кода, который не нужно переписывать.
Надеюсь это понятно.

Добавлено через 6 минут
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Либо ты неверно понимаешь, что такое движок,
либо я!
Движок может быть маленьким, например если он расчитан на змейки и тетрисы.
newbie666
Заблокирован
09.11.2013, 10:21     Создание игры #8
Цитата Сообщение от Ryuk Посмотреть сообщение
Начал работу над собственным проектом,
Я два раза уже начинал ветку на этом форуме и на геймдеве по поводу крутого 3д шутера, но вс закончилось банальной нехваткой времени. Т.к. начинал со словами "давайте сделаем", а кроме меня нихрена никто ничего не делал - только троли на флудили и всё. Хоешь начать делать игру - давай - камон! )) Векту, я помогу по мере возможностей. Но:
1. Я не любитель игр типа змейки )))))
2. Выбирая 3d движок - я думаю, что на данный момент лучший вариант - DirectX, это и есть движок - всё остальное - бутафория и ускоспециализированная [censored] Если хочешь что - то делать - кроме Windows SDK и DirectX тебе ничего больше не надо.
3. В добавок, думаю, что лучше всё же начать проект на Qt, не знаешь как связать ужа с ежём? Спроси меня как ))))))))

Добавлено через 1 минуту
programina присоединяйся )))))

Добавлено через 1 минуту
просто на данные момент, со временем галяк - и лучшим вариантом будет: "сам пиши - а я помогу", где Я - это Я )))
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
09.11.2013, 14:11  [ТС]     Создание игры #9
newbie666, почему Qt а не OGL, и в чем преимущества?

Добавлено через 6 минут
newbie666, протупил, не то написал) Почему именно Qt, а не VS или еще что?
Jupiter
09.11.2013, 14:21
  #10

Не по теме:

Цитата Сообщение от Ryuk Посмотреть сообщение
протупил, не то написал) Почему именно Qt, а не VS или еще что?
ещё раз протупил

lemegeton
 Аватар для lemegeton
2908 / 1337 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
09.11.2013, 14:30     Создание игры #11
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Геймдев очень специфичная область. Разработка игр не то, чтобы что-то невероятно трудное, но требует высокой усидчивости, очень много кропотливого труда и отъедает много времени. В геймдеве надо, что называется, "руку набить" и "собаку съесть".

Цитата Сообщение от newbie666 Посмотреть сообщение
Выбирая 3d движок - я думаю, что на данный момент лучший вариант - DirectX, это и есть движок - всё остальное - бутафория и ускоспециализированная ... Если хочешь что - то делать - кроме Windows SDK и DirectX тебе ничего больше не надо.
DirectX это не "движок", это набор API для обращения к устройствам хитрым способом, практически на прямую.
Кроме SDK и DirectX потребуется еще дофига всего. Особенно в 3d. Как минимум, библиотеки расчета векторов, алгоритмы поиска пути, расчет коллизий ("физики"), работа с картами, текстурами, загрузка моделей и мешей из файлов, и т.д и т.п. Это все обычно предоставляет "движок", который может годами делаться командой узкоспециализированных специалистов. Без этой "бутафории" вы будете пару лет писать велосипеды, подпирая их костылями.

Взгляните, например, на панду.

Цитата Сообщение от newbie666 Посмотреть сообщение
programina присоединяйся )))))
Цитата Сообщение от newbie666 Посмотреть сообщение
просто на данные момент, со временем галяк - и лучшим вариантом будет: "сам пиши - а я помогу", где Я - это Я )))
Пока у вас не будет хотя бы небольшого работающего кода, у вас нет никакого проекта и не к чему присоединяться. Как показывает практика, максимум, чего с таким подходом добиваются это пустой проект на гитхабе с полутора комитами.

Хотите писать игру -- садитесь и пишите. Покажите, что вы на что-то способны. Выберите движок, нарисуйте десяток моделек, заставьте их хотя бы шевелиться не очень убого. Покажите, что вы способны довести дело до хотя бы голимого, но конца. А "джва года хотеть эту игру" ни к чему не приведет.
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
09.11.2013, 15:01  [ТС]     Создание игры #12
Jupiter, это разве не что-то типо среды?

Добавлено через 3 минуты
lemegeton, само начало не понятно. Взять за пример тот же Unity, это что, это что-то типо редактора, так ведь?
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
09.11.2013, 17:30     Создание игры #13
Ryuk, не ищите готовых движков, делайте сами. Стоолько всего узнаете, если с ума не сойдете от глубокой отладки в поиске багов или не бросите на начальных (или на любых других) этапах. Но результат все же дает много положительных эмоций. Пусть будет криво, но будет Ваше собственное. Тут по сути важен полученный опыт все же.
lemegeton
 Аватар для lemegeton
2908 / 1337 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
09.11.2013, 17:39     Создание игры #14
Цитата Сообщение от Ryuk Посмотреть сообщение
Взять за пример тот же Unity, это что, это что-то типо редактора, так ведь?
Unity -- это довольно большой набор библиотек самого движка, плюс сильно интегрированная IDE.
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
09.11.2013, 18:15  [ТС]     Создание игры #15
BumerangSP, не понимаю логически, с чего начать и как это должно выглядеть. Как-нибудь своими словами если можно.
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
09.11.2013, 20:40     Создание игры #16
Ryuk, качаешь отсюда http://libsdl.org/ СДЛ. Хочешь стать на грабли, как многие новички, начинай делать свой движок, который через неделю будет припадать пылью. Просто начни делать свою игру. Потом со времен все станет на свои места. Ты поймешь, что игры делать не так то и легко и как сказал ув. lemegeton, это очень тяжелая и кропотливая работа. А вообще лучше всего не будь наивным и иди учи С++. Больше пользы будет.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,831
Записей в блоге: 2
Завершенные тесты: 1
09.11.2013, 20:43     Создание игры #17
Цитата Сообщение от Ryuk Посмотреть сообщение
Jupiter, это разве не что-то типо среды?
Среда Qt Creator
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
09.11.2013, 20:56     Создание игры #18
Croessmah, нет под иде он имел в виду не иде для программирования на с++, а то, что юнити включает в себя иде с редактором, позволяющим "мышкой делать игры"
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
09.11.2013, 21:21     Создание игры #19
Ryuk, ну, вообще, правильно будет начать с литературы: запастись кучей книжек по игровой тематике. Там многое из того, что понадобится, описано. Хотя, опять же, велосипедов никто не отменял. Плюс того, что придумываешь сам, еще и в том, что косвенно получаешь и другие знания, закрываешь пробелы в уже имеющихся.
Желательно уже на хорошем уровне знать яп, на котором писать, чтобы к проблемам проектирования игры не добавлялись проблемы незнания языка. Да и графических библиотек тоже, будь то opengl, directx, etc...
Что касается структуры (как там все должно выглядеть и т.д.), здесь лучше включить фантазию, если лень книжки читать. Через день не получится - через неделю точно выйдет Главное - терпение)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2013, 21:26     Создание игры
Еще ссылки по теме:

Создание 3D игры на UDK используя C++ C++
sdl,c++ создание 2D игры C++
C++ Создание игры

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

Или воспользуйтесь поиском по форуму:
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
09.11.2013, 21:26  [ТС]     Создание игры #20
Цитата Сообщение от BumerangSP Посмотреть сообщение
кучей книжек по игровой тематике
Какие вы бы могли посоветовать?
Yandex
Объявления
09.11.2013, 21:26     Создание игры
Ответ Создать тему
Опции темы

Текущее время: 10:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru