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

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

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

Студворк — интернет-сервис помощи студентам
Добрый вечер. Начал работу над собственным проектом, и задался вопросом. (gamedev и прочие сайты перечитывал, но так ответа и не нашел. Может плохо искал?):
Движок. На OGL можно вывести окно и заставить бегать по нему квадрат, затем квадраты сцепить и т.д., в итоге мы получим 2d игру змейка ну или еще что (в зависимости от фантазии). Я не понимаю как организовать из этого движок, чтобы мы могли например добавлять те же самые препятствие на поле змейки и вообще создавать какие-либо декорации и прочее...
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.11.2013, 23:43
Ответы с готовыми решениями:

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

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

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

59
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
09.11.2013, 21:35
Студворк — интернет-сервис помощи студентам
Ryuk, никакую. Все, что мне нужно было, я гуглил. А нужно мне было не так много, как описано в книгах.
Насчет книг я лишь сказал, что
Цитата Сообщение от BumerangSP Посмотреть сообщение
правильно будет
Я все же сторонник "разбирайся в том, что юзаешь".
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
09.11.2013, 21:56
Цитата Сообщение от Ryuk Посмотреть сообщение
Какие вы бы могли посоветовать?
По OpenGL - это:
OpenGL SuperBible, 6-е издание
OpenGL 4 Shading language cookbook
OpenGL Programming guide 8-е издание

По Direct X ничего не порекомендую, так как сейчас актуально писать кроссплатформенные игры с помощью OpenGL

Добавлено через 4 минуты
Цитата Сообщение от BumerangSP Посмотреть сообщение
Все, что мне нужно было, я гуглил
Возможно это было много лет назад, сегодня в интернете мало информации по современным графическим API, поэтому лучше искать либо в официальной документации, либо в книгах, что является меньшим из двух зол, а если еще учесть то, что к книгам прилагается масса примеров, то книги - безоговорочный фаворит.
1
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
09.11.2013, 22:03
programina, эм, про графические апи я ничего не хотел сказать, думая, что то, чем пользоваться, очевидно нужно знать) Мне просто показалось, что ТС хотел узнать про саму реализацию в общем (отношение между объектами (иерархия классов) при проектировании и объектами в игровом мире (например, обнаружение столкновений или же collision detection)).
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
09.11.2013, 22:17
Мне тоже нравится openGL, но кросплатформенность всегда стояла на последнем месте и никогда не была актуальна! Особенно сейчас, когда рулит винда и онлайн!
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
09.11.2013, 22:20
Kuzia domovenok, Steam OS? Знакомое словосочетание?
0
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
09.11.2013, 22:25  [ТС]
Цитата Сообщение от BumerangSP Посмотреть сообщение
отношение между объектами (иерархия классов) при проектировании и объектами в игровом мире
да, именно это
0
09.11.2013, 22:26

Не по теме:

Kuzia domovenok,

0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
09.11.2013, 22:28
Цитата Сообщение от Ryuk Посмотреть сообщение
да, именно это
Не с того начинаете. Вам прежде всего нужно вывести на экран изображение всех этих обьектов игрового мира.
0
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
09.11.2013, 22:30  [ТС]
programina, я в начале говорил, что если я вывел окно и объекты в нем, что дальше? что будет самим движком?
0
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
09.11.2013, 22:31
Ryuk, тогда, полагаю, я ответил на Ваш вопрос несколькими постами выше. Советую изобретать. Но без инструментов соответственно рановато изобретать. Научитесь сначала ими пользоваться.
1
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
09.11.2013, 22:40
Цитата Сообщение от Ryuk Посмотреть сообщение
я в начале говорил, что если я вывел окно и объекты в нем
Цитата Сообщение от Ryuk Посмотреть сообщение
На OGL можно вывести окно и заставить бегать по нему квадрат
Дальше тени, свет, блики, туман, свечение, размытость, зернистость и многое другое. Белые квадраты - хорошая попытка, но нет.
0
 Аватар для Nullik
46 / 15 / 4
Регистрация: 13.03.2013
Сообщений: 302
10.11.2013, 00:03
Пишем проект по курсовой, пишем свой движок для дощечных игр.

Не по теме:

Т.е., любая дощечная игра спокойно примкнёт к рядам других объектов.



Примерно выглядит так:
http://ru.wikipedia.org/wiki/Model-View-Controller

Движок... Ну, как я поняла - это куча классов. Точнее, куча объектов этих классов, у которых есть всеразличная (ООП) связь. А ещё, там есть кука абстрактных классов.

если пишешь универсальный дощечный движок - это правила игры, ход, поле.

Графический "модуль" -- просто перебирай поле и выводи содержимое. Т.е., основное это не то, как выведет, а то как построит и начнёт взаимодействовать.

Примерно есть класс "прототипа игр", "команд" -- мы пошли по пути наибольшего сопротивления, там ещё часть "командной строки".
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.11.2013, 01:56
Цитата Сообщение от Nullik Посмотреть сообщение
Движок... Ну, как я поняла - это куча классов. Точнее, куча объектов этих классов, у которых есть всеразличная (ООП) связь. А ещё, там есть кука абстрактных классов
Сильно сомневаюсь, что в Quake engine (первый трехмерный движок) использовался ООП
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
10.11.2013, 02:21
programina, первый 3д шутер - вольф3д. До него были еще некоторые игры вроде космических леталок. Тоже 3д!
А квейк, если верить книге Борескова "графика 3d игры на основе openGL" использовал ООП.
(Правда, это мог быть q2 или q3.)
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.11.2013, 02:32
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
первый 3д шутер - вольф3д. До него были еще некоторые игры вроде космических леталок. Тоже 3д!
Wolfstein 3d engine - псевдотрехмерный )
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
А квейк, если верить книге Борескова "графика 3d игры на основе openGL" использовал ООП.
(Правда, это мог быть q2 или q3.)
quake написан на си, там нет классов, ООП нет даже в quake3
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
10.11.2013, 03:51
Что, по-твоему, отличает 3д от псевдо 3д?
"камера крутится по трем осям, а не как в дуууме..."
А до дума и вольфа что, других игр не было? Еще раз: в космических и авиасимуляторах в 80е годы были и полигональные модели и крутящаяся камера!
Впрочем, квейк тоже ничуть не больший 3д, чем вольф - экран же плоский!
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
10.11.2013, 14:56

Не по теме:

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Что, по-твоему, отличает 3д от псевдо 3д?
Дело в том, что в 3D строится настоящая трехмерная модель, которая затем проецируется на плоскость экрана. То есть перемещая камеру можно посмотреть модель со всех сторон. В псевдо3D на плоскости рисуется изображение, которое создает видимость 3D. Камера может только скользить над этой плоскостью и приближаться-удаляться относительно нее.



Добавлено через 1 час 57 минут
Ryuk, вот классные уроки по основам OpenGL (перевод, есть небольшие ошибки)
http://ogltutor.netau.net/index.html
1
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
10.11.2013, 15:54
Цитата Сообщение от programina Посмотреть сообщение
Ryuk, вот классные уроки по основам OpenGL (перевод, есть небольшие ошибки)
http://ogltutor.netau.net/index.html
да, неплохие уроки. Радует, что не повторяют древние уроки с fixed function pipeline. Для меня как для новичка раньше было очень просто начинать рисовать что-то через GLbegin/GLEnd, однако, эта технология устарела, увы.

Добавлено через 17 минут
Цитата Сообщение от programina Посмотреть сообщение
Дело в том, что в 3D строится настоящая трехмерная модель, которая затем проецируется на плоскость экрана. То есть перемещая камеру можно посмотреть модель со всех сторон. В псевдо3D на плоскости рисуется изображение, которое создает видимость 3D. Камера может только скользить над этой плоскостью и приближаться-удаляться относительно нее.
Ещё раз повторю: и до дума были 3д игры!!!
Во-первых, были Spasim(1974)
3D Monster Maze (1981) (ты назовёшь это "псевдо3д", однако 3д есть 3д. Т.е способ проекции объектов в пространстве на плоскость экрана. И не важно, как там можно камерой крутить)
F-19 Stealth Fighter и подобные леталки (1988-1991) (тут ты не придерёшься и не скажешь "псевдо")
вульф 1992
дум 1993
0
 Аватар для JOKFEN
6 / 5 / 5
Регистрация: 11.12.2012
Сообщений: 39
10.11.2013, 18:09
Игровой движок - хитроумное приложение которое сочетает собой графику, физику, какой либо язык, набор инструментов для работы с 3d. Проще не куда!
0
Заблокирован
10.11.2013, 20:35
ТС, не слушай нубов. Начинай делать игру с нуля, не пытайся потратить кучу времени на изучение чужого движка тем самым теряя кучу времени и привязывая себя к нему. Пиши сам, нет ничего сложного. Можешь для старта сделать чисто тестилку - типа летают космические карабли в ограниченной коробке. Тебе нужен будет загрузчик моделей и простая программка )))
Если ты ещё не готов - читай Sherrod A., Jones W. - Beginning DirectX 11 Game Programming

А кто хочет начать и присоедениться - пишите, начнём реально проект какой - нибуть ....
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.11.2013, 20:35
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru