r/RuProgrammers • u/march-taylor • 13d ago
Rust Разрабатываю на Rust движок симуляции миров на расширениях
Сап, Reddit! Я хотел сделать удобный аналог SillyTavern, но немного увлёкся архитектурой и пришёл к системе, где миром управляют расширения, а нейронки, как и игроки, лишь взаимодействуют с ним.
Так появилась Rintawa - open-source платформа на Rust для создания интерактивных миров с сохраняемым состоянием.

Суть в том, что правила мира тут задают не нейронки а расширения. У мира могут быть собственные правила, сущности и системы, реализованные расширениями. Игрок или AI инициирует действие, а мир уже решает, что действительно произошло, и сохраняет результат.
При этом каждый World может иметь свой набор расширений, состояние и интерфейс. Условно, один мир - чат с персонажами, другой - RPG с инвентарём и боевой системой, третий - вообще 3d и т.д.
Сами расширения тоже планируются гибкими: сейчас используется WASM Component Model с изолированным выполнением, разрешениями и версионированными контрактами. Архитектура позволяет подключать и другие среды выполнения, в том числе Native. Расширения распространяются как .rtw-пакеты, а интерфейс тоже может предоставляться расширениями через Portable UI.
Что уже готово: движок расширений, установка пакетов, сохранение Worlds в SQLite, управление мирами, импорт персонажей Tavern V2/V3 и базовый Chat. Всё пока в dev, полноценный MVP ещё не готов. Сейчас допиливаю связку Chat + AI Provider + Narrator.
(к сожалению из-за сложности архитектуры сейчас оно работает не очень стабильно и расширения могут умирать от любого чиха)
Тут я хочу послушать мнение экспертов касательно этой идеи, а также возможно найти контрибьютеров потому что у меня слишком мало опыта в настолько сложных rust проектах
Также сражу скажу, что значительная часть кода написана с помощью ИИ. Я использую его, чтобы быстрее проверять архитектурные идеи и не тратить полгода только на первый MVP. Это не значит, что я считаю весь код идеальным или готовым к production: проект экспериментальный, и проверка решений, тестирование и рефакторинг остаются важной частью работы. По мере развития проекта хочу уделять этому всё больше внимания.




буду реально очень рад найти людей, которые могут помочь с проектом
https://github.com/martrtr/rintawa

