Двач.hk прислал битые данные.
Вы видите копию треда, сохраненную 5 сентября в 22:45.
Можете попробовать обновить страницу, чтобы увидеть актуальную версию.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Capture d’écran 2025-08-11 à 00.15.21.png521 Кб, 2204x1842
mojiverse 1045963 В конец треда | Веб
Запилил неделю назад и довёл до ума по фидбеку из b игру гибрид pxls.space и "Game Of Life". Вместо пикселей и клеток - эмоджи.

Игроки ставят эмоджи на онлайн доске, а игра каждую секунду проводит симуляцию. Если у эмоджи меньше 2 соседей он умирает от одиночества, если больше 3 - от перенаселения. Если вокруг пустой клетки ровно 3 змоджи, то в ней тоже спаунится эмоджи (определяется по большинству соседей).

Для защиты от вайпов у каждого игрока есть баланс эмоджи, которые он может поставить и который постепенно растёт пока вкладка с игрой открыта и активна.

Центр поля защищён от изменений игроками - проникнуть туда можно лишь строя всякие глайдеры и прочие паравозы (см. материалы по классической игре "Жизнь").

Есть статистика по количеству живых эмодзи на всей доске и отдельно в центре - открывается по кликам по соответствующим верхним углам страницы.

Есть возможность создавать свои шаблоны размещения змоджи и потом быстро их расставлять в один клик.

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

Бек написан на Rust и хостится на домашнем сервере (за CloudFlare), фронт написан на TypeScript, а обмениваются они данными по вебсокетам и протобафу. Спрашивайте свои ответы :-)

Хочу протестировать под реальной нагрузкой, а также открыт к любой критике и фидбеку.

ИГРАТЬ: https://mojiverse.art/
2 1045967
Актуальный тред в b: https://2ch.hk/b/res/323244888.html (М)
3 1046472
бамп лучшая игра двача эвер нахуй
4 1046537
Немного технических деталей.

Для защиты от вайпов используется механизм Proof Of Work. Скрипт пытается найти SHA-512 с N нулевых бит и от заданного сервером префиксом хешируемого значения. Сложность подобрана таким образом, чтобы на стандартном ноутбуке решение находилось быстрее, чем за 0.5-1 секунды.

Результат отправляется на сервер, он валидирует и при успехе выдаёт JWT токен. Клиент сохраняет полученные токены в список, пока не достигает максимума в 128 токенов.

Worker убивается, если теряется подключение с сервером или вкладка уходит в фон, чтобы не тормозить и не жрать зря батарейку.

При установке эмодзи клиент должен отправить столько токенов, сколько хочет поставить змодзи (использованные токены забываются клиентом). Сервер валидирует токены и добавляет их в список поюзанных (второй раз уже не примет) в Postgres. А затем ставит столько эмодзи из списка, сколько валидных токенов было приложено.

Таким образом нельзя написать бота, который будет ставить 100500 эмодзи в секунду и завайпает доску, ведь даже если открыть 1000 соединений с сервером всё равно нужно откуда-то брать токены, а скорость их производства упирается в количество CPU в распоряжении пользователя.
5 1046544
>>46537
Нихуясе бе! Так всё это время я майнил твои хэши на своем процессорочке

