Тема закрыта
Добрый день, друзья.
Мне тут по долгу службы (а компания, где я работаю, сейчас разрабатывает ролевую онлайн-игру) необходимо написать движок для воспроизведения текстовых мини-игр на 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)
Неактивен
Интересно :) А код остался твишный? То есть можно как обычно редактировать код без редактора?
Неактивен
Могу предложить только исходники демы "Тайны африканского бумеранга".
Неактивен
Не знаю, я самим твайном не пользовался никогда. StartPassages был в демонстрационном примере, который шел с твии или что-то подобное. Если я не ошибаюсь это официальное название стартовой локации(или одно из).
Компилируется все вот так, без каких-либо проблем:
python twee 0.tw > 0.html
:)
Пример нашел, прикрепил к посту.
Отредактировано Евг (10.04.2012 23:18)
Неактивен
Вот тебе еще исходники Семирамиды (http://pavlenko.biz/korwin/flower.html). Что касается макросов этой игре нет равных :)
Неактивен
Нет там комментариев. Мне поэтому приходилось делать отдельную локацию ":: каменты" и туда писать все свои умные мысли :) Не скажу что это очень удобно...
Про кодировку не знаю, что посоветовать. Мне лично важно две вещи - чтобы я мог открыть код в Bred'e :) И чтобы результат без проблем игрался в браузере.
Неактивен
DoubleDragon, когда покажешь бету? :)
Отредактировано Евг (20.04.2012 21:43)
Неактивен
По подсветке ссылок [[ ]] мысль - выделять там название локации одним цветом, а текст ссылки другим. Чтобы уже сразу по цвету было ясно что и где писать, а то часто забывается порядок, особенно если пишешь на разных платформах.
Я эти вещи постоянно путаю, спасает только расцветка :)
Неактивен
Из того что сразу заметил:
Ctrl+z(undo) не работает в окошке редактирования локации.
Едва заметно мерцает текст если быстро набирать. А если накопировать в окошко редактирования текста/кода побольше, то на любой ввод символа вообще ужас начинается - видно как перерисовывается весь код, бегунок дергается туда-сюда, писать практически невозможно...
Само окно редактора при первом запуске неправильно вписалось в экран - тайтлбар ушел за пределы экрана :) Еле его оттуда выцарапал.
Понравился ползунок для изменения размера карты игры. Такой же, наверное, можно и для шрифта воткнуть. Или увеличивать/уменьшать все по ctrl+колесико мыши как в браузерах.
Пробовал загружать свои tw исходники, вроде все хорошо грузит. Выглядит как такой полубезумный квестер, только поудобнее :) Если перетаскиваешь локацию и попадаешь краешком на другую, то локация возвращается обратно. Вроде мысль понятна - чтобы они друг друга не загораживали, но если приходится быстро растаскивать уже готовый tw файл в удобном тебе порядке, то это только мешает.
Запускал вин-версию на winxp sp3.
PS: Твайн по-моему этот редактор уделал уже, там больше проблем было :)
Отредактировано Евг (22.04.2012 15:02)
Неактивен
А еще у меня есть пунктик по поводу подобных визуальных редакторов - очень много приходится кликать мышью... На квестере это особенно заметно :) Постоянно переключаешься на мышь с клавиатуры много-много раз подряд - очень суетно и раздражает, основа тут все-таки текст и код, хочется больше печатать, а не кликать.
На будущее возможно пригодится, подумай как сделать клавиатурные удобства :) Например, вместо ОК в редакторе локаций какой-нибудь ctrl+enter, там же по табуляции прыгать в редактирование название локации для правки (или вообще ее сделать в том же поле), бегать по карте стрелками, заходить в локации по enter и т.п.
А вот всякое растаскивание это мышью удобно как раз, особенно если будет возможность выделить группу локаций и перетаскивать сразу их все.
Отредактировано Евг (22.04.2012 15:24)
Неактивен
Да - хорошо, намного удобнее сделалось :) Только undo осталось допилить.
Еще можно сделать на кнопке "Загрузить" список последних открытых файлов.
По редактору локаций - можно сделать возможность прямо оттуда переходить в те локации на которые поставлены ссылки в тексте. Или их список рядышком показывать и оттуда переходить, или клик с ctrl непосредственно по ссылке, например. Ну, а если еще не создана локация на которую мы переходим, то создавать такую автоматом.
Отредактировано Евг (29.04.2012 12:28)
Неактивен
Навигатор по табу - отлично, правда сначала показалось странно, что он куда-то сам по себе пропадает если тыкнуться в главное окно или переключиться на другую программу и обратно.
По ссылкам здорово кликать - сразу, однако, захотелось уметь возвращаться обратно :) Надо туда кнопку "возврат" добавить в локацию с которой я сюда прыгнул.
Насчет текущего параграфа по центру, не уверен, тут уже надо попробовать писать - удобно/не удобно.
Плюс заметил, что редактор в твибоксовый формат почему-то не сохраняет, только в свой.
Не понятны макросы и логика (собственно, переменные, арифметика, массивы и прочее)
Это не совсем к редактору :) Возьми, да почитай документацию по тви (http://gimcrackd.com/etc/doc/).
http://iambookmaster.com/
"Я мастер книг" - все это делает уже.
А Крис Климас-то и не знает :) Срочно ему надо сообщить!
Отредактировано Евг (06.05.2012 20:38)
Неактивен
Ну, хелп прикрутит, это не такая уж проблема, был бы редактор рабочий.
Кстати интересно узнать подробности, что там они собираются такое писать с включением твии :)
Отредактировано Евг (07.05.2012 12:34)
Неактивен
Делай, да. Злоупотреблять всегда чем найдут, тут не угадаешь :)
Неактивен
Вообще я никогда этими штуками не пользовался, но насколько я понимаю разница только в том, что в отличие choice (где просто надо выбрать что-то одно из списка) в actions список выводятся только ссылки на непосещенные локации.
А дальше как обычно: нажимаешь на ссылку из списка - все другие становятся неактивными и выводится локация по ссылке.
Вот как это выглядит, если понажимать ссылки в примере из мануала: http://plut.info/scr/273147b83a2bdc863c521566f1ec.png
Отредактировано Евг (19.05.2012 11:43)
Неактивен
Я запустил, скомпилил, все заработало. Эту версию вообще надо более подробно смотреть чем прошлые. Тут уже надо писать реальную игру, чтобы понять, что там правильно работает, что удобно, а что нет :) Если соберусь, от меня пойдут предложения :) А пока поздравляю с первым рабочим релизом :)
Отредактировано Евг (23.05.2012 17:06)
Неактивен
Да, ждем. Я в прошлый понедельник скинул тебе свой емайл в ЛС, пока мне никто ничего не написал :)
Неактивен
О, отлично.
Я бы еще в "Списке всех макросов" расставил ссылки на странички с подробности о этих командах.
Мелкие придирки. В примере с белкой про if/else мы теоретически можем попасть на текст "Белка смотрит на Вашу руку с орехами" даже если у нас нет орехов и поблизости нет белки :)
По ходу написания поста заметил, что со страницы нельзя скопировать текст. Это как-то странно :) А если я хочу в свой код закопировать пример из хелпа? Надо все перепечатывать?
Или как поделится с другом понравившейся цитатой из игры?
Неактивен
DoubleDragon написал:
Про белку. Да, ты прав. Имелось в виду, что белка по-любому уже в локации, хотя зачем тогда проверка на название зверя ;). Но это же просто пример операторов, хотя если подскажешь, как его красиво изменить, буду рад.
Красиво даже не знаю, все равно получатся вложенные ифы (обрамить все это <<if $белка and $орехи>>). Да просто else из этого примера убрать, и сделать для него какой-нибудь отдельный: У вас в кармане <<if $орехи>>лежат орехи<<else>>пусто<<endif>>.
DoubleDragon написал:
Про выделение - очень хороший вопрос. Надо думать, чтобы этот момент всех устроил. Нам-то проще снять запрет выделения, а как авторам? Хотя понятно, что это не панацея.
Может сделать настройку при компиляции?
Отредактировано Евг (17.06.2012 14:29)
Неактивен
Понравилось, что есть заготовка для новой истории. Ее можно где-нибудь настроить (например, сразу прописать себя в локацию автора, чтобы при создании новой игры об этом можно было забыть) или она вшита в программу?
Мелочь: кнопка "Отмена" почему-то заезжает на кнопки левее - http://plut.info/scr/6cffb5cbbb45f2b326bb0fd1ef11.png Правда, если изменить размер окошка, все само выравнивается и такого больше не происходит.
По ctrl+z пока странные вещи творятся - что-то вдруг выделяется :)
Не критично, но в кнопках макросов путаешься, потому что там много текста: "Невозвратный переход", "действия внутри параграфа" :) Сидишь и думаешь, что бы это могло быть :) Хорошо бы, если бы там где-то была краткая версия (If, choice и т.д.) или тултип при наведении мыши. Но возможно это дело привычки, не знаю.
Неактивен
Глюк в WindowsXP. Двойной щелчок на тайтлбаре игры (или restore) и окно полностью пропадает, причем переключиться на него никак нельзя, но при этом навигатор локаций вызвать можно. Спасает только команда maximize из меню в панели задач - окошко возникает снова.
Отредактировано Евг (25.06.2012 14:52)
Неактивен
Не, я пока не понял, баг это был или нет :)
Зато пока смотрел игру понял, что хотелось бы в редакторе:
* глобальный поиск текста по коду (то есть ищешь определенное слово или фразу, а тебе открывает локацию, где оно встречается)
* чтобы ктрл + клик работал в choice, actions и display
Отредактировано Евг (30.06.2012 23:35)
Неактивен
Ченджлог на сайте нужен, да. Я на неделю отвлекся и уже не понимаю, что нового ввели в редактор. А перечитывать ради этого заново мануал или всю тему ой как не хочется :)
Отредактировано Евг (06.07.2012 14:29)
Неактивен
Тема закрыта