1. Chơi Tennis trực tuyến với
Wii
Nguyen Ngoc Linh – L11TXCN1-B
Hướng dẫn: T.S. Phạm Văn Cường
Hanoi 26/06/2014
2. Nội dung
• Nhiệm vụ của đề tài là gì?
• Các vấn đề cần phải vượt qua?
• Demo sản phẩm
• Đã giải quyết như thế nào?
• Các vấn đề còn tồn đọng
3. Nhiệm vụ của đề tài
• Phát triển một game Tennis cho phép người dùng
chơi trực tuyến với nhau.
4. Yêu cầu về sản phẩm
• Cần đáp ứng được tính học thuật: Áp dụng thành
công thuật toán nhận diện Có các chức năng phục
vụ việc theo dõi việc quá trình thực thi thuật toán và
khả năng tùy chỉnh.
• Sản phẩm phải có đặc thù gần giống các loại sản
phẩm thương mại để thể hiện được tính thực tiễn.
5. Phác thảo
• Sử dụng công nghệ 3D để thể hiện môi trường trò
chơi. (3D live rendering & 3D physics).
• Sử dụng giải pháp socket server để làm game online
real-time.
• Cần phải có một cơ chế chơi game (game mechanic)
đơn giản tối đa đủ để coi là một game.
• Cần phải có chức năng theo dõi và tùy chỉnh thuật
toán nhận diện.
7. Check list các vấn đề
• Nghiên cứu vềWiimote và tìm giải pháp cho việc
nhận diện hành động của người chơi.
• Thực hiện giải pháp ở mức độ thử nghiệm.
• Dựng môi trường game và áp dụng kết quả của thí
nghiệm vào.
• Nâng cấp, tối ưu thuật toán và hoàn thiện sản phẩm.
11. Lầm tưởng về các tham số yaw, pitch,
roll
• Định áp dụng
Levenshtein Distance.
12. …
• Làm quen với yaw, pitch, roll trước bằng việc mô
phỏng cây vợt trong môi trường 3D.
13. Sử dụng IR sensor để tính góc
• Không phù hợp, IR sensor trênWiimote chỉ được
dùng để phục vụ việc trỏ lên màn hình.
14. Lao vào tìm kiếm thư viện hỗ trợWii
Motion Plus
• Duy nhất chỉ cóWiimoteLib 1.8b hỗ trợ. Nhưng…
15. Quay sang tìm kiếm với từ khóa “gesture
recognition with wiimote”…
WiiFlash Dynamic Time Warping
Neural algorithm Hidden Markov Model
Waveform Matching
17. Cấu tạo & cơ chế sử dụng củaWiimote
• Hệ thống các nút
• Cảm biến gia tốc
(accelerometer)
• Cảm biến hồng ngoại
(IR sensor)
• Kết nối Bluetooth
18. Có thể cắm thêm
• Wii Motion Plus với 2
con quay hồi chuyển
(gyroscope): độ nhạy
1:1 với chuyển động.
• Nunchuck: với cảm
biến gia tốc và
joystick.
21. Cách làm ngây ngô
• Cắt chuỗi tín hiệu thành từng khoảng rồi đem so sánh.
• Kết quả:
– Nhận diện không ổn định.
– Giao diện đồ họa bị giật mỗi khi gọi hàm so sánh.
22. Khắc phục
• Kiểm tra liên tục.
• Kết quả:
– Nhận diện chính xác.
– Giao diện đồ họa gầu như đứng yên hoàn toàn.
25. Tìm kiếm & xử lý model 3D
• Dùng Google Sketch Up 7 Pro dùng thử 30 ngày -
công cụ tuyệt vời cho người không biết 3D và tìm
kiếm model miễn phí trong 3D Warehouse.
26. Lựa chọn engine
• 3D renderer:
– Từ chối Flare3D, chọn Away3D vì các khái niệm căn bản
và dễ nắm bắt hệ thống API. Mặc dù 1 dòng của Flare3D
có thể tương đương với hàng chục dòng của Away3D.
– Từ chối Sandy, PaperVision,… chọn Away 3D vì sử dụng
công nghệ Stage3D tăng tốc cho Flash.
27. …
• Physics:
– Sử dụng BulletPhysics thay vì NAPE, Box2D vì thông qua
FlashCC (Crossbridge) cho hiệu năng native.
28. Cơ chế chơi game (game mechanic)
• Cần phải quăng vợt đúng lúc.
• Chiến thuật dựa vào lựa chọn hướng đánh và độ
mạnh cú quật bóng.
• Quăng sớm quật nhẹ, quăng muộn quật mạnh.
• Quăng vợt khi bóng cao thì bóng bay chúc xuống,
quăng vợt khi bóng thấp thì bóng bổng.
29. Giao diện và điều khiển.
• Hoạt động chơi game, hoàn toàn chỉ cần dùng
Wiimote.
• Hoạt động tùy chỉnh (chọn tay chơi, lấy mẫu) sử dụng
chuột vào giao diện đồ họa.
• Style giao diện lấy cảm hứng từ phim Oblivion.
32. Các vấn đề còn tồn đọng
• Thuật toán nhận diện vẫn còn sơ
đẳng, chưa thông minh. Cần nâng
cấp để tạo sự dễ dàng trong tiếp
cận ban đầu cho người chơi.
• Thuật toán nhận diện tốn nhiều
tài nguyên máy.
• WiiFlash sử dụngWiimoteLib
phiên bản cũ – tồn tại sự bất tiện
trong việc sử dụng.