NScripter

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
NScripter
Изображение логотипа
Тип игровой движок
Разработчик Наоки Такахаси
Поддерживаемая ОС Windows
Написан на языке C++
Лицензия Freeware
Последняя версия 23.02.2018
nscripter.com

NScripter — игровой движок для создания визуальных новелл. Написан Наоки Такахаси (яп. 高橋 直樹 Takahashi Naoki). Название состоит из первой буквы имени автора движка — «N», и слова «Scripter», обозначающего, что NScripter как наследник движка Scripter3 авторства Такахаси Атару (яп. Takahashi Ataru) частично унаследовал его синтаксис.

Благодаря своей простоте (использует ассемблер-подобный скриптовый язык) и весьма либеральной лицензии (бесплатен для коммерческого использования) стал популярен в Японии. Использовался для ряда коммерческих проектов: HaniHani, Tsukihime, Binary Pot, Higurashi no Naku Koro ni и т.д.

ONScripter
Изображение логотипа
Тип игровой движок
Разработчик Ogapee
Поддерживаемые ОС Windows, Linux, macOS
Написан на языке C++
Лицензия GPL
onscripter.sourceforge.jp

Оригинальный NScripter был доступен только для Microsoft Windows и поддерживал только японский язык. Поэтому были написано несколько клонов. Самым популярным стал ONScripter — движок с открытым исходным кодом, базирующийся на графической библиотеке SDL. Благодаря ONScripter’у у пользователей появилась возможность воспроизводить игры и новеллы, созданные на движке NScripter, на других платформах. В частности, существуют порты ONScripter для macOS, Linux, Sega Dreamcast, Sony Playstation 3, Sharp Zaurus, PlayStation Portable и Apple iPhone.

ONScripter-En
Изображение логотипа
Тип игровой движок
Разработчик Mion
Ключевой программист Peter Jolly
Дата выхода 5 сентября 2006
Поддерживаемые ОС Windows, Linux, macOS
Написан на языке C++
Лицензия GPL
Последняя версия 20110930 (30 сентября 2011)
web.archive.org/web/2018…

Поскольку ONScripter, являясь чистокровным клоном, унаследовал те же недостатки, что и его «прародитель», англоязычной группой фан-переводчиков под названием insani были разработаны патчи, добавляющие поддержку 1-байтовых символов наравне с Shift-JIS, а также корректных переносов строк (функция отсутствовала потому, что в японском языке нет переносов как таковых), которые впоследствии вошли в официальный дистрибутив ONScripter’а. Несмотря на это, группа продолжала поддерживать собственную ветку, названную ONScripter-En. В 2006-м году insani передали разработку ветки Peter «Haeleth» Jolly.

Proportional ONScripter

[править | править код]
Proportional ONScripter
Изображение логотипа
Тип игровой движок
Разработчик Mion
Ключевой программист Peter Jolly
Дата выхода 6 сентября 2006
Поддерживаемые ОС Windows, Linux, macOS
Написан на языке C++
Лицензия GPL
Последняя версия 20111009 (9 октября 2011)
Первая игра на движке «Tokoyo no Hoshizora (русская версия)» (15 ноября 2007)
web.archive.org/web/2018…

В 2006 году была начата работа над юникод-ориентированной веткой ONScripter'а, названной «Proportional ONScripter», или просто «PONScripter». В отличие от ONScripter’а, Proportional ONScripter поддерживает скрипты, кодированные в формате UTF-8, а также множество дополнительных возможностей, включая:

  • различные стили текста — курсив, подчёркнутый, зачёркнутый и т. д.
  • подключение до 8 различных файлов шрифтов (системные по-прежнему не поддерживаются)
  • отсутствие ограничений на формат шрифтов: поддерживаются растровые, OpenType и т. д.
  • пропорциональные шрифты наравне с полноширинными и моноширинными (отсюда и название ветки)
  • локализация интерфейсных строк

Всё это дало возможность перевести новеллы, изначально выпущенные на движке nScripter, на все языки мира, включая русский.

В конце 2009-го у англоязычной ветки ONScripter-En и Proportional ONScripter’а сменился разработчик. Им стала Mion, глава фанатской локализаторской группы Sonozaki Futago-tachi, в своё время выпустившей перевод новеллы-первоисточника Higurashi no Naku Koro ni.

Представляет собой небольшую модификацию-патч, добавляющую поддержку скриптов в кодировке Windows-1251 вместо Shift-JIS, использующегося в исходной версии оригинальной ветки ONScripter-En.

ONSlaught
Изображение логотипа
Тип игровой движок
Разработчик Helios_VMG
Дата выхода 30 декабря 2008
Поддерживаемая ОС Windows
Написан на языках C, C++, Yacc
Лицензия BSD
Последняя версия 20111126 (26 ноября 2011)
Первая игра на движке «Tsukihime (русская версия)»
sourceforge.net/projects…

В начале 2009 года написан как альтернатива ONScripter’у. Частично включает возможности Proportional ONScripter’а, а также большой список поддерживаемых кодировок для скриптов наравне с Shift-JIS и UTF-8. Также позволяет растягивать картинку низкого разрешения до полноэкранной, не меняя при этом само разрешение экрана. На момент написания статьи, совместимость с существующими новеллами низкая, отсутствует ряд необходимых функций.

Факты о локализациях новелл

[править | править код]

ONScripter-En использовался практически во всех англоязычных локализациях nScripter-новелл, Из-за того, что Наоки Такахаси добавил поддержку 1-байтового текста лишь в последней версии своего движка, была упущена потенциальная переводческая аудитория.

Proportional ONScripter был использован в русскоязычных локализациях бесплатных кратких новелл Tokoyo no Hoshizora, Natsu no Hi no Resonance, Negaeba Kitto, в официальной французской версии Higurashi no Naku Koro ni, а также в нескольких неофициальных портах коммерческих новелл.

ONSlaught был использован в русскоязычной локализации Tsukihime.

Пример простейшей «программы» для среды nScripter, выводящей «Hello, world!»
*define

game

*start
setwindow 26,344,26,5,22,22,0,0,0,1,1,#2266BB,0,320,639,479

`Hello, world!\

end
Пример простейшего главного меню с фоном (с комментариями)
*define

effect 2,10,1000 ;Назначаем эффект 2 10-м эффектом: "появление из темноты", с длительностью в 1 секунду

game

*start

bg "image.png",2 ;Открываем фоновое изображение с указанным эффектом

locate 10,12 ;Располагаем текст, кнопки

select "Start Game",*gamestart ;Прописываем кнопку

*gamestart ;Игра начинается

setwindow 26,344,26,5,22,22,0,0,0,1,1,#2266BB,0,320,639,479 ;Располагаем границы текста, размер шрифта и т. д.

bg "fon.jpg",2 ;Выставляем для игры фон

`Hello, world!\ ;Выводим текст

end