Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
07.04.2012 19:33

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Делаю замену Twine (Tweebox)

Добрый день, друзья.

Мне тут по долгу службы (а компания, где я работаю, сейчас разрабатывает ролевую онлайн-игру) необходимо написать движок для воспроизведения текстовых мини-игр на 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)

Неактивен

0    0    #2
08.04.2012 09:34

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Вот пока пара скриншотов, бету выложу чуть позже.

http://sm.axmasoft.com/examples/asm-shot1.png
http://sm.axmasoft.com/examples/asm-shot2.png

Отредактировано DoubleDragon (29.04.2012 08:18)

Неактивен

0    0    #3
10.04.2012 22:27

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Да, код твишный. Правда 100% совместимость пока не достигнута, но работа в этом направлении идёт.
Вот если бы кто скинул исходник какой-нибудь реальной игрушки на ru и с макросами, стало бы тестить на совместимость гораздо проще...

Отредактировано DoubleDragon (22.04.2012 10:23)

Неактивен

0    0    #4
10.04.2012 22:43

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Спасибо большое.

Отредактировано DoubleDragon (10.04.2012 22:45)

Неактивен

0    0    #5
10.04.2012 23:05

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Отлично, сразу баги в редакторе посыпались как из ведра smile
Подскажите, в руководствек Twine написано, что история должна начинаться с пассажа Start. В вашем файле есть только StartPassages. Как в итоге компилятору понять, какая стартовая локация?

Неактивен

0    0    #6
11.04.2012 15:43

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Спасибо тебе, теперь есть с чем работать. По результатам доложусь.

Неактивен

0    0    #7
16.04.2012 14:56

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

По ходу работы возникли пара вопросов.

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 я понял, что они могут в качестве комментариев выступать, а комментарии в самом тексте могут быть?

Буду благодарен любому, кто меня просветит smile

Неактивен

0    0    #8
16.04.2012 15:39

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Про комменты понял. Может тогда сделать их? Можно так //коммент, так #коммент или так 'коммент.
Важный вопрос - надо ли обеспечивать совместимость с Twine? Т.е. tw-исходники по-любому будут в проге открываться, а вот нужна ли обратная поддержка, чтобы в Twine можно было открыть исходники созданные прогой? При условии, что кириллица там по-любому глючит и нужно ли это вообще при наличии собственного компилятора в html-формат?

По кодировке - думаю надо в UTF-8 сохранять, и Bred и другие редакторы (даже Блокнот) её поддерживают. Плюс получим поддержку текстов на любых языках, что актуально и для европейцев и для других неамериканцев (а я делаю редактор сразу и на русском и на english для остальных).

Неактивен

0    0    #9
19.04.2012 22:56

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

В общем сделал поддержку двух форматов файлов - tw и собственного sm. Сохранение идёт в собственном формате, а загрузка - или из него или из tw.

Плюс прикрутил комментарии:
# Это комментарий

Отредактировано DoubleDragon (21.04.2012 12:55)

Неактивен

0    0    #10
20.04.2012 22:13

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

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

Отредактировано DoubleDragon (20.04.2012 22:14)

Неактивен

0    0    #11
20.04.2012 22:29

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Я понимаю, но не хочется приносить качество его работы в жертву скорости разработки.

Неактивен

0    0    #12
21.04.2012 12:27

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Пока обновил скриншоты.

Неактивен

0    0    #13
21.04.2012 17:51

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Понял, принял - у меня та же фигня smile

... Сделал так, действительно стало удобнее. На скриншоте №1 это видно.

Отредактировано DoubleDragon (22.04.2012 09:55)

Неактивен

0    0    #14
22.04.2012 13:48

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Версии для Windows, Mac OS X, Linux лежат здесь:
http://sm.axmasoft.com/ru/

Там всегда будут самые последние бета-версии, релиз же унесётся на другой адрес, позже напишу куда.

И небольшой дисклаймер:

1. Вирусов и троянов в файлах нет, я проверял smile , но в любом случае принятие решения о скачивании за вами.
Инсталляции программа не требует - просто разверните zip-архив в любую папку на компе и запускайте.

2. Компиляция в html-файл пока отключена. Это не злой умысел, просто компилятор сейчас сырой - по мой оценке где-то 50% готовности.
Так что пользоваться полноценно программой пока нельзя, эти версии выкладываю чисто для вылавливания багов и глюков и потому что обещал smile

3. Так как я пишу сразу для трёх платформ (Windows, Mac OS X, Linux), а тестирую в основном на Маке, 100% есть вышеупомянутые баги и глюки. Если что-то заметите, просьба отписаться в этой теме.

4. Просьба сразу не писать фразы типа "без компилятора это никому не нужное *****" - см. пункт 2.

5. Иконки и заставки у приложения пока нет - это не глюк и не упущение, художник уже получил задание и занимается этим вопросом. Видимо в следующей бете они появятся (сей процесс творческий и зависит не от меня).

Пожелания и критика функционала очень приветствуется.

Неактивен

0    0    #15
22.04.2012 15:01

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Отлично, будем эти баги лечить!

Неактивен

0    0    #16
22.04.2012 15:28

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

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

Неактивен

0    0    #17
22.04.2012 15:30

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Евг написал:

На будущее возможно пригодится, подумай как сделать клавиатурные удобства smile Например, вместо ОК в редакторе локаций какой-нибудь ctrl+enter, там же по табуляции прыгать в редактирование название локации для правки (или вообще ее сделать в том же поле), бегать по карте стрелками, заходить в локации по enter и т.п.

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

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

Неактивен

0    0    #18
22.04.2012 18:03

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Пока не знаю. Как руководство решит. Но бесплатным точно smile

Неактивен

0    0    #19
22.04.2012 18:33

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Подумаем, конечно. Отправная точка уже есть.

Неактивен

0    0    #20
24.04.2012 20:30

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Так, найденные баги поправил, часть пожеланий реализовал. Ещё погоняю денёк и выложу новую бету. Визулизацию можно улучшать до бесконечности, но пора и компилятором плотно заняться.

Неактивен

0    0    #21
28.04.2012 17:39

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Наконец-то получил от дезигнера логотип и иконки. Завтра утром вставлю в программу и выложу вторую бету.

Всем отличных наступающих праздников!

Неактивен

0    0    #22
29.04.2012 08:33

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Ну вот, версия 0.4.6 лежит там же http://sm.axmasoft.com/ru/

Краткий список изменений.

1. Текст в окне редактирования параграфа больше не мерцает.
2. Ползунок для изменения размера шрифта в окне редактирования.
3. Шорткаты для вызова команд и управление с клавиатуры в основном окне:
    Enter или Ctrl+N - создать параграф
    Ctrl+R - расставить параграфы
    Ctrl+S - сохранить историю
    Ctrl+O - загрузить историю
    Курсорные клавиши - скроллинг окна
    Esc - выход из программы
4. Закрытие окна редактирования параграфа по Ctrl+Enter
5. Увеличено пространство между иконками параграфов в основном окне (для более удобного растаскивания).
6. Многочисленные багфиксы.

Неактивен

0    0    #23
29.04.2012 12:33

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Спасибо, пожелания по делу. Постараюсь реализовать. А c undo возникли сложности. Во встроенных контролах его нет, поэтому придётся писать с нуля. А это только кажется простой задачкой. Но что-нибудь придумаю smile

Неактивен

0    0    #24
03.05.2012 18:06

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

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

Неактивен

0    0    #25
06.05.2012 08:16

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Делаю замену Twine (Tweebox)

Как обещал, выложил новую бета-версию http://sm.axmasoft.com/ru/

Краткий список изменений.

1. Список последних открытых файлов (recent files) доступен по кнопке открытия файла.
2. Там же находится пункт меню "Добавить" - содержимое добавленного файла будет объединено с текущим содержимым.
3. В окне редактирования параграфа переход по ссылке комбинацией Ctrl+click или Alt+click (изменённое содержимое текущего параграфа сохраняется!). Если параграфа с таким именем нет, то он создаётся.
4. Добавлен навигатор (вызов нажатием Tab или кнопкой тулбара). Позволяет быстро найти параграф, ссылку или переменную (объект) и открыть соответствующий параграф (двойной клик или Enter). При перемещении по списку пытается отобразить изображение текущего параграфа по центру экрана (не знаю, надо ли это, но отключить всегда можно).
5. Баг фиксы.

P.S. Undo займусь потом. Вначале компилятор.
P.P.S. Уехал на дачу до 9-го. Всем весёлых праздников!

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru