Pet

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск

Pet (питомец) - встроенный объект редактора, который реализует виртуального питомца по типу тамагочи[1].

Описание

  • Основное

Объект скорее является менеджером, который управляет неким объектом(подразумевается машина-состояния), который называется "скин" (скин - графическое оформление компьютерной программы или объекта компьютерной игры). У питомца есть четыре жизненных индикатора: сытость, бодрость , комфорт и радость. Все они уменьшают свои значения во времени и для их поддержания от пользователя требуются некие действия. Данный объект подразумевает , что питомец является неким неопределенным существом, но обладающий параметрами характеризующие его(далее Основные параметры): травоядность земная, травоядность водная, рыбность, мясистость, молочность, насекомость, зернистость, магия огня, магия света, магия воды, магия земли. Эти параметры меняются в зависимости от корма, которым кормят питомца(то есть каждый корм обладает тем же рядом параметров).

  • Перерождение

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

  • Коллекция животных

В объекте предусмотрены механизмы отображения коллекции животных в таблице с возможностью разбивки по группам, а также вывод подробной информации по животному. Каждое животное обладает возможностью генерации бонусов в виде золота. Бонусы зависят от возраста животного, например в возрасте от 1 до 7 дней генерируется 5 монет , от 7 до 14 - 10 и т.д. Так же есть возможность продавать животных , если их больше одного.

  • Корм

Важная особенность в том, что еда должна быть задан не только в объекте питомца, но и в экономике. Кормление происходит путем применения предмета экономикой.


Основные параметры

Кроме базовых параметров объекта, имеет ряд специализированных параметров.

Параметры объекта Pet
Параметры объекта Pet

(Курсивом в скобках указан id параметра, или состояния).

  • eitems (eitems_res) - Объект типа eitems. Используется для "подслушивания" за примененными предметами, если это будет корм,указанный в питомце, то он его съест.
  • economics (economics) - Объект типа economics. Для начисления глобального XP , а также золота за бонусы.
  • PetTemplate (pettemplate) - Объект типа PetTemplate. Объект представляющий шаблон ячейки таблицы с животными. (будет описан ниже)
  • PetCollectionTemplate (petcollectiontemplate) - Объект типа PetCollectionTemplate. Объект представляющий шаблон ячейки таблицы с коллекциями. (будет описан ниже)

Группа - параметры перерождения животного

  • XP до перерождения (xp_to_reborn) - Количество xp, достигнув которого питомец начнет перерождаться в животное.
  • тип пересчета XP (counting_xp_rule) - Тип пересчета XP. Правило определяющее сколько нужно будет XP до следующего перерождения. 1) Постоянное. 2) параметр выше * кол-во имеющихся уже зверей.
  • Количество животных для поиска (search_animal_count) - Количество животных, среди которых будет искаться ближайшее для перерождения.

Группа - скин питомца

  • скин питомца (skin_obj) - Объект представляющий скин питомца.

Группа - начальные значения

  • сытость (beg_satiety) - Показатель сытости при первом заходе в игру.
  • бодрость (beg_liveliness)- Показатель бодрости при первом заходе в игру.
  • комфорт (beg_comfort) - Показатель комфорта при первом заходе в игру.
  • радость (beg_happiness) - Показатель радости при первом заходе в игру.

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

  • процент разрядки сытости (value_to_decline_satiety) - Процент на который разрядится сытость.
  • процент разрядки бодрости (value_to_decline_liveliness) - Процент на который разрядится бодрость.
  • процент разрядки комфорта (value_to_decline_comfort) - Процент на который разрядится комфорт.
  • процент разрядки радости (value_to_decline_happiness) - Процент на который разрядится радость.
  • время разрядки сытости (time_to_decline_satiety) - Время через которое отнимется значение сытости указанное выше.
  • время разрядки бодрости (time_to_decline_liveliness) - Время через которое отнимется значение бодрости указанное выше.
  • время разрядки комфорта (time_to_decline_comfort) - Время через которое отнимется значение комфорта указанное выше.
  • время разрядки радости (time_to_decline_happiness) - Время через которое отнимется значение радости указанное выше.
  • время восстановления процента бодрости (time_of_sleeping) - Время за которое отнимется восстановится значение бодрости.

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

  • процент разрядки сытости (value_to_decline_satiety) - Процент на который разрядится сытость.
  • процент разрядки бодрости (value_to_decline_liveliness) - Процент на который разрядится бодрость.
  • процент разрядки комфорта (value_to_decline_comfort) - Процент на который разрядится комфорт.
  • процент разрядки радости (value_to_decline_happiness) - Процент на который разрядится радость.
  • время разрядки сытости (time_to_decline_satiety) - Время через которое отнимется значение сытости указанное выше.
  • время разрядки бодрости (time_to_decline_liveliness) - Время через которое отнимется значение бодрости указанное выше.
  • время разрядки комфорта (time_to_decline_comfort) - Время через которое отнимется значение комфорта указанное выше.
  • время разрядки радости (time_to_decline_happiness) - Время через которое отнимется значение радости указанное выше.
  • время восстановления процента бодрости (time_of_sleeping) - Время за которое отнимется восстановится значение бодрости.

Группа - награда в XP - XP за разные действия(XP за кормление указывается в параметрах каждой еды)

  • XP за сон (xp_for_sleeping) - XP питомца за сон.
  • XP за уборку (xp_for_cleaning) - XP питомца за уборку.
  • XP за игру (xp_for_mini_game) - XP питомца за игру.
  • XP за ласку (xp_for_caressing) - XP питомца за ласку.

Группа - награда в XP - глобальное XP(экономика) за разные действия

  • XP за кормление (global_xp_for_sleeping) - глобальное XP за кормление.
  • XP за сон (global_xp_for_sleeping) - глобальное XP за сон.
  • XP за уборку (global_xp_for_cleaning) - глобальное XP за уборку.
  • XP за игру (global_xp_for_mini_game) - глобальное XP за игру.
  • XP за ласку (global_xp_for_caressing) - глобальное XP за ласку.

Группа - настройка заряда индикаторов

  • процент радости за минигру (happiness_for_minigame) - процент радости, который получим за игру в минигру.
  • процент радости за ласку (happiness_for_caressing) - процент радости, который получим за ласку с питомцем.
  • процент комфорта за уборку (comfort_for_cleaning) - процент комфорта за уборку.

Группа - индикаторы

  • счетчик XP (counter_xp) - Объект типа counter для отображения XP.
  • прогресс XP (progress_xp) - Объект типа progress для отображения XP.
  • время изменения прогресса XP (time_to_change_xp_counter) - Время изменения прогресса XP.
  • счетчик сытости (counter_satiety) - Объект типа counter для отображения сытости.
  • счетчик бодрости (counter_liveliness) - Объект типа counter для отображения бодрости.
  • счетчик комфорт (counter_comfort) - Объект типа counter для отображения комфорт.
  • счетчик радости (counter_happiness) - Объект типа counter для отображения радости.
  • прогресс сытости (progress_satiety) - Объект типа progress для отображения сытости.
  • прогресс бодрости (progress_liveliness) - Объект типа progress для отображения бодрости.
  • прогресс комфорт (progress_comfort) - Объект типа progress для отображения комфорт.
  • прогресс радости (progress_happiness) - Объект типа progress для отображения радости.
  • время изменения прогресса индикаторов (time_to_change_progress) - Время изменения прогресса индикаторов.
  • время задержки перед анимацией сытости (infelicity_satiety) - Задержка перед анимацией увеличения значения прогресса(указывается в мс).
  • время задержки перед анимацией бодрости (infelicity_liveliness) - Задержка перед анимацией увеличения значения прогресса(указывается в мс).
  • время задержки перед анимацией комфорт (infelicity_comfort) - Задержка перед анимацией увеличения значения прогресса(указывается в мс).
  • время задержки перед анимацией радости (infelicity_happiness) - Задержка перед анимацией увеличения значения прогресса(указывается в мс).

Группа - отображение коллекции животных

  • таблица с животными (animal_table) - Объект типа table для отображения собранных животных.
  • машина-окно (animal_wnd_item) - Объект который будет переведен в состояние open при тапе по таблице.
  • Заголовок (animal_txt_header) - Объект типа text для названия животного.
  • Иконка животного (animal_icon) - Объект для отображения иконки животного.
  • Дата рождения (animal_txt_date) - Объект типа text для отображения даты рождения.
  • Счетчик золота (animal_gold_counter) - Объект типа counter для отображения количества полученого золота.
  • Счетчик кол-ва животных (animal_num_counter) - Объект типа counter для отображения количества животных.
  • Счетчик цены за животного (animal_price_counter) - Объект типа counter для отображения цены за животного.
  • Кнопка бонуса (animal_bonus_btn) - Объект типа button ,который будет активен или не активен в зависимости от готовности бонуса.
  • Кнопка продать (animal_sell_btn) - Объект типа button ,который будет активен, если животного больше чем одно.

Группа - сгенерено золото : изменить состояние объекта

  • объект (gold_generated_obj) - Объект, состояние которого нужно изменить.
  • состояние (gold_generated_st) - Новое состояние объекта.

Группа - собрали коллекцию : изменить состояние объекта

  • объект (collection_ready_obj) - Объект, состояние которого нужно изменить.
  • состояние (collection_ready_st) - Новое состояние объекта.

Настройки животных

Параметры животных
  • текстовый id животного (animal_id) - Текстовый id животного.
  • текстовый id категории (category_id) - Текстовый id категории.
  • графика животного (animal_image) - Клип с графикой для животоного.
  • еда (feed_ids) - Айди еды, которая должна быть съдена для возможности получить это животное.
  • Цена (animal_price) - Цена за которую можно продать животного.
  • Травоядность земная (animal_earth_travelagent) - Один из основных параметров.
  • Травоядность водная (animal_water_travelagent) - Один из основных параметров.
  • Рыбность (animal_fish) - Один из основных параметров.
  • Мясистость (animal_meat) - Один из основных параметров.
  • Молочность (animal_milk) - Один из основных параметров.
  • Насекомость (animal_insects) - Один из основных параметров.
  • Зернистость (animal_grain) - Один из основных параметров.
  • Магия огня (animal_fire_magic) - Один из основных параметров.
  • Магия света (animal_light_magic) - Один из основных параметров.
  • Магия воды (animal_water_magic) - Один из основных параметров.
  • Магия земли (animal_earth_magic) - Один из основных параметров.
  • Цветность (animal_color) - Один из основных параметров.

Настройки коллекции животных

Параметры коллекции животных
  • текстовый id коллекции (collection_id) - Текстовый id коллекции.
  • животные (animal_ids) - Текстовые id животных, которые входят в коллекцию(перетаскиваются из текстовой базы).
  • графика подложки (underlay_id) - Клип с графикой для подложки животного.
  • текстовый id подарка (gift_id) - Айди предмета , который сможем получить после сбора коллекции(в тексте должна быть картинка Icon 1, которая будет отображена в соответствующем объекте ).
  • Res1 (gift_res1) - Золото, которое сможем получить после сбора коллекции.(Используется, если нет предмета-подарка).
  • графика награды золота (gift_res1_image) - Клип с графикой награды золота(Используется, если нет предмета-подарка).


Настройки корма

Параметры корма
  • текстовый id корма (food_item) - Текстовый id корма.
  • тип пищи (feed_type) - Тип пищи.Еда=0, Напиток=1, Энергетик=2. От этого парметра зависит состояние в котрое перейдет скин.
  • XP за кормление (food_image) - Клип с графикой для животоного.
  • Травоядность земная (food_earth_travelagent) - Один из основных параметров.
  • Травоядность водная (food_water_travelagent) - Один из основных параметров.
  • Рыбность (food_fish) - Один из основных параметров.
  • Мясистость (food_meat) - Один из основных параметров.
  • Молочность (food_milk) - Один из основных параметров.
  • Насекомость (food_insects) - Один из основных параметров.
  • Зернистость (food_grain) - Один из основных параметров.
  • Магия огня (food_fire_magic) - Один из основных параметров.
  • Магия света (food_light_magic) - Один из основных параметров.
  • Магия воды (food_water_magic) - Один из основных параметров.
  • Магия земли (food_earth_magic) - Один из основных параметров.
  • Цветность (food_color) - Один из основных параметров.
  • изменение сытости (value_of_increase) - На сколько изменится индикатор сытости.
  • изменение бодрости (change_of_comfort) - На сколько изменится индикатор бодрости.
  • изменение комфорта (change_of_happiness) - На сколько изменится индикатор комфорта.
  • изменение радости (change_of_growthing) - На сколько изменится индикатор радости.
  • коефициент роста (coef_of_growthing) - На сколько умножится увеличение даваемого XP до следующего перерождения.

Настройки диапазонов действий

Параметры диапазонов действий
  • действие (food) - Тип действия.рием пищи=0, сон=1, уборка=2, Игра=3.
  • сытость больше (food) - Левая граница сытости.
  • бодрость больше (food) - Левая граница бодрости .
  • комфорт больше (food) - Левая граница комфорта .
  • радость больше (food) - Левая граница радости.
  • сытость меньше (food) - Правая граница сытости.
  • бодрость меньше (food) - Правая граница бодрости .
  • комфорт меньше (food) - Правая граница комфорта .
  • радость меньше (food) - Правая граница радости.





Настройки бонусов

Параметры диапазонов действий
  • !Настройка бонусов распространяется на всех собранных животных.
  • возраст начала (activation_age) - возраст животного с которого будет начислятся бонус(в днях).
  • возраст конца (deactivation_age) - возраст животного после которого закончится начисление бонуса(в днях).
  • золото (bonus_gold) - Количество золота .
  • объект отображения (animal_bonus_obj) - Объект для отображения бонуса животного .
  • графика для таблицы (bonus_image) - Клип с графикой для таблицы(0 фрейм - не дошли,1 - прошлли, 2 - теущий).
  • время генерации бонуса (bonus_time) - время за которое будем получать золото.





Состояния Объекта

  • wait - состояние по умолчанию.
  • clean - убрать за питомцем
  • sleep - уложить спать
  • auto_feed - авто кормежка (для теста). Будет есть рандомную еду с выводом в логи до перерождения.
  • wake_up - разбудить
  • mg_played - поиграли в минигру
  • caressed - погладили
  • fill_animal_table - заполнить таблицу коллекции животных
  • table_clicked - кликнули по таблице
  • collect_bonus - забрать бонус
  • read - считать параметры из опций
  • sell_open_animal - продать только что открытое животное.
  • switch_image_frame - переключить изображение в Иконке животного на новый кадр в клипе.

Состояния Скина питомца

  • ate - скин будет переведен в это состояние, когда питомец поест
  • drank - скин будет переведен в это состояние, когда питомец попьет
  • cleaned - скин будет переведен в это состояние после уборки
  • sleeping - скин будет переведен в это состояние, когда питомец ляжет спать
  • waked_up - скин будет переведен в это состояние, когда питомец проснется
  • cannot_sleep - скин будет переведен в это состояние, если питомец не может
  • cannot_eat - скин будет переведен в это состояние, если питомец есть
  • cannot_clean - скин будет переведен в это состояние, если питомец убираться
  • cannot_play - скин будет переведен в это состояние, если питомец играть

Опции

Питомец сохраняет ряд своих параметров в опции с тем, чтобы при повторном запуске загрузить их. Часть этих параметров(текущее время игры, индикаторы и времена связанные с ними) сохраняются каждые две секунды. Остальные , только в момент их изменения.

  • time_of_sleeping - Время сна
  • time_to_decline_happiness - время до отнимания индикатора радости
  • time_to_decline_comfort - время до отнимания индикатора комфорта
  • time_to_decline_liveliness - время до отнимания индикатора бодрости
  • time_to_decline_satiety - время до отнимания индикатора сытости
  • happiness - значение индикатора радости
  • comfort - значение индикатора комфорта
  • liveliness - значение индикатора бодрости
  • satiety - значение индикатора сытости
  • last_time - последнее время игры
  • sleeping feeding_counter - кол-во кормежек
  • color - цвет животного
  • grain - один из основных параметров
  • insects - один из основных параметров
  • milk - один из основных параметров
  • meat - один из основных параметров
  • fish - один из основных параметров
  • water_travelagent - один из основных параметров
  • earth_travelagent - один из основных параметров
  • pet_xp - XP питомца
  • feed_history - история кормежки в виде "342, 351"

Параметры животных - тэг в ввиде animal_129 , где 129 id животного

  • bonus_generated - 1, если бонус сгенерирован
  • passed_time_bonus - время прошедшее после последней генерации бонуса
  • birthday - дата рождения
  • owned - кол-во животных
  • id - текстовое id животного

Параметры коллекций - тэг в collection будет содержать в себе параметры типа collection_<id>. Если значение будет 1 , значит коллекция была собрана и награду забрали.


Примечания и дополнения

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

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