Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Алгоритмика

Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения

Ответ
 
Опции темы
Старый 22.02.2010, 16:49   #1
dector
Модератор
 
Регистрация: 21.12.2006
Сообщений: 564
Написано 79 полезных сообщений
(для 203 пользователей)
Сообщение Технологии игровых движков

Для разработки игр используют движки - для оптимизации и удобства использования рутинных операций.

Какие концепции реализации движков Вам по душе больше, чем другие?

Приведу пример.
Одна из концепций говорит, что игровой движок исполняет 3 функции:
- Предоставление мира игроку
- Считывание ввода
- Обновление мира - и заново к начальному пункту.

Интерисует рассмотрение движков на таком высоко абстрагированном уровне.
Огромная просьба не вдаваться в дебри машинной реализации.
(Offline)
 
Ответить с цитированием
Старый 22.02.2010, 17:05   #2
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Технологии игровых движков

По мне так движок (3Д) должен:
1. Рендерить сцену
2. Играть звук/музыку
3. Читать ввод.
4. Быть дружелюбным к взаимодействию с движками другого функционала (напр. физики)

Остальное делает программист игры. ИМХО.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 22.02.2010, 17:15   #3
dector
Модератор
 
Регистрация: 21.12.2006
Сообщений: 564
Написано 79 полезных сообщений
(для 203 пользователей)
Ответ: Технологии игровых движков

Но есть движки, у которых рисование и апдейт врознь - в различных методах.
А есть, например, что все в одном цикле. И нужно прописывать вручную рисвание и апдейт.
Какому отдашь предпочтение?
(Offline)
 
Ответить с цитированием
Старый 22.02.2010, 17:21   #4
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Технологии игровых движков

если уж пихать звук, то заодно и физику
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 22.02.2010, 17:34   #5
Taugeshtu
scientist.alien
 
Аватар для Taugeshtu
 
Регистрация: 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
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Ответ: Технологии игровых движков

Ой...сколько людей, столько и мнений
Как по мне, движок — это очень абстрактное понятие. Каких их только не бывает: графический, звуковой, сетевой, физический, игровой.
Сферу деятельности каждого устанавливает программист, который, как обычно, не зная меры, награждает всего и сразу.
Лазая по категориям абстракции можно конечно сделать логические выводы типа: графический движок — это то, что рисует, предварительно создав окно.
Но вот только так ли это на деле?

Вот для меня например, игровой движок — это то, что организует взаимодействие объектов, выстраивая их в иерархию, фильтруя их и так далее. Игровой движок - это так же связующее звено между всеми компонентами игры. В таком случае графический движок должен быть просто приемником данных, которые нужно показать. В случае с ОГРом же, видно что он берет на себя функционал по части менеджмента сцены, ресурсов, плагинов, работы с памятью и так далее, т.е. его понесло в игровые степи.

Хотя наличие этого функционала понятно: определение видимых объектов, облегчение управления объектами и так далее. Без них движок был бы уже менее эффективным, а программисту, бедолаге, пришлось бы все это реализовывать самому. И ведь не факт, что он бы оптимально использовал возможности ОГРа.

Мне кажется, что пытаться выявить четкие грани где заканчивается одно, а начинается другое - дело не благодарное. Лучше не движки писать, а игры. И со временем начинаешь видеть что ты используешь многократно, вот это и можно выносить в отдельные библиотеки.

Сама же игра, опять-таки, понятие растяжимое. В каждом конкретном случае структура будет разная, но есть блоки, которые присутствуют всегда: это, как уже было сказано ранее, обновление мира, сбор пользовательского ввода, отрисовка видимых объектов, ИИ, звук, физика, сеть, что там еще?

В общем пытаться все идеально обрисовать "из далека" — как по мне, очень сложно. Лучше все таки действовать методом проб - эффективнее будет
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо johnk за это полезное сообщение:
Arton (22.05.2010), Dream (27.02.2010), HolyDel (24.05.2010), indri (13.04.2010), Randomize (23.02.2010)
Старый 22.05.2010, 16:07   #7
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Технологии игровых движков