АЛСО СДЕЛАЙ может количество онлайна типа сколько прям щас со мной играет? это интересно понимать имеет ли смысл борьба или продолжать чиллить
6 1046560
>>46544
Добавил. Но онлайн 1-2 чела 90% времени
7 1046597
>>46472
лучшая игра двача эвер
8 1046638
26 эмоджи в статистике это значит вероятно +-26 игроков всего сыграло?
9 1046639
>>46638
1 человек может ставить любое количество эмодзи. Скорее нет, чем да.
10 1046640
>>46639
Сейчас из 26 3 моих
11 1046674
>>46639
Но клетки то с трудом умирают, так что получается 26 это максимум, а судя по тому что можно ставить любые эмодзи, то юзеров меньше 26. ну итого где то 15 наверное уникальных
12 1046675
бля вот бы чат еще в игру!!!!! украинец ахуел пришел все захватил
13 1046676
>>46638
Вчера 43 уникальных посетителя было согласно гугл аналитике, сегодня пока 19. Один человек может ставить разные эмодзи.
14 1046678
>>46675
ЭТА НИМОЖЫД БЫТ. ВСЕ НА ФРОНТ В ЭМОДЗИ ИГРУ ПЕРЕМОГАТЬ
15 1046679
идея: СПАМ РЕЖИМ где мало того что шаблоны не сбрасываются после клика, так еще и майнинг облегченный т.е эмодзи копятся быстрее намного. чисто динамичный режим забрасывать шаблонами мид ибо заебешься каждый раз его в обычном нажимать но зато антиспам да
16 1046681
>>46678
я красный ебу как могу
image.png111 Кб, 362x646
17 1046682
ЕБАТЬ ОН ТАМ СПАМИТ ЖАЛЬ ЗАСКРИНИТЬ НЕ СМОГ ИЗ ЗА МАЙНИНГА ОПА ПРОЦ НАГРУЖЕН ЗАДЕРЖКА ПЗДЦ. СТРУКТУРЫ ЕБАНУТЫЕ У НЕГО захватывает только так
18 1046685
>>46682
этот парень имеет умение
19 1046687
>>46537
Так от чего зависит скорость восстановления то? Ну для глупеньких. Типа с момента захода на страницу начинается счетчик сколько эмодзи я ставлю и чем больше тем сложнее восстанавливатся будет? Тогда я перезапущу страницу не? не понял короче
image.png34 Кб, 776x352
20 1046688
>>46681
готово
21 1046690
>>46688
нечестно
22 1046691
>>46690
чому?
image.png412 Кб, 1914x950
23 1046692
нихуя себе тут зум блять на такие жопы и подрочить можно
24 1046693
>>46692
ахаах сука. эбони
25 1046695
ахахах хуя ты его тактику спиздил я видел
26 1046696
>>46679
И ЧТОБЫ СКОРОСТЬ БЫЛА БЫСТРЕЕ ну и карта меньше видимо чтоб работало
image.png15 Кб, 174x166
27 1046706
нихуя давно эта эмодзи существует? майкрософт права на скрепыша что ли продала
28 1046712
бля ебать я всевозможных эмодзи наспавнил подштанув свою основную популяцию красных
29 1046717
всё ухожу с центра. краснокруглик и брат хихлик, ваш ход
image.png72 Кб, 558x917
30 1046718
>>46560
В лидербордах прикольно было бы если графа online типа активен ли юзер этого эмодзи щас или нет чтоб знать с кем сражатся
31 1046719
>>46718
так это не пользователи, а эмодзи. можем вместе один форсить
32 1046720
>>46717
пока мой красный топ1 я буду развивать популяцию точек
33 1046722
>>46719
А блять точно...
34 1046723
оп, пик точек на поле же считаешь? интересно сколько максимум было
35 1046724
>>46723
total alive emoji? сегодня мне кажется рекордно 13к было хз
36 1046725
>>46724
ага оно. вот тоже показалось, что сегодня пик, предыдущие дни 10-11к было
image.png93 Кб, 808x626
37 1046728
румын или молдованин тоже мощный тип глайдеры пускает
38 1046729
бля оч живучую хуйню сконструировал, точки будут править миром
image.png27 Кб, 544x373
39 1046734
ИЗИ мои двое в топе можно и спать всем спасибо
40 1046735
>>46734
💪🏻
41 1046775
Бан за АФК что ли есть? На минуту отлучился, вылетело и теперь не открывается
42 1046788
>>46775
Банов за АФК нет. И вообще банов. Но сайт за cloudflare
image.png53 Кб, 540x700
43 1046829
ебать за ночь популяции упали! единственное не понимаю как мой красный все еще топ1 держится вообще лютый выживач
45 1046961
>>46900
Ожидаемое противостояние
46 1046973
>>45963 (OP)
Пробовал и с ПК, и с телефона - пишет "you're offline".

В консоли браузера на ПК ошибка "illegal string".

Ты б лучше не сжимал код в одну строку...
47 1047069
Неблохо но нужно отражение паттернов по вертикали/горизонтали. И поиск эмоджи, или пипетка
48 1047093
ДОБАВЛЕН ЧАТ

ДОБАВЛЕН ЧАТ

ДОБАВЛЕН ЧАТ
49 1047096
>>47093
Ошибку пофикси...

>Uncaught DOMException: An invalid or illegal string was specified

50 1047098
>>46973
>>47096
Покажи скрин консоли
Capture d’écran 2025-08-12 à 20.26.12.png85 Кб, 1154x610
51 1047100
>>46723
Максимум было 15068 эмодзи на доске одновременно и было это 10 августа в 3 часа ночи
Безымянный.png8 Кб, 500x355
52 1047102
>>47098
Если что, браузер почти 2 года не обновлял. Но 99.99% сайтов работают без проблем пока что, поэтому обновляться не буду. Не верю, что для какой-то квадратно-гнездовой JS игрушки нужны самые последние обновления...

