คำถามติดแท็ก version-control

การควบคุมเวอร์ชันคือการจัดการการเปลี่ยนแปลงโค้ดเอกสารเนื้อหาและไฟล์อื่น ๆ สำหรับโปรเจ็กต์

6
การควบคุมเวอร์ชันสำหรับการพัฒนาเกม - ปัญหาและแนวทางแก้ไข? [ปิด]
มีจำนวนมากที่มีการควบคุมเวอร์ชันระบบที่มีอยู่รวมทั้งคนที่เปิดแหล่งที่มาเช่นการโค่นล้ม , GitและMercurialบวกคนในเชิงพาณิชย์เช่นอย่างเลี่ยงไม่พ้น พวกเขาสนับสนุนกระบวนการพัฒนาเกมได้ดีแค่ไหน? ปัญหาการใช้ VCS เกี่ยวกับไฟล์ที่ไม่ใช่ข้อความ (ไฟล์ไบนารี) โครงการขนาดใหญ่และอื่น ๆ คืออะไร? อะไรคือวิธีแก้ไขปัญหาเหล่านี้ถ้ามี? สำหรับการจัดองค์กรของคำตอบลองใช้แบบต่อแพคเกจ อัปเดตแต่ละแพ็คเกจ / คำตอบด้วยผลลัพธ์ของคุณ นอกจากนี้โปรดระบุรายละเอียดสั้น ๆ ในคำตอบของคุณเกี่ยวกับ VCS ของคุณว่าฟรีหรือใช้ในเชิงพาณิชย์กระจายเทียบกับส่วนกลาง ฯลฯ ปรับปรุง : พบบทความที่ดีเปรียบเทียบสองของ VCS ดังต่อไปนี้ - เห็นได้ชัดว่าGit เป็น MacGyver และ Mercurial เป็นบอนด์ ฉันดีใจที่ได้ตัดสิน ... และผู้เขียนได้กล่าวอ้างที่ดีในตอนท้าย: มันก็โอเคที่จะทำให้คนที่ไม่เปลี่ยนไปใช้ VCS ที่กระจายไปในทางที่ถูกต้อง แต่การพยายามเปลี่ยนผู้ใช้ Git เป็น Mercurial (หรือกลับกัน) นั้นเป็นการเสียเวลาและพลังงานของทุกคน โดยเฉพาะอย่างยิ่งตั้งแต่Git และ Mercurial ของศัตรูที่แท้จริงคือการโค่นล้ม …

3
ไฟล์โครงการ Unreal Engine 4 ใดที่ฉันสามารถละเว้นในการควบคุมซอร์สได้
ฉันต้องการวางโครงการ Unreal Engine 4 ภายใต้การควบคุมของแหล่งที่มาด้วย git (ฉันรู้ว่าบรรณาธิการมีการสนับสนุน Perforce และ Subversion แต่ฉันไม่สนใจสิ่งเหล่านั้น) ฉันจะรวมโฟลเดอร์และไฟล์ใดในที่เก็บและฉันสามารถละเว้นอะไรได้บ้าง วิธีที่ฉันเห็นมันต่อไปนี้เป็นสิ่งจำเป็น: Config, Content, Source, *.sln,*.uproject สิ่งที่ฉันสามารถละเลย: Binaries, DerivedDataCache, Intermediate, Saved, *.suo, *.sdf,*.opensdf ถูกต้องหรือไม่

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

11
วิธีที่มีประสิทธิภาพมากที่สุดในการทำงานกับเพื่อนในเกมเดียวกันคืออะไร
เราต้องการสิ่งที่เราสามารถเช็คเอาท์ไฟล์แก้ไขตรวจสอบพวกเขากลับมาแล้วสร้างจากพวกเขา บางอย่างเช่น Google เอกสารที่เราสามารถแก้ไขรหัสเดียวกันในเวลาเดียวกันจะเป็นอุดมคติ เราทั้งคู่ใช้ Visual Studio 2010

3
การจัดการสินทรัพย์ฐานข้อมูลหรือระบบการกำหนดเวอร์ชัน?
ในขณะที่กำลังพัฒนาสินทรัพย์สำหรับเกม (meshes, พื้นผิว, เสียง, วิดีโอ) คุณจัดการกับมันได้หรือไม่? ทำให้พวกเขาพร้อมกับซอร์สโค้ดภายในระบบเวอร์ชันหรือไม่ (จำเป็นต้องใช้คอมไพล์ ฯลฯ …) หรือมี back-upped กลางฐานข้อมูลที่ทุ่มเทให้กับสินทรัพย์และมีบรรณาธิการชอบทำงานเสมอหรือไม่ (PostgreSQL, MySQL, ฯลฯ …) อื่น ๆ ? ข้อดีและข้อเสียของแต่ละคนคืออะไรและทำไมจึงควรเลือกสิ่งอื่น ๆ

3
ทีมป้องกันการเขียนทับทำงานในไฟล์ต้นฉบับได้อย่างไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว มันเป็นไปได้สำหรับฉันที่มีหลายคนที่กำลังทำงานอยู่ในขณะเดียวกันเช่นเอ็นจิ้นเกม สมมติว่านักพัฒนาคนหนึ่งกำลังทำงานAudio.cppและนักพัฒนาที่สองก็กำลังทำงานอยู่Audio.cppสิ่งนี้จัดการโดยทั่วไปในทีมขนาดใหญ่เพื่อต่อสู้กับการเขียนทับได้อย่างไร (ในคำอื่น ๆ ที่จะหยุดสองนักพัฒนาจากการเปิดไฟล์จนกว่านักพัฒนาคนหนึ่งจะเสร็จสิ้น)
26 project-management  version-control  teamwork  java  2d  collision-detection  vector  collision-resolution  unity  directx  directx11  directx10  xna  ios  monogame  windows-phone-8  xamarin  design-patterns  oop  xna  collision-detection  collision-resolution  bounding-boxes  rotation  collision-detection  mathematics  javascript  algorithm  separating-axis-theorem  xna  2d  monogame  image  xna  directx  graphics  performance  opengl  2d  3d  c++  directx11  unity  c#  scale  c#  xna  collision-detection  collision-resolution  leaderboards  scoring  glsl  srgb  tilemap  three.js  tiled  unity  physics  xml  dialog-tree  xna  c#  .net  opengl  lwjgl  vbo  physics  graphics  procedural-generation  simulations  water  opengl  java  textures  lwjgl  frame-buffer  unity  unity  2d  collision-detection  collision-resolution  trigonometry  java  android  libgdx  xna  c#  frame-rate  c++  unreal-4  procedural-generation  java  graphics  lwjgl  slick  c++  software-engineering 

4
การควบคุมเวอร์ชันด้วยการพัฒนาเกม - ฉันควรจะแตกสาขาเมื่อใด
ฉันเพิ่งเริ่มใช้การควบคุมเวอร์ชันกับโครงการของฉัน (แม้ว่าฉันจะทำงานคนเดียวกับพวกเขา) ฉันพบว่ามันเป็นวิธีที่ดีในการเก็บประวัติของกระบวนการพัฒนาทั้งหมด (พร้อมการติดตามปัญหา) และช่วยให้ฉันสามารถสำรองข้อมูลสำหรับโครงการของฉันไปพร้อมกัน ในขณะที่ฉันค้นพบคุณสมบัติและข้อดีของการใช้การควบคุมเวอร์ชันอย่างช้าๆฉันก็ติดแนวคิดเรื่องการแตกแขนง ฉันควรทำเมื่อใด มันควรจะเป็นทุกครั้งที่ฉันไปและพัฒนาคุณสมบัติใหม่หรือเพียงครั้งเดียวเมื่อฉันไปถึงเหตุการณ์สำคัญ? เห็นได้ชัดว่าการแตกแขนงค่อนข้างไร้ประโยชน์เมื่อทำงานคนเดียว แต่ฉันควรเลือกนิสัยที่ดีในตอนนี้และคุ้นเคยกับมัน ขณะที่ฉันอ่านหนังสือการเข้ารหัสเกมโดย Mike McShaffry (ซึ่งเป็นหนังสือที่ยอดเยี่ยม) ฉันหลงทางโดยสิ้นเชิงเมื่อผู้เขียนแนะนำให้เก็บสามกิ่งซึ่งเป็นไปตาม: หลัก : สาขาการพัฒนาหลักที่มีการเปลี่ยนแปลงเป็นประจำ ทองคำ : สาขาทองคำที่มีการเก็บบันทึกเหตุการณ์สำคัญครั้งสุดท้าย การวิจัย : สาขาสำหรับการทดสอบสิ่งต่าง ๆ ที่อาจส่งผลกระทบอย่างรุนแรงต่อสาขาหลัก (การปรับเปลี่ยนส่วนประกอบที่สำคัญของเอ็นจิ้นเกม ฯลฯ ) นั่นเป็นวิธีที่ควรจะเป็นหรือไม่? มันทำงานอย่างไรในโลกแห่งการพัฒนาเกมกับทีมนักพัฒนาขนาดใหญ่? โดยทั่วไป: เมื่อใดที่มักจะแยกสาขา (และรวม) ในการพัฒนาเกม

3
แนวทางปฏิบัติที่ดีที่สุดสำหรับการติดฉลากเวอร์ชันเกมหรือไม่
ไม่มีใครรู้ว่ามีวิธีปฏิบัติที่ดีที่สุดสำหรับการติดฉลากเวอร์ชันเกม ฉันไม่แน่ใจว่ามีชื่อมาตรฐานสำหรับชื่ออื่นนอกเหนือจากรุ่น แต่สิ่งที่ฉันหมายถึงคือ: 1.0 1.1 1.2 1.3.1 เบต้า

3
ไฟล์โครงการ libgdx ใดที่ฉันสามารถละเว้นจากการควบคุมเวอร์ชันได้
ในโครงการ libgdx ที่สร้างขึ้นโดยอัตโนมัติไฟล์ใดที่ฉันสามารถบอก Git (หรือระบบควบคุมการแก้ไขอื่น ๆ ) ให้ละเว้นได้อย่างปลอดภัย? ฉันกำลังพิจารณาสิ่งเหล่านี้: *-android/.settings/ *-android/bin/ *-desktop/.settings/ *-desktop/bin/ *-html/.settings/ *-html/gwt-unitCache/ *-html/war/WEB-INF/classes/ *-html/war/WEB-INF/deploy/ *-html/war/assets/ *-html/war/ */.settings/ */bin/ ฉันหายไปบ้างไหม มีรายการที่สมบูรณ์ที่ไหนสักแห่ง?

7
วิธีจัดการข้อมูลนักออกแบบที่เปลี่ยนแปลงไปพร้อมกับการเปลี่ยนข้อมูลผู้เล่น
ฉันมีเกมออนไลน์ที่ผู้เล่นสามารถทำให้โลกเป็นรูปร่างในทางใดทางหนึ่งเช่น ที่อยู่อาศัยของ Ultima Online ที่ซึ่งคุณสามารถสร้างบ้านของคุณได้โดยตรงบนบางส่วนของแผนที่โลก สิ่งเหล่านี้คือการเปลี่ยนแปลงที่ควรมีอยู่ตลอดเวลาซึ่งเป็นส่วนหนึ่งของโลกที่ยังคงอยู่ ในขณะเดียวกันทีมออกแบบกำลังเพิ่มเนื้อหาใหม่และแก้ไขเนื้อหาเก่าเพื่อปรับปรุงและขยายเกมสำหรับผู้เล่นใหม่ พวกเขาจะทำสิ่งนี้บนเซิร์ฟเวอร์การพัฒนาก่อนในระหว่างการทดสอบและหลังจากนั้นจะต้องรวมงานของพวกเขาเข้ากับการทำงานของผู้เล่นบนเซิร์ฟเวอร์สด สมมติว่าเราแก้ไขปัญหาการออกแบบเกม - เช่น ผู้เล่นสามารถสร้างได้เฉพาะในพื้นที่ที่กำหนดเท่านั้นดังนั้นพวกเขาจึงไม่เคยขัดแย้งกับการแก้ไขนักออกแบบ - วิธีใดที่ดีในการจัดการข้อมูลหรือจัดโครงสร้างข้อมูลเพื่อหลีกเลี่ยงความขัดแย้งเมื่อข้อมูลนักออกแบบใหม่ถูกรวมเข้ากับข้อมูลเครื่องเล่นใหม่ ตัวอย่างที่ 1: ผู้เล่นสร้างไอเท็มชนิดใหม่และเกมกำหนด ID 123456 ให้กับมัน อินสแตนซ์ของไอเท็มนั้นอ้างอิงกลับไปที่ 123456 ตอนนี้ลองนึกภาพว่านักออกแบบเกมมีระบบที่คล้ายกันและผู้ออกแบบสร้างรายการใหม่ด้วยหมายเลข 123456 สิ่งนี้สามารถหลีกเลี่ยงได้อย่างไร ตัวอย่างที่ 2: ใครบางคนสร้าง mod ที่เป็นที่นิยมซึ่งทำให้มังกรของคุณเน้นเสียงภาษาฝรั่งเศส มันมีสคริปต์ที่มีวัตถุใหม่ที่เรียกว่าassignFrenchAccentพวกเขาใช้ในการกำหนดสินทรัพย์เสียงใหม่ให้กับวัตถุมังกรแต่ละ แต่คุณกำลังจะปรับใช้ DLC "Napoleon vs Smaug" ของคุณซึ่งมีชื่อเดียวกัน - คุณจะทำสิ่งนี้ได้อย่างไรโดยไม่มีปัญหาการบริการลูกค้ามากมาย? ฉันคิดถึงกลยุทธ์ต่อไปนี้: คุณสามารถใช้ไฟล์ / ไดเร็กตอรี่ / ฐานข้อมูลแยกกัน 2 ตัว แต่การอ่านของคุณนั้นซับซ้อนอย่างมาก "แสดงรายการทั้งหมด" จะต้องอ่านหนึ่งรายการในฐานข้อมูลผู้ออกแบบและอีกหนึ่งรายการที่อ่านบนฐานข้อมูลผู้เล่น …

3
.sln / .csproj มีประโยชน์สำหรับการแบ่งปันโครงการ Unity หรือไม่
เรากำลังประสบปัญหาบางอย่างกับ GIT และ Unity มันเกิดขึ้นบ่อยครั้งที่ไฟล์. sln / .csproj ทำให้เรามีปัญหาบางอย่างดังนั้นหลังจากค้นหาสักครู่บนเว็บฉันพบว่าไฟล์นี้อาจไม่จำเป็นต้องพุช มีคนมีข้อเสนอแนะสำหรับเรื่องนี้? https://gist.github.com/hw/1234398มีตัวอย่างรวมอยู่ใน. gitignore แต่จริงๆแล้วฉันไม่รู้ว่าไฟล์ประเภทนี้ทำอะไร ฉันสามารถแยกพวกเขาออกจาก repo ของฉันได้หรือไม่ไฟล์นี้มีความเกี่ยวข้องสำหรับการอ้างอิงบางอย่างในเกมของฉัน

2
ฉันจะมองเห็นการเปลี่ยนแปลงที่เกิดขึ้นกับฉากได้อย่างไรตั้งแต่คอมไพล์ล่าสุดส่งมอบ
ฉันต้องการดูการเปลี่ยนแปลงที่เกิดขึ้นในฉาก (ไฟล์. unity) ก่อนที่จะส่งไปคอมไพล์ ฉันได้ดูโซลูชัน GIT / Unity หลายอย่าง แต่ทั้งหมดนี้ทำเพื่อรวมการเปลี่ยนแปลงและไม่แสดงความแตกต่างกับรุ่นล่าสุด ปัญหาเกี่ยวกับไฟล์ซีนคือพวกเขาใช้ GUID ที่ชี้ไปที่สินทรัพย์อื่นและเมื่อฉันเปิดไฟล์ diff สำหรับไฟล์ซีนฉันไม่สามารถทำอะไรออกมาได้เลย ตัวอย่างเช่น: แต่ฉันต้องการเห็นสิ่งนี้: มีอะไรอีกไหมที่ทำสิ่งนี้?

5
ฉันควรแยกไฟล์ประเภทใดจากที่เก็บแหล่งควบคุมเกมของฉัน
ฉันเริ่มทำงานในโครงการส่วนบุคคลโดยใช้ Unity กับเพื่อนและเราได้ตั้งค่าระบบควบคุมแหล่งที่มาของเราเอง ฉันตระหนักถึงความจริงที่ว่ามีไฟล์หลายประเภทคือไฟล์ที่สร้างขึ้นในเครื่องเมื่อคุณสร้าง (ตัวอย่างเช่นไฟล์ Visual Studio) และไฟล์ที่เฉพาะเจาะจงสำหรับเครื่องเฉพาะของคุณที่ไม่ควรเพิ่มลงในแหล่งควบคุม แต่ ฉันไม่แน่ใจว่าประเภทไฟล์เหล่านี้คืออะไร ฉันไม่ต้องการยกเว้นไฟล์ที่สร้างขึ้นใด ๆ ที่ฉันควรจะรวมไว้เช่นไฟล์. meta ใครบางคนสามารถแสดงรายการไฟล์ทั้งหมดหรืออย่างน้อยชนิดไฟล์ทั่วไปทั้งหมดที่ไม่ควรเพิ่มในการควบคุมเวอร์ชันโดยเฉพาะสำหรับโครงการ Unity

3
การควบคุมแหล่งที่มาสำหรับจัดเก็บทุกสิ่งในโครงการเกมหรือไม่
เป็นเรื่องปกติที่จะจัดการไม่เพียง แต่ซอร์สโค้ด แต่เนื้อหาพื้นผิวศิลปะไฟล์เอกสาร ฯลฯ ภายใต้ที่เก็บ git สำหรับการควบคุมเวอร์ชันหรือไม่? ตัวอย่างเช่นฉันต้องการกลับไปใช้พื้นผิวแบบเก่า หากเป็นการปฏิบัติที่ไม่ดีมากคุณใช้เครื่องมือใดในการควบคุมเวอร์ชันของเนื้อหาและเนื้อหาอื่น ๆ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.