Tôi có thể tìm thấy các ví dụ tốt (được tổ chức tốt) của mã trò chơi ở đâu? [đóng cửa]


42

Tôi có thể tìm thấy các ví dụ tốt (được tổ chức tốt) của mã trò chơi ở đâu? Tôi hy vọng rằng tôi có thể nhận được một số lời khuyên tổ chức. Hầu hết các ví dụ trong sách quá ngắn và bỏ qua rất nhiều chi tiết vì lý do ngắn gọn. Tôi đặc biệt quan tâm đến cách nhóm các biến và phương thức của bạn để một lập trình viên khác biết nơi tìm mã. Ví dụ: công cụ khởi tạo ở trên cùng, sau đó phương thức lấy đầu vào, sau đó phương thức cập nhật chế độ xem.

Tôi không quan tâm đến một ngôn ngữ cụ thể, miễn là OOP của nó. Tôi đã xem các nguồn Quake 2 và 3, nhưng chúng là C thẳng và không giúp ích nhiều cho việc nhận các mẹo tổ chức các đối tượng của bạn.

Vì vậy, bạn đã thấy một số nguồn tốt? Bất kỳ con trỏ nào đến mã khiến bạn nói "wow, điều đó được tổ chức tốt" sẽ rất tuyệt.


1
Đây thực sự không phải là một câu trả lời trực tiếp, vì vậy tôi sẽ chỉ để lại như một bình luận. Tôi khuyên bạn nên kiểm tra cuốn sách Thiết kế phần mềm quy mô lớn C ++ của John Lakos. Nó đã rất khai sáng cho tôi.
CẦU

Câu trả lời:


19

Một số trò chơi thương mại đã được phát hành mã nguồn của họ. Một số trò chơi được liệt kê ở đây . Không có gì đảm bảo rằng mã trong những thứ này được tổ chức tốt, nhưng bằng cách xem xét một số mã nguồn từ các trò chơi đã thành công về mặt thương mại, bạn có thể biết được những gì hoạt động trong thực tế.

Ngoài ra, mặc dù không phải là một trò chơi, OpenSceneGraph có nhiều thành phần của trò chơi và được kiến ​​trúc tốt trong C ++, sử dụng các mẫu thiết kế, trình cắm khác nhau, v.v. Đó là một cơ sở mã đủ lớn và đã đủ dài để bạn có thể tìm hiểu rất nhiều từ nó


1
Cảm ơn, danh sách Wikipedia rất hữu ích. Mùa xuân được tổ chức rất tốt - tất cả các phương thức được nhóm theo chức năng chung (tải / lưu, vẽ, v.v.) github.com/spring/spring/blob/master/rts/Game/Game.h Aquaria khiến tôi cảm thấy tốt hơn về chính mình tổ chức mã: hg.icculus.org/icculus/aquaria/file/f08b7288f92c/Aquaria/ nam Tôi không nên chỉ trích mặc dù, các nghệ sĩ thực sự xuất xưởng.
máy nghiền

Tôi sẽ thêm Ogre như một tài liệu tham khảo tốt với OpenSceneGraph ...
Klaim

6

Trận chiến cho Wesnoth là:

Trò chơi chiến thuật chiến thuật theo lượt miễn phí, có chủ đề giả tưởng cao, có cả phần chơi đơn và chiến đấu nhiều người chơi trực tuyến / nóng bỏng

Miễn phí như trong nguồn mở, theo GPL. Tôi vừa tìm thấy / tải xuống nó, vì vậy không thể nói trò chơi này như thế nào, nhưng nó đã nhận được những đánh giá tuyệt vời. Tôi cũng không biết mã của họ có "được tổ chức tốt" :) Nhưng này, nó là nguồn mở .


Thực sự buồn cười :): p
Qchmqs


4

Nếu bạn đang tìm kiếm OOP tốt - tôi khá thích mô hình đối tượng của SDK Doom3 .
Ogre3D là một thiết kế OOP nặng nhưng tôi nhấn mạnh vào nặng vì tôi nghĩ nó khá cồng kềnh với rất nhiều ví dụ và trình cắm.

Cho tôi biết bạn nghĩ gì.


2

Tôi có mã nguồn đến các thư viện và các trò chơi đầy đủ trên trang web của tôi Một buổi sáng sớm khác, bạn cũng có thể tìm thấy một số dự án trên trang GitHub của tôi . Không phải tất cả là một ví dụ sáng chói về chất lượng, nhưng sau đó điều đó có xu hướng xảy ra khi bạn muốn vận chuyển một cái gì đó.



0

Tôi đã có nguồn cho một đơn giản mà chúng tôi đang sử dụng cho một cuộc thi chiến tranh mã tại Windward Wrocks . Tôi nghĩ rằng nó được tổ chức tốt và nó khá đơn giản. Nhưng một số phần được tạo ra một cách nhanh chóng, không tốt. Như đã nói, ngay cả trong các nhóm phát triển trò chơi lớn nhất, có những phần trong đó được viết nhanh chóng, không tốt.

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.