Skip to content

MytsV/gamedev-project

Repository files navigation

How to run

  1. docker compose up to init databases
  2. Set up .env like:
POSTGRES_USER=...
POSTGRES_PASSWORD=...
POSTGRES_DB=twirl

POSTGRES_PORT=8500
REDIS_PORT=8501

PRISMA_DATABASE_URL="postgresql://...:...@localhost:8500/twirl?schema=public"
  1. npx prisma migrate dev to perform migrations
  2. npm run dev from ./http to start the auth server
  3. Through a DB manager (either docker exec or something like DBeaver) set up songs and locations. Use utils/get_bpm.py to determine BPM and onset
  4. npm run dev from ./udp to start the game state server

Танцювальний мультиплеєр

Цей репозиторій містить серверну частину. Код клієнта буде опублікований окремо.

Приклади

Технології

  • Unity і Unity UI
  • Node.js з NestJS
  • PostgreSQL

У ході розробки буде визначено допоміжні бібліотеки.

MVP

  • Користувач може зареєструватися і створити персонажа, обравши нікнейм і стать

  • Користувач може обрати одну з локацій, на якій зможе пересуватись і бачитиме інших присутніх персонажів.

  • Користувач може створити танцювальну кімнату й запросити у неї присутніх на сервері персонажів. У ній він може обирати режим гри й музику.

  • Танець може бути одиночним чи груповим. Кожен гравець, який танцює, бачить повзунок і стрілочки.
    Аби виконати рух, потрібно натиснути всі стрілочки в наведеному порядку й space у правильний момент. Залежно від моменту натискання, гравець отримує оцінку руху (пропуск, погано, добре, ідеально).
    Гравцям начисляються бали за виконані рухи. Вони оновляються у інтерфейсі у реальному часі.

  • Під час групового танцю видно пропуски й ідеальні виконання інших гравців, а також їх бали.

  • Під час танцю виводяться анімації, що підігнані під BPM пісні. Відображаються поточні анімації усіх гравців у локації.

  • Окремим модулем імплементований аналізатор BPM у аудіо, який дозволяє додавання будь-якої пісні адміністратором.

Додатково (за наявності часу)

  • Різні режими танців, у тому числі якийсь, що базується на 2D фізиці
  • Додавання користувачів у список друзів
  • “Жарти” над користувачами (перетворення у свинку, бій з переможцем, хто найбільше разів натисне клавішу)
  • Отримання нагороди за танці й магазин одягу/скінів/жартів.
  • Система ачівок за максимально пройдений біт/режим, яка надає ауру
  • Простий чат

About

A multiplayer dancefloor

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published