creator cover Огурчик
Огурчик

Огурчик 

Ren'Py, Python, OpenGL, C/C++

5subscribers

29posts

goals2
1 of 10 paid subscribers
На покушать огурчики 🥒🥒🥒
$227.41 of $632 raised
Чтоб купить нормальный ПК и наконец начать осваивать другой движок (или начать писать свой, ибо на моём ноуте даже Vulkan не пашет)

About

Кем бы ты ни был, здравствуй!

Я — Огурчик, программист визуальных новелл, использующих в своей основе игровой движок Ren'Py. Здесь я минимум раз в неделю публикую исходники своих скриптов на Ren'Py или языках, которые могут исполняться в нём, притом могли бы быть полезны другим авторам в своих работах. 

Весь размещённый здесь код распространяется по лицензии CC BY-SA. Иные материалы (музыка, картинки) предоставлены в ознакомительных целях и не рекомендованы к повторному использованию в ваших проектах.

Это значит, что вы можете использовать код, полученный по подписке, в своих коммерческих и некоммерческих проектах, но только с указанием авторства (достаточно текстового файла в проекте игры). Также вы можете создавать производные работы на основе полученного кода (т.е. изменять его любым образом) и тем самым вы не обязаны указывать авторство, хотя оное всё ещё желательно.
Прочие материалы (музыка, картинки) могут иметь различное происхождение и различную лицензию, потому рекомендую помнить, что лично я не предоставляю право на использование таковых материалов.


Тем не менее, распространение исходников кода с целью перепродажи или использования кода не-подписчиками не приветствуется!

Я не зверь, а овощ, да и вы будьте не зверьми, а овощами. Со мной всегда можно договориться: если вы автор какой-либо ВН и хотите меня пригласить как разработчика в проект без жёстких условий (дедлайны, ежедневная работа), то можем обсудить это; если же вы просто мимокрокодил и у вас есть вопрос по Ренпаю, то вы вполне можете написать в личные сообщения в иной соцсети и на первые разы готов помочь за просто так, за знакомство. А раз так, то и вы будьте хорошими овощами и не распространяйте код, полученный с подписки, куда-либо.

Руководство по использованию кода:

Если доступ к посту уровня "Мимокрокодил }:-)":
1. Скачать архив / отдельный .rpy файл.
2. Переместить .rpy файл (или архив) в корневую папку (в папку game) с вашим Ренпай проектом (можно и не вашим, но это может усложнить последующий шаг), разархивировать архив по необходимости.
3. В желаемой вами части проекта написать jump <название_лейбла_из_файла>. В моих .rpy файлах и архивах чаще всего существует только один label, потому с названием лейбла вряд ли получится ошибиться, но даже так, чаще всего названиями label являются test/tests/tests3 и подобные. Суть в том, чтобы попасть в ту же среду (label), где исполнялся код. Также можете использовать любой иной способ достижения лейбла: замена названия тестового лейбла на start, переход в лейбл через консоль, использование renpy.jump_out_of_context, вызов call - в некоторых случаях можно использовать и такой переход в тестовый label.
5. ???
6. PROFIT!!! Можете редактировать код под ваши цели и использовать его.
Если доступ к посту уровня "Жаждущий приколов :-$":
1. Скачать архив с тестовым проектом, разархивировать его.
2. Запустить проект, просмотреть имеющийся код, комментарии в нём.
3. Частично или полностью экспортировать код из проекта в ваш Ренпай проект.

Если у вас возникли какие-либо трудности в использовании кода, вы обнаружили ошибку в коде, произошёл traceback/error или вы можете предложить улучшение кода, то смело пишите мне лично или в комментарии к посту — будем решать возникшую проблему.

Шейдер для освещения фонов

Данный код увеличивает яркость заблюренной версии изображения и применяет его на оригинальное изображение, создавая эффект освещения ярких мест на картинке, плюс позволяя менять переменные в баре, благодаря коду движка.
 
Код:
 
rpy
lightedbg.rpy4.23 Kb
Генерация подсветки из параметров
Инструмент для генерации обводки на текст для создания подсветки.
Level required:
Мимокрокодил }:-)
Дополнение к меню для выбора эффекта
Добавил к оверлей-меню для выбора матричного трансформа возможность добавлять шейдеры.
Level required:
Мимокрокодил }:-)
Подсветка для кнопок
В коде находится шейдер и экран-обёртка с 13+ параметрами, которые позволяют сделать красивую подсветку для любой кнопки.
Level required:
Мимокрокодил }:-)

Retrowave Ren'Py

Пару шейдеров, один для фона, другой для текстуры, коей выступает иконка движка, на саму текстуру предварительно применены матрицы цвета. 
Я не являюсь автором музыкальной дорожки этого видео и не присваиваю себе авторство.
Оригинальное аудио из этого видео: https://www.youtube.com/watch?v=DS8HbMFwjGY
rpy
retrorenpy.rpy5.80 Kb
Полупрозрачные шейдеры шума
В данном коде предоставлены 3 шейдера для шума, которые соответственно показаны в видео, а также шейдер красного тумана.
Level required:
Мимокрокодил }:-)
Фан-анимация в стиле видео-клипа на Ren'Py
Фан-анимация к The Echo Line. Код этой анимации прилагается.
Level required:
Жаждущий приколов :-$

AES256 шифрование для картинок и аудио в Ren'Py

Чтобы защитить свои ресурсы, сначала придумайте и запомните пароль-ключ из 32 символов, затем откройте cmd.exe (комбинация клавиш Win+R, затем cmd), распакуйте прикольчик.zip в C:\Users\User (вместо User ваше имя пользователя; можно и в другую директорию, но тогда перейдите в неё).
Далее напечатайте в консоли: aes.exe "путь_с_ресурсами" "путь_где_будут_зашифрованные_файлы" (пример: aes.exe "C:\Projects\assets" "C:\Projects\trash").
В консоли будет отображаться шифрование каждого файла, а также возможные ошибки.
Раз вы зашифровали все свои ассеты, то можете переместить оригиналы из проекта, а на их место поставить зашифрованные версии.
Теперь, чтобы движок понимал, как из этих файлов получить картинки и аудио, снова откройте cmd.exe и впишите: python generator.py (у вас должен быть предварительно установлен python); если всё прошло успешно, то у вас создастся aes.dll в той же директории, где вы распаковали aes_template.dll и generator.py.
Можете теперь переместить prikol.rpy и aes.dll в директорию вашего проекта (если aes.dll находится не в корневой директории, то зайдите в prikol.rpy и поменяйте путь, указанный в третьей строке).
Поздравляю, ваши ресурсы игры теперь нечитаемы, но они отображаются в игре.
Также, вы можете внести некоторые изменения в prikol.rpy, чтобы создать два разных aes.dll с разными ключами, и указать соответственно разные .dll файлы для дешифрования картинок и аудио соответственно, но это уже по вашему желанию.
Буду честен, опытный программист, знакомый с низкоуровневыми языками, сможет относительно легко получить оригиналы ваших ресурсов, особенно если у него будет файл generator.py, потому эта защита не самая надёжная, но для кого-то это лучше, чем простой .rpa архив.


Архив:

zip
прикольчик.zip933.08 Kb
aes.exe - шифратор ассетов, aes_template.dll - обёртка для создания aes.dll, generator.py - программа для создания aes.dll, prikol.rpy - интерпретатор зашифрованных файлов в Ренпае.


Ограничения:

  • 1. Обфусцированные ассеты не совместимы с .rpa архивами, поскольку используют абсолютно разные методы поиска ресурсов, то есть вам не стоит делать build.archive() или build.classify(), если вы будете использовать мой шифровщик-интерпретатор, ибо в архиве файлы просто не найдутся.
  • 2. В текущей версии совместимость существует только под Windows, поскольку только под него и писалось. Никаких жёстких зависимостей от Винды там правда нет, если вас интересуют исходники, то напишите, я отправлю, и вы сможете скомпилировать под нужную вам ОС.
  • 3. Поддерживается только шифрование картинок и аудио, поскольку в Ренпае отсутствует загрузка видео из чистых байтов (экзотичные ассеты, вроде GLTF моделей, также как и шрифты, не рассматривались).
  • 4. Если у вас в названии ассетов есть кириллица, то в обычном cmd.exe те просто не зашифруются.

Эллипсы

Когда размышлял о том, как бы нарезать картинку чтобы сделать анимацию красивой, мне пришла идея об использовании эллипса как маски: всё, что внутри, имеет одну анимацию, всё, что вне, другую. Идея в целом не лишена смысла, но чтобы её хоть как-то реализовать надо сначала иметь хоть что-то для генерации эллипса, ибо Solid() существует только для прямоугольников.
Данные в файле шейдер с функцией-обёрткой позволяют вам генерировать эллипс желаемой ширины и высоты (через xysize) и позиции (т.к. используются все свойства Transform). Также вы можете передавать в него цвет в HEX или в RGB/RGBA в нормализованном (0.0-1.0) или классическом виде (0-255) или в HSL/HSLA (только в классическом виде).
rpy
ellips.rpy3.29 Kb
Subscription levels5

Мимокрокодил }:-)

$1.27 per month
Даёт доступ к большинству простых скриптов, чаще всего сделанных в паре отдельных файлов, а не в тестовом проекте, для какой-либо одиночной цели.

Жаждущий приколов :-$

$6.4 per month
Даёт доступ ко всем скриптам, выложенным специально для бусти, в том числе к тем, на разработку и отладку которых уходили месяцы. 

PoMoGiTe-bro ◉⁠‿⁠◉

$7.6 per month
Даёт доступ ко всем преимуществам прошлых подписок. Помимо прочего, даёт доступ в ТГ-чат, где можно проконсультироваться со мной в решении какого-либо бага/трейсбека/иной ошибки в вашем проекте.

Тот самый разраб ༼⁠ ⁠つ⁠ ⁠◕⁠‿⁠◕⁠ ⁠༽⁠つ

$12.7 per month
Даёт возможность пару раз в месяц написать мне ТЗ для некоторой вашей идеи, реализуемой в виде кода, — тестирование, применение, отладка, багфикс — всё это реализуется мной, вплоть до тех пор, пока результат не станет желанным. При плодотворном сотрудничестве готов реализовать и больше идей:3
Также включает доступ ко всем скриптам.
Subscription Spots Are Limited

Насяльника ᕙ⁠(⁠ ⁠:⁠ ⁠˘⁠ ⁠∧⁠ ⁠˘⁠ ⁠:⁠ ⁠)⁠ᕗ

$127 per month
Даёт все преимущества прошлых подписок, с одним лишь уточнением, что я иду кодить вашу новеллу и притом буду стараться реализовать все предложенные вами идеи — различные визуальные эффекты, мини-игры, разветвлённый сюжет, уникальные механики и прочее-прочее, что может придти вам в голову.
(Подписка ограничена для одного человека.)
Go up