ФлеймФорумРазработка игр

Паттерны проектирования в геймдеве

Страницы: 1 2 3 4 5 Следующая »
#0
13:18, 20 мая 2014

Вот есть классическая книжка Гаммы. Но многие паттерны там либо вобще не примеными к геймдеву. Либо применимы с поправками, либо применение достаточно не очевидно. Вобще от этой книжки немного попахивает GUI-фреймворком.

Вы знаете хорошее применение каких-либо паттернов в играх? Поделитесь.

Вот кстати некая книжка, но там совсем другие паттерны:

http://habrahabr.ru/post/221401/
http://habrahabr.ru/post/197920/

#1
13:23, 20 мая 2014

Взять например паттерн медиатор: http://cpp-reference.ru/patterns/behavioral-patterns/mediator/

Вроде бы одна из предпосылок к его использованию в геймдеве есть. Множество объектов GameObject которым нужно как-то взаимодействовать. Ну например класс CollisionDetector можно назвать медиатором вместе с обсервером. Впринципи можно сделать свой медиатор для каждого аспекта игры где нужно взаимодействие. Collision Detector инкапсулирует физическое взаимодействие. Но ведь есть еще и другие. Например QuestMediator, DialogMediator, TradeMediator. Хотя имеют ли они серьезное приемущество перед реализацией в лоб еще вопрос. Но к примеру физическое взаимодействие на столько сложно что никто явно не захочет размазывать его по иерархии классов мотивирую это что это уже ответственность самих объектов. Вероятно его использование имеет смысл только если это взаимодействие достаточно сложно.

#2
13:59, 20 мая 2014

А чем геймдев отличается в этом плане от разработки любого другого софта?

#3
14:10, 20 мая 2014

PANDA
Спецификой предметной области.

#4
14:29, 20 мая 2014

AvrDragon
Паттерны обитают на другом уровне. Специфика предметной области не имеет никакого значения.

#5
14:51, 20 мая 2014

PANDA
> А чем геймдев отличается в этом плане от разработки любого другого софта?
  Тем, что разработчики в геймдеве считают себя какими-то особенными, отличными от всех остальных с нетипичными задачами :)

#6
14:54, 20 мая 2014

PANDA
Паттерны всего лишь способы хорошо решать задачи. В геймдеве задач более чем достаточно. Важно именно применять паттерны к предметной области.

А то тебя послушать то вот это и вот это не нужно:
http://habrahabr.ru/post/221401/
http://habrahabr.ru/post/197920/

#7
15:00, 20 мая 2014

AvrDragon
> Важно именно применять паттерны к предметной области.
Это кто сказал? Ты сказал? Или Тьюринг?

Как раз попытки рассуждения о применении паттернов в вакууме показывают уровень программиста. На мой вгляд.

AvrDragon
> Вы знаете хорошее применение каких-либо паттернов в играх? Поделитесь.
Пул объектов лол.
Ну можешь Посетителя куда-нибудь пристроить. А для орков Адаптер используй.

#8
15:10, 20 мая 2014

desss
>Это кто сказал? Ты сказал? Или Тьюринг?
Я сказал. Дальше-то что?

>применении паттернов в вакууме
А я о чем. Речь как раз о конкретных удачных применениях паттернов в играх.

>А для орков Адаптер используй.
>показывают уровень программиста. На мой вгляд.
lal

#9
15:13, 20 мая 2014

AvrDragon
> Спецификой предметной области.
Ну так эта "специфика" и во многих других сферах точно такая же. Например моделирование оседания газа на подложку с образованием криссталических структур и визуализацией процесса.

#10
15:13, 20 мая 2014

PANDA
> А чем геймдев отличается в этом плане от разработки любого другого софта?
блин, я хотел это написать

AvrDragon
притягивание паттернов за уши тоже не очень хорошо

#11
15:14, 20 мая 2014

desss
Тоесть ты никогда не применял паттерны при разработке твоих игр?

#12
15:20, 20 мая 2014

mitroxa
Ну а я о чем. В геймдеве довольно специфическая предметная область и круг задач. Не все паттерны хорошо подойдут для него. Тем более может оказаться что то что хорошо работало для окошек плохо показало себя для проверки столконовений. Я собственно и прошу поделиться хорошим/плохим опытом по поводу применения паттернов в геймдеве.

#13
15:23, 20 мая 2014

  Я вообще не думал, что для проблем, которые решает Медиатор есть какой-то отдельный паттерн, я думал это просто здравый смысл - выделять объекты со сходными свойствами в иерархию и сводить их взаимодействие к взаимодействию базовых классов. Это любой делает не задумываясь на уровне рефлексов. Хотя, кажется у Гаммы даже наследование это уже паттерн (во всяком случае интерфейс и абстрактный класс уж точно), чему тут удивляться.

#14
15:25, 20 мая 2014

AvrDragon
http://gameprogrammingpatterns.com/

Страницы: 1 2 3 4 5 Следующая »
ФлеймФорумРазработка игр

Тема в архиве.