Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/27: Рейтинг темы: голосов - 27, средняя оценка - 4.85
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
1

Создание игры

08.11.2013, 23:43. Показов 5397. Ответов 59
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер. Начал работу над собственным проектом, и задался вопросом. (gamedev и прочие сайты перечитывал, но так ответа и не нашел. Может плохо искал?):
Движок. На OGL можно вывести окно и заставить бегать по нему квадрат, затем квадраты сцепить и т.д., в итоге мы получим 2d игру змейка ну или еще что (в зависимости от фантазии). Я не понимаю как организовать из этого движок, чтобы мы могли например добавлять те же самые препятствие на поле змейки и вообще создавать какие-либо декорации и прочее...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2013, 23:43
Ответы с готовыми решениями:

Создание игры
Привет всем! Я только начал изучать с++ и,конечно, у меня возникло желание создать игру (у многих,...

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

Создание игры на C++
Скажите , а можно ли создавать игры на С++? Если да , то буду рад увидеть примеры как это все...

sdl,c++ создание 2D игры
Доброго времени суток подскажите пожалуйста где у меня тут ошибка #include <SDL.h> #include...

59
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
09.11.2013, 00:03 2
А чем тебе змейка не "сам себе движок"¿? Для простых игр вроде змейки не требуется не**имоверного уровня абстракции и расширяемости, чтобы твой код назывался движком ¡
Либо ты неверно понимаешь, что такое движок, либо я!
0
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
09.11.2013, 00:11  [ТС] 3
Kuzia domovenok, я понимаю это как что-то вроде редактора. А змейку привел для примера.
0
6 / 5 / 5
Регистрация: 11.12.2012
Сообщений: 39
09.11.2013, 04:30 4
Вообще это будет называться не "движок", а редактор уровней Сделать его не очень то и трудно. Если вы под словом "движок" понимаете что-то подобное как CryEngine или тот же Unity то я вам рекомендую бросить эту идею.
0
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
09.11.2013, 08:08  [ТС] 5
JOKFEN, объясните тогда что такое игровой движок, если вам не трудно (ибо из википедии я не понял)
0
187 / 180 / 25
Регистрация: 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 иногда и сюда передается для эффектов блюра и прочего
}
}
0
2062 / 618 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
09.11.2013, 09:58 7
Движок - это просто набор кода, который не нужно переписывать.
Надеюсь это понятно.

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

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

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

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

Не по теме:

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

0
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,590
09.11.2013, 14:30 11
Лучший ответ Сообщение было отмечено как решение

Решение

Геймдев очень специфичная область. Разработка игр не то, чтобы что-то невероятно трудное, но требует высокой усидчивости, очень много кропотливого труда и отъедает много времени. В геймдеве надо, что называется, "руку набить" и "собаку съесть".

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

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

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

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

Добавлено через 3 минуты
lemegeton, само начало не понятно. Взять за пример тот же Unity, это что, это что-то типо редактора, так ведь?
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
09.11.2013, 17:30 13
Ryuk, не ищите готовых движков, делайте сами. Стоолько всего узнаете, если с ума не сойдете от глубокой отладки в поиске багов или не бросите на начальных (или на любых других) этапах. Но результат все же дает много положительных эмоций. Пусть будет криво, но будет Ваше собственное. Тут по сути важен полученный опыт все же.
2
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,590
09.11.2013, 17:39 14
Цитата Сообщение от Ryuk Посмотреть сообщение
Взять за пример тот же Unity, это что, это что-то типо редактора, так ведь?
Unity -- это довольно большой набор библиотек самого движка, плюс сильно интегрированная IDE.
0
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
09.11.2013, 18:15  [ТС] 15
BumerangSP, не понимаю логически, с чего начать и как это должно выглядеть. Как-нибудь своими словами если можно.
0
погромист
415 / 251 / 30
Регистрация: 27.08.2012
Сообщений: 550
09.11.2013, 20:40 16
Ryuk, качаешь отсюда http://libsdl.org/ СДЛ. Хочешь стать на грабли, как многие новички, начинай делать свой движок, который через неделю будет припадать пылью. Просто начни делать свою игру. Потом со времен все станет на свои места. Ты поймешь, что игры делать не так то и легко и как сказал ув. lemegeton, это очень тяжелая и кропотливая работа. А вообще лучше всего не будь наивным и иди учи С++. Больше пользы будет.
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
09.11.2013, 20:43 17
Цитата Сообщение от Ryuk Посмотреть сообщение
Jupiter, это разве не что-то типо среды?
Среда Qt Creator
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,495
Записей в блоге: 1
09.11.2013, 20:56 18
Croessmah, нет под иде он имел в виду не иде для программирования на с++, а то, что юнити включает в себя иде с редактором, позволяющим "мышкой делать игры"
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
09.11.2013, 21:21 19
Ryuk, ну, вообще, правильно будет начать с литературы: запастись кучей книжек по игровой тематике. Там многое из того, что понадобится, описано. Хотя, опять же, велосипедов никто не отменял. Плюс того, что придумываешь сам, еще и в том, что косвенно получаешь и другие знания, закрываешь пробелы в уже имеющихся.
Желательно уже на хорошем уровне знать яп, на котором писать, чтобы к проблемам проектирования игры не добавлялись проблемы незнания языка. Да и графических библиотек тоже, будь то opengl, directx, etc...
Что касается структуры (как там все должно выглядеть и т.д.), здесь лучше включить фантазию, если лень книжки читать. Через день не получится - через неделю точно выйдет Главное - терпение)
1
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
09.11.2013, 21:26  [ТС] 20
Цитата Сообщение от BumerangSP Посмотреть сообщение
кучей книжек по игровой тематике
Какие вы бы могли посоветовать?
0
09.11.2013, 21:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2013, 21:26
Помогаю со студенческими работами здесь

Создание игры и софта
Скажите пожалуйста какие книги можете порекомендовать на с++ я хочу написать игру в шахматы для...

Создание игры - Змейка.
Здравствуйте. Подскажите с помощью чего можно создать такую игру как Змейка. Не в консольном...

Создание игры на Visual C++
Здравствуйте, я вот подумал что в связи с тем, что я стал много времени тратить на игры, вместо...

Создание текстовой игры
Захотелось создать текстовую игру. Но в С++ почти ноль. Понимаю что больших знаний для такой игры...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru