Chào mọi người,
Trong suốt quá trình làm game 3 năm nay, mình gặp rất nhiều câu hỏi dạng:
- Làm thế nào để đối tượng đi vào tâm màn hình?
- Làm thế nào để biết đối tượng này đứng trước hay sau đối tượng kia?
- Làm thế nào để đưa đối tượng này đến vị trí kia với tốc độ tăng dần?
- Ánh sáng trong game hoạt động như thế nào?
- vân vân và mây mây.
Điểm thú vị ở đây, là mặc dù có nhiều cách để giải quyết các vấn đề này, nhưng những cách đơn giản nhất lại là những kiến thức toán học mà chúng ta vô tình bỏ qua do lâu không đụng vào toán nên quên, do vốn không biết, hoặc do vô tình bỏ qua tầm quan trọng của toán học trong lập trình game nói chung. Những người hay gặp khó khăn trong các vấn đề này thường thuộc hai nhóm sau:
- Những người nhảy ngang: nhóm đối tượng này thường thiếu kiến thức nền, học hành theo kiểu cóp nhặt trên đường đi.
- Các bạn trẻ cấp 2 hoặc cấp 3: các bạn này thì kiến thức toán học chưa đủ vững.
Lý do chung của cả hai nhóm đối tượng trên đều là "Không nghĩ làm game lại cần nhiều toán đến thế". Mình viết loạt bài này nhằm tổng hợp các kiến thức toán học cần thiết để làm game. Những kiến thức này không bị gói gọn trong bất kỳ một công cụ nào, một engine nào, hay một ngôn ngữ lập trình nào, có nghĩa là bạn có thể dùng những kiến thức này với mọi loại công cụ.
Trong bài sẽ dùng rất nhiều công thức toán, tuy nhiên mình sẽ cố gắng làm cho mọi thứ rõ ràng dễ hiểu nhất có thể cho các bạn dễ theo dõi. Mình cũng sẽ dành thời gian nói kỹ về ứng dụng của các thành phần toán học mà mình mang ra giới thiệu, để các bạn không cảm thấy phí phạm thời gian khi đọc loạt bài của mình.
Có một vài điều mình cần lưu ý:
- Loạt bài này không thể, cũng như không có ý định, thay thế các tài liệu toán học truyền thống. Mình chỉ cố gắng làm cho giai đoạn khởi đầu của các bạn được dễ dàng, các bạn có thể nắm các khái niệm cơ bản. Để đào sâu hơn, mình rất khuyến khích các bạn tìm hiểu ở các nguồn tài liệu chính thống.
- Mình sẽ cố gắng giải thích các vấn đề từ gốc rễ, nhưng loạt bài này không thể bao trùm tất cả các kiến thức toán học từ A-Z. Do vậy, mình cho rằng nếu bạn chưa nắm rõ các khái niệm toán học phổ thông như hệ toạ độ hay lượng giác, thì loạt bài này vẫn sẽ khó hiểu (chú ý này dành cho các bạn học sinh cấp 2, cấp 3 là chủ yếu).
Danh sách bài: