Các khái niệm và thuật ngữ cần biết khi làm game

Nếu bạn muốn học cách xây dựng một trò chơi hay đơn giản là muốn hiểu hơn về quá trình phát triển một game, thì các thuật ngữ được trình bày trong bài sẽ là một hành trang cần thiết để cho bạn bước tiếp.

Các khái niệm dưới đây có thể chỉ đơn giản là những công việc mà một lập trình viên phát triển game phải xử lý hàng ngày trong quá trình làm việc. Hoặc cũng có những khái niệm rất dễ hiểu ngay cả với những người không trong ngành.

1. Game design documents

Một Game design documents (GDD) sẽ là một thứ quan trọng để bắt đầu phát triển một trò chơi. Trong GDD sẽ chứa các mô tả chi tiết về game như là: cơ chế của trò chơi, nhân vật, tiến độ trò chơi,… Đây là một tài liệu hướng dẫn để bắt đầu xây dựng trò chơi, cũng như là một tấm bản đồ phác hoạ quá trình mà việc phát triển sẽ bám theo. Nó sẽ giúp tăng tốc độ và năng xuất khi phát triển. Trong quá trình xây dựng trò chơi cũng có những trường hợp GDD sẽ được cập nhật nhưng thường sẽ là những thay đổi nhỏ mà không làm ảnh hưởng đến cấu trúc cũng như kế hoạch phát triển.

2. AAA (Triple-A)

Chỉ các trò chơi được xây dựng và phát hành bởi các công ty hoặc tổ chức có quy mô vừa đến lớn. AAA trái ngược với so với indie.

3. Agent

Chỉ các nhân vật hoặc đối tượng mà sử dụng trí tuệ nhân tạo (AI) để tương tác với các đối tượng khác trong môi trường của nó.

4. AI (Artificial intelligence)

Chỉ các đối tượng trong trò chơi mà hành động hoặc chức năng hoàn toàn được máy tính điều khiển thông qua các dòng lệnh, thay vì chịu sự điều khiển của người chơi.

5. Shaders

Là các chương trình trong game chịu trách nhiệm sử lý các vấn đề liên quan đến ánh sáng, phản chiếu hay đổ bóng xuất hiện trong trò chơi.

6. Scenes

Trong một trò chơi sẽ gồm rất nhiều phần và để cho việc phát triển dễ dàng thì một game sẽ được chia thành nhiều scene. Ví dụ như trong trò chơi giải đố thì mỗi một câu đố có thể là một scene riêng biệt. Việc chia ra các scene sẽ thuận lợi cho việc quản lý tài nguyên, tối ưu hiệu năng cũng như dễ dàng bảo trì và cải tiến.

7. Ray Tracing

Là một khái niệm mô phỏng ánh sáng ngoài đời thực ở trong trò chơi. Trong một game sẽ tồn tại rất nhiều các tia sáng và các tia sáng này sẽ chiếu vào các vật thể trong game sau đó sẽ tạo ra các tia phản xạ để tạo các hiệu ứng tới mắt của người chơi. Chính vì thế Ray tracing đòi hỏi cực kỳ nhiều các xử lý đến từ phần cứng của thiết bị để giảm tải cho quá trình này các nhà phát triển game thường dùng một kỹ thuật gọi là “Baking light”. Các thuật toán ray tracing sẽ được chạy một lần và sau đó kết quả sẽ được lưu lại để tái sử dụng thay vì việc tính toán lại từ đầu trên mỗi khung hình trong trò chơi. Có các GPU được thiết kế đặc biệt để hỗ trợ việc ray tracing theo thời gian thực. Việc này sẽ làm tăng trải nghiệm của người chơi trong môi trường game.

8. Collision detection

Phát hiện va chạm là khái niệm cơ bản và tồn tại trong gần như tất cả các trò chơi. Nó xử lý việc phát hiện các va chạm của các vật thể trong game với nhau. Không có collision detection thì trong các game hành động như bắn súng đạn bắn sẽ đi xuyên qua người và không để gây sát thương, viên đạn trong game bắn gà sẽ không thể tiêu diệt được các con gà vì không thể biết là viên đạn có chạm vào gà hay không,… Xác định va chạm đòi hỏi rất nhiều tính toán vậy nên các nhà phát triển game thường sử dụng các công cụ của các game engines.

9. Navigation

Dẫn đường trong game là một khái niệm khá phức tạp. Thử tưởng tượng trong thực tế bạn có thể di chuyển tới một địa điểm mà không hề gặp khó khăn khi tránh các chướng ngại vật gặp phải trên đường. Tuy nhiên để làm ra một AI có khả năng như thế trong game thì không hề đơn giản. Trong game khi một quái vật phát hiện ra người chơi và nó muốn bắt lấy người chơi, các công việc cần phải xử lý sẽ là đầu tiên cần phải xác định con đường ngắn nhất từ quái vật đến người chơi. Nếu đó là một đường thẳng và phía trước có vật cản thì con đường đó sẽ không thể đi được. Không những thế người chơi sẽ luôn thay đổi vị trí của họ vậy nên trong quá trình đuổi bắt AI cũng phải có khả năng thay đổi con đường đến chỗ người chơi tương ứng. AI cũng phải có khả năng xử lý được tình huống khi gặp phải các chướng ngại vật phát sinh trên con đường đuổi bắt. A* là một trong những thuật toán được sử dụng phổ biến trong việc tìm ra con đường ngắn nhất.

10. FPS (Frame Rate or Frames per Second)

Nếu bạn đã từng chơi game thì hẳn là bạn đã từng nghe đến cụm từ FPS. Nó chỉ số lượng khung hình của game có thể được hiển thị trong 1 giây. Nếu trò chơi có FPS là 60 thì có nghĩa là các vị trí, các phép xoay, đổ bóng, chuyển động,… của vật thể trong game sẽ được thay đổi 60 lần trong 1 giây.

11. Physics Engines

Physics Engines là các công cụ hỗ trợ cho nhà phát triển game tạo ra các tương tác vật lý của các vật thể trong trò chơi như: trọng lực, lực ma sát, lực nẩy,…

12. Asset

Là cách gọi chung cho bất cứ thứ gì ở trong một trò chơi ví dụ như: Nhân vật, vật thể, hiệu ứng âm thanh, bản đồ, môi trường,…

13. Baking

Là một phương thức tiền xử lý các asset và dữ liệu trong game để đảm bảo trong quá trình chơi sẽ không đòi hỏi nhiều các tính toán và xử lý đến từ GPU.

14. Console

Là một loại máy tính cá nhân được tạo ra để dành riêng cho mục đích chơi game. Các console cùng nhà phát hành nổi tiếng như: Sony PlayStation, Microsoft Xbox, Nintendo Switch,…

15. Culling

Phát hiện và từ chối bất kỳ dữ liệu nào không cần thiết đến thiết kế của trò chơi.

Leave a Reply

Your email address will not be published. Required fields are marked *