|
Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения |
22.02.2010, 16:49
|
#1
|
Модератор
Регистрация: 21.12.2006
Сообщений: 564
Написано 79 полезных сообщений (для 203 пользователей)
|
Технологии игровых движков
Для разработки игр используют движки - для оптимизации и удобства использования рутинных операций.
Какие концепции реализации движков Вам по душе больше, чем другие?
Приведу пример.
Одна из концепций говорит, что игровой движок исполняет 3 функции:
- Предоставление мира игроку
- Считывание ввода
- Обновление мира - и заново к начальному пункту.
Интерисует рассмотрение движков на таком высоко абстрагированном уровне.
Огромная просьба не вдаваться в дебри машинной реализации.
|
(Offline)
|
|
22.02.2010, 17:05
|
#2
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Технологии игровых движков
По мне так движок (3Д) должен:
1. Рендерить сцену
2. Играть звук/музыку
3. Читать ввод.
4. Быть дружелюбным к взаимодействию с движками другого функционала (напр. физики)
Остальное делает программист игры. ИМХО.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
22.02.2010, 17:15
|
#3
|
Модератор
Регистрация: 21.12.2006
Сообщений: 564
Написано 79 полезных сообщений (для 203 пользователей)
|
Ответ: Технологии игровых движков
Но есть движки, у которых рисование и апдейт врознь - в различных методах.
А есть, например, что все в одном цикле. И нужно прописывать вручную рисвание и апдейт.
Какому отдашь предпочтение?
|
(Offline)
|
|
22.02.2010, 17:21
|
#4
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Технологии игровых движков
если уж пихать звук, то заодно и физику
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
22.02.2010, 17:34
|
#5
|
scientist.alien
Регистрация: 12.02.2007
Сообщений: 2,098
Написано 1,030 полезных сообщений (для 2,593 пользователей)
|
Ответ: Технологии игровых движков
Всегда был сторонником такого подхода:
-логика
-рендер
-обработка рендера
При этом в логике, как правило, сперва идёт считывание ввода, затем обработка ввода, затем (на основании изменённых вводом данных) - обработка не зависящих напрямую от ввода параметров (ИИ например)
Но всегда у меня получается своего рода "мостик" между вводом и воздействием на игру... И как правило этот "мостик" можно перекидывать между разными объектами, т.е. объектом действий игрока могут быть разные игровые объекты - камера, робот #1, робот #2, джип и т.п.
__________________
Public service announcement: вы можете заблокировать отображение сообщений определённого пользователя, добавив его ник в список игнорируемых.
Tau lab. We LOVE you. We MADE you.
|
(Offline)
|
|
22.02.2010, 19:32
|
#6
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Ответ: Технологии игровых движков
Ой...сколько людей, столько и мнений
Как по мне, движок — это очень абстрактное понятие. Каких их только не бывает: графический, звуковой, сетевой, физический, игровой.
Сферу деятельности каждого устанавливает программист, который, как обычно, не зная меры, награждает всего и сразу.
Лазая по категориям абстракции можно конечно сделать логические выводы типа: графический движок — это то, что рисует, предварительно создав окно.
Но вот только так ли это на деле?
Вот для меня например, игровой движок — это то, что организует взаимодействие объектов, выстраивая их в иерархию, фильтруя их и так далее. Игровой движок - это так же связующее звено между всеми компонентами игры. В таком случае графический движок должен быть просто приемником данных, которые нужно показать. В случае с ОГРом же, видно что он берет на себя функционал по части менеджмента сцены, ресурсов, плагинов, работы с памятью и так далее, т.е. его понесло в игровые степи.
Хотя наличие этого функционала понятно: определение видимых объектов, облегчение управления объектами и так далее. Без них движок был бы уже менее эффективным, а программисту, бедолаге, пришлось бы все это реализовывать самому. И ведь не факт, что он бы оптимально использовал возможности ОГРа.
Мне кажется, что пытаться выявить четкие грани где заканчивается одно, а начинается другое - дело не благодарное. Лучше не движки писать, а игры. И со временем начинаешь видеть что ты используешь многократно, вот это и можно выносить в отдельные библиотеки.
Сама же игра, опять-таки, понятие растяжимое. В каждом конкретном случае структура будет разная, но есть блоки, которые присутствуют всегда: это, как уже было сказано ранее, обновление мира, сбор пользовательского ввода, отрисовка видимых объектов, ИИ, звук, физика, сеть, что там еще?
В общем пытаться все идеально обрисовать "из далека" — как по мне, очень сложно. Лучше все таки действовать методом проб - эффективнее будет
|
(Offline)
|
|
Эти 5 пользователя(ей) сказали Спасибо johnk за это полезное сообщение:
|
|
22.05.2010, 16:07
|
#7
|
Мастер
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений (для 790 пользователей)
|
Ответ: Технологии игровых движков
Для меня графический движок - функция, которая выводит на экран изображение того, что творится в игре. Больше ничего не добавляю, лучше по кусочкам:
чтение ввода с клавиатуры, сенсора и т.п. и обработка нажатий
шаг программы (передвижение юнитов, действия AI и прочее)
вывод изображения на экран
и снова)
|
(Offline)
|
|
22.05.2010, 18:36
|
#8
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: Технологии игровых движков
некропостить так некропостить !!
Сообщение от dector
Но есть движки, у которых рисование и апдейт врознь - в различных методах.
А есть, например, что все в одном цикле. И нужно прописывать вручную рисвание и апдейт.
Какому отдашь предпочтение?
|
Я лично отдаю предпочтение тем движкам у которых это разбито на 2 фукционала !! А собственно ядро двига разбито на манагеры !! ИнпутМанагер, СценеМнагер, ПартиклМанагер ГУИМанагер и т.д. !! У каждого свой апдейт и рендер, а возможно что то одно !! Например в ИнпутМанагера (менеджера ввода) рендера никакого естественно нет !!
Я считаю это очень удобно, вот !!
|
(Offline)
|
|
22.05.2010, 21:43
|
#9
|
|
Ответ: Технологии игровых движков
СценеМнагер, ПартиклМанагер ГУИМанагер
|
MVC иногда плачет при виде этих слов
|
|
|
22.05.2010, 22:47
|
#10
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: Технологии игровых движков
ужас какой-то в теме, брррр
…давайте посмотрим правде в глаза - Вы начинаете делать универсальные игровые движки, когда у Вас закончились идеи для создания игр.
Richard Fine, Enginuity, Part I
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо ffinder за это полезное сообщение:
|
|
22.05.2010, 23:09
|
#11
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: Технологии игровых движков
Сообщение от jimon
MVC иногда плачет при виде этих слов
|
Непоняв, чего ??
|
(Offline)
|
|
23.05.2010, 01:35
|
#12
|
|
Ответ: Технологии игровых движков
та так, как говорится highly professional scums
|
|
|
24.05.2010, 08:01
|
#13
|
Бывалый
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений (для 509 пользователей)
|
Ответ: Технологии игровых движков
Игр движек, та хрень - которая удовлетворят ваши потребности при разработке игры
__________________
Жизнь как говориться игра- делать игры моя профессия(с)
Программирование, это религия! Её нужно исповедовать.
|
(Offline)
|
|
24.05.2010, 08:35
|
#14
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений (для 6,854 пользователей)
|
Ответ: Технологии игровых движков
Сообщение от jimon
MVC иногда плачет при виде этих слов
|
Просвети чтоб MVC повеселело.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
|
|
24.05.2010, 13:08
|
#15
|
|
Ответ: Технологии игровых движков
MVC это Model–view–controller, софтварная архитектура ( http://en.wikipedia.org/wiki/Model–view–controller)
при обилии разных интересных модулей народ начинает путаться что есть что в этой архитектуре, и получается что в одном уровне абстракции это модель, в другом контролёр и тд, иногда вообще "объект - золотые руки" который делает всё что надо и не надо
к примеру сцена является отображением модели игрового мира, хотя для рендера сцена сама является моделью, а рендер это отображение сцены и тд
|
|
|
Эти 4 пользователя(ей) сказали Спасибо за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:49.
|