การควบคุมเวอร์ชันสำหรับการพัฒนาเกม - ปัญหาและแนวทางแก้ไข? [ปิด]


106

มีจำนวนมากที่มีการควบคุมเวอร์ชันระบบที่มีอยู่รวมทั้งคนที่เปิดแหล่งที่มาเช่นการโค่นล้ม , GitและMercurialบวกคนในเชิงพาณิชย์เช่นอย่างเลี่ยงไม่พ้น

พวกเขาสนับสนุนกระบวนการพัฒนาเกมได้ดีแค่ไหน? ปัญหาการใช้ VCS เกี่ยวกับไฟล์ที่ไม่ใช่ข้อความ (ไฟล์ไบนารี) โครงการขนาดใหญ่และอื่น ๆ คืออะไร? อะไรคือวิธีแก้ไขปัญหาเหล่านี้ถ้ามี?

สำหรับการจัดองค์กรของคำตอบลองใช้แบบต่อแพคเกจ อัปเดตแต่ละแพ็คเกจ / คำตอบด้วยผลลัพธ์ของคุณ

นอกจากนี้โปรดระบุรายละเอียดสั้น ๆ ในคำตอบของคุณเกี่ยวกับ VCS ของคุณว่าฟรีหรือใช้ในเชิงพาณิชย์กระจายเทียบกับส่วนกลาง ฯลฯ

ปรับปรุง : พบบทความที่ดีเปรียบเทียบสองของ VCS ดังต่อไปนี้ - เห็นได้ชัดว่าGit เป็น MacGyver และ Mercurial เป็นบอนด์ ฉันดีใจที่ได้ตัดสิน ... และผู้เขียนได้กล่าวอ้างที่ดีในตอนท้าย:

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

โดยเฉพาะอย่างยิ่งตั้งแต่Git และ Mercurial ของศัตรูที่แท้จริงคือการโค่นล้ม แดงมันเป็นโลกรหัสโคดนอกใน FOSS-land ...


หมายเหตุ - นี้มีวัตถุประสงค์เพื่อแทนที่คำถามgamedev.stackexchange.com/questions/245/... ใน 72 ชั่วโมงฉันจะลบคำถามที่ - ฉันปล่อยให้มันขึ้นสำหรับตอนนี้จะให้คนเวลาที่จะคัดลอกคำตอบของพวกเขา / ความคิดเห็นที่นี้คำถาม :)
ไซคลอป

นี่อาจเป็นคำถามที่ฉันชื่นชอบถ้าคนทำตามคำแนะนำการแก้ไข ทำงานกับวิธีแก้ปัญหาเฉพาะของ Game Dev ในตอนนี้: D
Jesse Dorsey

@Notrine คุณต้องเพิ่มข้อจำกัดความรับผิดชอบถ้าใช่มั้ย :) ของหลักสูตรคนจะทำตามคำแนะนำ ...
ไซคลอปส์

อย่าลบคำถามอื่น หากเป็นหัวข้อนอกจริง ๆ (ฉันไม่คิดว่าเป็น) สามารถปิดและเก็บถาวรได้ นอกจากนี้ยังสามารถปิดเป็นสำเนาซ้ำได้
Firas Assaad

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

คำตอบ:


71

Git

เมื่อเร็ว ๆ นี้ฉันอยู่ในGw bandwagon (ฉันเคยใช้ SVN และ Mercurial) จนถึงตอนนี้ฉันชอบสิ่งที่ฉันได้รับจาก Git มันอยู่ไกลจากความเจ็บปวดในการตั้งค่าและเครื่องมือพัฒนาอื่น ๆ กำลังเริ่มปรับใช้

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

ด้วย SVN คุณต้องเข้าถึง repo ของคุณเพื่อที่จะส่งมอบ ถ้าคุณอยู่บนท้องถนนหรือที่ร้านกาแฟที่ไม่มีอินเทอร์เน็ต ไม่ดี.

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

ฉันก็ชอบที่มันฉลาดกว่าเกี่ยวกับการรวม

ข้อเสียที่สำคัญของ GIT คือมันเก็บประวัติทั้งหมดไว้ในเครื่อง (ใช่คุณสามารถทำการผ่าตัดเพื่อลดขนาดนั้น แต่มันเป็นพฤติกรรมเริ่มต้น) มันไม่ใช่ปัญหาเลยสำหรับไฟล์ต้นฉบับ แต่ถ้าคุณมีโครงการขนาดใหญ่ที่มีข้อมูลสินทรัพย์กิกะไบต์มันจะกลายเป็นปัญหาได้อย่างรวดเร็ว จากประสบการณ์ปัจจุบันของฉันฉันขอแนะนำ GIT สำหรับ repos ที่เล็กกว่าหรือ source-only เท่านั้น

หากคุณยังสงสัยเกี่ยวกับ GIT โปรดดูhttp://thkoch2001.github.io/whygitisbetter/สำหรับข้อมูล / ตัวชี้วัดที่ดี ดูที่https://git.wiki.kernel.org/index.php/GitSvnComparsion


1
ฉันชอบความคิดเกี่ยวกับลำดับชั้นของสาขาที่อนุญาตให้ QA ทดสอบการเปลี่ยนแปลงก่อนที่จะทำการฉีดหรือการสร้างที่ง่ายและตรวจสอบความถูกต้องของการสาธิต
tenpn

@tenpn นั่นคือคุณสมบัติของ VCS แบบกระจายโดยทั่วไปหรือเพียงแค่ Git?
Cyclops

1
ฉันได้ยินมาว่า Git และ Mercurial ต่างก็ประสบปัญหาเมื่อผลักไฟล์ขนาดใหญ่เข้ามา ความจริงข้อใดที่มีข่าวลือจากคนที่มีประสบการณ์มากกว่าฉัน?
drhayes

6
Git นั้นดีและทั้งหมด แต่เมื่อพูดถึงการจัดการกับเนื้อหากราฟิกหรือเพลงขนาดใหญ่เช่นใหญ่กว่า 100 MB มันจะช้าลงอย่างเห็นได้ชัดเมื่อกระทำและเช็คเอาต์ ในขณะนี้ Mercurial ผู้แข่งขันกับ Git มีส่วนขยาย "ไฟล์ขนาดใหญ่" ที่แก้ไขปัญหาเฉพาะนี้ หากคุณมีโครงการเกมที่ไม่มีทรัพย์สินมากมายคุณสามารถลองใช้ Git ได้
Spoike

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

62

หลายใจ

คุณสมบัติที่สำคัญ:

  • VCS แบบกระจาย
  • ฟรีโอเพ่นซอร์ส
  • สคริปต์ปลั๊กอินนั้นง่ายต่อการเขียน --- สามารถเขียนใน Python หรือเป็นเชลล์สคริปต์
  • มีสคริปต์ปลั๊กอินมากมายพร้อมใช้งานได้อย่างอิสระอยู่แล้ว
  • มีเอกสารจำนวนมากรวมทั้งหนังสือเล่มนี้ (แนะนำเป็นอย่างยิ่ง)

สำหรับการใช้งานไฟล์ที่ไม่ใช่ข้อความ Mercurial (> = 2.0) เวอร์ชั่นล่าสุดจะให้ส่วนขยายไฟล์ขนาดใหญ่ ตามค่าเริ่มต้น :

largefiles แก้ปัญหานี้โดยการเพิ่มเลเยอร์ไคลเอนต์ - เซิร์ฟเวอร์ส่วนกลางที่ด้านบนของ Mercurial: ไฟล์ขนาดใหญ่อาศัยอยู่ในร้านค้าส่วนกลางบนเครือข่ายที่ใดที่หนึ่งและคุณดึงเฉพาะสิ่งที่คุณต้องการเมื่อคุณต้องการ

มีส่วนขยายอื่น ๆ ที่ให้โซลูชันที่คล้ายกันเช่นส่วนขยายใหญ่ซึ่งช่วยให้คุณจัดเก็บเนื้อหาของคุณใน Mercurial repo เดียวกัน แต่จะดึงข้อมูลไบนารีที่คุณต้องการเมื่อคุณต้องการ

ฉันไม่ได้ตระหนักถึงปัญหาใด ๆ ที่เกี่ยวข้องกับโครงการขนาดใหญ่นอกเหนือจากที่เกี่ยวข้องกับการมีไฟล์ไบนารีขนาดใหญ่ โครงการงูใหญ่เป็นโครงการขนาดใหญ่และใช้ Mercurial

Joel Spolsky ได้เขียน mini-tutorial เกี่ยวกับการใช้ Mercurial ที่การโค่นล้ม Re-education


4
หมายเหตุที่น่าสนใจเกี่ยวกับ Bigfiles Extension - ที่อยู่หนึ่งในปัญหาที่รายงานในเธรดดั้งเดิมที่ VCS แบบกระจายไม่เหมาะกับการผลิตเกมที่มีสินทรัพย์ไบนารีไฟล์จำนวนมาก
Cyclops

1
+1 สำหรับ Mercurial มันรวดเร็วใช้งานง่ายและทรงพลังอย่างน่าประหลาดใจ :) ฉันใช้มันกับทุกสิ่ง: การพัฒนาเว็บ, การพัฒนาเกม, โครงการส่วนตัวเดี่ยวและโครงการทีม ขอขอบคุณที่แนะนำส่วนขยาย BigFiles!
jacmoe

สำหรับโครงการขนาดใหญ่ - TortoiseHg ดูเหมือนจะช้าลงมากในพื้นที่เก็บข้อมูลขนาดใหญ่ที่มีการแก้ไข 8 ปีกว่าที่เก็บไว้ในที่เก็บขนาดเล็กที่มีการแก้ไขน้อยกว่า 20 ครั้ง ฉันยังไม่รู้ว่านี่เป็นสิ่งที่เฉพาะกับ Tortoise หรือ Mercurial มากกว่าปกติ
Kylotan

4
มีไม่ได้ดูเหมือนจะเป็นตัวเลือกที่เปรียบไปยังsvn:needs-lockและตั้งแต่นอกจากนี้ยังมีวิธีที่จะบอกไม่มีใครในประเทศที่ทำงานเกี่ยวกับไฟล์ที่คุณจะกลับไปที่ผ่านชามรอบทีมที่แท้จริง (คุณจะไม่ได้รับอนุญาตให้แก้ไขได้โดยไม่ต้อง ชามบนโต๊ะทำงานของคุณ) ส่วนขยาย BigFiles หรือไม่ VCS นี้ไร้ประโยชน์สำหรับไฟล์ไบนารีโดยไม่มีวิธีการแก้ปัญหาในทางปฏิบัติ
Sam Harwell

3
โดยไม่คำนึงถึงการรองรับไฟล์ใหญ่ถ้าคนสองคนแก้ไขพูดไฟล์มายาในคราวเดียวคนหนึ่งจะเช็คอินและอีกคนจะต้องทำซ้ำงาน อย่างน้อยที่สุดด้วย Perforce คุณสามารถรู้ได้ว่ามีบุคคลอื่นกำลังแก้ไขไฟล์ (และยังมีการล็อคไฟล์นั้นโดยอัตโนมัติด้วย)
dash-tom-bang

39

อย่างเลี่ยงไม่พ้น

Perforce (Commercial / Closed-source, centralized) เป็นมาตรฐานอุตสาหกรรมด้วยเหตุผลหลายประการ

  1. มันเป็นผลิตภัณฑ์เชิงพาณิชย์ซึ่งหมายความว่ามันมาพร้อมกับการสนับสนุนเชิงพาณิชย์ โครงการโอเพนซอร์สอาจมีสิทธิ์ได้รับใบอนุญาตฟรี (ลบด้วยการสนับสนุนด้านเทคนิค)
  2. รองรับพื้นที่ทำงานได้เป็นอย่างดีซึ่งช่วยให้สามารถจัดวางรูปแบบไดเรกทอรีและสินทรัพย์ได้อย่างยืดหยุ่น
  3. จะสนับสนุนการเปลี่ยนแปลงแบบได้เป็นอย่างดี
  4. คุณสามารถดูว่าใครกำลังทำอะไรอยู่ เกมมีจำนวนไบนารีไฟล์ (สินทรัพย์) ที่เปลี่ยนแปลงอย่างรวดเร็วผิดปกติเมื่อเทียบกับโครงการพัฒนาอื่น ๆ ส่วนใหญ่เวลาเหล่านี้ไม่สามารถผสานได้ดังนั้นการติดตามว่าใครมีอะไร / ที่ไหน / เมื่อใดที่มีความสำคัญ ลูกค้าที่ถูกโค่นล้มและ DSCC จงใจหลีกเลี่ยงเทคนิคนี้ แต่มันค่อนข้างมีประโยชน์ในบางแอปพลิเคชัน
  5. รองรับรหัสขนาดใหญ่ / ฐานสินทรัพย์ มันไม่ได้จัดเก็บข้อมูลที่ซ้ำกันบนเครื่องไคลเอนต์ซึ่งเป็นสิ่งสำคัญเมื่อมุมมองย่อยของคุณเป็นต้นไม้สองสามกิ๊ก

ที่กล่าวว่าเป็นที่ชัดเจนเจ็บปวดในเกือบทุกวันที่ Perforce ไม่รู้สึกว่าตำแหน่งของพวกเขาในอุตสาหกรรมที่ถูกคุกคาม เครื่องมือการมองเห็นของพวกเขารวมถึง P4V และ P4SCC (รวมเข้ากับ Visual Studio) นั้นช้าและบั๊กกี้ซึ่งเป็นที่รู้จักกันดีในภายหลังว่าจะหยุด Visual Studio เพื่อความเพลิดเพลินที่แท้จริงของมัน AnkhSVN เป็นไมล์ล่วงหน้าของ Perforce

ความคิดเห็นโดย xan: มันเป็นสิ่งที่น่าสังเกต แต่เครื่องมือผสานของพวกเขา P4Merge (ใช้สำหรับการรวมและการผสาน) นั้นยอดเยี่ยมและยอดเยี่ยมกว่าของ Tortoise Merge น่าแปลกที่องค์ประกอบนี้มีให้บริการฟรีโดยเป็นส่วนหนึ่งของแพ็คเกจ P4 Visual Tools

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

ความคิดเห็นโดย roe: Perforce ช่างพูดเก่งมาก ไม่มีอะไรเกิดขึ้นหากไม่มีเซิร์ฟเวอร์ที่เกี่ยวข้อง สิ่งที่สำคัญที่สุดคือคุณต้องมีเซิร์ฟเวอร์เพื่อที่จะทำการ open-for-edit ซึ่งหมายความว่าคุณต้องข้ามไปสองสามห่วงถ้าคุณตั้งใจจะหยุดการเชื่อมต่อกับเซิร์ฟเวอร์

ความคิดเห็นโดย jrista: ในฐานะผู้ใช้ประจำวันของ Perforce มานานกว่าสองปีแล้วด้วยการพัฒนาและทีมวิศวกรรมที่มีคุณภาพมากกว่า 100 คนฉันได้คุ้นเคยกับมันอย่างใกล้ชิด ในขณะที่มันเป็นระบบการควบคุมแหล่งที่มาที่ดี แต่ก็มีข้อเสียที่ผู้ประเมินระบบ SCC ควรตระหนักถึง:

  • ดังที่ผู้อื่นกล่าวถึงการแตกแขนง / บูรณาการนั้นยุ่งยากและยากที่จะทำ คุณมีการควบคุมจำนวนไม่ดี แต่มันก็มีค่ากับความซับซ้อนที่มากเกินไป ในทางกลับกันเครื่องมือผสานการมองเห็นเป็นหนึ่งในประเภทและนำเสนอมุมมองผสานที่ใช้ไฟล์ "สวยงาม" สามไฟล์ในการทำงานของคุณ Perforce จัดเตรียมการแสดงภาพประกอบเพลงแบบกราฟิกของเส้นทางสาขา (เรียกว่ากราฟการแก้ไข) อย่างไรก็ตามวิธีการสร้างภาพข้อมูลนั้นมักทำให้เครื่องมือไม่มีประโยชน์ หากคุณต้องการดูส่วนเวลาเพียงเล็กน้อยสำหรับไฟล์หนึ่งหรือสองไฟล์มันจะมีประโยชน์ ... ยิ่งไปกว่านั้นและมันเป็นไปไม่ได้ที่จะสำรวจกราฟการแก้ไข
  • Perforce ไม่ได้เป็นเครื่องมือที่มีประสิทธิภาพมากนักเนื่องจากเกือบทุกการทำงานของไฟล์ต้องการการทำซ้ำไฟล์และข้อมูล: การแยกย่อย, การติดฉลาก, รายการการเปลี่ยนแปลง ฯลฯ หากคุณไม่กลัวที่จะใช้พื้นที่ดิสก์จำนวนมหาศาลในการติดตามการเปลี่ยนแปลงของคุณอาจจะให้บริการคุณได้ดี ถ้าไม่ฉันจะดูเครื่องมืออื่น
  • Perforce ใช้พื้นที่ทำงานอย่างไรก็ตามสิ่งเหล่านี้อาจทำให้คุณหงุดหงิดในบางครั้งเนื่องจาก perforce เก็บแคชสถานะทั้งหมดในเวิร์กสเปซของคุณแทนที่จะใช้ไฟล์จริงบนดิสก์เพื่อกำหนดสถานะ สิ่งนี้มักจะส่งผลให้ไฟล์ไม่ได้รับการซิงค์เนื่องจากเวิร์กสเปซของคุณบอกว่าเป็นไฟล์ล่าสุดเมื่อใดก็ตามที่ไฟล์ฟิสิคัลบนดิสก์ไม่ทันสมัย
  • ความรำคาญครั้งสุดท้าย Perforce ค่อนข้างโหดร้ายในเครือข่ายของคุณ เป็นโปรแกรมที่ช่างพูดมากและใช้แบนด์วิดท์จำนวนมาก การสูญเสียการเชื่อมต่อเครือข่ายใด ๆ และคุณมีความเสี่ยงสูงที่จะไม่สามารถทำงานกับไฟล์ที่ควบคุมโดยซอร์สของคุณจนกว่าการเชื่อมต่อจะได้รับการกู้คืน ณ ตอนนี้ฉันยังไม่ได้ค้นพบกิจกรรมที่สามารถทำได้แบบออฟไลน์ใน Perforce

2
ข้อดีอีกอย่างของ Perforce ก็คือมันฟรีสำหรับผู้ใช้สองคนแรกซึ่งเหมาะสำหรับโครงการงานอดิเรกขนาดเล็กหรือสองคนประเมินความเหมาะสมสำหรับโครงการขนาดใหญ่

จากประสบการณ์ของฉันจุดที่ 5 จากคำตอบของคุณเป็นจริงมาก มันปรับขนาดได้อย่างมาก ข้อผิดพลาดหายากการสนับสนุนนั้นรวดเร็ว ไม่แน่ใจเกี่ยวกับค่าใช้จ่าย Yacine ตั้งข้อสังเกตว่ามันฟรีสำหรับผู้ใช้สองคนแรก สำหรับสตูดิโอขนาดเล็กที่มีเกมขนาดเล็กมันจะคุ้มค่าที่จะประเมินทางเลือกอื่น ๆ การรวม Visual Studio นั้นทำได้ยาก แต่เราโชคดีที่มี Perforce ที่กระตือรือร้นที่สตูดิโอของเราเขียนผู้ให้บริการแหล่งข้อมูลที่ยอดเยี่ยมสำหรับ VS ตั้งแต่เริ่มต้น
paulecoyote

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

1
ถ้าฉันต้องเลือกหนึ่ง VCS สำหรับการพัฒนาเกม (ขนาดใหญ่) มันจะเป็น Perforce หากฉันสามารถเลือกได้หลายตัวฉันจะเพิ่ม DVCS สำหรับเนื้อหาข้อความ (รหัสสคริปต์และไฟล์ข้อมูลเบ็ดเตล็ดอื่น ๆ ) แต่เก็บ Perforce ไว้สำหรับสินทรัพย์ไบนารี
dash-tom-bang

2
ฉันทำงานในโครงการเกมขนาดใหญ่ที่ใช้ Perforce และรู้สึกสับสนอย่างสมบูรณ์ว่าใคร ๆ ก็จ่ายเงินให้ ความต้องการที่จะซิงค์กับเซิร์ฟเวอร์นั้นน่าสะพรึงกลัวแม้กระทั่งบน LAN ฉันเข้าใจคุณลักษณะ "กระทบยอดการทำงานออฟไลน์" แต่ในทางปฏิบัติเวิร์กโฟลว์นั้นน่ารำคาญจนเมื่อมีการสะดุดเครือข่ายคุณก็ไม่ทำงาน หากคุณไม่ได้ใช้ IDE ที่มีปลั๊กอิน P4 หรือคุณเพียงต้องการแก้ไขไฟล์ที่นี่และจากบรรทัดคำสั่งหรือเครื่องมืออื่นคุณต้องกลับไปที่ไคลเอนต์ P4 และทำบัญชี ไม่มี VCS อื่นที่สร้างอุปสรรคในการทำงาน
Suboptimus

27

การโค่นล้ม

  • โอเพ่นซอร์สส่วนกลาง

  • ไฟล์ Blender - ฉันไม่แน่ใจว่าไฟล์. blend นั้นเป็นแบบไบนารี่หรือไม่ (ดูเหมือนพวกมัน) แต่ฉันไม่มีปัญหาในการเพิ่มมันเข้าไปใน Subversion เมื่อทำการทดสอบเสร็จสองสามครั้งการเพิ่มขนาดไฟล์สำหรับไฟล์ที่เปลี่ยนแปลงจะปรากฏขึ้นเล็กน้อยดังนั้นจึงไม่เพียงแค่คัดลอกไฟล์ทั้งหมด

  • โครงการขนาดใหญ่ - ใช้งานได้แม้ว่าจะได้รับที่เล่นโวหาร มันแน่นอนสามารถในการจัดการเก็บอย่างน้อย 5.5 GB (ขนาดรวมของ dir พื้นที่เก็บข้อมูลบนเซิร์ฟเวอร์สินทรัพย์ไบนารีส่วนใหญ่)

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

  • รายการละเว้นเป็นคุณสมบัติของไดเรกทอรี (ง่าย ๆ กับ gui, รำคาญในบรรทัดคำสั่ง)

  • การโค่นล้มช่วยให้สามารถล็อคไฟล์ / สินทรัพย์ - ซึ่งเป็นประโยชน์จริง ๆ ถ้าศิลปินและนักออกแบบหลายคนทำงานในไฟล์เดียวกัน

  • Externals เป็นวิธีที่ดีในการจัดการรหัสที่ใช้ร่วมกัน (เช่นไลบรารีหรือฐาน) ระหว่างโครงการ


โครงการขนาดใหญ่ - KDE, GNOME
Matias Valdenegro

* FSFS อาจเปราะบางมากสำหรับการกู้คืน - ดังนั้นควรใช้ความระมัดระวังเป็นพิเศษในการสำรองข้อมูล * เข้าใจง่าย TortoiseSvn เป็นลูกค้าที่ยอดเยี่ยม * เครื่องมือติดตามข้อผิดพลาดแบบโอเพ่นซอร์สระบบการรวมอย่างต่อเนื่องและอื่น ๆ มักจะมีการสนับสนุนการโค่นล้ม "ออกกล่อง" * มีหนังสือดีๆบางเล่มเกี่ยวกับการใช้การโค่นล้ม
paulecoyote

1
@paulecoyote นี่คือโพสต์ของ wiki โปรดแก้ไขด้วยข้อมูลใหม่ไม่ใช่แค่ความคิดเห็น
Cyclops

1
SVN นั้นยอดเยี่ยมที่จะใช้กับ Tortoise SVN ( tortoisesvn.net ) ลูกค้าที่รวมไว้ในเมนูบริบทและให้คำแนะนำสำหรับการกระทำทั้งหมด เต่าไม่มีพอร์ต Linux / Mac OS (อย่างน้อยก็เขียนนี้) Protip: หากทำงานกับคนหลายคนให้อัพเดต (และรวม / แก้ไขข้อขัดแย้ง) เสมอก่อนที่จะยอมรับ
Exilyth

7

AlienBrain

จากตัวยง :

Alienbrain เป็นระบบจัดการสินทรัพย์ดิจิทัลสำหรับศิลปินในอุตสาหกรรมบันเทิง

  • เชิงพาณิชย์ (ราคาแพงกว่า Perforce), รวมศูนย์
  • ออกแบบมาเพื่อรวมเข้ากับเครื่องมือเวิร์กโฟลว์ 2D และ 3D ระดับมืออาชีพอื่น ๆ เช่น Photoshop, Maya, 3ds Max, Microsoft Visual Studio เป็นต้น

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

ศิลปินและผู้มีส่วนร่วมอื่น ๆ จะใช้ผลิตภัณฑ์นี้ซึ่งแตกต่างจากคนอื่น ๆ ที่ได้รับการออกแบบมาเพื่อใช้งานร่วมกับ Visual Studio ได้ดีและไม่ใช่แอพพลิเคชั่นที่สร้างสรรค์เช่น Photoshop และ 3D Studio Max ข้อเสียอย่างหนึ่งของผลิตภัณฑ์อื่นคือการรักษาไฟล์ nontext ที่ค่อนข้างไร้เดียงสา AlienBrain ถูกเขียนด้วยไฟล์เหล่านี้ในใจ

แน่นอนเขายังอธิบายเป็น:

สำหรับผู้ที่มีปัญหาการติดตามทรัพย์สินอย่างจริงจังและงบประมาณที่จริงจังเท่ากัน ...


ใช่! ในที่สุดผู้ที่ได้รับมัน: สินทรัพย์และรหัสต้องการเครื่องมือที่แตกต่างกัน! +1
jacmoe

3
ประสบการณ์ของฉันกับ AlienBrain คือผู้เขียนไม่ได้พัฒนาเกม มันไม่ได้เป็นวิธีการแก้ปัญหาการควบคุมแหล่งที่มาที่แข็งแกร่ง ฟีเจอร์บางอย่างนั้นดีสำหรับทีมบางคน แต่ฟีเจอร์โฆษณาที่เจ๋งที่สุดบางตัวก็ไม่ได้ถูกนำมาใช้ในลักษณะที่จะเป็นประโยชน์ (เช่นอินเทอร์เฟซบนเวทีซึ่งบางคนสามารถเช็คอินสินทรัพย์ "เพื่อตรวจสอบ" ไม่มีวิธีที่จะรู้ว่าอะไรคือสิ่งที่ต้องตรวจสอบและอะไรที่ไม่ได้และเมื่อคุณซิงค์คุณจะได้รับมัน) นอกจากนี้แคชไม่มีอะไรเลยดังนั้นการซิงค์จึงต้องทำการทดสอบทุกไฟล์ นี่คือช้ากับกิ๊กจำนวนมากของสินทรัพย์ :)
dash-tom-bang

สิ่งที่มีประโยชน์เพียงอย่างเดียวเกี่ยวกับ AlienBrain คือหน้าต่างแสดงตัวอย่างที่ทำงานกับไฟล์ Max ได้ ทุกอย่างอื่นเป็นที่สุดขยะ
tenpn

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

3

เซิร์ฟเวอร์มูลฐานทีม

จากMicrosoft

  • เชิงพาณิชย์
  • ส่วนกลาง
  • ทำงานร่วมกับ Visual Studio ได้เป็นอย่างดี
  • การรวม Windows Explorer ที่ดีสำหรับผู้ใช้ที่ไม่ใช่ VS (เช่นศิลปิน)
  • รองรับเซ็ตการแก้ไขแบบ "Shelved" ซึ่งค่อนข้างคล้ายกับ 'stashing' ในคอมไพล์ แต่มันไปถึงเซิร์ฟเวอร์; คุณสามารถทำให้ชั้นวางเหล่านี้เป็นสาธารณะเพื่ออนุญาตให้ผู้ใช้รายอื่นรวมเข้ากับคุณ
  • ตั้งแต่ปี 2012 มีเวิร์กโฟลว์การตรวจสอบโค้ดที่ดีมากซึ่งสร้างขึ้นโดยตรงใน Visual Studio
  • เครื่องมือผสานที่เป็นเวอร์ชั่นล่าสุดนั้นดีมาก การผสานอัตโนมัติทำงานได้ดี
  • รองรับไฟล์ขนาดใหญ่และ bindary ได้ดี (เห็นได้ชัดว่าคุณไม่สามารถรวมได้)
  • สร้างเซิร์ฟเวอร์ที่ดีมาก
  • รองรับการเช็คอินแบบ gated ซึ่งอนุญาตให้ประเมินคุณภาพของชั้นวาง (ผ่านการสร้างอัตโนมัติการทดสอบหน่วยการวิเคราะห์รหัส) ก่อนที่จะส่งมอบให้กับที่เก็บ
  • เครื่องมือการจัดการโครงการที่ดีมาก (ไม่ใช่คุณสมบัติการควบคุมแหล่งที่มาอย่างเคร่งครัด แต่มีประโยชน์จริงๆ) ให้ความสามารถตรวจสอบย้อนกลับจากความต้องการระดับสูงไปจนถึงรหัส

ฉันใช้ TFS อย่างกว้างขวางในโครงการจำลอง MILSPEC และมันค่อนข้างดี อาจไม่ยิ่งใหญ่ที่สุดหากคุณใช้ Mac แม้ว่าจะมีปลั๊กอิน eclipse รุ่นที่โฮสต์บนคลาวด์รองรับที่เก็บ git สำหรับการควบคุมแหล่งแบ็คเอนด์

ฟรีสำหรับผู้ใช้สูงสุดห้าคนบนVisual Studio Online (อนุญาตแหล่งที่มาปิดไม่มีข้อ จำกัด ขนาดพื้นที่เก็บข้อมูล) ซึ่งโฮสต์ไว้ในคลาวด์ หากคุณต้องการโฮสต์ไว้ในพื้นที่อาจมีราคาแพง

สิ่งที่ฉันชอบมากที่สุดคือคุณสมบัติการจัดการด้านวิศวกรรมซอฟต์แวร์และความจริงที่ว่ามันจัดการกับไฟล์ขนาดใหญ่และไฟล์ไบนารีอย่างมีความสุข


1
Visual Studio Online ใหม่ฟรีสำหรับผู้ใช้สูงสุด 5 คนและโฮสต์ในระบบคลาวด์ (สำรองอย่างดี ฯลฯ ) สามารถทำ TFS หรือ Git ได้ ยอดเยี่ยมสำหรับการพัฒนาเกมอินดี้
Robert Fraser
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.