Для меня графический движок - функция, которая выводит на экран изображение того, что творится в игре. Больше ничего не добавляю, лучше по кусочкам:
чтение ввода с клавиатуры, сенсора и т.п. и обработка нажатий
шаг программы (передвижение юнитов, действия AI и прочее)
вывод изображения на экран
и снова)
(Offline)
 
Ответить с цитированием
Старый 22.05.2010, 18:36   #8
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Технологии игровых движков

некропостить так некропостить !!
Сообщение от dector Посмотреть сообщение
Но есть движки, у которых рисование и апдейт врознь - в различных методах.
А есть, например, что все в одном цикле. И нужно прописывать вручную рисвание и апдейт.
Какому отдашь предпочтение?
Я лично отдаю предпочтение тем движкам у которых это разбито на 2 фукционала !! А собственно ядро двига разбито на манагеры !! ИнпутМанагер, СценеМнагер, ПартиклМанагер ГУИМанагер и т.д. !! У каждого свой апдейт и рендер, а возможно что то одно !! Например в ИнпутМанагера (менеджера ввода) рендера никакого естественно нет !!
Я считаю это очень удобно, вот !!
(Offline)
 
Ответить с цитированием
Старый 22.05.2010, 21:43   #9
jimon
 
Сообщений: n/a
Ответ: Технологии игровых движков

СценеМнагер, ПартиклМанагер ГУИМанагер
MVC иногда плачет при виде этих слов
 
Ответить с цитированием
Старый 22.05.2010, 22:47   #10
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: Технологии игровых движков

ужас какой-то в теме, брррр

…давайте посмотрим правде в глаза - Вы начинаете делать универсальные игровые движки, когда у Вас закончились идеи для создания игр.
Richard Fine, Enginuity, Part I
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо ffinder за это полезное сообщение:
Dream (24.05.2010), Mr_F_ (23.05.2010)
Старый 22.05.2010, 23:09   #11
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: Технологии игровых движков

Сообщение от jimon Посмотреть сообщение
MVC иногда плачет при виде этих слов
Непоняв, чего ??
(Offline)
 
Ответить с цитированием
Старый 23.05.2010, 01:35   #12
jimon
 
Сообщений: n/a
Ответ: Технологии игровых движков

Непоняв, чего ??
та так, как говорится highly professional scums
 
Ответить с цитированием
Старый 24.05.2010, 08:01   #13
FDsagizi
Бывалый
 
Аватар для FDsagizi
 
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений
(для 509 пользователей)
Ответ: Технологии игровых движков

Игр движек, та хрень - которая удовлетворят ваши потребности при разработке игры
__________________
Жизнь как говориться игра- делать игры моя профессия(с)

Программирование, это религия! Её нужно исповедовать.
(Offline)
 
Ответить с цитированием
Старый 24.05.2010, 08:35   #14
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: Технологии игровых движков

Сообщение от jimon Посмотреть сообщение
MVC иногда плачет при виде этих слов
Просвети чтоб MVC повеселело.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
Артем Валерьевич (24.05.2010), IGR (24.05.2010)
Старый 24.05.2010, 13:08   #15
jimon
 
Сообщений: n/a
Ответ: Технологии игровых движков

MVC это Model–view–controller, софтварная архитектура (http://en.wikipedia.org/wiki/Model–view–controller)

при обилии разных интересных модулей народ начинает путаться что есть что в этой архитектуре, и получается что в одном уровне абстракции это модель, в другом контролёр и тд, иногда вообще "объект - золотые руки" который делает всё что надо и не надо

к примеру сцена является отображением модели игрового мира, хотя для рендера сцена сама является моделью, а рендер это отображение сцены и тд
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо за это полезное сообщение:
Артем Валерьевич (24.05.2010), Arton (24.05.2010), Igor (25.05.2010), IGR (24.05.2010)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 04:26.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com