Phát hành bản port GTA III cho Dreamcast
(gitlab.com)- dca3-game là bản port GTA III/VC cho Dreamcast do The Gang thực hiện, một dự án nhằm chạy các game thế giới mở của Rockstar trên hệ máy console cũ
- Bản port dựa trên re3, mã nguồn reverse hoàn chỉnh của GTA III/VC, và sử dụng KallistiOS làm môi trường phát triển Dreamcast
- Để tạo CDI, cần có bản cài đặt Grand Theft Auto III hoặc Grand Theft Auto: Vice City; phiên bản đã được kiểm thử là Grand Theft Auto: The Trilogy
- Lộ trình tạo được khuyến nghị là Google Notebook; cách thủ công yêu cầu DreamSDK r3 và git-scm nên không phù hợp với người dùng phổ thông
- Trên trình giả lập, cần tắt tùy chọn trails để tránh lớp phủ trắng; 24 bpp và Anti Aliasing hiện vẫn là các thiết lập thử nghiệm
Tính chất của dca3-game
- dca3 là bản port GTA III/VC cho Dreamcast
- Được The Gang thực hiện và dựa trên re3
- re3 là mã nguồn reverse hoàn chỉnh của GTA III/VC
- Dự án được khởi xướng bởi Stefanos Kornilios Mitsis Poiitidis và sử dụng KallistiOS
Tạo CDI: khuyến nghị dùng Google Notebook
- Tạo CDI qua Google Notebook là lộ trình được khuyến nghị
- Cần có bản cài đặt Grand Theft Auto III hoặc Grand Theft Auto: Vice City
- Phiên bản đã được kiểm thử hoạt động là Grand Theft Auto: The Trilogy
- Hướng dẫn cho GTA III theo Google Colab notebook
- Hướng dẫn cho GTA:VC theo Google Colab notebook
Tạo CDI: cách thủ công
- Cách thủ công không được khuyến nghị cho người dùng phổ thông
- Cần có bản cài đặt Grand Theft Auto III hoặc Grand Theft Auto: Vice City
- Một số phiên bản có thể không hoạt động; đã có trường hợp
d4_gta.mp3bị hỏng - Cần có bản sao hợp lệ không có file hỏng, nếu không quy trình sẽ không chạy
- Công cụ cần thiết:
- Clone kho lưu trữ trong DreamSDK shell bằng
git clone --branch beta https://gitlab.com/skmp/dca3-game.git
Build GTA III: liberty
- Tạo thư mục
libertyvà sao chép các file GTA III vào đó- Nếu dùng bản 2 CD-ROM, cũng phải sao chép nội dung của play disc vào cùng thư mục
- Tải liberty prebuilt elf từ bản phát hành beta và giải nén
dca-liberty.elfvào thư mụcdreamcast - CDI cho GD-EMU được tạo bằng
make cdi-prebuilt- Thời gian xử lý khoảng 5~15 phút
- Do vấn đề của DreamSDK, lần chạy đầu có thể không hoàn tất hoàn toàn nên cần chạy lại cùng lệnh đó
- Sau khi hoàn tất sẽ tạo ra
dca-liberty.cdivới dung lượng khoảng 900MB
- CDI để ghi ra CD-ROM được tạo bằng
make FOR_DISC=1 cdi-prebuilt- Thông báo hoàn tất là
*** CDI Baked Successfully*** - File kết quả phải có dung lượng khoảng 700MB hoặc 260MB
- Nếu dung lượng không đúng, chạy
rm -rf repack-datarồi bắt đầu lại bước đó từ đầu
- Thông báo hoàn tất là
Build GTA Vice City: miami
- Tạo thư mục
miamivà sao chép các file GTA:VC vào đó - Tải miami prebuilt elf từ bản phát hành beta và giải nén
dca-miami.elfvào thư mụcdreamcast - CDI cho GD-EMU được tạo bằng
FOR_DISC=2 make cdi-prebuilt- Thời gian xử lý khoảng 5~15 phút
- Do vấn đề của DreamSDK, lần chạy đầu có thể không hoàn tất hoàn toàn
- Có thể cần đóng cửa sổ DreamShell vài lần rồi khởi động lại quy trình
- Sau khi hoàn tất sẽ tạo ra
dca-miami.cdivới dung lượng khoảng 1.5GB
- CDI để ghi ra CD-ROM được tạo bằng
make FOR_DISC=1 cdi-prebuilt- Thông báo hoàn tất là
*** Repack Completed Successfully*** - File kết quả có dung lượng khoảng 700MB hoặc 550MB
- Thông báo hoàn tất là
Chạy và thiết lập đồ họa
- Khi chạy trên trình giả lập, cần tắt tùy chọn trails trong phần thiết lập đồ họa
- Nếu bật trails, có thể xuất hiện lớp phủ trắng trên phần render 3D
- Có hai chế độ thử nghiệm trong thiết lập đồ họa
- 24 bpp:
640x480x24 - Anti Aliasing
- 24 bpp:
- Với đầu ra HDMI hoặc VGA, nên bật chế độ 24 bpp
- Trong trường hợp này vẫn phải tắt hiệu ứng trails
- Anti Aliasing hoạt động cả khi có hoặc không có trails
- Khi trails đang bật, ảnh hưởng hiệu năng sẽ lớn hơn
- Khi bật 24 bpp hoặc Anti Aliasing, một số hình học có thể bị thiếu trong các cảnh nặng
- Khả năng này cao hơn ở chế độ AA
- Có thể dùng cả hai chế độ cùng lúc
Báo cáo issue và giấy phép
- Khi báo cáo issue, hãy chụp ảnh TV/màn hình và VMU rồi mở issue mới để mô tả vấn đề
- Mã nguồn chỉ nên được sử dụng cho mục đích giáo dục, tài liệu hóa và modding
- Không khuyến khích sử dụng bản sao lậu hoặc dùng cho mục đích thương mại
- Các công việc phái sinh phải được giữ ở dạng mã nguồn mở và ghi công phù hợp
1 bình luận
Ý kiến trên Hacker News
Tốt nhất là nên giữ một bản sao mã nguồn ở đâu đó trước khi phía bản quyền của Rockstar gỡ xuống như lần re3 trước đây
https://news.ycombinator.com/item?id=28402640
https://news.ycombinator.com/item?id=26199879
https://github.com/halpz/re3/
Lĩnh vực này luôn là vùng xám hoặc gần như bất hợp pháp một cách khá lộ liễu, và đó cũng chính là lý do Compaq nói rằng họ tạo BIOS theo cách clean room vào năm 1982
Mỗi lần nghe những lời phàn nàn kiểu này là tôi lại ngán ngẩm. Nếu làm triển khai clean room như OpenRA thì về mặt pháp lý khá an toàn, còn dùng tài sản trí tuệ của người khác thì chỉ cần đủ gây chú ý là rất dễ bị đóng cửa
Ước gì Dreamcast tồn tại lâu hơn. Nhiều người đã đánh giá thấp việc chiếc console này xuất sắc đến mức nào
Dù vậy tôi cho rằng phần lớn là do Sega đã không thúc đẩy hệ máy đủ mạnh. Tôi nghĩ phần cứng của nó vượt trội hơn nhiều so với PS2 ra mắt cùng năm, và có vẻ Sega cũng không cân nhắc đủ việc Dreamcast đắt hơn thế nào so với các máy cạnh tranh
Dĩ nhiên XBOX cuối cùng đã đóng dấu số phận của nó
Tôi rất thích Dreamcast, sở hữu vài máy, trước đây từng hack với KallistiOS, và với cá nhân tôi nó có ý nghĩa lớn hơn PS2 nhiều, nhưng nói phần cứng của nó vượt trội áp đảo thì không đúng
GPU có vài tính năng thú vị, VRAM và nén texture phần cứng cũng tốt nên chất lượng hình ảnh đẹp hơn, nhưng nó thua ở hầu hết các chỉ số quan trọng hơn như xử lý hình học, ánh sáng, fill rate, và thời đó đa số cũng không dùng đầu ra VGA
“Emotion Engine” đúng là cồng kềnh so với kiến trúc tao nhã nơi SH-4 chỉ đơn giản được nối với PowerVR và AICA, nhưng về xử lý hình học thuần dấu phẩy động/SIMD và DMA thì có thể khai thác được nhiều hiệu năng hơn. Sự đơn giản của kiến trúc không quan trọng với phần lớn game thủ
Một số game giai đoạn đầu trông rất tệ vì khó tận dụng phần cứng, nhưng nếu nhìn vào vòng đời của PS2 và các game hậu kỳ, đặc biệt là tác phẩm của Konami, thì chúng đã vượt khá xa năng lực của DC. DVD cũng vượt trội khách quan so với GD-ROM và còn tốt để làm máy xem phim
Xbox ra mắt sau khi Sega đã khai tử Dreamcast, nên số phận đã được định đoạt từ trước đó rồi
Sony có phóng đại hiệu năng PS2, nhưng nó có ổ DVD, đồ họa cũng đẹp hơn sau khi các nhà phát triển quen tay, lại có nhiều franchise mạnh và các tựa game hạng S hơn. Dreamcast có tỷ trọng game chuyển thể từ arcade quá lớn
Trong thị trường thắng ăn cả thời đó, Dreamcast đã chịu thiệt đúng như vậy; nếu ra mắt năm 1998 với thư viện game lớn hơn, có lẽ nó đã có đường băng để cầm cự
Tôi không rõ nếu so thuần hiệu năng với Dreamcast thì thế nào, nhưng so với GameCube và Xbox thì PS2 chắc chắn đứng cuối về mặt đó. Cuối cùng, vì game và khả năng phát DVD, khác biệt ấy trở nên không còn quan trọng
Ở một khía cạnh nào đó, Xbox giống Dreamcast 2
Giá ra mắt của PlayStation 2 vào tháng 3/2000 tại thị trường Mỹ là 299 đô la
https://en.wikipedia.org/wiki/Dreamcast
https://en.wikipedia.org/wiki/PlayStation_2
Vì vậy Dreamcast rẻ hơn PlayStation 2 rất nhiều. Tôi không rõ ý bạn là nó rẻ hơn chứ không phải đắt hơn, hay có chi tiết nào tôi đã bỏ sót
Đáng đọc: câu chuyện phát triển bộ ba GTA và IV [0]
Ảnh chụp màn hình ở đây
https://dca3.net/screenshots/
Nhân tiện, vừa có một game Sonic 3D rất hay dành cho Sega 32X. Đó là bản port của “Sonic Robo Blast 2”, vốn dựa trên Doom
Modern Vintage Gamer đã đăng một video rất hay về bản phát hành này, và gần như gọi đây là bản port đáng kinh ngạc nhất mà anh từng thấy
https://www.youtube.com/watch?v=6MFN7QiF83M
https://opentomb.github.io/
https://www.youtube.com/watch?v=_GVSLcqGP7g
Điện toán retro thật sự rất thú vị. Nó hoàn toàn đảo ngược khái niệm “console cũ”
Không phải là giá trị bị giảm vì có lựa chọn tốt hơn, mà chúng trở thành những chiếc máy tính bất biến vĩnh viễn để lập trình viên nhắm tới
Những console đã được sản xuất sẽ còn tồn tại lâu hơn nhiều trong tương lai. Chiếc N64 của tôi vẫn chạy tốt và đang chạy các ROM hack mới bằng Everdrive
Ngay cả khi toàn bộ phần cứng hỏng hết, các emulator vẫn sẽ tiếp tục tồn tại, bảo tồn kiến trúc đó ở trạng thái bất biến
Trước đây tôi từng nghĩ “tại sao lại viết phần mềm mới cho console cũ”, nhưng nhìn lại theo cách này thì nó thú vị không kém, thậm chí còn hơn, so với việc dùng phần mềm cho phần cứng hiện đại
Nếu 500 năm nữa chúng ta vẫn còn tồn tại, tôi tin rằng mã nhắm tới NES có khả năng chạy được cao hơn mã nhắm tới các trình duyệt ngày nay, .NET hay JVM
Các máy ảo cạnh tranh tuy được tài liệu hóa tốt nhưng cực kỳ phức tạp, và mã chạy trên chúng thường phụ thuộc vào những hành vi đặc thù của hệ điều hành hiện tại, trình duyệt, thậm chí cả phần cứng
Ngoài ra, bản thân phần cứng retro chính là tài liệu tối thượng. Ngày nay, với thiết bị dễ tiếp cận, ta có thể soi vào mọi con chip và tạo bản sao hoàn hảo bằng phần mềm hoặc FPGA. Trong khi đó, tài liệu về máy ảo có thể chứa sai sót
Dự đoán kiểu khoa học viễn tưởng của tôi hôm nay là: chỉ phần mềm nhắm tới các kiến trúc tương đối đơn giản mới chịu được thử thách của thời gian
Người chơi đam mê và các tiệm sửa có thể giữ một số máy sống thêm một thời gian, và những nơi như PCBWay cũng có thể làm linh kiện thay thế
Dù vậy tôi rất đồng ý rằng emulator là quan trọng, vì chúng cho phép ta trải nghiệm những thứ này cả sau khi phần cứng không còn thực dụng nữa
Chúng cũng cho phép thử một lượng game khổng lồ mà không cần di chuyển hay vận chuyển. Tôi cũng muốn thử các giải pháp FPGA, nhất là nếu chúng hỗ trợ save state
Dreamcast dùng một định dạng có mật độ gấp đôi chuẩn Yellow Book, và khi ổ đĩa của tôi hỏng, chuyển sang lựa chọn dùng flash rẻ hơn nhiều so với mua ổ thay thế
GPU cũng là thiết kế PowerVR đời đầu, nên có thể tận dụng phần nào kiến thức về GPU di động hiện đại thay vì nhắm tới các kiến trúc độc quyền của GameCube hay PS2
Tất nhiên Xbox đời đầu về cơ bản là PC, nên port game PC lên đó chắc đơn giản hơn, vì vậy nó không thật sự hợp với cuộc thảo luận này
Gã điên này đã làm một chiếc PS4 cầm tay: https://youtu.be/bJSLscnFd_M
Tôi tò mò không biết GTA III ban đầu đã được code để tương thích với Dreamcast nên chỉ cần dọn nốt các phần nối còn lại, hay là ai đó đã viết lại một phần rất lớn của engine, thậm chí toàn bộ, để nó tương thích với Dreamcast
Nhờ vậy có thể đẩy tam giác vào phần cứng nhanh hơn, và frame rate cũng tăng tương ứng
https://x.com/falco_girgis/status/1821266502412075174?lang=e...
Nhân tiện, Falco khá hài. Anh ấy thường viết về Dreamcast như thể cuộc chiến console thế hệ đó đang diễn ra ngay lúc này
Đây là video chạy trên phần cứng Dreamcast
https://youtu.be/6MFN7QiF83M?si=kYSxVa0N2GDsrAfP
Có gameplay capture nào quay trên phần cứng thật không?