ฉันจะหาตัวอย่างของรหัสเกมที่ดี (มีการจัดการที่ดี) ได้ที่ไหน [ปิด]


42

ฉันจะหาตัวอย่างของรหัสเกมที่ดี (มีการจัดการที่ดี) ได้ที่ไหน ฉันหวังว่าฉันจะรับเคล็ดลับขององค์กรได้ ตัวอย่างส่วนใหญ่ในหนังสือสั้นเกินไปและไม่ต้องลงรายละเอียดมากมายเพื่อความกระชับ ฉันสนใจเป็นพิเศษเกี่ยวกับวิธีจัดกลุ่มตัวแปรและวิธีการของคุณเพื่อให้โปรแกรมเมอร์คนอื่นรู้ว่าจะต้องดูที่ใดในโค้ด ตัวอย่างเช่น initializers ที่ด้านบนจากนั้นวิธีการที่จะนำเข้าจากนั้นวิธีการที่ปรับปรุงมุมมอง

ฉันไม่สนใจภาษาใดภาษาหนึ่งโดยเฉพาะตราบใดที่ OOP ฉันดูแหล่งที่มาของ Quake 2 และ 3 แต่พวกมันก็เป็นแบบตรง C และไม่ค่อยมีคำแนะนำสำหรับการจัดระเบียบวัตถุของคุณ

คุณเคยเห็นแหล่งข้อมูลที่ดีบ้างไหม? พอยน์เตอร์ใด ๆ ของรหัสที่ทำให้คุณพูดว่า "ว้าวการจัดระเบียบที่ดี" จะดีมาก


1
นี่ไม่ใช่คำตอบโดยตรงจริงๆดังนั้นฉันจะทิ้งไว้เป็นความคิดเห็น ฉันแนะนำให้ตรวจสอบหนังสือออกแบบซอฟต์แวร์ C ++ ขนาดใหญ่โดย John Lakos มันให้ความสว่างแก่ฉันมาก
BRaffle

คำตอบ:


19

เกมเชิงพาณิชย์หลายเกมมีซอร์สโค้ดวางจำหน่ายแล้ว บางส่วนของเกมจะอยู่ที่นี่ ไม่มีการรับประกันว่าโค้ดในโค้ดเหล่านี้มีการจัดการที่ดี แต่ด้วยการดูซอร์สโค้ดบางส่วนจากเกมที่ประสบความสำเร็จในเชิงพาณิชย์คุณอาจได้รับแนวคิดที่ดีว่าอะไรที่ใช้ได้จริงในทางปฏิบัติ

นอกจากนี้ในขณะที่ไม่ใช่เกมOpenSceneGraphมีองค์ประกอบหลายอย่างของเกมและออกแบบมาอย่างดีใน C ++ โดยใช้รูปแบบการออกแบบที่แตกต่างกันปลั๊กอิน ฯลฯ มันเป็นฐานรหัสขนาดใหญ่พอและได้รับรอบนานพอที่คุณสามารถเรียนรู้ได้ มากจากมัน


1
ขอบคุณรายการ Wikipedia มีประโยชน์ สปริงได้รับการจัดระเบียบอย่างดี - วิธีการทั้งหมดจัดกลุ่มตามฟังก์ชั่นทั่วไป (โหลด / บันทึก, การวาดภาพ ฯลฯ ) github.com/spring/spring/blob/master/rts/Game/Game.h Aquaria ทำให้ฉันรู้สึกดีขึ้นเกี่ยวกับตัวฉันเอง รหัสองค์กร: hg.icculus.org/icculus/aquaria/file/f08b7288f92c/Aquaria/ …ฉันไม่ควรวิจารณ์แม้ว่าศิลปินจริง ๆ
Smasher

ฉันจะเพิ่ม Ogre เป็นข้อมูลอ้างอิงที่ดีกับ OpenSceneGraph ...
Klaim

6

การต่อสู้เพื่อ Wesnothคือ:

เกมกลยุทธ์ทางยุทธวิธีแบบเลี้ยวฟรีพร้อมธีมแฟนตาซีสูงซึ่งมีทั้งผู้เล่นคนเดียวและการต่อสู้แบบผู้เล่นหลายคนออนไลน์ / hotseat

ฟรีเหมือนโอเพนซอร์สภายใต้ GPL ฉันเพิ่งพบ / ดาวน์โหลดดังนั้นไม่สามารถบอกได้ว่ารูปแบบการเล่นเป็นอย่างไร แต่มันได้รับความคิดเห็นที่ยอดเยี่ยม ข้าก็ไม่ทราบว่ารหัสของพวกเขาคือ "ดีจัด" :) แต่เดี๋ยวก่อนมันโอเพนซอร์ส


ตลกจริงๆ :): p
Qchmqs


4

หากคุณกำลังมองหา OOP ดี - ฉันค่อนข้างชอบรูปแบบวัตถุของDoom3 SDK
Ogre3D คือการออกแบบ OOP ที่หนักหน่วง แต่ฉันเน้นหนักเพราะฉันคิดว่ามันค่อนข้างป่องด้วยตัวอย่างและปลั๊กอินจำนวนมาก

แจ้งให้เราทราบสิ่งที่คุณคิด.


2

ฉันมีรหัสแหล่งที่ห้องสมุดและเกมเต็มรูปแบบบนเว็บไซต์ของฉันอีกตอนเช้าคุณยังสามารถหาบางโครงการบนของหน้า GitHub ไม่ใช่ทั้งหมดที่เป็นตัวอย่างของคุณภาพ แต่ก็มีแนวโน้มที่จะเกิดขึ้นเมื่อคุณต้องการจัดส่งบางสิ่ง


0

Prototype ผู้ชนะหนึ่งในการแข่งขัน Shmup-Dev:

http://xout.blackened-interactive.com/ProtoType/Prototype.html

และรหัสแหล่งที่มา:

http://xout.blackened-interactive.com/dump/new/ProtoType_src.zip

เนื่องจากฉันเป็นมือใหม่รหัสฉันไม่สามารถพูดอะไรเกี่ยวกับคุณภาพได้มากนัก แต่แค่อ่านซ้ำ ๆ มันทำให้ฉันมีความเข้าใจลึกซึ้ง มีความสุข.


0

ฉันมีแหล่งสำหรับหนึ่งง่ายที่เรากำลังใช้สำหรับการแข่งขันรหัสสงครามที่ลม Wrocks ฉันคิดว่ามันจัดได้ดีและมันค่อนข้างง่าย แต่บางส่วนถูกสร้างขึ้นอย่างรวดเร็วไม่ดี ด้วยที่กล่าวไว้แม้ในทีมพัฒนาเกมที่ใหญ่ที่สุดก็มีบางส่วนที่เขียนได้อย่างรวดเร็วไม่ดี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.