forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Переход между уровнем и боевой сценой? (http://forum.boolean.name/showthread.php?t=12202)

battou 16.03.2010 22:38

Переход между уровнем и боевой сценой?
 
Возникла проблема.( У меня в игре бои происходят отдельно от основного игрового уровня, как в FF8, по уровню бегают, разговаривают, предметы исспользуют и тп, а когда начинается бой всё переносится на боевую арену. Так вот, возник вопрос о том как лучше сделать переход от уровня к арене. Я пока думаю о том что бы сделать их совершенно отдельными, тоесь когда срабатывает условие начала боя - создаётся временный сйв с позициями игрока и камеры, и уровень заканчивается и очищается командой ClearWorld возвращая в основную программу команду начала боевой сцены и записывает в ini файл боевой сцены данные о самой модели уровня, монстах и тп, и загружается арена как новый уровень. А по окончанию боя снова запускается уровень с которого уходили, как бы заново, только грузит положение игрока и камеры и тп из временного сейва. Так нормально? Или как-то проще можно такие переходы организовать? Буду оооооооочень благодарен за советы, любые, так как проблема стоит ребром.

За одно хотелось бы услышать советы по вообще организации сейвов в игре, у кого какой опыт с этим и что можите посоветовать?)

Amatsu 16.03.2010 23:00

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

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

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

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

battou 16.03.2010 23:03

Re: Переход между уровнем и боевой сценой?
 
Эммм... а как "Прятать" Уровень??

Amatsu 16.03.2010 23:08

Ответ: Re: Переход между уровнем и боевой сценой?
 
Цитата:

Сообщение от battou (Сообщение 142083)
Эммм... а как "Прятать" Уровень??

HideEntity

H@NON 16.03.2010 23:13

Ответ: Переход между уровнем и боевой сценой?
 
создай пивот WorldPivot, к которому припаренть все предметы мира и сам уровень, затем просто хайдишь пивот HideEntity. Либо может показывать арену за пределами самого уровня, чтобы он не рендерился, тогда не будет проблем с паррентом.

battou 16.03.2010 23:13

Re: Переход между уровнем и боевой сценой?
 
Весь уровень вот так прохайдить? Эх... надо весь уровень в типы загонять.....

Amatsu 16.03.2010 23:16

Ответ: Re: Переход между уровнем и боевой сценой?
 
Цитата:

Сообщение от battou (Сообщение 142086)
Весь уровень вот так прохайдить? Эх... надо весь уровень в типы загонять.....

Так как ты делаешь аналог старых финалок, уровень у тебя статичный. Тебе не надо загонять его в тип. Все интерактивные объекты у тебя все равно будут отдельными моделями, вот их в типы и загоняй.

battou 16.03.2010 23:22

Re: Переход между уровнем и боевой сценой?
 
Ну да, наверно.) Буду делать.) Спасибо большое за советы.) Только тему не закрывайте, может у кого-то ещё идеи будут или советы.)

Amatsu 16.03.2010 23:38

Ответ: Переход между уровнем и боевой сценой?
 
Насколько я понимаю, проект на ранней стадии развития и просить скриншоты бессмысленно?

battou 16.03.2010 23:45

Re: Переход между уровнем и боевой сценой?
 
Ну да, пока вот довожу до ума движок боевой системы, унифицирую его, вот через недельку всё доделаю, доведу до ума графу и сделаю пару скринов.) Пока собственно есть только первая маленькая локация с триггерами на описание объектов (дом, клумба скамейка и тп), персонаж, и вот наработка боёвки с одной моделью врага.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot