Тема закрыта
Добрый день, друзья.
Мне тут по долгу службы (а компания, где я работаю, сейчас разрабатывает ролевую онлайн-игру) необходимо написать движок для воспроизведения текстовых мини-игр на javascript. Эти мини-игры будут вставлены в основную канву игры в качестве небольших квестов. Ещё один нюанс - эти игры будут писать разные люди, использующие разные ОС и что важно - эти люди ну совсем не программисты. Поэтому всё должно быть наглядно и по-русски.
Twine (Tweebox) неплохо подошёл бы для решения этого вопроса, но, к сожалению, он уже давно не обновлялся и при всех своих достоинствах плохо работает с кириллической кодировкой (возникают ошибки во время редактирования пассажей и при импорте/экспорте текстовых исходников). Тут ещё и узнал, что автор проект забросил. Но идея визуального проектирования повествования, заложенная в Twine, очень хороша, и жаль от неё отказываться.
В общем пришлось написать свой велосипед, обратно совместимый по исходникам с Tweebox и с аналогичным интерфейсом. В настоящее время редактор "допиливается" и тестируется. Есть три сборки - для Windows, Mac OS X и Linux.
Сейчас реализовано следующее:
- визуальное проектирование, аналогичное Twine;
- нативная поддержка любых кодировок (внутри всё крутится в utf-8);
- совместимость с исходными кодами игр Tweebox;
- корректная подсветка синтаксиса во время редактирования;
- собственый компилятор игр в один компактный независимый html-файл;
- адаптация для экранов мобильных браузеров.
Если кому интересно, выложу скриншоты и бета-версию.
Последняя версия всегда лежит по адресу http://sm.axmasoft.com/ru/
По этой ссылке можно посмотреть "Руководство пользователя AXMA Story Maker":
http://sm.axmasoft.com/ru/help.html
Отредактировано DoubleDragon (17.06.2012 10:35)
Неактивен
Замеченные недостатки-недочеты:
Неактивен
Там еть определённые неопределённости - это отмена или подтверждение (Cancel или OK)?
По умолчанию крестик всегда считается Отменой.
На счет Esc - это зависит от привычки ![]()
Хочется иметь возможность увидеть параграф без компиляции всей игры
Пока не представляю как это сделать. Там же может быть зависимость от переменных, выставленных ранее в других параграфах.
Как вариант, переменные из других параграфов можно выводить именами
Можно сделать, чтобы отработанные действия не помечались как недоступные, а удалялись? Это удобно для формирования диалога.
Неактивен
Разговор игрока с НПС. Выдается несколько вариантов ответа. На мой взгляд странно видеть уже отработанные выборы.
Возможно, я придумываю велосипед, и у вас в загашнике есть готовое решение для описания диалогов?
Неактивен
Дипломный руководитель бывший военный?
Неактивен
Очередное обновление 0.6.6
Успеешь до 14 августа добраться до 1.0? ![]()
Неактивен
А что за видео и зачем оно там?
У меня такое же недоумение про музыку. ![]()
DoubleDragon:
Давно заметил, но забывал сказать - после вызова функции "Расставить" все вновь добавляемые параграфы аккуратно выстраиваются в сетку. Пусть функция расставляет старые (уже добавленные в историю) параграфы, а новые пусть добавляются там, где был сделан клик. Если же добавление было иницировано кнопкой панели инструментов, пожалуйста - пусть добавляется в рядок.
Неактивен
Еще недоумение:
Запускаю АСМ (ассемблер?), загружается последняя история. Закрываю приложение. Меня спрашивают сохранять историю или нет, но я ведь ничего в ней не менял... На всякий случай сохраняю. Там меня сначала просят ввести (подтвердить предложенное исходное) имя файла, а потом говорят, что такой файл уже есть (конечно есть - из него же загрузили историю). Итого, резюме:
Отредактировано Narratius (05.07.2012 14:18)
Неактивен
Автоматически лучше ничего не делать, имхо. А вот замена - да, можно подумать.
Я считаю наоборот - замена должна происходить автоматически с предварительным подтверждением "заменить все?".
Неактивен
Можно про диалоги поподробнее?
Неактивен
Конечно. А что именно?
Признаюсь честно, я пока вообще не могу сообразить, как сделать разветвленный диалог... Без генерации множества параграфов...
Неактивен
Тема закрыта