Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.11.2011, 14:04
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 41  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
Все команды вываливать сразу на сервер слишком тяжко для сервера.
Обычно есть эмулятор сервера на клиенте, который дулирует часть серверной логики.

Не понимаю почему проблема именно с квест менеджером? Остальные данные приложения вы же как-то получаете обрабатываете и храните.
Данные квестов ничем не отличаются от других игровых данных.
Есть конфиг, в котором прописаны параметры квестов. Конфиг общий для сервера и клиента.
Юзер что-то делает на клиенте. Если условие квеста выполнено, то даем награду. Сервер пишет в БД,
что квест такой-то пройден.
Только писать сохраняшки в отдельные ХМЛ файлы это еще круче чем дырочки в туториале =)
Если не нравятся реляционные СУБД, попробуйте, например, MongoDB.

Сознаюсь, дырочки в туториале я однажды тоже делал.
Такие же отговорки, что надо быстро и просто.
Но мне это очень не понравилось и больше я так не делаю.
Считаю, что если пришлось делать дырочки, то есть явные проблемы с архитектурой.
Напрмер, у визуальных эментов должны наличествовать enable() и disable() методы, которые не только на 100% заменят дырочки,
но много где и как могут быть использованы.


Последний раз редактировалось terbooter; 07.11.2011 в 14:09.
Старый 07.11.2011, 14:13
markII вне форума Посмотреть профиль Отправить личное сообщение для markII Найти все сообщения от markII
  № 42  
Ответить с цитированием
markII

Регистрация: Nov 2009
Сообщений: 56
Цитата:
Не понимаю почему проблема именно с квест менеджером? Остальные данные приложения вы же как-то получаете обрабатываете и храните.
Данные квестов ничем не отличаются от других игровых данных.
Дело в том что мне нужно сделать квест менеджер расширенный и большой.Большой - это значит в нем должно быть примерно 200 квестов, а расширенный это значит квесты в нем примерно 15 типов и примерно половина из них комбинированная.Т.е. в одном квесте может быть например 3 разнотипных квеста.Поэтому мне нужно палить изменение состояния модели на разные события
Я решил сделать квест менеджер двумя способами(Благо запас почти месяц)
Первый, который я начал сейчас реализовывать состоит в следующем.
Все квесты прописнны в xml файле.Например так:
Код:
<quests>
 <quest id = "1" type = "bulding" award = 20>
  <results>
     <result  buldID = "17"/>
     <result  buldID = "18"/>
  </results>
 </quest>
<quest id = "2" type = "bulding" award = 25>
  <results>
     <result  buldID = "25"/>
  </results>
 </quest>
</quests>
Это примерный код xml файла , в котором будут прописаны квесты.Обращаю внимание что xml просто пока для примера он не рабочий и не продуман до конца(что то типа прототипа).В первом квесте нужно построить здание с айдишником 17 и 18 во втором квесте здание с айдишником 25.
После того как с сервера мне пришел айди текущего квеста, я в квест менеджере через здоровенный свитч либо через вектор беру инстанс квеста по его типу (в данном случае это type = "bulding").
В этом квесте есть слушатели на модель или еще на что то где храняться состояние аппликации.Я 2 слушателя на изменение модели построек.После того как модель пополнилась двумя айдишниками, то я диспачу событие QuestCompleteEvent(COMPLETE,award:Number).Контроллер слушает это событие и отправляет его значение на сервер, после этого приходит другой айдишник квеста.И так далее

Второй способ схожий с первым.Исключение лишь составлет то что все квесты будут храниться в БД и отсылаться будут в виде JSON или OBJECT.А дальше принцип такой же.


Последний раз редактировалось markII; 07.11.2011 в 14:58.
Создать новую тему Ответ Часовой пояс GMT +4, время: 17:15.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.