จะทำให้เกมสามารถเล่นได้ก่อนที่พวกเขาจะถูกดาวน์โหลดอย่างเต็มที่?


75

Diablo 3และStarCraft 2มีคุณสมบัติที่ดี: ฉันสามารถเริ่มเล่นได้ก่อนที่เกมเต็มหรือการอัปเดตจะเสร็จสิ้นการดาวน์โหลด

ฉันเดาว่าDiablo 3ดาวน์โหลดไฟล์บังคับเช่นเนื้อหา UI และตาข่ายและพื้นผิวที่ใช้ในหลาย ๆ ระดับก่อน อย่างไรก็ตามเมื่อเริ่มเกมฉันสามารถเลือกระดับใดก็ได้ที่ฉันต้องการโดยสมมติว่าฉันมีการบันทึกที่เหมาะสม ฉันไม่เคยประสบความล่าช้าใด ๆ จากตอนเล่น - การเริ่มต้นนั้นราบรื่นมาก

มันทำงานอย่างไร ฉันจะใช้คุณสมบัติที่คล้ายกันได้อย่างไร


2
World of Warcraft เช่นกัน: P
Kroltan

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

2
@LieRyan: เกี่ยวกับ "เกมมีความซับซ้อนมากขึ้น" วลีนั้นไม่มีพื้นฐานเลย อาจมีเกมที่มีความซับซ้อนมากกว่าเช่นเดียวกัน (และดูที่ร้านค้าแอพซึ่งเป็นซอฟต์แวร์ส่วนใหญ่ที่ไม่สามารถแก้ปัญหาร้ายแรงได้) เกมที่มีความซับซ้อนน้อยกว่าการค้นหาเว็บที่ปรับขนาดได้อย่างหนาแน่นที่กระจายเซิร์ฟเวอร์หลายพันรายการและ จัดการและเก็บคำขอของผู้ใช้หลายพันล้านรายการในแต่ละวัน จากนั้นการค้นหาเป็นเพียงหนึ่งในคุณสมบัติมากมายสำหรับ บริษัท นั้น ดังนั้นโปรดผ่านช่วงชีวิตของการคิดว่าเกมมีความซับซ้อนมากกว่าซอฟต์แวร์ "ปกติ"
phresnel

1
@ jhocking: เจ้าพูดกับฉันเหรอ? (ถ้าเป็นเช่นนั้นให้ใช้ @ <ชื่อผู้ใช้> ที่ดีกว่าเพื่อที่ฉันจะได้รับการแจ้งเตือน) ไม่เลย เมื่อฉันยังเด็กฉันคิดว่า game-dev จะเป็นราชาแห่งเนินวิศวกรรมซอฟต์แวร์ ฉันเพิ่งจะรู้ดีขึ้นในตอนนี้โดยเฉพาะหลังจากการเปิดตัวซอร์สโค้ดของเกมเชิงพาณิชย์จำนวนมาก :) มันเป็นความเข้าใจผิดที่เกิดขึ้นซ้ำ ๆ Games-Dev ดูเหมือน Elite จริงๆ แต่ในความเป็นจริงมันเป็นเพียงความเชี่ยวชาญด้านการพัฒนาซอฟต์แวร์เช่น Super Computing, Search Engine, การจดจำรูปภาพ, การตลาดผ่านอีเมลหรือ ERP สำหรับ E ขนาดใหญ่
phresnel

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

คำตอบ:


72

เนื้อหาเช่นเสียงวิดีโอรุ่นและพื้นผิวเป็นส่วนใหญ่ของการดาวน์โหลดและสำหรับสินทรัพย์เหล่านี้แต่ละรายการมีหลายรุ่น หลายรุ่นเหล่านี้รองรับตัวเลือกกราฟิกต่างๆ

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

คุณสามารถทดสอบได้โดยติดตั้ง StarCraft 2 ใหม่เล่นทันทีที่มันจะทำให้คุณไปที่หน้าจอตัวเลือกกราฟิก ตัวเลือกและการตั้งค่ามากมายจะใช้งานไม่ได้


24
คุณยังสามารถใช้เทคนิคเดียวกันกับแผนที่หรือระดับทั้งหมดในเกมที่มีความเป็นเชิงเส้นที่เหมาะสม - ดาวน์โหลดระดับแรกก่อนหรือบางสิ่งบางอย่าง Guild Wars 2 ส่งมอบเสียงและพื้นที่เริ่มต้นเท่านั้น (รวมถึงเพิ่มอีกเล็กน้อย) บนแผ่นดิสก์ตัวอย่างเช่น
Josh

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

1
IIRC, Diablo 3 ใช้วิธีที่อธิบายโดย Josh Petrie - มันสามารถเล่นได้ทันทีที่ทรัพยากร (อาจเป็นเพียงรุ่นคุณภาพต่ำตามที่อธิบายไว้ในคำตอบนี้) แต่ Act I เท่านั้นที่สามารถเล่นได้ในตอนแรก นั่นคือถ้าคุณเค้นการเชื่อมต่ออินเทอร์เน็ตของคุณเพียงพอคุณจะถูกบังคับให้หยุดและปล่อยให้การดาวน์โหลดเสร็จหลังจาก Act I
Aaron Dufour

1
ระบุอีกวิธีหนึ่งเกมสามารถรันทางเทคนิคได้ทันทีที่ติดตั้งโปรแกรมปฏิบัติการ นี่เป็นข้อมูลเพียงไม่กี่เมกะไบต์ ไกลแค่ไหนที่คุณจะเข้าสู่เกมขึ้นอยู่กับจำนวนสินทรัพย์ที่มีอยู่ เกมที่ติดตั้งใน 20GB นั้นมีข้อมูลอยู่ประมาณ 19.9999GB และมีรหัสที่เรียกใช้งานได้ 0.0001GB ตราบใดที่มันยังสามารถโหลดข้อมูลจากเครือข่ายเกมสามารถรันได้โดยที่การติดตั้งน้อยกว่า 1%
phyrfox

1
@Brian ดูที่ประวัติการแก้ไข มันไม่ถามสิ่งเหล่านั้นเมื่อฉันเขียนคำตอบ
ClassicThunder

33

ฉันเคยใช้สิ่งนี้กับ MMO หนึ่งสัปดาห์ในขณะที่พยายามติดตั้ง WOW สำหรับลูกสาวของฉันใช้เวลา 48 ชั่วโมงที่ผ่านไป (แพตช์ข้อผิดพลาดในการดาวน์โหลด ฯลฯ ) ดังนั้นฉันจึงตัดสินใจทำโซลูชันที่ดีกว่าของตัวเอง

เกมมักต้องการข้อมูล 10 GB ก่อนที่จะรัน ไม่ใช่ทุกไฟล์ที่จำเป็นจริง ๆ ทันที แต่เกมที่ใช้รอจนกว่าไฟล์ทั้งหมดในพื้นที่ วิธีแก้ปัญหาของฉันคือให้เกมทำงานภายในเครื่องตามปกติ แต่ EXE ถูกหลอก (โดยใช้ตัวแปลงไฟล์ Windows) เพื่อคิดว่าไฟล์ทั้งหมดมีอยู่แล้ว เมื่อไฟล์ที่ร้องขอไม่ใช่ไฟล์ภายในระบบไฟล์จะดาวน์โหลดและบันทึกไว้ เกมถูกคัดลอกอย่างช้าๆตามที่ต้องการ เมื่อมีแบนด์วิดท์ที่พร้อมใช้งานไฟล์อื่น ๆ ที่ยังไม่ต้องการถูกเล็ดลอดออกมาในพื้นหลัง สิ่งนี้ใช้ได้กับทุกเกมโดยไม่จำเป็นต้องคอมไพล์ใหม่เพราะไดรเวอร์ minifilter ของฉันมีไฟล์เมื่อจำเป็น

ข้อเสียเปรียบที่เลวร้ายที่สุดคือความล่าช้า วิธีแก้ปัญหาของฉันคือการสร้างแบบจำลองลูกโซ่มาร์คอฟขนาดเล็กเพื่อคาดการณ์ว่าไฟล์ใดที่อาจต้องใช้ในครั้งต่อไปและจัดลำดับความสำคัญตัวโหลดพื้นหลัง สิ่งนี้ทำงานได้อย่างมีเสน่ห์และ MMO ของเราสามารถทำงานเกือบจะทันทีหลังจากเพียงแค่ EXE และไฟล์หน้าจอที่โหลดไม่กี่ไฟล์เป็นไฟล์ในเครื่อง (~ 20 MB) เราสามารถที่จะคลิกลิงก์บนหน้าเว็บและทำงาน 10+ GB เกมของเราในเวลาประมาณ 30 วินาที เรามีอัตราการเข้าชม 99% หมายถึงเมื่อเกมต้องการไฟล์ใหม่เป็นครั้งแรกที่มีอยู่แล้ว!

ฉันยินดีที่จะช่วยคนอื่นใช้สิ่งนี้


5
+1 และมันจะดีมากถ้าคุณสามารถแชร์ไดรเวอร์นี้เพราะฉันกำลังมองหาอะไรแบบนั้นและกำลังจะสร้างมันขึ้นมาเองเหมือนที่คุณทำ แต่ถ้ามันเสร็จแล้วฉันก็ยินดีใช้มัน
Furkan Omay

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

1
@ FurkanOmay สิ่งเหล่านี้มักจะเป็นทรัพย์สินของ บริษัท ของนายจ้างของใครบางคน อย่าขอให้คนอื่นทำผิดเงื่อนไขของสัญญา
jwenting

@ jwenting จากสิ่งที่ฉันเข้าใจสิ่งที่เขาทำไม่ได้สำหรับ บริษัท แต่สำหรับลูกสาวของเขาและสำหรับเกมอย่าง WoW ฉันแค่ถามอย่างสุภาพไม่มีใครถูกบังคับ เขาสามารถปฏิเสธด้วยเหตุผลใดก็ตามและทุกอย่างจะไม่เป็นไร ฉันถามเพราะเขาพูดว่า "เขายินดีที่จะช่วยเหลือผู้อื่นในการดำเนินการนี้" ดังนั้นฉันไม่คิดว่าการขอจุดเริ่มต้นอย่างน้อยก็ไม่ใช่ความคิดที่ไม่ดีอย่างที่ฉันบอกไปแล้วว่าฉันยินดีที่จะใช้สิ่งนี้ ขึ้น
Furkan Omay

3

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


2

เพื่อสรุปสิ่งที่หลายคนพูดและอาจเพิ่มข้อมูลบางอย่าง:

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


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

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