Sách lập trình trò chơi không dạy lập trình? [đóng cửa]


29

Tôi là một lập trình viên bình thường với khoảng 3 năm kinh nghiệm, người quan tâm đến việc phát triển trò chơi. Vấn đề mà tôi gặp phải là khi tôi xem những cuốn sách "người mới bắt đầu" này, hầu hết chúng đều dạy các kỹ năng lập trình cơ bản và tôi không đủ kiên nhẫn để đọc nó hoặc thấy chúng đáng giá. Nhưng, khi tôi nhìn vào những cuốn sách nâng cao hơn, chúng ở trên đầu tôi và một lần nữa, không có kết quả với tôi. Những gì tôi đang tìm kiếm, là những cuốn sách giải thích nội bộ của trò chơi nitty-gritty, nhưng ở mức độ hợp lý hơn.

Ví dụ: tôi rất quen thuộc với tất cả các loại cấu trúc dữ liệu (băm, cây, danh sách được liên kết) và với nhiều thuật toán phổ biến (sắp xếp, tìm kiếm), nhưng tôi sẽ không biết cách thực hiện phát hiện va chạm một cách hiệu quả. Tôi cũng có kinh nghiệm sử dụng các thư viện nước ngoài, vì vậy tôi biết cách sử dụng tài liệu để học API, vì vậy tôi cũng không cần một cuốn sách "Học cách sử dụng X".

Cá nhân, tôi không quan tâm những nền tảng / ngôn ngữ / thư viện nào được sử dụng trong sách, vì tôi cảm thấy thoải mái với nhiều ngôn ngữ, nhưng trò chơi tôi đang tìm kiếm sẽ sử dụng Javascript và canvas HTML5.

Bất kỳ đề xuất? Bất kỳ đó là miễn phí?

Tái bút: Tôi nên lưu ý rằng trình độ toán học và vật lý của tôi tương đối thấp, và một cuốn sách nhẹ nhàng tích hợp những điều đó sẽ là một điểm cộng.

EDIT: Tôi nên đề cập rằng tôi quan tâm đến lập trình 2D và tại thời điểm này tôi chưa thực sự quan tâm đến 3D.


1
Bạn đã thử lướt qua / lật qua các trang với những điều bạn đã biết chưa?
Ricket

Câu trả lời:


11

Bạn đã xem loạt game Lập trình viên đá quý chưa? Nó có thể cung cấp cho bạn các chi tiết cụ thể mà bạn dường như đang yêu cầu. Không có nhiều sách trên HTML5 / canvas vì nó khá mới, đặc biệt là những cuốn nói về lập trình trò chơi.


9

Bạn tò mò về khía cạnh nào của lập trình trò chơi? Có khá nhiều cuốn sách thảo luận về các khía cạnh cụ thể của lập trình trò chơi. Bắt đầu trò chơi và chạy không khó, và bất kỳ logic trò chơi nào cũng giống như cách bạn quản lý dữ liệu cho bất kỳ ứng dụng nào khác, có lẽ quan tâm hơn một chút đến tốc độ thực hiện. Đi vào những thứ như lập trình đồ họa, có thể là một cái gì đó hoàn toàn khác. Bắt đầu với một khung cơ bản của trò chơi, sau đó tập trung vào một lĩnh vực mà bạn quan tâm, như thiết kế một hệ thống chiến đấu mạnh mẽ, hoặc đồng bộ hóa hoạt hình hoặc đổ bóng.

Sách loại thông tin chung mà tôi thấy hữu ích:

Có lẽ bạn đang ở giai đoạn mà bạn sẽ nhận được nhiều thông tin nhất bằng cách xem các bài đăng hướng dẫn khác nhau cho các công cụ cụ thể trực tuyến. Ngoài ra còn có một số lượng đủ các trò chơi nguồn mở mà bạn có thể kiểm tra.

Một điều thú vị để nghiên cứu có thể là Động cơ Monocle .


Chỉnh sửa :

Liên quan đến toán học, tôi cũng hơi run rẩy trên nền tảng của mình. Một nguồn tốt cho các lĩnh vực chủ đề chung là Khan Academy .

Đối với các nội dung miễn phí khác, chỉ cần duyệt GameDev.net và có thể các bài viết MSDN cho XNA.


6

Nếu bạn tự tin với lập trình hướng đối tượng, bạn nên đảm bảo rằng bạn chọn thứ gì đó bao gồm thiết kế hướng thành phần. Đó là một cách tiếp cận lập trình trong OOP, rất mạnh trong phát triển trò chơi và đã trở thành một cách tiếp cận tiêu chuẩn trong thập kỷ qua.

Hai nguồn đóng góp lớn cho sự hiểu biết của tôi về COD:

Có một câu trả lời trên Stack Overflow chứa một danh sách tài nguyên đáng kinh ngạc: Kỹ thuật phần mềm dựa trên thành phần trong tài liệu trò chơi .

Lưu ý: COD không chỉ được sử dụng trong phát triển trò chơi. Bạn có thể tìm thấy các tài nguyên giải thích COD trong các bối cảnh hoàn toàn khác nhau, điều này hoàn toàn không hữu ích để hiểu vai trò của nó trong các trò chơi (YMMV).


6

Tôi sẽ thêm vào danh sách các tiêu đề ở đây:

Kiến trúc công cụ trò chơi của Jason Gregory (Chó nghịch ngợm) cho tổng quan về công cụ trò chơi nói chung ở mức độ chi tiết hợp lý.

Phát hiện va chạm trong thời gian thực của Christer Ericson (Thần chiến tranh) để có cái nhìn tổng quan sâu sắc và toàn diện về các hệ thống phát hiện va chạm.

Kết xuất thời gian thực của Tomas Moller và Eric Haines cho cách xử lý tương tự chuyên sâu về kết xuất.


5

Tôi khuyên bạn nên Giới thiệu về Lập trình trò chơi với DirectX 9.0c: Cách tiếp cận Shader của Frank Luna. Nó cũng có sẵn cho D3D10 nếu bạn tò mò. Cuốn sách giả định kiến ​​thức C ++ cơ bản nhưng không có gì cụ thể về trò chơi và không có COM, và bắt đầu với nhiều nền tảng toán học khác nhau như vectơ và ma trận, và khá nhẹ nhàng hướng dẫn người dùng thông qua việc thiết lập các trò chơi từ cơ bản đến trung gian. Tất nhiên, điều đáng chú ý là khi thời gian trôi qua, sau đó mọi thứ thay đổi - ví dụ, anh ta không dạy cách khắc phục phần cứng hoặc các tối ưu hóa khác tương đối mới.


Mặc dù đã có những thay đổi đáng kể giữa 9 và 10, tôi sẽ sử dụng phiên bản cho DirectX 10 ngay bây giờ.
John Robertson

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.