GUI работает - по крайней мере, частично. Окна справки, выбора эмодзи и пустые списки лидеров открываются. Ошибка возникает где-то в коде подключения к серверу, из-за чего веб-морда считает, что она оффлайн.
53 1047107
>>47102
Я указывал адрес подключения веб-сокета относительно корня сайта. Заменил на полный адрес (с доменом, протоколом и т. п.). Может быть поможет. Попробуй обновить страницу.
54 1047108
>>47107
О, круто, заработало. Спасибо. Но почему у других работало, а у меня нет?..
Capture d’écran 2025-08-12 à 20.40.38.png200 Кб, 1604x1044
55 1047111
>>47108
Потому что поддержка относительных url подключений веб-сокетов появилась позже, чем сами веб-сокеты. Смотри вторую строчку в таблице. Если твой браузер старее, то там не работают относительные url для веб-сокетов, надо всегда указывать абсолютные.
image31 Кб, 404x541
56 1047155
Сравнял силы ❤️ с ☢️.
image53 Кб, 403x959
57 1047162
>>47155
И превзошёл!
Screenshot20250812213801Chrome.jpg532 Кб, 1080x2316
58 1047168
Сегодня был зафиксирован рекорд в 12 одновременных юзеров онлайн
image22 Кб, 406x382
59 1047169
>>47162
И даже центр занял. ❤️
60 1047172
>>47155
>>47162
>>47169

что за легенда
61 1047201
>>46537

>чтобы на стандартном ноутбуке решение находилось быстрее, чем за 0.5-1 секунды.


>скорость их производства упирается в количество CPU в распоряжении пользователя.


Несправедливая система... У меня один токен порой несколько секунд никак не сгенерируется, а тут кто-то спамит сотнями эмодзи в одну линию каждые несколько секунд. Какой смысл в такой защите, если она дискриминирует игроков по железу?
62 1047205
>>47201
кто спамит сотнями в неск секунд? ни разу не видел. до обновления рисования точек и шаблонов даблкликером разве что рисовал линии, но это занимает тоже много время не пара сек
63 1047223
>>47162
ебать день не играл точки мои до нуля истребили. столько новых лиц
64 1047227
>>47223
анон, мы поливали их и прятали от солнца, но они не выжили
65 1047287
dynamite - 01.mp415 Мб, mp4,
694x720, 0:29
66 1047321
67 1047325
баг. когда потратил все 128 они редактироваться перестают. то есть, при клике на поставленную точку она не исчезает
68 1047326
>>47325
при выборе шаблона на 128 можно так же не редактируются точки
Capture d’écran 2025-08-13 à 17.27.23.png321 Кб, 1264x1160
69 1047416
>>47325
>>47326
Пофиксил, проверяйте

А ещё добавил настройку лимита токенов установки эмодзи, раз кому-то даже 128 мало.
kvadratik.mp46,6 Мб, mp4,
2840x1992, 0:11
70 1047440
>>47416
🥂

ещё баг. нарисовал квадрат ровно по границам центра и он установился успешно. но шаблон с ним не ставится
71 1047450
>>47416

>раз кому-то даже 128 мало


Ээээ?????? WTF?????

Я думал, этот лимит нужен для баланса сил игроков. Установка большого числа точек одновременно - это серьёзное преимущество перед установкой малого количества много раз. Зачем кто-то будет сам себя ограничивать, ставя лимит меньше максимального?

Алсо, ты используешь системный шрифт? Не лучше отдавать кастомный шрифт со своего сайта? На ПК множество эмодзи у меня неправильно выглядят. И разница во внешнем виде эмодзи может давать преимущество на отдельных платформах.
72 1047460
>>47450
токены уравновешивают шансы как я понимаю. майнинг вечный на эти 1к штук
73 1047462
>>47450
Баланс в том, что добыча эмодзи токенов занимает время. Ну поставишь ты даже 1024 точки за раз, но потом тебе придётся долго ждать, пока восстановится 1024 токена. Если на твоей системе 128 токенов добываются за 2 минуты, то 1024 токена будут добываться за 10 минут. С другой стороны, я заинтересован в том, чтобы игроки строили всякие сложные механизмы.

Ограничение количества эмодзи же нужно для экономии энергии, например, чтобы мобилка или ноут не высаживали зря батарейку майня бесконечно токены, когда ты просто посмотреть зашёл или не ставишь больше пары десятков эмодзи за раз.

