[>]
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 тоже имеет много общего с этими целями. Именно этим он мне в своё время и понравился. Но, в конечном итоге, обязательно появится кто-нибудь и захочет написать на нём реляционную СУБД и систему управления ЖД транспортом :)
Будем ждать новых релизов и удивительных результатов, особенно от будущих фанатов. Удачи.
[>]
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. Насколько я понимаю, первый - это любительский проект, а второй вроде спонсирует какая-то фирма. Вообще, я замечаю, что большинство любительских проектов - целиком автор на себе везёт, а если надоело, то они обычно дают дуба (проекты, а не авторы, если что :)). Выживают же обычно только те, которые кто-то оплачивает. Ну, как и люди в общем.
[>]
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 (музыка).
Последние 256 сообщений из irc #rein теперь можно смотреть в gemini:
gemini://hugeping.ru/reinlog.gmi
[>]
Аналог 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.
Это вроде бы есть даже в документации. Соответственно, можно поменять карту в игре и оно само вставит изменения в исходный код игры.
Что касается 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, однако без ограничений "консоли".
Спасибо за отклик. :)
[>]
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
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
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, но в доках нет его спеки, а узнавать лень
[>]
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