Save
Saving
Followers
0
Following
0
Joined
Last Online
Groups
-
HungBui
1. Các bài toán đã thực hiện
Bài toán Thực trạng Tình trạng Kết quả Cải thiện Người thực hiện Base game Các game được phát triển một cách tự phát, không có quy trình cụ thể, khó khăn cho fixbug và phát triển Đã giải quyết được cơ bản về quy trình phát triển game với hệ thống FSM và observer design pattern Game đã có luồng rõ ràng, quá trình phát triển game được rút ngắn, thời gian fixbug nhanh, được đánh giá dễ sử dụng từ dev - Tự động tạo các class chính - Review base mục đích cải thiện, tối ưu và sử dụng thêm các design pattern hợp lý giúp tăng tính mạch lạc và dễ sử dụng của base Hùng Bùi Data game Các game khó có thể share giữa các khóa khác nhau do data có thể khác nhau Đã giải quyết bằng cách sử dụng chung bộ data model cho tất cả các game, bộ data đảm bảo cho việc dễ sử dụng và tổng quát Các game có thể chạy độc lập với data mock hoặc data test. Các game dễ dàng tách và đóng gói (cùng với base) Chưa có kế hoạch Hùng Bùi Navigation Để chuyển giữa các khóa học đang sử dụng bằng cách gọi thẳng tên scene và khó kiểm soát các yêu cầu khởi tạo của khóa học, phức tạp và khó khăn trong quá trình chuyển đổi giữa các khóa Đã chuyển chung cơ chế chuyển scene do 1 đối tượng quản lý, ở đây sẽ kiểm tra tất cả các điều kiện khởi tạo khóa học cần thiết Thời gian chuyển các khóa được tối ưu, phát triển khóa mới không lo lắng ảnh hưởng đến khóa cũ, tách biệt data của các khóa khác nhau, không cần thiết sẽ không khởi tạo Review lại luồng data học và data đồng bộ của khóa Abc và MStory để tách biệt ra với một số case đặc biệt Hùng Bùi Event Mỗi một event có hệ thống properties khác nhau, mỗi khi có một properties mới sẽ phải viết lại method cho event này Đã tạo 1 base event với việc chia các properties chung và thiết kế linh hoạt các properties khác nhau để có thể sử dụng chung method cho các event khác nhau Giảm thời gian phát triển cho chức năng push event Chưa có kế hoạch Tiến ND AI Speak Nhiều game sử dụng công nghệ AI Speak nhưng mỗi game sử dụng khác nhau dẫn đến không đồng nhất về luồng và gây khó khăn cho quá trình debug Đã tạo 1 module chung bao gồm đầy đủ từ xin quyền đến thực thi AI Speak với kịch bản online và offline cụ thể Dễ dàng trong việc sử dụng module với input và output rõ ràng, giảm thời gian phát triển chức năng liên quan đến AI Speak Chưa có kế hoạch Hiếu HS Tối ưu dung lượng build Các assets trong game đang được build cùng game. Khi phát triển thêm tính năng sẽ tăng build size Sử dụng Addressable nhằm tách các assets của game ra bên ngoài và download về khi cần Build size đã giảm và ổn định hơn. Khi thêm tính năng mới build size sẽ không tăng nhiều Chưa có kế hoạch Hải Ngô Support Service Các phần hỗ trợ trong game đang được phát triển riêng biệt, không có quy chuẩn cụ thể, khó khăn trong việc phát triển và fix bug Các phần hỗ trợ được quy chuẩn về dạng service, có Service manager để quản lý. Các service được implement qua Interface để dễ dàng nâng cấp, thay thế khi cần Đã Implement được các services sau: Addressables, Assetbundle, DataSync, Download, EventTracking, Localization, Popup, UserData Cần đưa các service vào toàn bộ hệ thống thay vì chỉ dùng một phần trong MJ5 Hải Ngô, Tùng Đỗ Thay đổi visual trong game theo event Khi thay đổi event cần submit lại app. Mỗi khi có event mới tốn thời gian trong việc chỉnh sửa lại app, không tận dụng được event đã làm từ trước Event được quy chuẩn về dạng Theme và hiển thị theo Config. Dễ dàng thêm Event mới. Các event được điều khiển bằng data và hiển thị khi cần thiết Đã hoàn thành theme cho chủ đề giáng sinh Đưa theme ra ngoài và download về khi cần. Bổ sung thêm các theme theo chủ đề khác Hải Ngô Tối ưu share và tải tài nguyên Game và tài nguyên có thể share cho nhau nhưng vẫn phải tải lại từ package khác nhau với mỗi khóa học Hệ thống share game, tải tài nguyên chỉ cần 1 lần, các lần sau không cần tải lại QA Testing cho khóa MJ5 Cho pack Event Season + MSpeak (có điều kiện từ data) Hải Ngô (12/12/24) 2. Các bài toán mong muốn thực hiện
Bài toán Thực trạng Mong muốn Data user Data của tất cả các khóa đang để chung model dù không dùng gây nặng cho user đặc biệt với các user học nhiều khóa, lượng bài học hoàn thành nhiều, hiệu năng giảm - Tách biệt data của các khóa và phần data tặng thưởng riêng, khi cần data nào sẽ load data đó.<br>- Khi bổ sung khóa mới dễ đồng bộ và fixbug, không ảnh hưởng hiệu năng UI Map Các map khá giống nhau về mặt UI và chức năng nhưng mỗi map vẫn trên 1 base code khác nhau Gen map tự động theo data setting hoặc kéo thả Tặng khóa học Khi tặng khóa học các điều kiện tặng ở client khá phức tạp, phụ thuộc nhiều bên như client và server Xây dựng hệ thống tặng khóa dễ thay đổi điều kiện và dễ setup Game framework Mỗi game phải order từ nhiều bên (nội dung > kịch bản > đồ họa > dev) gây mất thời gian phát triển và test thử Xây dựng framework để bộ phận kịch bản + nội dung tự tạo game mong muốn theo quy tắc nhất định Tối ưu quy trình dev game Các object game lặp lại qua nhiều game nhưng dev vẫn phải code lại hoặc copy Hệ thống các object chung, tái sử dụng, giảm thời gian dev game