Насчёт эмодзи, я использую шрифт Noto Color Emoji, который лежит рядом с HTML и прочими файлами сайта. Но некоторые браузеры позволяют отключать возможность переопределения шрифта сайтом и иногда проскакивают скрины с другими эмодзи. Но я не думаю, что это даёт преимущество. Noto Color Emoji достаточно контрастный. Если в системном шрифте однотипные эмодзи, это может сделать игру сложнее, но не проще. Но тот кто запретил кастомные шрифты сайтам, вероятно, готов к последствиям, либо добавит игру в исключения, если ему не понравится.
kubik.mp41,9 Мб, mp4,
750x760, 0:19
74 1047464
75 1047468
>>47462

>потом тебе придётся долго ждать


Тебе в любом случае ждать нужно, игра-то в реальном времени происходит. Поставить 1000 раз в 10 минут выгоднее в том плане, что можно сделать сложный механизм или разрушить сразу несколько чужих.

Ну и вообще. Какой практический максимум одной разновидности эмодзи на доске? Я видел около 5к максимум. С лимитом в 128 за раз добраться до 1к достаточно сложно. С лимитом 1к добраться до 1к возможно за один ход, а дальше будет ещё больше.

Расширять размер доски не планируешь?
76 1047475
>>47468

> Какой практический максимум одной разновидности эмодзи на доске


чуть чуть до 10к не хватило ещё до последних обновлений. стояла цель наспамить их. а так 5к легко держится, если играешь само по себе
77 1047476
>>47475

> 5к


ладно диапазон 3-5к. для 5 надо всё-таки ставить не только около центра
78 1047485
>>47440
Вы охуели это что за шаблоны на пол карты лол? При мне такой хуйни не было, все ставили до ограничения сколько позволяло токенов
79 1047487
>>45963 (OP)
Кстати оп признайся что мы тебе там майним биток эфир? под видом "токенов" шоб в европке смог дальше жить
80 1047488
>>47485
не стоит вскрывать эту тему
image.png108 Кб, 874x936
81 1047524
10к
82 1047537
>>47524
красавчик че кто побьет рекорд?
image.png20 Кб, 678x214
83 1047540
15к мне кажется сделать не реально
84 1047839
ОБНОВЛЕНИЕ

Начат РЕДИЗАЙН (спасибо одному из анонов из b за проект в figma)

Добавлена возможность быстро ставить последний использованный эмодзи

Если чат скрыт, то у его кнопки отображается количество новых сообщений

Понерфил макс количество токенов до 256, потому что снизилось разнообразие эмодзи на доске, потому что вы слишком эффективно выпиливать конкурентов начали
85 1047840
>>47839
о, круто. сразу микро улучшения по юиксу приехали
86 1047841
>>47839
баг. после обновления на новую версию. если не выбрать в настройках макс кол-во токеов (они там пустым дропдауном отображаются), то за 256+ накапливается. надо видимо ставить автоматом значение по-умолчанию пользователям
image.png292 Кб, 1914x954
87 1047892
фиксь
image.png40 Кб, 618x488
88 1047893
лол а че случилось с игрой? вайп что ли был? куда все клетки подевались какие нах 5 эмодзи было раньше под 30 минимум вы че там?
89 1047900
>>47893
Вайпов не было, вы просто доигрались
90 1047946
>>45963 (OP)
Оп когда уже покажешь ускоренный таймлайн развития карты с самого начала запуска игры? Я не поверю если запись не ведется иначе это эпик фейл бля столько контента проебанно
91 1047956
>>47946
он тренирует ии на нас как на подопытных мартышках. лучше тебе не знать для чего.
92 1048060
>>45963 (OP)
Судится готов? Это название уже занято даже игра такая есть
93 1048091
>>48060
Ссылку покажи хоть
94 1048094
>>48060
Что из этого ты имеешь в виду?
- MojiVerse - ноунейм с ворованными стикерами;
- moji.cool (mojiverse1 на ютубе) - ноунейм соцсеть;
- Moji verse (mojiverse на ютубе) - ноунейм аниматор;
- Mojoverse - ноунейм "web3" развод с NFT токенами;
- Mojo/Mojoverse - ноунейм урод от ноунейм марвел.
Наверняка что-то ещё есть, лень искать.

Алсо, названия в разных сферах могут совпадать:
- закусочная "Microsoft" - можно;
- компьютерная фирма "McDonald's" - можно;
- завод по производству кондомов "SpaceX" - можно.
И т.д.

У игр вообще часто имена совпадают, см. Steam.
95 1048100
>>48094
Погоди а как это в разных сферах можно?? Это же нарушение ап по использованию защищённой марки, хоть в какой сфере используй - это же один хуй использование в своих интересах чужого бренда. Ни разу не видел чтоб паразитировали рандомные типы на брендах это же сразу в суд заебешьсч только так

алсо пытался в гугле твою игру найти - хуй. но название популярное сразу предлогало кучу вариаций с ним которые гуглили
96 1048101
>>48100
Да, можно, если это не вызывает заблуждений.

Вот что пишет DuckAssist (нейронка в duckduckgo):

>Yes, you can create a business with the same name as an existing one in a different industry or geographic area, as long as it does not cause customer confusion. However, it's important to check local regulations and trademark laws to ensure compliance.


>Two businesses can have the same name, especially if they operate in different industries or geographic locations, as this helps avoid consumer confusion. However, if they are in the same field, it could lead to legal disputes over trademark rights.



Если хочешь локальный пример - в РФ аж несколько компаний со словом "Фалько" в названии, но шизик из Томска с ООО "Фалько" - конкретно по "Разработка компьютерного программного обеспечения".

Так что если встретите человека с ООО "Фалько" на улице - не спешите улыбаться и здороваться с ним - возможно, это не тот шиз, которого мы все любим.
97 1048114
>>48100
Ты не можешь скопировать логотип (конкретная картинка - текст + стиль, например, МакДональдс характерного жёлтого цвета, большая буква М, красный фон), но именно название как строка текста ты можешь копировать, если у тебя другая сфера.

А ещё есть такой прикол, что если никто из перечисленных выше людей не регистрировал свой бренд, то их суд тем более пошлёт нахуй.

А нихуя ноунейм не будет столбить свое название. Это стоит кучу бабла, нужно сделать в разных странах (ещё больше бабла) и периодически продлевать регистрацию (ещё больше бабла). Торговые марки регистрируют либо те, кто на них хорошо зарабатывает, либо у кого много лишних денег.
image.png29 Кб, 560x292
98 1048266
минимализм
image.png31 Кб, 632x290
99 1048274
100 1048291
>>48060
Слова заняты?
101 1048301
>>48274
победитель. ты прошел игру
image.png366 Кб, 1376x1094
102 1048393
Capture d’écran 2025-08-24 à 00.51.45.png1,6 Мб, 2940x1912
# OP 103 1049275
Miss me?

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

Ждите когда-нибудь апдейт
104 1049276
105 1050623
Продолжаю разработку Mojiverse2.

Альфа-версия доступна на поддомене: https://v2.mojiverse.art

Пока там нет ни чата, ни защищённого центра, ни сохранения состояния при перезапуске процесса. Только расстановка эмодзи по шаблонам и базовая ситуация правил Жизни на доске.

Также сделал исходный код проекта и разработку публичной: https://github.com/KivApple/mojiverse2
106 1050624
Планы:

1. Сохранение доски в Postgres раз в минуту, либо при завершении процесса
2. Сохранение снапшотов доски раз в 10 минут, плюс сохранение всех установленных эмодзи, сделать возможным просмотр полной истории (восстанавливаем ближайший снапшот с сервера + симулируем на клиенте расстановку эмодзи до нужной секунды)
3. Защищённые зоны (сервер отдаёт список координат защищённых прямоугольников на доске, клиент не даёт ставить туда эмодзи, сервер валидирует), по умолчанию защищён просто центр поля (25% ширины и высоты)
4. Чат (сохранять IP постера сообщения на случай если придут из органов)
5. PvP доски - прямоугольная доска, меньше размер, не хранится история, симуляция идёт только когда есть подключенные клиенты. Игроки выбирают одну из двух команд, каждая команда может ставить эмодзи только на своей половине доски, плюс полоска посередине защищена от обеих команд. Игрок может создать новую доску или присоединиться к существующей по коду или из списка.

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

В Mojiverse2 пока нет ограничений на постановку эмодзи.
107 1050792
>>50623
Превьюшки шаблонов огонь. Как пвп продумаешь базово по функционалу напиши, экран дорисую.

>>50624

> ограничением на расстановку эмодзи.


Текущая реализация точно имеет смысл в соревновательном режиме, чтобы уравнять шансы.

В «все против всех» актуально только в острой фазе когда два шизика игрока центр спамят. Протестировать бы на бОльшем количестве игроков. С другой стороны, если, например, давать майнить быстрее когда ты один на доске, то для спама доски своим эмодзи можно просто дождаться когда никого нет (на низком онлайне это очевидно не сложно) и спамить быстрее.

Короч как будто текущая система не такая уж и плохая. Разве что цп нагружает.
full.mp43,7 Мб, mp4,
1056x1056, 0:04
108 1050798
109 1050813
>>50623

>https://v2.mojiverse.art


Я вижу только середину поля...
Обновить тред
Двач.hk прислал битые данные.
Вы видите копию треда, сохраненную 5 сентября в 22:45.
Можете попробовать обновить страницу, чтобы увидеть актуальную версию.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски