2 คะแนน โดย GN⁺ 2025-01-01 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • dca3-game คือพอร์ต GTA III/VC สำหรับ Dreamcast ที่สร้างโดย The Gang เป็นโปรเจกต์เพื่อรันเกมโอเพนเวิลด์ของ Rockstar บนคอนโซลรุ่นเก่า
  • พอร์ตนี้อิงจาก re3 ซึ่งเป็นซอร์สโค้ดที่รีเวิร์สอย่างสมบูรณ์ของ GTA III/VC และใช้ KallistiOS เป็นสภาพแวดล้อมพัฒนาสำหรับ Dreamcast
  • การสร้าง CDI ต้องมีชุดติดตั้ง Grand Theft Auto III หรือ Grand Theft Auto: Vice City โดยเวอร์ชันที่ทดสอบแล้วคือ Grand Theft Auto: The Trilogy
  • เส้นทางการสร้างที่แนะนำคือ Google Notebook ส่วนวิธีทำด้วยตนเองต้องใช้ DreamSDK r3 และ git-scm จึงไม่เหมาะกับผู้ใช้ทั่วไป
  • บนอีมูเลเตอร์ต้องปิดตัวเลือก trails เพื่อหลีกเลี่ยงโอเวอร์เลย์สีขาว ส่วน 24 bpp และ Anti Aliasing ยังเป็นการตั้งค่าเชิงทดลอง

ลักษณะของ dca3-game

  • dca3 คือพอร์ต GTA III/VC สำหรับ Dreamcast
  • สร้างโดย The Gang และอิงจาก re3
  • re3 คือ ซอร์สโค้ดที่รีเวิร์สอย่างสมบูรณ์ ของ GTA III/VC
  • โปรเจกต์นี้เริ่มโดย Stefanos Kornilios Mitsis Poiitidis และใช้ KallistiOS

การสร้าง CDI: แนะนำ Google Notebook

  • การสร้าง CDI ผ่าน Google Notebook คือ เส้นทางที่แนะนำ
  • ต้องมีชุดติดตั้ง Grand Theft Auto III หรือ Grand Theft Auto: Vice City
  • เวอร์ชันที่ทดสอบแล้วว่าใช้งานได้คือ Grand Theft Auto: The Trilogy
  • สำหรับ GTA III ให้ทำตาม Google Colab notebook
  • สำหรับ GTA:VC ให้ทำตาม Google Colab notebook

การสร้าง CDI: วิธีทำด้วยตนเอง

  • วิธีทำด้วยตนเอง ไม่แนะนำสำหรับผู้ใช้ทั่วไป
  • ต้องมีชุดติดตั้ง Grand Theft Auto III หรือ Grand Theft Auto: Vice City
  • บางเวอร์ชันอาจใช้งานไม่ได้ และมีกรณีที่ d4_gta.mp3 เสียหาย
  • ต้องใช้ สำเนาแท้ ที่ไม่มีไฟล์เสียหาย มิฉะนั้นกระบวนการจะไม่ทำงาน
  • เครื่องมือที่จำเป็น:
  • ให้โคลนรีโพซิทอรีจาก DreamSDK shell ด้วย git clone --branch beta https://gitlab.com/skmp/dca3-game.git

บิลด์ GTA III: liberty

  • สร้างโฟลเดอร์ liberty แล้วคัดลอกไฟล์ GTA III เข้าไป
    • หากใช้เวอร์ชัน 2 CD-ROM ต้องคัดลอกเนื้อหาของ play disc ไปไว้ในโฟลเดอร์เดียวกันด้วย
  • ดาวน์โหลด liberty prebuilt elf จาก beta release แล้วแตกไฟล์ dca-liberty.elf ไปไว้ในโฟลเดอร์ dreamcast
  • CDI สำหรับ GD-EMU สร้างด้วย make cdi-prebuilt
    • ใช้เวลาประมาณ 5–15 นาที
    • เนื่องจากปัญหาของ DreamSDK การรันครั้งแรกอาจไม่จบสมบูรณ์ จึงต้องรันคำสั่งเดิมอีกครั้ง
    • เมื่อเสร็จแล้วจะได้ dca-liberty.cdi ขนาดประมาณ 900MB
  • CDI สำหรับเขียนลง CD-ROM สร้างด้วย make FOR_DISC=1 cdi-prebuilt
    • ข้อความเมื่อเสร็จคือ *** CDI Baked Successfully***
    • ไฟล์ผลลัพธ์ควรมีขนาดประมาณ 700MB หรือ 260MB
    • หากขนาดไม่ตรง ให้รัน rm -rf repack-data แล้วเริ่มขั้นตอนนั้นใหม่ตั้งแต่ต้น

บิลด์ GTA Vice City: miami

  • สร้างโฟลเดอร์ miami แล้วคัดลอกไฟล์ GTA:VC เข้าไป
  • ดาวน์โหลด miami prebuilt elf จาก beta release แล้วแตกไฟล์ dca-miami.elf ไปไว้ในโฟลเดอร์ dreamcast
  • CDI สำหรับ GD-EMU สร้างด้วย FOR_DISC=2 make cdi-prebuilt
    • ใช้เวลาประมาณ 5–15 นาที
    • เนื่องจากปัญหาของ DreamSDK การรันครั้งแรกอาจไม่จบสมบูรณ์
    • อาจต้องปิดหน้าต่าง DreamShell หลายครั้งแล้วเริ่มกระบวนการใหม่
    • เมื่อเสร็จแล้วจะได้ dca-miami.cdi ขนาดประมาณ 1.5GB
  • CDI สำหรับเขียนลง CD-ROM สร้างด้วย make FOR_DISC=1 cdi-prebuilt
    • ข้อความเมื่อเสร็จคือ *** Repack Completed Successfully***
    • ไฟล์ผลลัพธ์มีขนาดประมาณ 700MB หรือ 550MB

การรันและการตั้งค่ากราฟิก

  • เมื่อรันบนอีมูเลเตอร์ ต้องปิดตัวเลือก trails ในการตั้งค่ากราฟิก
    • หากเปิด trails อาจมีโอเวอร์เลย์สีขาวปรากฏเหนือการเรนเดอร์ 3D
  • ในการตั้งค่ากราฟิกมี โหมดเชิงทดลอง 2 แบบ
    • 24 bpp: 640x480x24
    • Anti Aliasing
  • สำหรับการแสดงผลผ่าน HDMI หรือ VGA แนะนำให้เปิดโหมด 24 bpp
    • แม้ในกรณีนี้ก็ยังต้องปิดเอฟเฟกต์ trails
  • Anti Aliasing ทำงานได้ทั้งเมื่อเปิดหรือปิด trails
    • เมื่อเปิด trails ผลกระทบต่อประสิทธิภาพจะมากกว่า
  • หากเปิด 24 bpp หรือ Anti Aliasing อาจมีบาง geometry หายไปในฉากที่หนัก
    • มีโอกาสเกิดมากกว่าในโหมด AA
    • สามารถใช้สองโหมดนี้พร้อมกันได้

การรายงานปัญหาและไลเซนส์

  • เมื่อต้องการรายงานปัญหา ให้ถ่ายรูป TV/มอนิเตอร์และ VMU แล้วเปิด issue ใหม่ เพื่ออธิบายปัญหา
  • โค้ดควรใช้เพื่อ การศึกษา การทำเอกสาร และการม็อด เท่านั้น
  • ไม่แนะนำให้ใช้สำเนาละเมิดลิขสิทธิ์หรือใช้ในเชิงพาณิชย์
  • งานดัดแปลงควรคงเป็นโอเพนซอร์สและให้เครดิตอย่างเหมาะสม

1 ความคิดเห็น

 
GN⁺ 2025-01-01
ความเห็นจาก Hacker News
  • น่าจะเก็บ สำเนาซอร์สโค้ด ไว้ที่ไหนสักแห่งก่อนที่ฝั่งลิขสิทธิ์ของ Rockstar จะสั่งถอดลงเหมือนตอน re3 เดิม
    https://news.ycombinator.com/item?id=28402640
    https://news.ycombinator.com/item?id=26199879

    • อย่างน้อย re3 ก็ถูกนำกลับขึ้นออนไลน์อีกครั้งในรูปแบบใดรูปแบบหนึ่งแล้ว
      https://github.com/halpz/re3/
    • ตัวเอนจิน re3 ต้องมีสำเนาเกมถึงจะรันได้ เลยไม่ค่อยเข้าใจว่าทำไมถึงต้องสั่งถอดกันขนาดนั้น
    • RE3 เป็นผลงานจากการ วิศวกรรมย้อนกลับ โดยอาศัยซอร์สและลอจิกต้นฉบับเพื่อสร้าง implementation ที่เข้ากันได้ระดับ ABI
      พื้นที่นี้เป็นสีเทามาโดยตลอด หรือไม่ก็เกือบผิดกฎหมายแบบชัดเจน และนี่ก็เป็นเหตุผลเดียวกับที่ Compaq บอกว่า BIOS ของตนในปี 1982 สร้างด้วยวิธีคลีนรูม
      ทุกครั้งที่ได้ยินคำบ่นแบบนี้ก็อดกลอกตาไม่ได้ ถ้าทำ การพัฒนาแบบคลีนรูม อย่าง OpenRA ก็ถือว่าปลอดภัยทางกฎหมายพอสมควร แต่ถ้าใช้ทรัพย์สินทางปัญญาของคนอื่น พอเริ่มเป็นที่สนใจมากพอก็โดนปิดได้ไม่ยาก
  • อยากให้ Dreamcast อยู่ได้นานกว่านี้ หลายคนประเมินต่ำไปว่าคอนโซลเครื่องนี้ยอดเยี่ยมแค่ไหน
    แต่ผมคิดว่าส่วนใหญ่เป็นเพราะ Sega ไม่ได้ผลักดันระบบนี้อย่างเต็มที่ ผมมองว่าฮาร์ดแวร์ของมันเหนือกว่า PS2 ที่ออกปีเดียวกันมาก และ Sega ก็ดูจะคำนึงไม่พอว่า Dreamcast แพงแค่ไหนเมื่อเทียบกับเครื่องคู่แข่ง
    แน่นอนว่า XBOX เป็นตัวที่ปิดผนึกชะตากรรมในท้ายที่สุด

    • PS2 ออกช้ากว่าในญี่ปุ่นเกิน 1 ปี และในอเมริกาเหนือก็ช้ากว่า DC หลายเดือน แต่เพราะคร่อมช่วงปลายปีจึงแทบจะนับเป็นการออกปีถัดไป ถึงอย่างนั้นแค่การประกาศตัวก็กระทบการเปิดตัวของ DC มากแล้ว
      ผมชอบ Dreamcast มาก มีอยู่หลายเครื่อง เคยแฮ็กด้วย KallistiOS มาก่อน และโดยส่วนตัวมันมีความหมายกับผมมากกว่า PS2 มาก แต่ก็ไม่จริงที่ว่าฮาร์ดแวร์มันเหนือกว่าแบบท่วมท้น
      GPU มีฟีเจอร์ที่น่าสนใจ และ VRAM กับการบีบอัดเท็กซ์เจอร์ด้วยฮาร์ดแวร์ก็ดี ทำให้ภาพสวยกว่า แต่ในตัวชี้วัดสำคัญกว่าส่วนใหญ่ เช่น การประมวลผลเรขาคณิต, แสงเงา, อัตราการเติมพิกเซล กลับเป็นรอง และในตอนนั้นคนส่วนใหญ่ก็ไม่ได้ใช้เอาต์พุต VGA ด้วย
      “Emotion Engine” แม้จะดูเทอะทะกว่าโครงสร้างเรียบง่ายที่ SH-4 เชื่อมกับ PowerVR และ AICA แต่ในด้านเรขาคณิตแบบ floating point/SIMD ล้วน ๆ และ DMA มันดึงประสิทธิภาพออกมาได้มากกว่า ความเรียบง่ายของสถาปัตยกรรมไม่ใช่สิ่งสำคัญสำหรับเกมเมอร์ส่วนใหญ่
      เกมช่วงแรกบางเกมดูแย่เพราะใช้ฮาร์ดแวร์ได้ยาก แต่ถ้ามองอายุของ PS2 และเกมช่วงปลายยุค โดยเฉพาะผลงานของ Konami ก็เห็นได้ว่ามันก้าวข้ามศักยภาพของ DC ไปมากพอสมควร DVD ก็เหนือกว่า GD-ROM อย่างเป็นกลาง และยังใช้เป็นเครื่องเล่นหนังได้ดี
      Xbox ออกหลังจากที่ Sega เลิก Dreamcast ไปแล้ว ดังนั้นชะตากรรมของมันถูกกำหนดไปก่อนหน้านั้นแล้ว
      Sony อาจโฆษณาประสิทธิภาพ PS2 เกินจริง แต่ก็มีไดรฟ์ DVD นักพัฒนาก็ทำกราฟิกได้ดีขึ้นเมื่อคุ้นมือแล้ว และยังมีแฟรนไชส์แข็งแกร่งกับเกมระดับท็อปมากกว่า Dreamcast พึ่งพาเกมพอร์ตจากอาร์เคดมากเกินไป
      ในตลาดแบบผู้ชนะกินรวบยุคนั้น Dreamcast เลยโดนเล่นงานตรง ๆ และถ้าออกมาตั้งแต่ปี 1998 พร้อมไลบรารีเกมที่ใหญ่กว่า ก็อาจมีระยะให้ประคองตัวได้นานกว่านี้
    • PS2 มีทั้ง การเล่น DVD, การสนับสนุนจากแฟรนไชส์ยอดนิยมจำนวนมาก และกระแสตอบรับเชิงบวกอย่างมากจาก PS1
      ผมไม่แน่ใจว่าในแง่ประสิทธิภาพล้วน ๆ มันเทียบกับ Dreamcast อย่างไร แต่เมื่อเทียบกับ GameCube และ Xbox แล้ว PS2 ก็เป็นรองชัดเจนในด้านนั้น สุดท้ายความต่างนั้นก็ไม่สำคัญ เพราะเกมและความสามารถในการเล่น DVD ต่างหากที่ทำให้มันชนะ
    • Xbox วางขายหลังจาก DC เลิกผลิตไปนานแล้ว แถมบางคนที่เคยเกี่ยวข้องกับ DC ก็ไปร่วมทำ Xbox ด้วย
      ในบางแง่ Xbox ก็เหมือน Dreamcast 2
    • ผมสงสัยว่าฮาร์ดแวร์ Dreamcast เหนือกว่าแบบถล่มทลายตรงไหนบ้าง เท่าที่จำได้ CPU ก็ช้ากว่า GPU ก็ช้ากว่า และหน่วยความจำก็น้อยกว่า
    • ราคาเปิดตัวของ Dreamcast ในตลาดสหรัฐเมื่อเดือนกันยายน 1999 คือ 199 ดอลลาร์
      ส่วนราคาเปิดตัวของ PlayStation 2 ในตลาดสหรัฐเมื่อเดือนมีนาคม 2000 คือ 299 ดอลลาร์
      https://en.wikipedia.org/wiki/Dreamcast
      https://en.wikipedia.org/wiki/PlayStation_2
      ดังนั้น Dreamcast จึงถูกกว่า PlayStation 2 มาก ผมเลยไม่แน่ใจว่าที่บอกว่ามันแพงกว่าหมายถึงอยากจะบอกว่ามันถูกกว่าหรือเปล่า หรือมีรายละเอียดอะไรที่ผมพลาดไป
  • น่าอ่าน: เรื่องราวการพัฒนา GTA ไตรภาคและ IV [0]

    ต้นแบบแรกของ gta3 รันอยู่บน Dreamcast พวกเราทุกคนมี Dreamcast และเล่น Phantasy Star Online กัน แต่ Dreamcast ไปต่อได้ไม่นานเมื่อแพ้ให้กับ Playstation 2 เราเลยเปลี่ยนทิศทาง
    [0] https://web.archive.org/web/20231120194646/https://insideroc...

  • ภาพหน้าจอ อยู่ที่นี่
    https://dca3.net/screenshots/

    • ใช่เลย ดูเป็นภาพหน้าจอ GTA3 เป๊ะ
  • แยกอีกเรื่อง เพิ่งมี เกม Sonic แบบ 3D เจ๋ง ๆ สำหรับ Sega 32X ออกมา เป็นพอร์ตของ “Sonic Robo Blast 2” ที่สร้างบน Doom

    • เป็นชื่อที่ไม่ได้ยินมานานมากแล้ว น่าจะสัก 20 ปีได้
  • Modern Vintage Gamer อัปวิดีโอที่ยอดเยี่ยมเกี่ยวกับรีลีสนี้ และถึงกับเรียกมันว่าเป็น พอร์ตที่น่าทึ่งที่สุด เท่าที่ตัวเองเคยเห็น
    https://www.youtube.com/watch?v=6MFN7QiF83M

  • เรโทรคอมพิวติ้ง ดีจริง ๆ มันพลิกความหมายของคำว่า “คอนโซลรุ่นเก่า” ไปเลย
    มันไม่ได้ด้อยค่าลงเพียงเพราะมีตัวเลือกที่ดีกว่า แต่กลับกลายเป็นคอมพิวเตอร์ที่คงสภาพเดิมถาวรให้ผู้พัฒนาตั้งเป้าได้
    คอนโซลที่ถูกผลิตออกมาจะอยู่รอดไปได้อีกนานมาก และ N64 ของฉันก็ยังทำงานดีอยู่ พร้อมรัน ROM hack ใหม่ ๆ ผ่าน Everdrive
    ต่อให้ฮาร์ดแวร์ทั้งหมดพังไปในที่สุด อีมูเลเตอร์ก็จะยังคงรักษาสถาปัตยกรรมนั้นไว้ในสภาพที่ไม่เปลี่ยนแปลง
    เมื่อก่อนฉันเคยคิดว่า “จะทำซอฟต์แวร์ใหม่ให้คอนโซลเก่าไปทำไม” แต่พอมองแบบนี้แล้ว มันก็น่าสนใจพอ ๆ กับการเขียนซอฟต์แวร์ให้ฮาร์ดแวร์สมัยใหม่ หรืออาจจะมากกว่าด้วยซ้ำ

    • เห็นด้วยเต็มที่ และถ้าจะพูดต่ออีกนิด ฉันมองว่าคอนโซลและคอมพิวเตอร์รุ่นเก่าคือ virtual machine เดียว ที่จะอยู่รอดในระยะยาว
      ถ้าอีก 500 ปีข้างหน้าเรายังไม่สูญพันธุ์ ฉันเชื่อว่าโค้ดที่เขียนให้ NES มีโอกาสรันได้มากกว่าโค้ดที่เขียนให้เบราว์เซอร์, .NET หรือ JVM ในปัจจุบัน
      virtual machine ที่แข่งขันกันอยู่ทุกวันนี้มีเอกสารดี แต่ซับซ้อนมาก และโค้ดบนมันก็มักพึ่งพาพฤติกรรมเฉพาะของระบบปฏิบัติการ เบราว์เซอร์ หรือแม้แต่ฮาร์ดแวร์ปัจจุบัน
      อีกอย่าง ฮาร์ดแวร์เรโทรเองก็คือเอกสารขั้นสุดท้าย ทุกวันนี้เราสามารถตรวจดูชิปทุกตัวด้วยอุปกรณ์ที่เข้าถึงได้ และสร้างสำเนาที่สมบูรณ์แบบด้วยซอฟต์แวร์หรือ FPGA ได้ ในขณะที่เอกสารของ virtual machine อาจมีความคลาดเคลื่อนได้
      คำทำนายแนวไซไฟของวันนี้ก็คือ ซอฟต์แวร์ที่มุ่งเป้าไปยังสถาปัตยกรรมที่ค่อนข้างเรียบง่ายเท่านั้นที่จะทนต่อกาลเวลาได้
    • ฮาร์ดแวร์ย่อมพังตามกาลเวลา และน่าจะเกิดจากพวกคาปาซิเตอร์รั่วอะไรทำนองนั้น
      นักสะสมกับร้านซ่อมอาจช่วยยื้อบางเครื่องไว้ได้อีกพักใหญ่ และที่อย่าง PCBWay ก็อาจผลิตอะไหล่ทดแทนได้
      ถึงอย่างนั้นก็เห็นด้วยมากว่าอีมูเลเตอร์สำคัญ เพราะมันทำให้เรายังสัมผัสของพวกนี้ได้หลังจากที่ฮาร์ดแวร์ไม่ใช่ทางเลือกที่ใช้งานจริงอีกต่อไป
      แถมยังเปิดโอกาสให้ลองเกมได้หลากหลายมากโดยไม่ต้องขนย้ายหรือจัดส่งอะไรเลย โดยเฉพาะถ้า FPGA รองรับ save state ฉันก็อยากลองใช้อยู่เหมือนกัน
    • Dreamcast น่าจะอยู่ไปได้อีกนาน แต่ยุคของการเล่นเกมจาก แผ่นออปติคัล คงอยู่ได้อีกไม่นาน
      Dreamcast ใช้ฟอร์แมตที่มีความหนาแน่นเป็นสองเท่าของมาตรฐาน Yellow Book และตอนที่ไดรฟ์ของฉันพัง การเปลี่ยนไปใช้ตัวเลือกแบบแฟลชกลับถูกกว่าการซื้อไดรฟ์ทดแทนมาก
    • เท่าที่ฉันเข้าใจแบบคร่าว ๆ Dreamcast เป็นหนึ่งในสถาปัตยกรรมที่เรียบง่ายที่สุดของคอนโซลยุคนั้น เพราะ Sega คงได้บทเรียนมาจากโครงสร้างสุดประหลาดของ Saturn เลยทำให้มันน่าจะเหมาะกับงาน homebrew มาก
      GPU ก็เป็นงานออกแบบ PowerVR ยุคแรก ๆ ด้วย เลยอาจพอเอาความรู้จาก GPU มือถือสมัยใหม่มาปรับใช้ได้ แทนที่จะต้องเจาะสถาปัตยกรรมเฉพาะทางของ GameCube หรือ PS2
      แน่นอนว่า XBox รุ่นแรกนั้นแทบจะเป็น PC อยู่แล้ว การพอร์ตเกม PC เลยคงง่ายกว่า และนั่นก็ทำให้มันไม่ค่อยเข้ากับประเด็นนี้เท่าไร
    • คนที่ดัดแปลงเครื่องเรโทรให้ “ทันสมัย” มากขึ้นก็เก่งมากในฝั่งฮาร์ดแวร์เหมือนกัน
      คนบ้าคนนี้ทำ PS4 แบบพกพาได้: https://youtu.be/bJSLscnFd_M
  • สงสัยว่า GTA III เดิมทีถูกเขียนให้รองรับ Dreamcast อยู่แล้ว แค่ต้องเก็บรายละเอียดส่วนเชื่อมต่อที่หลงเหลืออยู่ หรือว่ามีใครสักคนเขียนส่วนใหญ่ของเอนจินใหม่ หรืออาจจะทั้งหมดยกชุด เพื่อให้เข้ากับ Dreamcast

    • ค่อนข้างใกล้กับอย่างหลัง ฉันตามดูขั้นตอนพัฒนาอยู่ และหนึ่งในเทคนิคที่ใช้คือแปลงข้อมูล geometry ของโมเดลจาก triangle list ไปเป็น triangle strip ที่เหมาะกับ PowerVR มากกว่า
      แบบนั้นทำให้ส่งสามเหลี่ยมเข้าไปยังฮาร์ดแวร์ได้เร็วขึ้น และเฟรมเรตก็ดีขึ้นตามไปด้วย
      https://x.com/falco_girgis/status/1821266502412075174?lang=e...
      อนึ่ง Falco ค่อนข้างตลกทีเดียว เขามักเขียนเรื่อง Dreamcast ราวกับว่าสงครามคอนโซลของยุคนั้นกำลังเกิดขึ้นอยู่ตอนนี้
    • มันคือ การพอร์ตเอนจิน ที่มาจากโปรเจ็กต์ decompile RE3 ต้องแก้ไขหลายอย่างมากกว่าจะทำให้มันรันได้
    • การที่ GTA III ถูกสร้างด้วยเอนจินเกมชื่อดังอย่าง RenderWare ก็ช่วยไว้เหมือนกัน
  • นี่คือวิดีโอที่รันบนฮาร์ดแวร์ Dreamcast จริง
    https://youtu.be/6MFN7QiF83M?si=kYSxVa0N2GDsrAfP

  • มี คลิปเกมเพลย์ที่บันทึกจากฮาร์ดแวร์จริง ไหม?