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

Идеальный менеджер окон

#0
10:19, 21 сен. 2018

Как по вашему должен работать идеальный менеджер окон? Я уже перепробовал кучу всяких вариантов, но у каждого есть какой-нибудь фатальный недостаток.

Возможно вы думаете, что под каждый жанр нужен свой вариант, тогда обработаем такие жанры как стратегия, рпг и казуалка-головоломка.

#1
11:03, 21 сен. 2018

awesome

#2
15:40, 21 сен. 2018

ИзображениеТЕМА #34Изображение

#3
17:39, 21 сен. 2018

помоему важнее всего в игре это кнопки, а окна просто носят в себе кнопки

#4
17:52, 21 сен. 2018

PlusMinus
> Я уже перепробовал кучу всяких вариантов, но у каждого есть какой-нибудь
> фатальный недостаток.
Окна не нужны. Как и кнопки. Погрузи игрока в пучину отчаяния сразу, кинь его в мир и пусть разбирается.

#5
22:09, 21 сен. 2018

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

#6
3:21, 22 сен. 2018

Посмотри на Black & White и Trespasser.

#7
(Правка: 7:45) 7:43, 22 сен. 2018

PlusMinus
Наилучший командный интерфейс для РТС можно найти в KKND: самый минималистичный и удобный по-моему.
Занимает очень мало места на экране, позволяет скрывать по желанию миникарту и даже счетчик ресурсов.
Позволяет управлять производством в нескольких однотипных производственных зданиях по типу C&C,
но при этом не занимает столько места на экране.

KKND | Идеальный менеджер окон KKND2 | Идеальный менеджер окон

Вся правая панель кнопок вообще может быть свернута до одной единственной для достижения максимального обзора.

#8
18:57, 22 сен. 2018

да не интерфейс, а схема работы самого менеджера вызова всех этих окошек xD

пишу я на юнити, стратегию. сейчас думаю надо один неубиваемый объект делать uiroot, ещё один для всякого некликабельного всплывающего говна. менеджер знает про эти объекты, сам он синглтон. есть несколько видов "окон", которые можно открывать, но все они реализуют необходимый интерфейс. При запуске сцена убивает всё, что ей не нужно и создаёт то, что нужно, путём вызова .AddWindow(windowPrefab). (далее можно сделать вызов через генерик метод, подумаю.)

окна сами по себе могут иметь "детей". т.е. при закрытии родительского окна или вытаскивании его на первый план, вместе с ним то же делают и все дети.

#9
6:47, 23 сен. 2018

PlusMinus

да не интерфейс, а схема работы самого менеджера вызова всех этих окошек xD
пишу я на юнити, стратегию.

Увы, тут я помочь не могу, так как ни Unity ни C# не использую.
Сам пишу стратегию без сторонних движков на С++.)

Что если, вместо окон, просто рисовать их содержимое на какой-нибудь скрытой поверхности (типа битмапа),
а потом просто каждый кадр копировать эту поверхность на экран после рендеренга сцены?

#10
8:21, 23 сен. 2018

PlusMinus
> пишу я на юнити, стратегию. сейчас думаю надо один неубиваемый объект делать
> uiroot, ещё один для всякого некликабельного всплывающего говна.
купить готовый ассет ?

#11
8:53, 23 сен. 2018

ну если уж окна с кнопками это проблема, то что говорить о прочей игровой логике

#12
(Правка: 14:49) 14:48, 23 сен. 2018

endeavour_pr
> купить готовый ассет ?
опять же фатальный недостаток)

Ciaphas
> Что если, вместо окон, просто рисовать их содержимое на какой-нибудь скрытой
> поверхности (типа битмапа),
> а потом просто каждый кадр копировать эту поверхность на экран после рендеренга
> сцены?
можно, конечно, но в смысла не имеет, т.к. есть более простые инструменты для отрисовки. да и вопрос в другом: я пытаюсь сделать систему управления окнами интерфейса, такую, что бы было просто, удобно, и подходила ко всем моим проектам ^^,

ИПавлов
> ну если уж окна с кнопками это проблема, то что говорить о прочей игровой логике
ну идеальная архитектура приложения - это, конечно, тоже, тот ещё вопрос, но на данный момент уже найден тот вариант, который меня наиболее удовлетворяет. называю его сотня менеджеров. на каждый чих создаётся свой менеджер и получается очень даже удобно, понятно и довольно быстро :)
другое дело, что на данный момент я разрабатываю только игры, которые проходят в одной сцене, и не уверен, что такая архитектура будет так же удобна в "тяжёлых" играх. но если что всегда можно нафигачить на зенжекте ^^,

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