Главная Юзердоски Каталог Трекер NSFW Настройки

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 83 27 11
mojiverse Аноним 11/08/25 Пнд 01:30:00 1045963 1
Capture d’écra[...].png 521Кб, 2204x1842
2204x1842
Запилил неделю назад и довёл до ума по фидбеку из b игру гибрид pxls.space и "Game Of Life". Вместо пикселей и клеток - эмоджи.

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

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

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

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

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

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

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

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

ИГРАТЬ: https://mojiverse.art/
Аноним 11/08/25 Пнд 01:31:14 1045967 2
Аноним 11/08/25 Пнд 18:53:08 1046472 3
бамп лучшая игра двача эвер нахуй
Аноним 11/08/25 Пнд 19:42:40 1046537 4
Немного технических деталей.

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

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

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

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

Таким образом нельзя написать бота, который будет ставить 100500 эмодзи в секунду и завайпает доску, ведь даже если открыть 1000 соединений с сервером всё равно нужно откуда-то брать токены, а скорость их производства упирается в количество CPU в распоряжении пользователя.
Аноним 11/08/25 Пнд 19:52:59 1046544 5
>>1046537
Нихуясе бе! Так всё это время я майнил твои хэши на своем процессорочке

АЛСО СДЕЛАЙ может количество онлайна типа сколько прям щас со мной играет? это интересно понимать имеет ли смысл борьба или продолжать чиллить
Аноним 11/08/25 Пнд 20:10:47 1046560 6
Capture d’écra[...].png 23Кб, 646x374
646x374
Capture d’écra[...].png 87Кб, 1170x614
1170x614
Capture d’écra[...].png 73Кб, 1156x610
1156x610
>>1046544
Добавил. Но онлайн 1-2 чела 90% времени
Аноним 11/08/25 Пнд 20:59:15 1046597 7
>>1046472
лучшая игра двача эвер
Аноним 11/08/25 Пнд 21:47:19 1046638 8
26 эмоджи в статистике это значит вероятно +-26 игроков всего сыграло?
Аноним 11/08/25 Пнд 21:48:56 1046639 9
>>1046638
1 человек может ставить любое количество эмодзи. Скорее нет, чем да.
Аноним 11/08/25 Пнд 21:50:10 1046640 10
Аноним 11/08/25 Пнд 22:54:56 1046674 11
>>1046639
Но клетки то с трудом умирают, так что получается 26 это максимум, а судя по тому что можно ставить любые эмодзи, то юзеров меньше 26. ну итого где то 15 наверное уникальных
Аноним 11/08/25 Пнд 22:55:54 1046675 12
бля вот бы чат еще в игру!!!!! украинец ахуел пришел все захватил
Аноним 11/08/25 Пнд 22:56:17 1046676 13
>>1046638
Вчера 43 уникальных посетителя было согласно гугл аналитике, сегодня пока 19. Один человек может ставить разные эмодзи.
Аноним 11/08/25 Пнд 23:00:47 1046678 14
>>1046675
ЭТА НИМОЖЫД БЫТ. ВСЕ НА ФРОНТ В ЭМОДЗИ ИГРУ ПЕРЕМОГАТЬ
Аноним 11/08/25 Пнд 23:02:24 1046679 15
идея: СПАМ РЕЖИМ где мало того что шаблоны не сбрасываются после клика, так еще и майнинг облегченный т.е эмодзи копятся быстрее намного. чисто динамичный режим забрасывать шаблонами мид ибо заебешься каждый раз его в обычном нажимать но зато антиспам да
Аноним 11/08/25 Пнд 23:03:15 1046681 16
>>1046678
я красный ебу как могу
Аноним 11/08/25 Пнд 23:04:21 1046682 17
image.png 111Кб, 362x646
362x646
ЕБАТЬ ОН ТАМ СПАМИТ ЖАЛЬ ЗАСКРИНИТЬ НЕ СМОГ ИЗ ЗА МАЙНИНГА ОПА ПРОЦ НАГРУЖЕН ЗАДЕРЖКА ПЗДЦ. СТРУКТУРЫ ЕБАНУТЫЕ У НЕГО захватывает только так
Аноним 11/08/25 Пнд 23:07:55 1046685 18
>>1046682
этот парень имеет умение
Аноним 11/08/25 Пнд 23:11:06 1046687 19
>>1046537
Так от чего зависит скорость восстановления то? Ну для глупеньких. Типа с момента захода на страницу начинается счетчик сколько эмодзи я ставлю и чем больше тем сложнее восстанавливатся будет? Тогда я перезапущу страницу не? не понял короче
Аноним 11/08/25 Пнд 23:15:07 1046688 20
image.png 34Кб, 776x352
776x352
Аноним 11/08/25 Пнд 23:17:57 1046690 21
Аноним 11/08/25 Пнд 23:19:00 1046691 22
Аноним 11/08/25 Пнд 23:21:49 1046692 23
image.png 412Кб, 1914x950
1914x950
нихуя себе тут зум блять на такие жопы и подрочить можно
Аноним 11/08/25 Пнд 23:22:25 1046693 24
Аноним 11/08/25 Пнд 23:23:58 1046695 25
ахахах хуя ты его тактику спиздил я видел
Аноним 11/08/25 Пнд 23:26:56 1046696 26
>>1046679
И ЧТОБЫ СКОРОСТЬ БЫЛА БЫСТРЕЕ ну и карта меньше видимо чтоб работало
Аноним 11/08/25 Пнд 23:37:24 1046706 27
image.png 15Кб, 174x166
174x166
нихуя давно эта эмодзи существует? майкрософт права на скрепыша что ли продала
Аноним 11/08/25 Пнд 23:44:31 1046712 28
бля ебать я всевозможных эмодзи наспавнил подштанув свою основную популяцию красных
Аноним 11/08/25 Пнд 23:48:21 1046717 29
всё ухожу с центра. краснокруглик и брат хихлик, ваш ход
Аноним 11/08/25 Пнд 23:48:29 1046718 30
image.png 72Кб, 558x917
558x917
>>1046560
В лидербордах прикольно было бы если графа online типа активен ли юзер этого эмодзи щас или нет чтоб знать с кем сражатся
Аноним 11/08/25 Пнд 23:48:53 1046719 31
>>1046718
так это не пользователи, а эмодзи. можем вместе один форсить
Аноним 11/08/25 Пнд 23:49:09 1046720 32
>>1046717
пока мой красный топ1 я буду развивать популяцию точек
Аноним 11/08/25 Пнд 23:49:40 1046722 33
Аноним 11/08/25 Пнд 23:50:15 1046723 34
оп, пик точек на поле же считаешь? интересно сколько максимум было
Аноним 11/08/25 Пнд 23:53:08 1046724 35
>>1046723
total alive emoji? сегодня мне кажется рекордно 13к было хз
Аноним 11/08/25 Пнд 23:53:45 1046725 36
>>1046724
ага оно. вот тоже показалось, что сегодня пик, предыдущие дни 10-11к было
Аноним 11/08/25 Пнд 23:59:08 1046728 37
image.png 93Кб, 808x626
808x626
румын или молдованин тоже мощный тип глайдеры пускает
Аноним 12/08/25 Втр 00:02:33 1046729 38
бля оч живучую хуйню сконструировал, точки будут править миром
Аноним 12/08/25 Втр 00:10:30 1046734 39
image.png 27Кб, 544x373
544x373
ИЗИ мои двое в топе можно и спать всем спасибо
Аноним 12/08/25 Втр 00:14:58 1046735 40
Аноним 12/08/25 Втр 08:28:13 1046775 41
Бан за АФК что ли есть? На минуту отлучился, вылетело и теперь не открывается
Аноним 12/08/25 Втр 09:49:10 1046788 42
>>1046775
Банов за АФК нет. И вообще банов. Но сайт за cloudflare
Аноним 12/08/25 Втр 12:56:56 1046829 43
image.png 53Кб, 540x700
540x700
ебать за ночь популяции упали! единственное не понимаю как мой красный все еще топ1 держится вообще лютый выживач
Аноним 12/08/25 Втр 14:11:32 1046900 44
image 50Кб, 399x957
399x957
image 1110Кб, 1024x1024
1024x1024
Аноним 12/08/25 Втр 15:48:26 1046961 45
>>1046900
Ожидаемое противостояние
Аноним 12/08/25 Втр 16:22:43 1046973 46
>>1045963 (OP)
Пробовал и с ПК, и с телефона - пишет "you're offline".

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

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

ДОБАВЛЕН ЧАТ

ДОБАВЛЕН ЧАТ
Аноним 12/08/25 Втр 21:22:01 1047096 49
>>1047093
Ошибку пофикси...
>Uncaught DOMException: An invalid or illegal string was specified
Аноним 12/08/25 Втр 21:22:45 1047098 50
Аноним 12/08/25 Втр 21:27:14 1047100 51
Capture d’écra[...].png 85Кб, 1154x610
1154x610
>>1046723
Максимум было 15068 эмодзи на доске одновременно и было это 10 августа в 3 часа ночи
Аноним 12/08/25 Втр 21:31:31 1047102 52
Безымянный.png 8Кб, 500x355
500x355
>>1047098
Если что, браузер почти 2 года не обновлял. Но 99.99% сайтов работают без проблем пока что, поэтому обновляться не буду. Не верю, что для какой-то квадратно-гнездовой JS игрушки нужны самые последние обновления...

GUI работает - по крайней мере, частично. Окна справки, выбора эмодзи и пустые списки лидеров открываются. Ошибка возникает где-то в коде подключения к серверу, из-за чего веб-морда считает, что она оффлайн.
Аноним 12/08/25 Втр 21:37:17 1047107 53
>>1047102
Я указывал адрес подключения веб-сокета относительно корня сайта. Заменил на полный адрес (с доменом, протоколом и т. п.). Может быть поможет. Попробуй обновить страницу.
Аноним 12/08/25 Втр 21:38:59 1047108 54
>>1047107
О, круто, заработало. Спасибо. Но почему у других работало, а у меня нет?..
Аноним 12/08/25 Втр 21:41:48 1047111 55
Capture d’écra[...].png 200Кб, 1604x1044
1604x1044
>>1047108
Потому что поддержка относительных url подключений веб-сокетов появилась позже, чем сами веб-сокеты. Смотри вторую строчку в таблице. Если твой браузер старее, то там не работают относительные url для веб-сокетов, надо всегда указывать абсолютные.
Аноним 12/08/25 Втр 23:16:59 1047155 56
image 31Кб, 404x541
404x541
Сравнял силы ❤️ с ☢️.
Аноним 12/08/25 Втр 23:22:24 1047162 57
image 53Кб, 403x959
403x959
Аноним 12/08/25 Втр 23:26:57 1047168 58
Screenshot20250[...].jpg 532Кб, 1080x2316
1080x2316
Сегодня был зафиксирован рекорд в 12 одновременных юзеров онлайн
Аноним 12/08/25 Втр 23:27:00 1047169 59
image 22Кб, 406x382
406x382
>>1047162
И даже центр занял. ❤️
Аноним 12/08/25 Втр 23:30:17 1047172 60
Аноним 13/08/25 Срд 00:36:40 1047201 61
>>1046537
>чтобы на стандартном ноутбуке решение находилось быстрее, чем за 0.5-1 секунды.
>скорость их производства упирается в количество CPU в распоряжении пользователя.
Несправедливая система... У меня один токен порой несколько секунд никак не сгенерируется, а тут кто-то спамит сотнями эмодзи в одну линию каждые несколько секунд. Какой смысл в такой защите, если она дискриминирует игроков по железу?
Аноним 13/08/25 Срд 00:47:18 1047205 62
>>1047201
кто спамит сотнями в неск секунд? ни разу не видел. до обновления рисования точек и шаблонов даблкликером разве что рисовал линии, но это занимает тоже много время не пара сек
Аноним 13/08/25 Срд 01:58:46 1047223 63
>>1047162
ебать день не играл точки мои до нуля истребили. столько новых лиц
Аноним 13/08/25 Срд 02:21:45 1047227 64
>>1047223
анон, мы поливали их и прятали от солнца, но они не выжили
Аноним 13/08/25 Срд 12:13:12 1047287 65
Аноним 13/08/25 Срд 13:23:26 1047321 66
dynamite - 01.mp4 15347Кб, 694x720, 00:00:29
694x720
Аноним 13/08/25 Срд 13:35:38 1047325 67
баг. когда потратил все 128 они редактироваться перестают. то есть, при клике на поставленную точку она не исчезает
Аноним 13/08/25 Срд 13:36:43 1047326 68
>>1047325
при выборе шаблона на 128 можно так же не редактируются точки
Аноним 13/08/25 Срд 18:29:22 1047416 69
Capture d’écra[...].png 321Кб, 1264x1160
1264x1160
>>1047325
>>1047326
Пофиксил, проверяйте

А ещё добавил настройку лимита токенов установки эмодзи, раз кому-то даже 128 мало.
Аноним 13/08/25 Срд 19:15:42 1047440 70
kvadratik.mp4 6745Кб, 2840x1992, 00:00:11
2840x1992
>>1047416
🥂

ещё баг. нарисовал квадрат ровно по границам центра и он установился успешно. но шаблон с ним не ставится
Аноним 13/08/25 Срд 19:39:17 1047450 71
>>1047416
>раз кому-то даже 128 мало
Ээээ?????? WTF?????

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

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

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

Насчёт эмодзи, я использую шрифт Noto Color Emoji, который лежит рядом с HTML и прочими файлами сайта. Но некоторые браузеры позволяют отключать возможность переопределения шрифта сайтом и иногда проскакивают скрины с другими эмодзи. Но я не думаю, что это даёт преимущество. Noto Color Emoji достаточно контрастный. Если в системном шрифте однотипные эмодзи, это может сделать игру сложнее, но не проще. Но тот кто запретил кастомные шрифты сайтам, вероятно, готов к последствиям, либо добавит игру в исключения, если ему не понравится.
Аноним 13/08/25 Срд 19:58:27 1047464 74
kubik.mp4 1939Кб, 750x760, 00:00:19
750x760
Аноним 13/08/25 Срд 20:03:43 1047468 75
>>1047462
>потом тебе придётся долго ждать
Тебе в любом случае ждать нужно, игра-то в реальном времени происходит. Поставить 1000 раз в 10 минут выгоднее в том плане, что можно сделать сложный механизм или разрушить сразу несколько чужих.

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

Расширять размер доски не планируешь?
Аноним 13/08/25 Срд 20:15:20 1047475 76
>>1047468
> Какой практический максимум одной разновидности эмодзи на доске
чуть чуть до 10к не хватило ещё до последних обновлений. стояла цель наспамить их. а так 5к легко держится, если играешь само по себе
Аноним 13/08/25 Срд 20:15:55 1047476 77
>>1047475
> 5к
ладно диапазон 3-5к. для 5 надо всё-таки ставить не только около центра
Аноним 13/08/25 Срд 20:51:42 1047485 78
>>1047440
Вы охуели это что за шаблоны на пол карты лол? При мне такой хуйни не было, все ставили до ограничения сколько позволяло токенов
Аноним 13/08/25 Срд 20:55:10 1047487 79
>>1045963 (OP)
Кстати оп признайся что мы тебе там майним биток эфир? под видом "токенов" шоб в европке смог дальше жить
Аноним 13/08/25 Срд 20:58:30 1047488 80
>>1047485
не стоит вскрывать эту тему
Аноним 13/08/25 Срд 23:43:10 1047524 81
image.png 108Кб, 874x936
874x936
10к
Аноним 14/08/25 Чтв 01:16:58 1047537 82
>>1047524
красавчик че кто побьет рекорд?
Аноним 14/08/25 Чтв 02:08:20 1047540 83
image.png 20Кб, 678x214
678x214
15к мне кажется сделать не реально
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов