Добрый день, друзья.
Мне тут по долгу службы (а компания, где я работаю, сейчас разрабатывает ролевую онлайн-игру) необходимо написать движок для воспроизведения текстовых мини-игр на 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)
Неактивен
Конечно, интересно, выкладывай!
Неактивен
Вот пока пара скриншотов, бету выложу чуть позже.
Отредактировано DoubleDragon (29.04.2012 08:18)
Неактивен
Да, код твишный. Правда 100% совместимость пока не достигнута, но работа в этом направлении идёт.
Вот если бы кто скинул исходник какой-нибудь реальной игрушки на ru и с макросами, стало бы тестить на совместимость гораздо проще...
Отредактировано DoubleDragon (22.04.2012 10:23)
Неактивен
Спасибо большое.
Отредактировано DoubleDragon (10.04.2012 22:45)
Неактивен
Отлично, сразу баги в редакторе посыпались как из ведра
Подскажите, в руководствек Twine написано, что история должна начинаться с пассажа Start. В вашем файле есть только StartPassages. Как в итоге компилятору понять, какая стартовая локация?
Неактивен
Не знаю, я самим твайном не пользовался никогда. StartPassages был в демонстрационном примере, который шел с твии или что-то подобное. Если я не ошибаюсь это официальное название стартовой локации(или одно из).
Компилируется все вот так, без каких-либо проблем:
python twee 0.tw > 0.html
:)
Пример нашел, прикрепил к посту.
Отредактировано Евг (10.04.2012 23:18)
Неактивен
Вот тебе еще исходники Семирамиды (http://pavlenko.biz/korwin/flower.html). Что касается макросов этой игре нет равных :)
Неактивен
Спасибо тебе, теперь есть с чем работать. По результатам доложусь.
Неактивен
По ходу работы возникли пара вопросов.
1. По кодировке файлов.
Редактор Twine не любит кодировки, отличные от ASСII. Поэтому при сохранении файлов определяет системный язык ОС и сохраняет файл в соответствующей кодировке (я про файлы исходников .tw).
В результате получаем файлы в WIN(CP)-1251 для Винды и в MacCyrillic для Mac OS X (справедливо для ОС, где в качестве дефолтного языка указан русский). А ведь есть ещё куча нерусских кодировок.
Получается, что исходники, сохранённые в Винде, криво открываются в Mac OS и наоборот. Что, конечно, нехорошо. У меня же внутрях весь текст хранится в UTF-8. Так вот. Может сохранять для универсальности файлы в UTF-8? Тогда будет поддержка любых языков и кучи Юникодных символов. А при загрузке просто определять кодировку файла? Но в этом случае сохранённые исходники в Twine-редакторе уже нельзя будет открыть, потому как UTF-8 он не понимает. Или по-другому как-то сделать?
2. Короткий вопрос про комментарии.
В Twee/Twine есть понятие комментариев в исходных кодах? Что-то я нигде про это не нашёл. Про теги в Title я понял, что они могут в качестве комментариев выступать, а комментарии в самом тексте могут быть?
Буду благодарен любому, кто меня просветит
Неактивен
Нет там комментариев. Мне поэтому приходилось делать отдельную локацию ":: каменты" и туда писать все свои умные мысли :) Не скажу что это очень удобно...
Про кодировку не знаю, что посоветовать. Мне лично важно две вещи - чтобы я мог открыть код в Bred'e :) И чтобы результат без проблем игрался в браузере.
Неактивен
Про комменты понял. Может тогда сделать их? Можно так //коммент, так #коммент или так 'коммент.
Важный вопрос - надо ли обеспечивать совместимость с Twine? Т.е. tw-исходники по-любому будут в проге открываться, а вот нужна ли обратная поддержка, чтобы в Twine можно было открыть исходники созданные прогой? При условии, что кириллица там по-любому глючит и нужно ли это вообще при наличии собственного компилятора в html-формат?
По кодировке - думаю надо в UTF-8 сохранять, и Bred и другие редакторы (даже Блокнот) её поддерживают. Плюс получим поддержку текстов на любых языках, что актуально и для европейцев и для других неамериканцев (а я делаю редактор сразу и на русском и на english для остальных).
Неактивен
В общем сделал поддержку двух форматов файлов - tw и собственного sm. Сохранение идёт в собственном формате, а загрузка - или из него или из tw.
Плюс прикрутил комментарии:
# Это комментарий
Отредактировано DoubleDragon (21.04.2012 12:55)
Неактивен
Отличная работа, продолжайте в том же духе! Я уверен что здесь найдутся желающие писать на этой версии новые игры.
Неактивен
Компилятор пока в процессе, а на редактор надо некоторые рюшечки навесить, но думаю в понедельник уже смогу показать. Только будьте снисходительны, продукт пока сырой.
Отредактировано DoubleDragon (20.04.2012 22:14)
Неактивен
Я понимаю, но не хочется приносить качество его работы в жертву скорости разработки.
Неактивен
Пока обновил скриншоты.
Неактивен
По подсветке ссылок [[ ]] мысль - выделять там название локации одним цветом, а текст ссылки другим. Чтобы уже сразу по цвету было ясно что и где писать, а то часто забывается порядок, особенно если пишешь на разных платформах.
Я эти вещи постоянно путаю, спасает только расцветка :)
Неактивен
Понял, принял - у меня та же фигня
... Сделал так, действительно стало удобнее. На скриншоте №1 это видно.
Отредактировано DoubleDragon (22.04.2012 09:55)
Неактивен
Версии для Windows, Mac OS X, Linux лежат здесь:
http://sm.axmasoft.com/ru/
Там всегда будут самые последние бета-версии, релиз же унесётся на другой адрес, позже напишу куда.
И небольшой дисклаймер:
1. Вирусов и троянов в файлах нет, я проверял , но в любом случае принятие решения о скачивании за вами.
Инсталляции программа не требует - просто разверните zip-архив в любую папку на компе и запускайте.
2. Компиляция в html-файл пока отключена. Это не злой умысел, просто компилятор сейчас сырой - по мой оценке где-то 50% готовности.
Так что пользоваться полноценно программой пока нельзя, эти версии выкладываю чисто для вылавливания багов и глюков и потому что обещал
3. Так как я пишу сразу для трёх платформ (Windows, Mac OS X, Linux), а тестирую в основном на Маке, 100% есть вышеупомянутые баги и глюки. Если что-то заметите, просьба отписаться в этой теме.
4. Просьба сразу не писать фразы типа "без компилятора это никому не нужное *****" - см. пункт 2.
5. Иконки и заставки у приложения пока нет - это не глюк и не упущение, художник уже получил задание и занимается этим вопросом. Видимо в следующей бете они появятся (сей процесс творческий и зависит не от меня).
Пожелания и критика функционала очень приветствуется.
Неактивен
Из того что сразу заметил:
Ctrl+z(undo) не работает в окошке редактирования локации.
Едва заметно мерцает текст если быстро набирать. А если накопировать в окошко редактирования текста/кода побольше, то на любой ввод символа вообще ужас начинается - видно как перерисовывается весь код, бегунок дергается туда-сюда, писать практически невозможно...
Само окно редактора при первом запуске неправильно вписалось в экран - тайтлбар ушел за пределы экрана :) Еле его оттуда выцарапал.
Понравился ползунок для изменения размера карты игры. Такой же, наверное, можно и для шрифта воткнуть. Или увеличивать/уменьшать все по ctrl+колесико мыши как в браузерах.
Пробовал загружать свои tw исходники, вроде все хорошо грузит. Выглядит как такой полубезумный квестер, только поудобнее :) Если перетаскиваешь локацию и попадаешь краешком на другую, то локация возвращается обратно. Вроде мысль понятна - чтобы они друг друга не загораживали, но если приходится быстро растаскивать уже готовый tw файл в удобном тебе порядке, то это только мешает.
Запускал вин-версию на winxp sp3.
PS: Твайн по-моему этот редактор уделал уже, там больше проблем было :)
Отредактировано Евг (22.04.2012 15:02)
Неактивен