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 {
}
}
Более того, в финальной итерации этого класса появился декоратор, который позволяет описывать свойства у гейм-объектов которые надо синхронизировать через бэкенд с другими юзерами.
Управление предметами через контекстное меню: