Skip to content

thnhmai06/the-floor-is-rhythm

Repository files navigation

The Floor is Rhythm (The "Floor" Project)

The Floor is Rhythm là game hành động nhịp điệu, trong đó người chơi sẽ tương tác với những vật thể đang di chuyển vào chính giữa tương ứng với vị trí (trái, phải) mà nó đi vào.

Video:

Screenshot:

Cách chơi:

Tương ứng với mỗi note từ bên trái/phải sang, bạn sẽ ấn phím tương ứng ở phía bên trái (D, F) hoặc bên phải (J, K) vào đúng lúc note ở chính giữa màn hình. Tùy vào độ chính xác mà sẽ ảnh hưởng đến điểm tương ứng note đó (300, 100, 50, Miss).

Các thành phần Game

Ảnh Tên Mô tả
Floor Object này yêu cầu bạn bấm phím tương ứng đúng lúc.
HP Lượng máu hiện tại, bạn sẽ luôn bị mất máu, nhưng thao tác object đúng sẽ giúp bạn bù lại lượng máu đã mất.
Score Điểm hiện tại của bạn, phụ thuộc vào Combo tối đa và Accuracy hiện tại. Tối đa 1,000,000 điểm.
Accuracy Độ chính xác của bạn, accuracy càng cao, điểm càng cao.
Combo Combo hiện tại của bạn, combo tối đa càng cao, điểm càng cao.

Đóng góp

Hướng dẫn build có ở trong file Hướng dẫn BUILD.

Lưu ý:

  • Hiện tại game đang tiếp tục phát triển và đây chưa phải là bản chính thức cuối cùng (Đây mới chỉ là demo thôi).
  • Hiện tại mình đang tiếp tục phát triển ở branch future và đang tách engine ra thành repo mới...

Cấu trúc mã nguồn

Project gồm có 2 thư mục chính - include (chứa file header) và src (chứa mã nguồn). Gồm:

  • format - Chứa những quy tắc đặt tên, quy tắc format
  • logging - Hệ thống Logging
  • structures - Các cấu trúc dữ liệu sử dụng
  • core - Là cốt lõi của chương trình, nơi mọi công việc diễn ra từ đây.

Trong đó structures gồm:

  • audio - Hệ thống Quản lý Âm thanh/Soundtrack (gồm mixer, bus và memory)
  • events - Hệ thống Quản lý sự kiện (gồm action, condition, event và time)
  • game - Cấu trúc chứa dữ liệu game (mapset và event)
  • render - Engine Render (gồm các cấp độ Layer, Object, Texture)
  • screen - Các phân cảnh trong trò chơi

Tổ chức theo hướng module hóa, mô hình dựa trên namespace. Lập trình theo hướng đối tượng hóa.

Tính năng

  • Đã hoàn thành các hệ thống chính/engine.
  • Gameplay, Logic tính điểm, Nhập dữ liệu từ osu!, Storyboard, Pause.

Tham khảo

  • Project có sử dụng tài nguyên skin JesusOmega『Planets』
  • Game được lấy cảm hứng từ osu!
  • Dự án có sử dụng các modules cũ đã được (mình) cải thiện lại: easing-functions, osu!parser.
  • Ngoài ra còn sử dụng các modules nguyên gốc: SDL3, SDL3-image, SDL3-mixer, bit7z, spdlog, inih (chi tiết xem tại vcpkg.jsondependencies)

About

taiko rhythm dual side SDL3 game

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages