logo
Margot - Tenebrae
Разработчик НЕ игр! Личный блог.
logo Margot - Tenebrae

Разработка: парсинг таблиц

Последние ‎трое‏ ‎суток, ‎сильно ‎страдая ‎от ‎бессонницы,‏ ‎я ‎перебрала‏ ‎систему‏ ‎парсинга ‎данных ‎из‏ ‎гугл ‎таблиц‏ ‎в ‎удобные ‎JSON ‎файлы.‏ ‎Из-за‏ ‎того ‎что‏ ‎я ‎решила‏ ‎переверстать ‎все ‎меню ‎и ‎улучшить‏ ‎системы,‏ ‎которые ‎отвечают‏ ‎за ‎сборку‏ ‎игры, ‎мною ‎было ‎принято ‎решение‏ ‎переписать‏ ‎и‏ ‎парсинг. ‎Хотелось,‏ ‎чтобы ‎сборка‏ ‎игры ‎в‏ ‎таблицах‏ ‎была ‎удобнее,‏ ‎чтобы ‎я ‎могла ‎дробить ‎одну‏ ‎сцену ‎на‏ ‎логические‏ ‎блоки ‎и ‎в‏ ‎таблице ‎с‏ ‎сюжетом ‎указывать, ‎нужно ‎ли‏ ‎в‏ ‎следующем ‎фрейме‏ ‎изменить ‎воспроизводимый‏ ‎блок ‎или ‎сцену.

Наверное, ‎я ‎сложно‏ ‎объяснила.‏ ‎Если ‎проще,‏ ‎это ‎необходимо‏ ‎для ‎удобного ‎ветвления ‎сюжета. ‎Оно‏ ‎и‏ ‎раньше‏ ‎отлично ‎ветвилось,‏ ‎но ‎мне‏ ‎приходилось ‎ссылаться‏ ‎на‏ ‎другие ‎таблицы,‏ ‎чтобы ‎выполнять ‎проверки, ‎всегда ‎следить‏ ‎за ‎количеством‏ ‎фреймов‏ ‎которые ‎надо ‎пропустить‏ ‎и ‎т.д.‏ ‎Теперь ‎всё ‎будет ‎в‏ ‎одной‏ ‎таблице ‎и‏ ‎довольно ‎лаконично.

На‏ ‎этом ‎шаблоне ‎я ‎сегодня ‎уже‏ ‎оттестировала‏ ‎работу ‎скрипта,‏ ‎который ‎старательно‏ ‎писала ‎в ‎отдельном ‎приложении. ‎Этот‏ ‎код‏ ‎со‏ ‎всеми ‎ссылками‏ ‎на ‎гугл‏ ‎таблицы, ‎не‏ ‎войдёт‏ ‎в ‎билд‏ ‎игры. ‎Он ‎нужен ‎лишь ‎для‏ ‎того, ‎чтобы‏ ‎создать‏ ‎несколько ‎текстовых ‎файлов,‏ ‎которые ‎я‏ ‎бережно ‎помещу ‎в ‎финальную‏ ‎сборку.‏ ‎Так ‎я‏ ‎избавляюсь ‎от‏ ‎лишних ‎компонентов ‎в ‎игре, ‎паранойи,‏ ‎что‏ ‎кто-то ‎при‏ ‎декомпиляции ‎найдёт‏ ‎ссылки ‎или ‎я ‎случайно ‎не‏ ‎удалю‏ ‎черновые‏ ‎файлы.

Сейчас ‎уже‏ ‎реализованы:

1. Лист ‎переменных‏ ‎для ‎отслеживания‏ ‎взаимоотношения‏ ‎с ‎персонажами.

2. Словарь‏ ‎имён ‎игровых ‎персонажей ‎с ‎учётом‏ ‎поддерживаемых ‎языков.

3. Список‏ ‎звонков‏ ‎и ‎сообщений ‎для‏ ‎смартфона.

4. Список ‎доступных‏ ‎в ‎игре ‎выборов.

5. Список ‎доступных‏ ‎концовок.

6. Список‏ ‎индексированных ‎сцен.

Чем‏ ‎я ‎пользуюсь:

1. Google‏ ‎sheet ‎to ‎Json - сохраняет ‎гугл ‎таблицы‏ ‎в‏ ‎текстовых ‎файлах.‏ ‎Под ‎каждый‏ ‎лист ‎создаёт ‎отдельный ‎файл, ‎в‏ ‎соответствии‏ ‎с‏ ‎его ‎названием.

2. LitJson‏ ‎Ruler - очень ‎простое‏ ‎решение, ‎чтобы‏ ‎читать‏ ‎и ‎записывать‏ ‎JSON ‎файлы. ‎Мне ‎было ‎важно,‏ ‎особым ‎образом‏ ‎пересохранять‏ ‎данные ‎таблиц, ‎чтобы‏ ‎потом ‎форматировать‏ ‎их ‎в ‎иную ‎JSON‏ ‎структуру‏ ‎под ‎проект.‏ ‎Например, ‎в‏ ‎таблице ‎русская ‎и ‎английская ‎локаль,‏ ‎находятся‏ ‎в ‎разных‏ ‎колонках. ‎Это‏ ‎важно, ‎чтобы ‎не ‎перемешивать ‎данные,‏ ‎контролировать‏ ‎количество‏ ‎знаков ‎в‏ ‎тексте, ‎не‏ ‎запутаться ‎в‏ ‎экранирующих‏ ‎символах ‎и‏ ‎удобно ‎читать ‎сценарий. ‎В ‎то‏ ‎же ‎время,‏ ‎в‏ ‎JSON ‎они ‎должны‏ ‎находиться ‎в‏ ‎одном ‎разделе ‎как ‎набор‏ ‎строк.‏ ‎Оттуда, ‎игра‏ ‎уже ‎по‏ ‎индексу ‎берёт ‎текст ‎на ‎выбранном‏ ‎языке.

Я‏ ‎очень ‎довольна‏ ‎тем, ‎что‏ ‎скрипты ‎стали ‎лаконичными, ‎что ‎у‏ ‎проекта‏ ‎появилась‏ ‎чёткая ‎логика,‏ ‎он ‎стал‏ ‎легковесным ‎и‏ ‎сущности‏ ‎между ‎собой‏ ‎не ‎переплетаются.

Да, ‎морально ‎мне ‎тяжело‏ ‎даются ‎переработки‏ ‎уже‏ ‎готового ‎материала, ‎но‏ ‎всё ‎это‏ ‎явно ‎стоит ‎приложенных ‎усилий.‏ ‎После‏ ‎трех ‎недель‏ ‎довольно ‎плотной‏ ‎работы, ‎надо ‎устроить ‎себе ‎игровые‏ ‎выходные.‏ ‎Я ‎как‏ ‎раз ‎купила‏ ‎себе ‎Сабнавтику.

Предыдущий Следующий
Все посты проекта
0 комментариев

Подарить подписку

Будет создан код, который позволит адресату получить бесплатный для него доступ на определённый уровень подписки.

Оплата за этого пользователя будет списываться с вашей карты вплоть до отмены подписки. Код может быть показан на экране или отправлен по почте вместе с инструкцией.

Будет создан код, который позволит адресату получить сумму на баланс.

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

Добавить карту
0/2048