Новеллотык - движок для визуальных новелл

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Новеллотык - движок для визуальных новелл

Сообщение Сквозняк » 14.07.2018 15:07:32

Новеллотык, невизуальный движок для написания визуальных новелл на паскале. Собирает проекты для линукса и виндовса, для видео использует OpenGL, а для звука OpenAL. GUI написано на лазарусе, а основной код на free pascal в простых текстовых редакторах. Компиляция осуществляется кликаньем по нужному скрипту. Скрипты перед использованием нужно настраивать, прописывать пути к компилятору и модулям лазаруса - можно использовать не системные их версии.

В качестве примера кода, с движком поставляется небольшая мрачная демонстрационная игра о похождениях, от заката до рассвета, Буратины в наши дни и о встрече со старыми "друзьями". Все примеры уже собраны под 64 и 32 бит линукс и виндовс, нужно лишь запустить скрипт.
Изображение
http://i104.fastpic.ru/big/2018/0714/d6/_daa3ec90294a37a397e3c9b86a0d5ed6.png

Сылки для скачивания:
https://sourceforge.net/projects/novellotyk/files/
https://yadi.sk/d/eUx9cwtx3Z9tBF
В коде содержится симлинк на каталог с зависимостями. К сожалению архиваторы творят фигню с симлинками при архивации. tar.gz превращает ссылку в пустой каталог, а rar в каталог, в который скопированы файлы. Чтобы не исправлять симлинк, качайте rar архив, он не намного тяжелее.
Сквозняк
энтузиаст
 
Сообщения: 1109
Зарегистрирован: 29.06.2006 22:08:32

Re: Новеллотык - движок для визуальных новелл

Сообщение runewalsh » 14.07.2018 15:26:39

O_o Это порт с Бейсика или просто художественное видение? Жутковато запускать...
qwe.png
qwe.png (8.39 КБ) Просмотров: 9795
Аватара пользователя
runewalsh
энтузиаст
 
Сообщения: 578
Зарегистрирован: 27.04.2010 00:15:25

Re: Новеллотык - движок для визуальных новелл

Сообщение Сквозняк » 14.07.2018 16:27:35

Это замена реализации работы с множествами для игровой логики. Множества могут выходить за диапазон 0..255, а работать с такими числами надо. GOTO в таких системных функциях рулит и педалит.
Сквозняк
энтузиаст
 
Сообщения: 1109
Зарегистрирован: 29.06.2006 22:08:32

Re: Новеллотык - движок для визуальных новелл

Сообщение Cheb » 15.07.2018 12:02:28

Чтобы понять, где такая экзотика, как Goto, вообще применима - надо сначала на отлично освоить штатные методы, чтобы во сне от зубов отскакивало:
http://for-schoolboy.ru/Uslovnyiy-opera ... e-545.html
https://bigspawn.blogspot.com/2012/01/o ... -case.html

А то, что приведено - это не паскаль, это отрыжка бейсика.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Новеллотык - движок для визуальных новелл

Сообщение Сквозняк » 15.07.2018 15:25:06

А потом говорят что паскаль не для написания полезных программ а только для обучения. Ты сам то пробовал писать подряд по 10-20 if then else а потом разбираться как оно работает и вносить поправки в алгоритм. А названия переменных могут быть не очень короткими, мало того, это могут быть элементы структур и массивов в качестве индексов которых тоже выступают элементы структур и массивов :mrgreen: Такая конструкция грозит разрастись на килобайты. Сколько в ней ошибок налепишь пока отладишь :o А оператор case не позволяет повторять диапазоны рассматриваемых данных. И если пихать много логики внутрь его begin end блоков, то опять нужно goto чтобы прыгать куда надо.

Что характерно, про неработоспособность программы возражений и предложений нет. В ней разве что видеорежим по умолчанию можно подправить. И в принципе, на базе этого кода можно и рогалики лепить. Просто не использовать ненужный для сюжета функционал и добавить нужный, заменить неиспользуемые рисунки. Такая вещь как инвентарь, сохранение и загрузка "резинового" массива переменных пригодятся и там.
Сквозняк
энтузиаст
 
Сообщения: 1109
Зарегистрирован: 29.06.2006 22:08:32

Re: Новеллотык - движок для визуальных новелл

Сообщение Mirage » 15.07.2018 23:11:57

И почему у меня ни разу не возникло нужды в таком коде? Хоть процедуры-то можно использовать или это тоже часть заговора?
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: Новеллотык - движок для визуальных новелл

Сообщение Сквозняк » 16.07.2018 09:04:52

А много игр сейчас делают на паскале? Если из паскаля с процедурами выжать гото, то возникает вопрос, а почему тогда не пистон? Всё равно из конца в конец процедур летать нельзя. Это вопрос не про качество программы, а про фигню. Например, выяснилось что вин64 сборка не рабочая, кодек в графической библиотеке наверно прилинкован с неопределённой ссылкой или не тем типом данных и на загрузке видеофайла повисает, но на это всем пофиг - в рабочих сборках нашлось гото, вот где ужас:)
Сквозняк
энтузиаст
 
Сообщения: 1109
Зарегистрирован: 29.06.2006 22:08:32

Re: Новеллотык - движок для визуальных новелл

Сообщение Снег Север » 16.07.2018 13:00:28

Уважаю проделанный автором труд, но многое я сам бы никогда не стал делать так. В частности, сценарии и скрипты я бы делал только на pascalscript.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2990
Зарегистрирован: 27.11.2007 16:14:47

Re: Новеллотык - движок для визуальных новелл

Сообщение Cheb » 17.07.2018 10:50:51

У меня, лично, возражение против goto из-за читаемости. Это лапшекод, который потом, когда его логика из головы выветрится за давностью, а понадобится отлаживать или дорабатывать - вот тогда-то он и станет адом.

Все эти процедурные, классовые и прочие - это способы организации и оформления, чтобы код был расширяемым и сам служил своей документацией.
Сам в своё время сделал целую игру под ДОС с примерно такой же лапшой в качестве кода, и думал, что и так сойдёт, и до какого-то момента так и было, пока не упёрся в потолок сложности. С лапшекодом надо, чтобы вся логика умещалась в буфере мозга. Как только перерастает - ты в жопе у разбитого корыта, надо всё переделывать потому что развитие стало неподъёмно дорогим и мозг пухнет.
А у меня ещё с возрастом снижается способность мозга съедать слона целиком.

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

выяснилось что вин64 сборка не рабочая,

У меня нехорошее подозрение, что поддержка вин64 во фри паскале сделана на отвяжись.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Новеллотык - движок для визуальных новелл

Сообщение Сквозняк » 17.07.2018 15:58:48

Сложность программы растёт и без goto. Зависимость одного модуля от других делает своё дело. А в приведённом коде функции goto не создаёт лапшу вообще никак. Вся функция - набор переключателей, а лепить их на классах или куче суррогатов, то ещё извращение, читаемость и редактируемость сразу ухудшатся.
Сквозняк
энтузиаст
 
Сообщения: 1109
Зарегистрирован: 29.06.2006 22:08:32


Вернуться в Разработки на нашем сайте

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru