การจัดการโครงการประเภทใดที่ผู้พัฒนาโครงการเดี่ยวควรใช้


49

ฉันทำงานด้วยตัวเองในโครงการเกมที่สามารถแยกการพัฒนาออกเป็น 3 ส่วนอิสระ (การสร้างแผนที่เครื่องยนต์ "overworld" และเครื่องมือต่อสู้) แต่เมื่อการพัฒนาดำเนินไปฉันไม่แน่ใจว่าฉันควรทำอย่างไร การจัดการโครงการนี้โดยเฉพาะอย่างยิ่งเกี่ยวกับ 3 ประเด็นนี้:

  1. มันคุ้มค่าหรือไม่ที่ใช้ระบบควบคุมเวอร์ชันเพราะฉันทำงานคนเดียว?

  2. ฉันควรใช้วิธีการอย่างเป็นทางการในการลงทะเบียนคุณสมบัติ / ข้อบกพร่องตามแผน (ฉันเพิ่งจำได้ว่าต้องทำอะไรตอนนี้)

  3. คำถามที่สำคัญที่สุด: ฉันจะรู้ได้อย่างไรว่าจะพัฒนาเป็นอันดับแรก ตอนนี้การใช้งานขั้นพื้นฐานเสร็จสิ้นแล้วฉันก็รู้รายชื่อฟีเจอร์ที่จะเขียนโค้ด แต่ฉันไม่ทราบว่าควรจะเรียงลำดับใด


39
1) ใช่ใช่ใช่และใช่ ; ฉันหวังว่าจะไม่มีใครบอกคุณไม่ให้ใช้ VCS
sam hocevar

3
มีประเด็นต่าง ๆ ที่ชี้ไปที่การควบคุมเวอร์ชันตามความจำเป็น: (a) แนวคิดพื้นฐานของการสำรองข้อมูลในกรณีที่สำเนาภายในเครื่องของคุณถูกทำลายและ (b) แนวคิดที่ว่ารหัสและสินทรัพย์ที่คุณเขียนทับไม่จำเป็นต้องเป็นสิ่งที่คุณต้องการ สูญเสียเพื่อความดี (ซึ่งอยู่ในสาระสำคัญ (a) เนื่องจากการเขียนทับเป็นกลไกทำลายล้าง) นอกจากนี้ยังมี (c) ซึ่งเกี่ยวข้องกับ (b): คุณอาจต้องการสาขาเพื่อลองวิธีการที่แตกต่างกัน ฉันแยกสาขาบ่อยครั้งเมื่อทำงานกับรหัสที่มีประสิทธิภาพเนื่องจากมันช่วยให้ฉันระบุวิธีการต่าง ๆ โดยไม่สูญเสียตำแหน่งที่ฉันอยู่ในแนวทางอื่น
วิศวกร

ฉันสองความคิดเห็นจาก @Sam - ใช้การควบคุมเวอร์ชันเสมอ ฉันปีจากนี้คุณจะดีใจที่คุณได้ มีระบบ VCS และ DVCS โฮสต์ราคาถูก / ฟรีมากมายซึ่งให้บริการสำรองข้อมูลนอกสถานที่ของคุณ ฉันตรึงสีของฉันไว้ที่เสาล้มล้าง แต่ถ้าฉันเริ่มใหม่อีกครั้งฉันคิดว่าฉันจะใช้ Mercurial
Tim Long

1
คำถามแต่ละข้อควรเป็นคำถามแยกต่างหากเนื่องจากเป็นหัวข้อที่แยกกันจริงๆ
Tetrad

คำตอบ:


59

ฉันจะใช้:

1. การจัดการรหัส

GIT (และการอ้างอิงที่ยอดเยี่ยม ) ซึ่งเป็นผู้จัดการซอร์สโค้ดแบบกระจายสำหรับการจัดการโค้ดของฉันและโฮสต์มันไว้ในGitHubเป็นโครงการส่วนตัวหากฉันต้องการ จำกัด ขอบเขต

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

หากคุณมีคอมพิวเตอร์สองเครื่องคุณสามารถสร้างพื้นที่เก็บข้อมูลบนคอมพิวเตอร์ที่คุณโทรหาเครื่องสำรองข้อมูลของคุณจากนั้นคุณโคลนที่เก็บข้อมูลนั้นผ่านเครือข่ายท้องถิ่นและใช้สำหรับการพัฒนาเมื่อคุณทำคุณสมบัติที่คุณสามารถผลักดันมันไปยัง เครื่องสำรองข้อมูลและคุณจะมีข้อมูลสำรอง 1: 1!)

2. การจัดการปัญหาและคุณสมบัติ

ฉันจะใช้การจัดการปัญหาในตัวของTrelloหรือGitHubเพื่อติดตามข้อบกพร่องและสิ่งที่ต้องทำ

3. มีกระบวนการออกแบบ

ฉันจะออกแบบเกมของฉันก่อน

  1. ก่อนอื่นในใจฉัน
  2. จากนั้นบนกระดาษ
  3. จากนั้นอาจใช้GameMakerหรือPyGameเพื่อเป็นต้นแบบความคิดของฉันและย้ำกว่า 1-3 จนกว่าฉันจะมีสิ่งที่ฉันสนุกกับการเล่น

4. ใช้ต้นแบบของฉันเป็นแนวทางและพัฒนาเกมของฉัน

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

มีวิธีการ / ปรัชญาที่แตกต่างกันหลายประการที่คุณสามารถนำไปใช้กับรูปแบบการพัฒนา XP น้ำตกของคุณและอื่น ๆ เพียงไปกับสิ่งที่คุณรู้สึกว่าทำให้คุณก้าวหน้าเร็วที่สุด

5. มีผู้ทดสอบเกมมากมาย!

เมื่อคุณมีสิ่งที่สามารถเล่นได้ขอให้เพื่อนของคุณลองใช้ดู! ทำให้เป็นเรื่องง่ายสำหรับพวกเขาที่จะช่วยคุณด้วยการตั้งค่าแพ็คเกจตัวติดตั้งอย่างรวดเร็วหากพวกเขาใช้ Windows หรือเขียนเชลล์สคริปต์บางตัวที่สามารถทำให้กระบวนการเหล่านั้นอัตโนมัติหากพวกเขาใช้ Linux / Mac ระมัดระวังในการตอบรับจากผู้ทดสอบของคุณและอย่าลืมแจ้งให้พวกเขาทราบเกี่ยวกับการออกแบบเกมของคุณและเกมประเภทใดที่คุณกำลังพยายามสร้าง

6. สร้างเว็บไซต์สำหรับเกมของฉัน

ทันทีที่ฉันมีสิ่งที่ดีฉันอาจจะสร้างเว็บไซต์สำหรับเกมของฉัน - เพื่อให้ความคิดสร้างสรรค์และเนื้อหาของฉันไหลลื่นเมื่อไม่สามารถนำไปใช้กับความก้าวหน้าของเกมของฉันได้เช่นถ้าฉันมุ่งเน้นที่การศึกษาของฉัน หรือต้องการหยุดพักจากการพัฒนา!

ถ้าฉันใช้GitHubฉันจะตั้งค่าหน้าโปรเจคสำหรับเกมของฉันไม่เช่นนั้นโฮสต์WordPress / Jekyll blog หรือสิ่งที่คล้ายกันและเขียนโพสต์ของฉันด้วย

สิ่งนี้จะทำให้ตัวคุณเองมีแรงบันดาลใจและมีสถานที่อ้างอิงถึงนักเล่นเกม / ผู้ทดสอบ

7. เข้าร่วมการแข่งขัน

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

(หากคุณกำลังพัฒนาภายใต้กำหนดเวลาที่เข้มงวดคุณสามารถข้ามจุดนี้ไปได้อย่างน้อย)


1
คำตอบที่ดี. ฉันขอแนะนำFogBugzสำหรับการติดตามปัญหา ฟรีสำหรับนักพัฒนาเดี่ยว (เช่นฉัน)
notlesh

2
สมควรได้รับ +1 มากมาย แต่ฉันมอบได้เพียงอันเดียว
chaosTechnician

การใช้ GIT / hg / อื่น ๆ ด้วย Dropbox ทำให้เวทย์มนตร์
zeroDivisible

14

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

แก้ไข : มีโซลูชั่นการควบคุมแหล่งฟรีมากมาย

  • ฉันใช้เซิร์ฟเวอร์VisualSVNซึ่งติดตั้งและใช้งานได้ง่ายภายใต้ Windows

  • นอกจากนี้ยังมีทางเลือกออนไลน์เช่นCodeplex (มีSVNหรือMercurial) SourceForgeหรือGoogle Code ข้อเสียคือคุณไม่ต้องตั้งค่าและบำรุงรักษาพื้นที่เก็บข้อมูลและข้อมูลของคุณอยู่ในคลาวด์ การจับคือคุณไม่สามารถโฮสต์โครงการโอเพนซอร์ซได้อย่างอิสระ

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

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


1
+1 SVN นั้นคุ้มค่าเมื่อฮาร์ดไดรฟ์ของคุณเกิดรอยขีดข่วนคุณลบไฟล์ผิด ฯลฯ และอื่น ๆ
Valmond

5
ปัญหาของ VCS ข้างต้นหลายอย่างนั้นเป็นปัญหาสาธารณะ หากคุณต้องการฟรีโฮสติ้งส่วนตัวตรวจสอบassembla.com
ClassicThunder

12
bitbucket.orgรองรับที่เก็บส่วนตัว
o0 '

1
@ClassicThunder ฉันบอกว่าในโพสต์ของฉัน นอกจากนี้ครั้งสุดท้ายที่ฉันตรวจสอบ Assembla ก็ไม่ได้ดูฟรีสำหรับโครงการส่วนตัว ในระหว่างนี้มีการเปลี่ยนแปลงบางอย่างหรือไม่? (ฉันสงสัยว่า แต่คุณไม่เคยรู้)
ver

1
คุณสามารถตั้งค่าที่เก็บส่วนตัว SVN บน HDD ของคุณเองได้หากต้องการ นั่นจะดีกว่าไม่มี VCS เลย ... มีคำตอบซ้ำกันกี่คำ OMG ..
Kromster กล่าวว่าสนับสนุน Monica

7

มันคุ้มค่าหรือไม่ที่ใช้ระบบควบคุมเวอร์ชันเพราะฉันทำงานคนเดียว?

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

ฉันควรใช้วิธีการอย่างเป็นทางการในการลงทะเบียนคุณสมบัติ / ข้อบกพร่องตามแผน (ฉันเพิ่งจำได้ว่าต้องทำอะไรตอนนี้)

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

คำถามที่สำคัญที่สุด: ฉันจะรู้ได้อย่างไรว่าจะพัฒนาเป็นอันดับแรก ตอนนี้การใช้งานขั้นพื้นฐานเสร็จสิ้นแล้วฉันก็รู้รายชื่อฟีเจอร์ที่จะเขียนโค้ด แต่ฉันไม่ทราบว่าควรจะเรียงลำดับใด

ใช้รายการข้างต้นปิดตาของคุณแล้วสุ่มมันออกมา ทำงานในทุกสิ่งที่คุณใช้งาน สิ่งที่สำคัญยิ่งกว่าคือการทำให้การไหลต่อไปเป็นไปอย่างราบรื่น


5

ใช้การควบคุมเวอร์ชันอย่างแน่นอน

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

หากคุณไม่มีอิสระเช่นนี้คุณน่าจะทิ้งรหัสความคิดเห็นไว้ในที่ใดก็ได้เพราะกลัวว่าคุณอาจจำเป็นต้องใช้มัน

ฉันจะลงคะแนนให้ Git ไวยากรณ์แปลกเล็กน้อย แต่มีสองสิ่งที่ยอดเยี่ยมเกี่ยวกับมันคือ:

  • ค่าใช้จ่ายต่ำ เปลี่ยนเป็นโฟลเดอร์และประเภทgit initแล้วคุณก็พร้อมที่จะเริ่มตรวจสอบสิ่งต่าง ๆ หากคุณตัดสินใจว่าคุณไม่ต้องการควบคุมเวอร์ชันหลังจากทั้งหมดrm -rf .gitในโฟลเดอร์นั้นและไม่ใช่ repo Git อีกต่อไป
  • กระจายผ่านทาง SSH Git มีการแจกจ่ายซึ่งหมายความว่าคุณสามารถมี repo ของคุณได้หลายชุด (ประวัติทั้งหมดและอื่น ๆ ) ในสถานที่ต่าง ๆ และทำให้ข้อมูลตรงกัน คุณสามารถตั้งค่า Git repo อื่นในเครื่องที่คุณเข้าถึง SSH ได้จากนั้นเพิ่ม repo อื่น ๆ เป็น Remote หลังจากนั้นทุกเวลาที่คุณต้องการสำรองข้อมูลgit pushซื้อคืนนั้น

    นั่นเป็นข้อได้เปรียบที่ยิ่งใหญ่มากกว่าพูดการโค่นล้มที่ repo ทั้งหมดอาศัยอยู่ในเครื่องเดียวและเครื่องนั้นจะต้องใช้เซิร์ฟเวอร์การโค่นล้ม

Mercurial อาจมีจุดเดียวกันนี้ได้ตามต้องการ แต่ฉันไม่ได้ใช้


3
  1. ใช่ เมื่อคุณถามฉันเดาว่าคุณได้รับการยอมรับอย่างดีกับระบบควบคุมการแก้ไข มันต้อง!

  2. เกี่ยวกับคำถามที่สองของคุณมีวิธีการอย่างเป็นทางการในการลงทะเบียนข้อบกพร่องและคุณควรใช้มัน สำหรับคุณสมบัติการวางแผนฉันคิดว่าการใช้เส้นทางที่เป็นทางการน้อยกว่าจะไม่เจ็บ (เมื่อคุณทำงานคนเดียว)

  3. ทำคุณสมบัติเหล่านั้นก่อนที่จะทำให้เกมของคุณมีชีวิตชีวา ให้ความรู้สึกว่าการเล่นเกมขั้นสุดท้ายเป็นอย่างไร


3

1) ใช่แน่นอน ฉันแนะนำ Mercurial ผ่าน BitBucket และ TortoiseHg BitBucket นั้นฟรีสำหรับผู้ใช้มากถึง 5 คนและเนื่องจากมันถูกโฮสต์ในคลาวด์มันจึงเพิ่มความคิดให้คุณ (ไม่จำเป็นต้องสำรองข้อมูล)

2) ข้อบกพร่องควรได้รับการแก้ไขก่อนที่จะใช้งานคุณสมบัติใหม่ ฉันจะใช้รายการสิ่งที่ต้องทำที่สามารถเข้าถึงได้ง่ายเพื่อติดตามสิ่งต่าง ๆ - รอดำเนินการ / เสร็จสิ้น คุณอาจใช้ไฟล์ข้อความธรรมดาอย่าลืมที่จะเพิ่มลงในแหล่งเก็บข้อมูลการควบคุมของคุณ

3) ทำสิ่งที่คุณต้องการจะทำในวันใดวันหนึ่งโดยคำนึงว่าการส่งมอบสิ่งที่สามารถเล่นได้โดยผู้ใช้ปลายทางนั้นเป็นเป้าหมายหลัก เช่นถ้าคุณรู้สึกเบื่อกับการเรียนฟิสิกส์อย่างถูกต้องลองใช้การเรนเดอร์หรืออาจเพิ่มการทดสอบยูนิตที่ขาดหายไปสำหรับ AI นั้น

ชิ้นงานควรเล็กพอที่จะทำภายในสองสามวัน มันเป็นสิ่งสำคัญที่จะทำให้ตัวเองมีแรงจูงใจและหลีกเลี่ยงความเหนื่อยหน่าย

หากสถาปัตยกรรมนั้นทำอย่างถูกต้องคุณควรจะสามารถเพิ่มส่วนดัดแปลงของเครื่องยนต์ / เกมได้อย่างง่ายดายโดยไม่กระทบกับส่วนอื่น ๆ (เริ่มด้วยการเปลี่ยนโครงสร้างใหม่ :)


2

1) ตามที่ทุกคนพูดว่า: ใช่ (ฉันจะบอกว่าให้เช่าออนไลน์ราคาถูก)

2) เก็บรายการที่เรียบง่ายหรือหากโครงการของคุณเติบโตใหญ่และคุณได้รับผู้ทดสอบเบต้าให้ติดตั้งMantis Bug Tracker

3) ฉันไม่รู้ แต่ฉันจะบอกคุณว่าฉันทำได้อย่างไร: พัฒนาสิ่งที่รบกวนน้อยที่สุดและ / หรือสิ่งที่ยากที่สุดก่อน ทำซ้ำจนกระทั่งทุกอย่างเสร็จสิ้น ด้วยวิธีการพัฒนาที่สนุกและง่ายขึ้น (และคุณจะไม่ประสบปัญหานั้นคุณไม่สามารถแก้ไขได้ช้าเกินไปหากเกิดขึ้น)


1

ขอบคุณที่ถามคำถามนี้ นี่คือสิ่งที่ฉันกำลังทำอยู่ในปัจจุบัน

1) การควบคุมเวอร์ชัน: ต้องมี ตอนนี้ฉันกำลังสำรองข้อมูลด้วยตนเองอยู่ มันจะมีประโยชน์อย่างน้อยเมื่อสิ่งที่ทำงานได้ดีมีการโยนข้อผิดพลาดในทันที (หรือไม่ทำงานตามที่คาดไว้) ฉันเปรียบเทียบรุ่นต่าง ๆ และมักจะพบข้อผิดพลาดโง่ ๆ

2) ฉันสร้างเอกสารคำและแสดงรายการคุณลักษณะทั้งหมดที่เกมของฉันจะมีตามลำดับหมวดหมู่และมีการเยื้องในรายการระดับย่อยหลายรายการ (และไคลเอนต์ / เซิร์ฟเวอร์ที่เกี่ยวข้องหรือสิ่งที่เกี่ยวข้อง)

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

หวังว่านี่จะช่วยได้


0

1. ) มันคุ้มค่าที่จะใช้การควบคุมเวอร์ชันสำหรับโครงการใด ๆ แม้แต่ชิ้นเล็ก ๆ ถ้าคุณรู้วิธีใช้งาน ฉันได้ใช้การโค่นล้มมานานหลายปีบน Linux และ Windows ด้วยTortoiseSVN แม้เมื่อสร้างโครงการขนาดเล็ก (<500 บรรทัด) ฉันจะสร้างที่เก็บสำหรับมันเพื่อให้ฉันสามารถยกเลิกการเปลี่ยนแปลงติดตามสิ่งที่ฉันทำถ้าฉันละทิ้งโครงการไประยะหนึ่ง ฯลฯ

2. ) ขึ้นอยู่กับว่าโครงการจะมีขนาดใหญ่เพียงใด หากคุณวางแผนที่จะทดสอบเล่นกับทีมและแจกจ่ายมันอาจจะคุ้มค่าหากมีระบบติดตามบั๊ก ฉันกำลังทำงานเดี่ยว (แม้ว่าฉันมีศิลปิน) ในโครงการที่มีมากกว่า 20k บรรทัดและฉันเพิ่งเก็บรายการที่ต้องทำของฉันในไฟล์ข้อความที่อยู่ในที่เก็บ SVN ของฉันด้วย แม้ว่าฉันยังไม่ต้องการแชร์กับผู้อื่น แต่อย่างใดดังนั้นการติดตามบั๊กไม่ตรงกับความต้องการของฉันในตอนนี้ ฉันจะไม่กังวลเกี่ยวกับมันจนกว่าจะมีความต้องการ สิ่งที่แย่ที่สุดที่สามารถเกิดขึ้นได้คือคุณจะต้องป้อนข้อผิดพลาดใด ๆ ที่คุณจดไว้แล้วและลบ / แก้ไขสิ่งที่คุณแก้ไข เมื่อคุณเริ่มสูญเสียการติดตามจิตใจของบันทึกย่อของคุณรับตัวติดตามข้อผิดพลาด

3. ) เขียนลงบนกระดาษ เริ่มต้นด้วยสิ่งที่คุณต้องการให้เกมเสร็จแล้วเขียนส่วนสำคัญของมัน จากนั้นแบ่งมันออกเป็นสิ่งที่จะทำให้: การตรวจจับการชนกันของข้อมูล? รหัสเครือข่าย ประเภทของผู้เล่นและมอนสเตอร์? ลำดับชั้นของชั้นเรียน? ทำงานย้อนกลับจากวิสัยทัศน์ของคุณเพื่อให้คุณได้แนวคิดที่ชัดเจนในการสร้างมันขึ้นมาจากพื้นดิน ฉันคิดว่าคุณกำลังใช้ภาษาเชิงวัตถุ ขั้นตอนที่สำคัญที่สุดในการเริ่มต้นคือการตั้งค่าลำดับชั้นของชั้นเรียนด้วยวิธีที่เหมาะสม ลองใช้คำสาปของคุณเพื่อไม่ให้สืบทอดหลาย ๆ อย่าง (แม้ว่าบางครั้งก็หลีกเลี่ยงไม่ได้), วางแผนความสัมพันธ์ของคลาสในตัวแก้ไขไดอะแกรม (ฉันใช้Dia ) เป็นต้นผู้อำนวยการขั้นพื้นฐานจะหลีกเลี่ยงอาการปวดหัวในภายหลัง


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