RSS
[>] Эха по rein
std.rein
hugeping(ping,1) — All
2022-12-24 20:05:29


Чтобы было место, где можно обсуждать вопросы движка, создал эху std.rein.

[>] rein: ищу соратников
std.rein
hugeping(ping,1) — hugeping
2022-12-24 20:09:21


Опубликовано здесь: https://www.linux.org.ru/forum/talks/17069851

Привет! Хочу представить наш новый проект -- rein. Пока он находится в альфа стадии, поэтому пишу в надежде найти соратников. Сейчас, в целом, всё работает, но продолжает меняться, так что пока релиза нет, но уже нужна обкатка.

Что такое rein?

Если кто-то слышал о таком движке как INSTEAD (а может быть, и о "камерном" reinstead), то постепенная эволюция и тяга к минимализму привели к появлению очередной "игрушки" для экспериментов. Кратко - это переносимое "микроядро" на Си + SDL2 для графики + Luajit в качестве языка программирования + интересный синтез звука (синтезатор пишет true-grue). Так же, если вам интересны такие вещи как: PICO-8 и TIC-80/uxn/Decker/instead/reinstead - то rein имеет что-то общее с каждым из этих проектов, но всё-таки у него свой путь и своя философия.

Более развёрнуто: https://github.com/hugeping/rein/blob/master/doc/api-ru.md

Скриншоты: https://github.com/hugeping/rein

На данный момент есть демки, включая порт моей старой игры с pico-8 с ужасным кодом, но тем не менее:

Emscripten вариант в браузере: https://club.hugeping.ru/lib/uploads/rein/rein.html?aadv.lua) -- (возможно потребуется кликнуть по canvas для звука)

Приложения-инструменты пишутся на самом rein. Сейчас есть: редактор, irc клиент для связи с разработчиками, редактор инструментов и трекер.

Если возникнут вопросы, можно придти на irc канал irc.oftc.net #rein или на станцию ping: https://club.hugeping.ru/std.rein/

Или соберите rein (из зависимостей только SDL2 и luajit) и запустите: ./rein irc - клиент автоматически подключит вас к чату.

Страница проекта на github: https://github.com/hugeping/rein

[>] Re: rein: ищу соратников
std.rein
vvs(ping,12) — hugeping
2022-12-25 13:23:22


hugeping> Так же, если вам интересны такие вещи как: PICO-8 и TIC-80/uxn/Decker/instead/reinstead - то rein имеет что-то общее с каждым из этих проектов, но всё-таки у него свой путь и своя философия.

Как ни странно, но и Smalltalk тоже имеет много общего с этими целями. Именно этим он мне в своё время и понравился. Но, в конечном итоге, обязательно появится кто-нибудь и захочет написать на нём реляционную СУБД и систему управления ЖД транспортом :)

Будем ждать новых релизов и удивительных результатов, особенно от будущих фанатов. Удачи.

P.S. Сам же я уже отошёл от всего практического и занимаюсь исключительно эстетикой математических идей. Но всё равно иногда любопытство толкает на эксперименты с разными вещами :)

[>] rein: Фаза 1
std.rein
hugeping(ping,1) — All
2023-01-14 10:06:12


Соратников найти не удалось, поэтому наполеоновские планы были скорректированы. Можно сказать, что проект сейчас находится на стадии "Фаза 1", которую я описываю так:

# Приоритет на личное использование

Средства разработки будут допиливаться не до состояния "продукта для всех", а до необходимого минимума. Например, не будет аналога splore pico8 (сетевого репозитория). Запуск "приложений" будет осуществляться из ком. строки (rein edit, например). Для создания игр этого достаточно, так как игра вместе с rein это приложение вида - распаковал и запустил.

Развитие инструментария - дело сообщества (инструменты пишутся на самом rein), но раз сообщество не удаётся собрать, то буду пользоваться чем есть.

# Андроид версии пока не будет

Для того, чтобы показать игру друзьям с телефонами есть emscripten вариант, который работает неплохо. Android версию собрать несложно, но опять же - на неё нужно время и силы. Зачем? Для личных нужд мне этого сейчас не требуется.

# Пиара не будет

Пока не будет никакого "выпуска rein". Потому что выпуск ничего не даст. В современном мире нужно заниматься работой с аудиторией, чтобы это принесло хоть какие-то плоды. На это у меня нет времени (да и желания). Пиар возможен, вероятно, после появления игр и появления хоть какого-то сообщества.

# Никаких новых фич до выпуска игры

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

# Готовность

Готов для личного использования автором rein и энтузиастами. :) В целом, все основные функции присутствуют и опробованы. Api меняться (значительно) не должно. github страничка доведена до "презентабельного" состояния: https://github.com/hugeping/rein

Эху std.rain я оставлю, пусть будет, если вдруг всё-таки будут обсуждаться какие-то вопросы.

# Мысли

В очередной раз стало понятно, что есть разные задачи. 1) сам движок 2) создание творческой группы людей, в которой этот движок мог бы занять своё место. В том числе и в статусе средства для обучения программированию. Тот самый "кружок программистов", ламповый уют и электронные журналы с подкастами :) И задача 2, возможно, даже гораздо сложнее, особенно если представить себе гипотетическую аудиторию rein :) В общем, сейчас я не вижу реальной "почвы", кроме собственного увлечения, а создать эту почву -- совсем другая история. Но, по крайней мере, часть работы проделана. :)

До связи!

[>] Re: rein: Фаза 1
std.rein
vvs(ping,12) — hugeping
2023-01-14 17:41:56


Интересный опыт, но мнне кажется, что тут опять просматриваются прямые аналогии со Smalltalk ;)

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

[>] zvon в rein, встречи
std.rein
hugeping(ping,1) — All
2023-08-10 07:21:31


Пётр Советов (true-grue) записал 1й ролик о звуковой подсистеме zvon (используется в rein). Демонстрируется работа в редакторе голосов voiced.

https://www.youtube.com/watch?v=F5-IFaDAxXo
P.S. Edited: 2023-08-10 19:45:20

[>] zvon в rein, встреча №2
std.rein
hugeping(ping,1) — hugeping
2023-08-10 19:45:11


Встреча 2
Различные типы осциляторов
Работа в трекере

https://www.youtube.com/watch?v=dPi6Kq5McnU

[>] rein: Фаза 1.5
std.rein
hugeping(ping,1) — hugeping
2023-08-15 10:50:06


Вернулся к разработке rein. Поводом послужили записи true-grue по звуку ii://PwbZN2b4jRkK1XjVCoMd , которые выявили некоторые ошибки - недоработки. Из основных изменений:

- теперь редактор поддерживает вертикальное выделение блоков (alt модификатор);
- редактор поддерживает режиме вставки overwrite (ins);
- shift-f2 - в редакторе, "сохранить как";
- множество улучшений в voiced, в том числе работа с вертикальными блоками и проигрывание ноты во время вставки (не для режима ins);
- исправления ошибок;
- sys.window_size() - позволяет получать реальные размеры окна в системе и адаптироваться под них;
- в редакторе можно включить режим scalable. В этом режиме он будет использовать ttf шрифт (нужно положить в data/) и адаптироваться под размер окна при изменении размера окна;
- новый boot. Теперь при запуске rein он показывает доступные приложения, а также .lua файлы из текущего каталога. Каждый такой файл можно запустить (z) или открыть на редактирование (x)
- добавлен 07 tutorial (музыка).

P.S.
Последние 256 сообщений из irc #rein теперь можно смотреть в gemini: gemini://hugeping.ru/reinlog.gmi

[>] Re: zvon в rein, встречи
std.rein
hugeping(ping,1) — hugeping
2024-10-17 20:37:27


Перезалил ролики на rutube.

https://rutube.ru/channel/39535814/

[>] Аналог tiled: более сложный редактор карт
std.rein
tuple(ping,54) — All
2024-10-19 08:15:45


Есть такая штука как tiled, которая является инструментом для создания двухмерных карт для игр. Позволяет создавать их как для изометрического вида, так и для вида сбоку (платформеры). Особенностью является возможность работы со разными слоями тайлов и объектами.

Собственно, появилась идея написать такое для rein с адаптированием под его простоту, то есть с возможностью экспорта в текстовый читаемый формат и минималистичный интерфейс. Хотелось бы услышать, надо ли такое? И если надо то, что хотелось бы увидеть в этом редакторе?

[>] Re: Аналог tiled: более сложный редактор карт
std.rein
hugeping(ping,1) — tuple
2024-10-19 08:45:32


tuple> Есть такая штука как tiled

Да, пользовался им когда делал игру "Дровосек"

tuple> Собственно, появилась идея написать такое для rein с адаптированием под его простоту, то есть с возможностью экспорта в текстовый читаемый формат и минималистичный интерфейс.

Если речь про карты, то в sprited (входит в состав rein) есть такой редактор. Вызывается он по клавише m если не ошибаюсь.

Можно посмотреть его, например так:

./rein edit demo/aadv.lua

Нажать F8, затем m.

Это вроде бы есть даже в документации. Соответственно, можно поменять карту в игре и оно само вставит изменения в исходный код игры.

P.S.

Что касается rein/red и вопроса "нужно/не нужно".

Возможно, я уже старею. Но у меня абсолютно нет никаких амбиций. За многие годы работы с открытыми проектами я так устал от работы "вдохновителя" и "лидера", устал от быстро разочаровывающихся что мой текущий "манифест" попахивает мизантропией:

Rein: личный проект для души. Это мой инструмент. Я написал на нём red, которым пользуюсь на работе. Я хотел сохранить свои старые и иметь возможность писать новые простые игры в духе pico-8. Так как это фактически микро ядро на C + Lua, на нём можно писать свои инструменты, создавать своё Api и так далее. В нём есть прикольный синтезатор. И даже сеть. Делайте с этим что хотите. Пишите, показывайте (или нет). Меня не надо спрашивать. А идей, что можно сделать с rein - масса. Например, написать новый INSTEAD на нём, написать нормальные инструменты (sprited всё-таки совсем простенький), написать репозиторий игр (аналог splore). Да мало ли что.

[>] Re: Аналог tiled: более сложный редактор карт
std.rein
tuple(ping,54) — hugeping
2024-10-19 09:00:20


hugeping> Если речь про карты, то в sprited (входит в состав rein) есть такой редактор. Вызывается он по клавише m если не ошибаюсь.

Да, он есть. Но если я не ошибаюсь, то он такой же простой как аналогичный в PICO-8: один слой, объекты только по сетке?

hugeping> Что касается rein/red и вопроса "нужно/не нужно".
hugeping> Возможно, я уже старею. Но у меня абсолютно нет никаких амбиций. За многие годы работы с открытыми проектами я так устал от работы "вдохновителя" и "лидера", устал от быстро разочаровывающихся что мой текущий "манифест" попахивает мизантропией:
hugeping> Rein: личный проект для души. Это мой инструмент. Я написал на нём red, которым пользуюсь на работе. Я хотел сохранить свои старые и иметь возможность писать новые простые игры в духе pico-8. Так как это фактически микро ядро на C + Lua, на нём можно писать свои инструменты, создавать своё Api и так далее. В нём есть прикольный синтезатор. И даже сеть. Делайте с этим что хотите. Пишите, показывайте (или нет). Меня не надо спрашивать. А идей, что можно сделать с rein - масса. Например, написать новый INSTEAD на нём, написать нормальные инструменты (sprited всё-таки совсем простенький), написать репозиторий игр (аналог splore). Да мало ли что.

Спешу сказать спасибо за rein. Эдакий младший брат love2d, но при этом в духе PICO-8, однако без ограничений "консоли".

[>] Re: Аналог tiled: более сложный редактор карт
std.rein
hugeping(ping,1) — tuple
2024-10-19 09:23:02


tuple> Да, он есть. Но если я не ошибаюсь, то он такой же простой как аналогичный в PICO-8: один слой, объекты только по сетке?

Да, просто массив тайлов. sprited конечно скорее как демка был написан. Хотя и сыграл свою роль при портировании aadv с pico-8. Инструмент обычно пишут под проект. Если есть на уме какая-то игра, где этот редактор пригодится -- с удовольствием бы посмотрел!

tuple> Спешу сказать спасибо за rein. Эдакий младший брат love2d, но при этом в духе PICO-8, однако без ограничений "консоли".

Спасибо за отклик. :)

[>] IDEC-клиент на rein
std.rein
tuple(ping,54) — All
2024-11-02 13:10:59


А что насчёт сабжа? :))

[>] Re: IDEC-клиент на rein
std.rein
hugeping(ping,1) — tuple
2024-11-02 13:24:31


tuple> А что насчёт сабжа? :))

Есть одна больная тема -- tls. Всё остальное - возможно. Но вот tls тянуть (даже упрощённые варианты) в rein как-то не очень. Была у меня мысль даже иметь что то вроде отдельного сервиса, который уже написан на каком-нибудь go и с которым уже может работать rein для работы по tls, но... Как-то это всё... Ну, хотя, может и норм. Надо думать.

В любом случае, я сейчас скажу страшную вещь (я надеюсь, что std.rein никто не фетчит), я не фанат idec! Не потому что она плоха технически (она достаточно хороша), а просто ... ну это просто технология. В плане контента мне интересней тот же gemini, там есть что почитать. А свой контент на своей станции мне читать не интересно. :) Социальный кипиш -- не интересен, даже если он внутри rein (idec). Так что по факту, мне лично idec клиент не нужен.

Но так или иначе, без tls это всё смысла не имеет. Нужно решать что-то с tls в rein.

[>] Re: IDEC-клиент на rein
std.rein
tuple(ping,54) — hugeping
2024-11-02 13:47:49


hugeping> Есть одна больная тема -- tls. Всё остальное - возможно. Но вот tls тянуть (даже упрощённые варианты) в rein как-то не очень. Была у меня мысль даже иметь что то вроде отдельного сервиса, который уже написан на каком-нибудь go и с которым уже может работать rein для работы по tls, но... Как-то это всё... Ну, хотя, может и норм. Надо думать.
hugeping> Но так или иначе, без tls это всё смысла не имеет. Нужно решать что-то с tls в rein.

Вот недавно к нам revoltech же пришёл в сеть. Он надеялся, что сообщения можно будет не только по http гнать, но и по gemini, и расстроился, когда узнал, что там только для чтения зеркало. Думаю, что стоит разработать стандарт и по обмену IDEC по другим протоколам: Gemini, FTP, SSH, Telnet, IRC^W (:D).

hugeping> В любом случае, я сейчас скажу страшную вещь: я не фанат idec!

Ужас какой!!1 :) Сеть интересной делает не протокол, а люди. А протокол притягивает интересных людей.

[>] Re: IDEC-клиент на rein
std.rein
doesnm(ping,55) — tuple
2024-11-06 15:10:33


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

[>] Re: IDEC-клиент на rein
std.rein
hugeping(ping,1) — doesnm
2024-11-06 15:29:20


doesnm> Так стоп
doesnm> Но ведь IDEC может работать по любому протоколу
doesnm> http - устоявшийся вариант

По http можно сделать, но меня удручает необходимость посылки authstr в открытом виде.
Вообще, я бы скорее смотрел на связку rein + ii-go. То-есть, на rein можно написать клиента, а забор отправку - всё делать через ii-tool из состава ii-go. Будет симпатично. И сделать это, вроде бы не сложно.

Но!

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

Во-вторых, мне всё время хочется сделать игру на rein но с элементами INSTEAD. У меня уже есть библиотека на lua в которой ядро инстеда, которое можно подключить в rein. Дальше нужна идея игрушки.

Но если кто-то другой напишет, я только за. :)

[>] Re: IDEC-клиент на rein
std.rein
tuple(ping,54) — hugeping
2024-11-06 16:42:35


> Дальше нужна идея игрушки.

По мотивам "Дознание пилота Пиркса"

[>] Re: IDEC-клиент на rein
std.rein
doesnm(ping,55) — hugeping
2024-11-06 17:51:11


hugeping> Вообще, я бы скорее смотрел на связку rein + ii-go. То-есть, на rein можно написать клиента, а забор отправку - всё делать через ii-tool из состава ii-go. Будет симпатично. И сделать это, вроде бы не сложно.
hugeping> Но!
hugeping> Во первых, сейчас там "комитет" будет шатать стандарт. Надо подождать месяц другой и посмотреть, будет ли выхлоп.

Если ты отделишь фетчер в ii-tool, то на комитет можно забить. Формат сообщений они ломать не должны. Ну и ты сейчас ни от какой сторонней ноды не зависишь

hugeping> Но если кто-то другой напишет, я только за. :)

Хочу написать реализацию парсера/конвертера в другой вид из ait/aio (сообщения в них по идее храняться одинаково, но в ait есть индекс)
Я думаю перенести с питона на луа проблемы не будет. Или мб сразу на луа сделать

+++ Никто не знает, как правильно. Так зачем же выдумывать правила?

[>] Re: IDEC-клиент на rein
std.rein
hugeping(ping,1) — doesnm
2024-11-06 17:57:06


doesnm> Хочу написать реализацию парсера/конвертера в другой вид из ait/aio (сообщения в них по идее храняться одинаково, но в ait есть индекс)
doesnm> Я думаю перенести с питона на луа проблемы не будет. Или мб сразу на луа сделать

Я не знаю что это за форматы (в чём их ценность). В ii-go просто строчки бандлов + индекс для быстрой выборки и поиска. Так что по идее из него/в него конвертер не проблема сделать. Но не оч. понял что это даст. Есть какой-то софт что работает с этим форматом?

[>] Re: IDEC-клиент на rein
std.rein
tuple(ping,54) — hugeping
2024-11-06 18:34:25


hugeping> Я не знаю что это за форматы (в чём их ценность). В ii-go просто строчки бандлов + индекс для быстрой выборки и поиска. Так что по идее из него/в него конвертер не проблема сделать. Но не оч. понял что это даст. Есть какой-то софт что работает с этим форматом?

С ними только caesium работает ;)

https://github.com/idec-net/caesium/blob/master/docs/formats.md

[>] Re: IDEC-клиент на rein
std.rein
doesnm(ping,55) — hugeping
2024-11-06 18:40:44


doesnm>> Хочу написать реализацию парсера/конвертера в другой вид из ait/aio (сообщения в них по идее храняться одинаково, но в ait есть индекс)
doesnm>> Я думаю перенести с питона на луа проблемы не будет. Или мб сразу на луа сделать
hugeping> Я не знаю что это за форматы (в чём их ценность). В ii-go просто строчки бандлов + индекс для быстрой выборки и поиска. Так что по идее из него/в него конвертер не проблема сделать. Но не оч. понял что это даст. Есть какой-то софт что работает с этим форматом?

Это есть в мануале цезия, но продублирую здесь от себя:
Есть несколько форматов для хранения эх: txt, aio, ait, ну и мб бандл
txt - есть две директории: echo и msg. В первой находятся файлы с именем эхи, а во второй файлы с айди сообщения которое содержит само сообщение
aio (all in one) - файл с именем эхи содержит содержит сообщения на каждой строке (вместо символа новой строки используется символ 15, но что-то не особо помогает)
ait - улучшенный aio и txt: в одном файле находится индекс, а в другом сообщения как в aio
Выходит что ты придумал свой :)
Как его назвать для своего парсера/конвертера?

Upd: есть еще sqlite, но в доках нет его спеки, а узнавать лень

+++ Никто не знает, как правильно. Так зачем же выдумывать правила?
P.S. Edited: 2024-11-06 18:42:50

[>] Re: IDEC-клиент на rein
std.rein
doesnm(ping,55) — tuple
2024-11-06 18:42:17


hugeping>> Я не знаю что это за форматы (в чём их ценность). В ii-go просто строчки бандлов + индекс для быстрой выборки и поиска. Так что по идее из него/в него конвертер не проблема сделать. Но не оч. понял что это даст. Есть какой-то софт что работает с этим форматом?
tuple> С ними только caesium работает ;)
tuple> https://github.com/idec-net/caesium/blob/master/docs/formats.md

Не совсем: iing и ii-php в файловой режиме используют txt, других применений не встречал

+++ Никто не знает, как правильно. Так зачем же выдумывать правила?

[>] Re: IDEC-клиент на rein
std.rein
hugeping(ping,1) — doesnm
2024-11-06 18:57:03


doesnm> Это есть в мануале цезия, но продублирую здесь от себя:
doesnm> Есть несколько форматов для хранения эх: txt, aio, ait, ну и мб бандл

А, понял. В принципе, ii-tool если забирать по одной эхе и каждую эху помещать в свою базу (можно опциями этого добиться) - получится очень похоже на aio. Ну или наоборот, из общей базы ii-go можно выдернуть бандлы эх. Но что практически это даёт? Ведь цезий и так хорошо работает со своими базами? Или чисто утилитарная штука "на всякий случай"? Ну то есть, как этот конвертер применять и где?

[>] Re: IDEC-клиент на rein
std.rein
doesnm(ping,55) — hugeping
2024-11-06 19:06:47


doesnm>> Это есть в мануале цезия, но продублирую здесь от себя:
doesnm>> Есть несколько форматов для хранения эх: txt, aio, ait, ну и мб бандл
hugeping> А, понял. В принципе, ii-tool если забирать по одной эхе и каждую эху помещать в свою базу (можно опциями этого добиться) - получится очень похоже на aio. Ну или наоборот, из общей базы ii-go можно выдернуть бандлы эх. Но что практически это даёт? Ведь цезий и так хорошо работает со своими базами? Или чисто утилитарная штука "на всякий случай"? Ну то есть, как этот конвертер применять и где?

1. Я хотел добавить еще форматы и посмотреть как оно себя вести будет (например Maildir)
2. Поиграться с скриптами которые выдают на выходе txt

+++ Никто не знает, как правильно. Так зачем же выдумывать правила?
P.S. Edited: 2024-11-06 19:10:24