พอร์ต GTA III สำหรับ Dreamcast เปิดตัวแล้ว
(gitlab.com)- 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
- 24 bpp:
- สำหรับการแสดงผลผ่าน HDMI หรือ VGA แนะนำให้เปิดโหมด 24 bpp
- แม้ในกรณีนี้ก็ยังต้องปิดเอฟเฟกต์ trails
- Anti Aliasing ทำงานได้ทั้งเมื่อเปิดหรือปิด trails
- เมื่อเปิด trails ผลกระทบต่อประสิทธิภาพจะมากกว่า
- หากเปิด 24 bpp หรือ Anti Aliasing อาจมีบาง geometry หายไปในฉากที่หนัก
- มีโอกาสเกิดมากกว่าในโหมด AA
- สามารถใช้สองโหมดนี้พร้อมกันได้
การรายงานปัญหาและไลเซนส์
- เมื่อต้องการรายงานปัญหา ให้ถ่ายรูป TV/มอนิเตอร์และ VMU แล้วเปิด issue ใหม่ เพื่ออธิบายปัญหา
- โค้ดควรใช้เพื่อ การศึกษา การทำเอกสาร และการม็อด เท่านั้น
- ไม่แนะนำให้ใช้สำเนาละเมิดลิขสิทธิ์หรือใช้ในเชิงพาณิชย์
- งานดัดแปลงควรคงเป็นโอเพนซอร์สและให้เครดิตอย่างเหมาะสม
1 ความคิดเห็น
ความเห็นจาก Hacker News
น่าจะเก็บ สำเนาซอร์สโค้ด ไว้ที่ไหนสักแห่งก่อนที่ฝั่งลิขสิทธิ์ของ Rockstar จะสั่งถอดลงเหมือนตอน re3 เดิม
https://news.ycombinator.com/item?id=28402640
https://news.ycombinator.com/item?id=26199879
https://github.com/halpz/re3/
พื้นที่นี้เป็นสีเทามาโดยตลอด หรือไม่ก็เกือบผิดกฎหมายแบบชัดเจน และนี่ก็เป็นเหตุผลเดียวกับที่ Compaq บอกว่า BIOS ของตนในปี 1982 สร้างด้วยวิธีคลีนรูม
ทุกครั้งที่ได้ยินคำบ่นแบบนี้ก็อดกลอกตาไม่ได้ ถ้าทำ การพัฒนาแบบคลีนรูม อย่าง OpenRA ก็ถือว่าปลอดภัยทางกฎหมายพอสมควร แต่ถ้าใช้ทรัพย์สินทางปัญญาของคนอื่น พอเริ่มเป็นที่สนใจมากพอก็โดนปิดได้ไม่ยาก
อยากให้ Dreamcast อยู่ได้นานกว่านี้ หลายคนประเมินต่ำไปว่าคอนโซลเครื่องนี้ยอดเยี่ยมแค่ไหน
แต่ผมคิดว่าส่วนใหญ่เป็นเพราะ Sega ไม่ได้ผลักดันระบบนี้อย่างเต็มที่ ผมมองว่าฮาร์ดแวร์ของมันเหนือกว่า PS2 ที่ออกปีเดียวกันมาก และ Sega ก็ดูจะคำนึงไม่พอว่า Dreamcast แพงแค่ไหนเมื่อเทียบกับเครื่องคู่แข่ง
แน่นอนว่า XBOX เป็นตัวที่ปิดผนึกชะตากรรมในท้ายที่สุด
ผมชอบ 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 พร้อมไลบรารีเกมที่ใหญ่กว่า ก็อาจมีระยะให้ประคองตัวได้นานกว่านี้
ผมไม่แน่ใจว่าในแง่ประสิทธิภาพล้วน ๆ มันเทียบกับ Dreamcast อย่างไร แต่เมื่อเทียบกับ GameCube และ Xbox แล้ว PS2 ก็เป็นรองชัดเจนในด้านนั้น สุดท้ายความต่างนั้นก็ไม่สำคัญ เพราะเกมและความสามารถในการเล่น DVD ต่างหากที่ทำให้มันชนะ
ในบางแง่ Xbox ก็เหมือน Dreamcast 2
ส่วนราคาเปิดตัวของ PlayStation 2 ในตลาดสหรัฐเมื่อเดือนมีนาคม 2000 คือ 299 ดอลลาร์
https://en.wikipedia.org/wiki/Dreamcast
https://en.wikipedia.org/wiki/PlayStation_2
ดังนั้น Dreamcast จึงถูกกว่า PlayStation 2 มาก ผมเลยไม่แน่ใจว่าที่บอกว่ามันแพงกว่าหมายถึงอยากจะบอกว่ามันถูกกว่าหรือเปล่า หรือมีรายละเอียดอะไรที่ผมพลาดไป
น่าอ่าน: เรื่องราวการพัฒนา GTA ไตรภาคและ IV [0]
ภาพหน้าจอ อยู่ที่นี่
https://dca3.net/screenshots/
แยกอีกเรื่อง เพิ่งมี เกม Sonic แบบ 3D เจ๋ง ๆ สำหรับ Sega 32X ออกมา เป็นพอร์ตของ “Sonic Robo Blast 2” ที่สร้างบน Doom
Modern Vintage Gamer อัปวิดีโอที่ยอดเยี่ยมเกี่ยวกับรีลีสนี้ และถึงกับเรียกมันว่าเป็น พอร์ตที่น่าทึ่งที่สุด เท่าที่ตัวเองเคยเห็น
https://www.youtube.com/watch?v=6MFN7QiF83M
https://opentomb.github.io/
https://www.youtube.com/watch?v=_GVSLcqGP7g
เรโทรคอมพิวติ้ง ดีจริง ๆ มันพลิกความหมายของคำว่า “คอนโซลรุ่นเก่า” ไปเลย
มันไม่ได้ด้อยค่าลงเพียงเพราะมีตัวเลือกที่ดีกว่า แต่กลับกลายเป็นคอมพิวเตอร์ที่คงสภาพเดิมถาวรให้ผู้พัฒนาตั้งเป้าได้
คอนโซลที่ถูกผลิตออกมาจะอยู่รอดไปได้อีกนานมาก และ N64 ของฉันก็ยังทำงานดีอยู่ พร้อมรัน ROM hack ใหม่ ๆ ผ่าน Everdrive
ต่อให้ฮาร์ดแวร์ทั้งหมดพังไปในที่สุด อีมูเลเตอร์ก็จะยังคงรักษาสถาปัตยกรรมนั้นไว้ในสภาพที่ไม่เปลี่ยนแปลง
เมื่อก่อนฉันเคยคิดว่า “จะทำซอฟต์แวร์ใหม่ให้คอนโซลเก่าไปทำไม” แต่พอมองแบบนี้แล้ว มันก็น่าสนใจพอ ๆ กับการเขียนซอฟต์แวร์ให้ฮาร์ดแวร์สมัยใหม่ หรืออาจจะมากกว่าด้วยซ้ำ
ถ้าอีก 500 ปีข้างหน้าเรายังไม่สูญพันธุ์ ฉันเชื่อว่าโค้ดที่เขียนให้ NES มีโอกาสรันได้มากกว่าโค้ดที่เขียนให้เบราว์เซอร์, .NET หรือ JVM ในปัจจุบัน
virtual machine ที่แข่งขันกันอยู่ทุกวันนี้มีเอกสารดี แต่ซับซ้อนมาก และโค้ดบนมันก็มักพึ่งพาพฤติกรรมเฉพาะของระบบปฏิบัติการ เบราว์เซอร์ หรือแม้แต่ฮาร์ดแวร์ปัจจุบัน
อีกอย่าง ฮาร์ดแวร์เรโทรเองก็คือเอกสารขั้นสุดท้าย ทุกวันนี้เราสามารถตรวจดูชิปทุกตัวด้วยอุปกรณ์ที่เข้าถึงได้ และสร้างสำเนาที่สมบูรณ์แบบด้วยซอฟต์แวร์หรือ FPGA ได้ ในขณะที่เอกสารของ virtual machine อาจมีความคลาดเคลื่อนได้
คำทำนายแนวไซไฟของวันนี้ก็คือ ซอฟต์แวร์ที่มุ่งเป้าไปยังสถาปัตยกรรมที่ค่อนข้างเรียบง่ายเท่านั้นที่จะทนต่อกาลเวลาได้
นักสะสมกับร้านซ่อมอาจช่วยยื้อบางเครื่องไว้ได้อีกพักใหญ่ และที่อย่าง PCBWay ก็อาจผลิตอะไหล่ทดแทนได้
ถึงอย่างนั้นก็เห็นด้วยมากว่าอีมูเลเตอร์สำคัญ เพราะมันทำให้เรายังสัมผัสของพวกนี้ได้หลังจากที่ฮาร์ดแวร์ไม่ใช่ทางเลือกที่ใช้งานจริงอีกต่อไป
แถมยังเปิดโอกาสให้ลองเกมได้หลากหลายมากโดยไม่ต้องขนย้ายหรือจัดส่งอะไรเลย โดยเฉพาะถ้า FPGA รองรับ save state ฉันก็อยากลองใช้อยู่เหมือนกัน
Dreamcast ใช้ฟอร์แมตที่มีความหนาแน่นเป็นสองเท่าของมาตรฐาน Yellow Book และตอนที่ไดรฟ์ของฉันพัง การเปลี่ยนไปใช้ตัวเลือกแบบแฟลชกลับถูกกว่าการซื้อไดรฟ์ทดแทนมาก
GPU ก็เป็นงานออกแบบ PowerVR ยุคแรก ๆ ด้วย เลยอาจพอเอาความรู้จาก GPU มือถือสมัยใหม่มาปรับใช้ได้ แทนที่จะต้องเจาะสถาปัตยกรรมเฉพาะทางของ GameCube หรือ PS2
แน่นอนว่า XBox รุ่นแรกนั้นแทบจะเป็น PC อยู่แล้ว การพอร์ตเกม PC เลยคงง่ายกว่า และนั่นก็ทำให้มันไม่ค่อยเข้ากับประเด็นนี้เท่าไร
คนบ้าคนนี้ทำ PS4 แบบพกพาได้: https://youtu.be/bJSLscnFd_M
สงสัยว่า GTA III เดิมทีถูกเขียนให้รองรับ Dreamcast อยู่แล้ว แค่ต้องเก็บรายละเอียดส่วนเชื่อมต่อที่หลงเหลืออยู่ หรือว่ามีใครสักคนเขียนส่วนใหญ่ของเอนจินใหม่ หรืออาจจะทั้งหมดยกชุด เพื่อให้เข้ากับ Dreamcast
แบบนั้นทำให้ส่งสามเหลี่ยมเข้าไปยังฮาร์ดแวร์ได้เร็วขึ้น และเฟรมเรตก็ดีขึ้นตามไปด้วย
https://x.com/falco_girgis/status/1821266502412075174?lang=e...
อนึ่ง Falco ค่อนข้างตลกทีเดียว เขามักเขียนเรื่อง Dreamcast ราวกับว่าสงครามคอนโซลของยุคนั้นกำลังเกิดขึ้นอยู่ตอนนี้
นี่คือวิดีโอที่รันบนฮาร์ดแวร์ Dreamcast จริง
https://youtu.be/6MFN7QiF83M?si=kYSxVa0N2GDsrAfP
มี คลิปเกมเพลย์ที่บันทึกจากฮาร์ดแวร์จริง ไหม?