Skip to content

Capybarik World

Поддержка

Проект не поддерживается и закрыт с 2024 года.

Общее

Браузерная игра, в которой можно погулять с друзьями в 2д мире.

  • https://capybarik.igoreshadev.ru [offline]

Стек

  • Бэкенд - STSF
  • Фронтенд - React / Socket.IO / Effector / Phaser / Webpack

Фичи

  • Регистрация через телеграм-бота
  • Авторизация/Аутентификация
  • Управление персонажем через клавиши
  • Правильная и корректная синхронизация позиций игроков через socket.io
  • Встроенный инвентарь и возможность одевать персонажа
  • Возможность взаимодействовать с гейм-объектами
  • Чатик с текстовыми баблами над персонажами
  • Возможность выбирать каждому персонажу свою расцветку
  • Возможность покупать у торговцев предметы
  • Возможность использовать предметы

Решённые / Интересные кейсы

  • Получилось интегрировать effector-логику интерфейса и иерархию классов игрового движка.

  • Была реализована классовая структура для всех геймобъектов, и три недостающих метода, в которых можно спокойно обработать вхождение/нахождение/выход из коллизии с конкретным гейм-объектом:

ts
import { GameObject } from "./GameObject.class";

export class Sign extends GameObject {
    onOverlapEnter(): void {
    }

    onOverlapLeave(): void {
    }
    onOverlapStay(): void {
    }
}
  • Более того, в финальной итерации этого класса появился декоратор, который позволяет описывать свойства у гейм-объектов которые надо синхронизировать через бэкенд с другими юзерами.

  • Управление предметами через контекстное меню: