М.Двач / Gamedev

521 Кб, 2204x1842
mojiverse 11 авг, 01:30 1045963 В конец треда | Веб

Запилил неделю назад и довёл до ума по фидбеку из b игру гибрид pxls.space и "Game Of Life". Вместо пикселей и клеток - эмоджи.

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

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

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

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

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

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

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

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

ИГРАТЬ: https://mojiverse.art/

2 11 авг, 01:31 2 1045967

Актуальный тред в b: https://2ch.hk/b/res/323244888.html (М)

3 11 авг, 18:53 3 1046472

бамп лучшая игра двача эвер нахуй

Ответы6597

4 11 авг, 19:42 4 1046537

Немного технических деталей.

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

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

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

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

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

Ответы65446687

5 11 авг, 19:52 5 1046544

>>1046537
Нихуясе бе! Так всё это время я майнил твои хэши на своем процессорочке

АЛСО СДЕЛАЙ может количество онлайна типа сколько прям щас со мной играет? это интересно понимать имеет ли смысл борьба или продолжать чиллить

Ответы6560

6 11 авг, 20:10 6 1046560

23 Кб, 646x37487 Кб, 1170x61473 Кб, 1156x610

>>1046544
Добавил. Но онлайн 1-2 чела 90% времени

Ответы6718

7 11 авг, 20:59 7 1046597

>>1046472
лучшая игра двача эвер

8 11 авг, 21:47 8 1046638

26 эмоджи в статистике это значит вероятно +-26 игроков всего сыграло?

Ответы66396676

9 11 авг, 21:48 9 1046639

>>1046638
1 человек может ставить любое количество эмодзи. Скорее нет, чем да.

Ответы66406674

10 11 авг, 21:50 10 1046640

>>1046639
Сейчас из 26 3 моих

11 11 авг, 22:54 11 1046674

>>1046639
Но клетки то с трудом умирают, так что получается 26 это максимум, а судя по тому что можно ставить любые эмодзи, то юзеров меньше 26. ну итого где то 15 наверное уникальных

12 11 авг, 22:55 12 1046675

бля вот бы чат еще в игру!!!!! украинец ахуел пришел все захватил

Ответы6678

13 11 авг, 22:56 13 1046676

>>1046638
Вчера 43 уникальных посетителя было согласно гугл аналитике, сегодня пока 19. Один человек может ставить разные эмодзи.

14 11 авг, 23:00 14 1046678

>>1046675
ЭТА НИМОЖЫД БЫТ. ВСЕ НА ФРОНТ В ЭМОДЗИ ИГРУ ПЕРЕМОГАТЬ

Ответы6681

15 11 авг, 23:02 15 1046679

идея: СПАМ РЕЖИМ где мало того что шаблоны не сбрасываются после клика, так еще и майнинг облегченный т.е эмодзи копятся быстрее намного. чисто динамичный режим забрасывать шаблонами мид ибо заебешься каждый раз его в обычном нажимать но зато антиспам да

Ответы6696

16 11 авг, 23:03 16 1046681

>>1046678
я красный ебу как могу

Ответы6688

111 Кб, 362x646
17 11 авг, 23:04 17 1046682

ЕБАТЬ ОН ТАМ СПАМИТ ЖАЛЬ ЗАСКРИНИТЬ НЕ СМОГ ИЗ ЗА МАЙНИНГА ОПА ПРОЦ НАГРУЖЕН ЗАДЕРЖКА ПЗДЦ. СТРУКТУРЫ ЕБАНУТЫЕ У НЕГО захватывает только так

Ответы6685

18 11 авг, 23:07 18 1046685

>>1046682
этот парень имеет умение

19 11 авг, 23:11 19 1046687

>>1046537
Так от чего зависит скорость восстановления то? Ну для глупеньких. Типа с момента захода на страницу начинается счетчик сколько эмодзи я ставлю и чем больше тем сложнее восстанавливатся будет? Тогда я перезапущу страницу не? не понял короче

34 Кб, 776x352
20 11 авг, 23:15 20 1046688

>>1046681
готово

Ответы6690

21 11 авг, 23:17 21 1046690

>>1046688
нечестно

Ответы6691

22 11 авг, 23:19 22 1046691

>>1046690
чому?

412 Кб, 1914x950
23 11 авг, 23:21 23 1046692

нихуя себе тут зум блять на такие жопы и подрочить можно

Ответы6693

24 11 авг, 23:22 24 1046693

>>1046692
ахаах сука. эбони

25 11 авг, 23:23 25 1046695

ахахах хуя ты его тактику спиздил я видел

26 11 авг, 23:26 26 1046696

>>1046679
И ЧТОБЫ СКОРОСТЬ БЫЛА БЫСТРЕЕ ну и карта меньше видимо чтоб работало

15 Кб, 174x166
27 11 авг, 23:37 27 1046706

нихуя давно эта эмодзи существует? майкрософт права на скрепыша что ли продала

28 11 авг, 23:44 28 1046712

бля ебать я всевозможных эмодзи наспавнил подштанув свою основную популяцию красных

29 11 авг, 23:48 29 1046717

всё ухожу с центра. краснокруглик и брат хихлик, ваш ход

Ответы6720

72 Кб, 558x917
30 11 авг, 23:48 30 1046718

>>1046560
В лидербордах прикольно было бы если графа online типа активен ли юзер этого эмодзи щас или нет чтоб знать с кем сражатся

Ответы6719

31 11 авг, 23:48 31 1046719

>>1046718
так это не пользователи, а эмодзи. можем вместе один форсить

Ответы6722

32 11 авг, 23:49 32 1046720

>>1046717
пока мой красный топ1 я буду развивать популяцию точек

33 11 авг, 23:49 33 1046722

>>1046719
А блять точно...

34 11 авг, 23:50 34 1046723

оп, пик точек на поле же считаешь? интересно сколько максимум было

Ответы6724

35 11 авг, 23:53 35 1046724

>>1046723
total alive emoji? сегодня мне кажется рекордно 13к было хз

Ответы6725

36 11 авг, 23:53 36 1046725

>>1046724
ага оно. вот тоже показалось, что сегодня пик, предыдущие дни 10-11к было

93 Кб, 808x626
37 11 авг, 23:59 37 1046728

румын или молдованин тоже мощный тип глайдеры пускает

38 12 авг, 00:02 38 1046729

бля оч живучую хуйню сконструировал, точки будут править миром

27 Кб, 544x373
39 12 авг, 00:10 39 1046734

ИЗИ мои двое в топе можно и спать всем спасибо

Ответы6735

40 12 авг, 00:14 40 1046735

>>1046734
💪🏻

Обновить тред

« /gd/В начало тредаВеб-версияНастройки

/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

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

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.gq, m2ch.cf, m2ch.fapp.in, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion