TTBC2024

TTBC2024


Trò chuyện với cựu LTV Ubisoft: Vì sao cùng là ARM mà game trên Switch nhiều còn Apple thì rất ít?

P.W
23/6/2022 9:9Phản hồi: 54
Trò chuyện với cựu LTV Ubisoft: Vì sao cùng là ARM mà game trên Switch nhiều còn Apple thì rất ít?
Hồi WWDC 2022 được tổ chức, với sự ra mắt của thế hệ chip M2, Apple có vài phút ngắn ngủi chứng minh rằng họ đang rất nghiêm túc với mảng game trên macOS. No Man's Sky và Resident Evil VIllage có thể không phải là một trong những game hot nhất hành tinh ở thời điểm hiện tại. Nhưng chúng là những ví dụ điển hình mô tả sức mạnh của Apple Silicon, với những khung cảnh đồ họa đầy chi tiết.

Khi ấy, mình viết rằng, câu chuyện game trên macOS về sau có thành công hay không vẫn là câu chuyện con gà quả trứng. Người dùng macOS không quan tâm nhiều tới chuyện chơi điện tử vì có ít game hay trên nền tảng này quá. Điều đó dẫn đến việc các nhà phát triển cũng chẳng mặn mà với việc đem game sang HĐH của Apple. Vòng lặp lại tiếp diễn khi macOS ít game quá, không ai quan tâm…

Điều đó đưa chúng ta đến với một giả thuyết, cũng là kiến trúc chip ARM, tính khả thi của việc đem những game đã từng phát triển phiên bản cho Nintendo Switch sang kiến trúc Apple Silicon cao tới đâu?

Tinhte_Game4.jpg

Phải nói kỹ hơn, bài này mình hoàn toàn không đề cập tới khả năng những game độc quyền của Nintendo phát triển cho Switch cập bến macOS. Chuyện đó đảm bảo 100% không bao giờ xảy ra. Thay vào đó, mình muốn đào sâu vào khả năng của Apple Silicon như một con chip xử lý game và chuyện chơi điện tử trên máy tính chạy macOS.


Nintendo Switch xuất hiện trong câu chuyện này đơn giản vì thư viện game đồ sộ của hệ máy game rất thành công này, và thực tế nó được vận hành bởi một SoC kiến trúc ARM.

Ở khía cạnh thuần kỹ thuật, không bàn đến chiến lược kinh doanh, vì sao cùng là ARM, đã thế còn mạnh hơn, mà Apple Silicon chưa được ngành game để tâm như thành công rực rỡ của Nintendo mang tên Switch?

Giải pháp giả lập và chuyển kiến trúc tập lệnh bằng Rosetta 2


Có lần mình đọc trên Reddit, đại diện nhà phát triển Triband của tựa game What the Golf? từng phát biểu rằng, trên quan điểm của một nhà làm game, Nintendo Switch có sức mạnh kém cả một chiếc iPhone X. Trò này phát hành trên cả Apple Arcade chơi trên iPhone và iPad, cũng như Nintendo Switch, nên quy trình phát triển tồn tại khá nhiều sự tương đồng.

Ở một khía cạnh khác, hồi cuối năm 2020, ngay khi MacBook Air và Pro 13 inch ra mắt, đã có lập trình viên thành công trong việc chạy giả lập game Nintendo Switch bằng ứng dụng Yuzu, trên chiếc laptop trang bị chip M1, thông qua MoltenVK runtime library, thư viện cho phép vận hành API Vulkan chồng lên API Metal của macOS.

https://twitter.com/daeken/status/1340802622547214338

Dĩ nhiên điều này khả thi, nhưng Nintendo có những động thái rất rắn để truy quét những người chơi game giả lập, đơn giản vì một lý do duy nhất, không phải ai cũng mua game bản quyền của Nintendo rồi trích xuất ROM để chạy trên phần mềm giả lập thông qua các nền tảng máy tính và thiết bị khác. Xin phép nhắc lại, tự trích xuất ROM anh em đã mua để chơi giả lập thì không vi phạm luật bản quyền sở hữu trí tuệ, nhưng tải miễn phí ROM trên mạng về để chơi lại là hành vi phạm pháp.

Đấy là lý do Nintendo trong thời gian qua đã truy quét không ít những trang web chia sẻ ROM lậu, thậm chí khởi kiện cả những nhóm hacker tìm ra được giải pháp bẻ khóa hệ thống quản lý nội dung số trên các nền máy console của họ.

Quảng cáo


Giải pháp thứ hai để đem game PC lên macOS là Rosetta 2. Giải pháp này đã được chứng minh khả năng rất nhiều lần, với không ít game khủng được đặt chân lên macOS. Chỉ có điều, game macOS mới thì đếm trên đầu ngón tay, còn lại hầu hết thư viện game đều đã cũ, phát hành 4 đến 5 năm về trước. Cái này liên quan nhiều hơn tới việc port game Windows và console sang macOS, mượn tính năng dịch code của Rosetta 2. Còn ở đây chúng ta đang nói đến chuyện viết một bản game chạy được native trên chip Apple Silicon.

Low-level API và những rắc rối để chạy game trên API Metal


Nhưng tính khả thi của việc port game từ các nền tảng khác sang macOS dễ đến đâu? Lấy ví dụ port game từ Nintendo Switch, sử dụng API NVN của Nvidia, hay game trên PC và Xbox, vốn sử dụng DirectX do Microsoft tạo ra?

Để trả lời câu hỏi này, mình đã ngồi nói chuyện với bác Yan Marchal, nhà phát triển game người Pháp. Gần đây nhất bác cùng các đồng sự tại Sanuk Games đã tạo ra tựa game Drum Box trên Nintendo Switch. Còn trong quá khứ, bác từng là một trong những lập trình viên của Ubisoft từ năm 1996 đến 2003, từng phát triển những tác phẩm như F1 Racing Simulation hay 187 Ride or Die. Chính kinh nghiệm trong quá trình phát triển game trên Switch của bác Marchal đã cho mình khá nhiều kiến thức vô giá về quá trình tạo ra một trò chơi điện tử.

Tinhte_Game3.jpg

Thắc mắc đầu tiên của mình là về kiến trúc tập lệnh. Lo ngại ban đầu được đưa ra là cùng kiến trúc tập lệnh ARM, nhưng cách vận hành của CPU và GPU trong chip Nvidia Tegra X1 và X1+ trong các thế hệ máy Switch có thể sẽ khác rất nhiều so với cách vận hành của CPU và GPU trong hai thế hệ SoC Apple M1 và M2. Lý do là Tegra được vận hành dựa trên kiến trúc tập lệnh ARM v8-A, còn Apple Silicon thì là ARM v8.5-A.

Bác Marchal khẳng định, ở thời điểm hiện tại trừ phi các nhà phát triển game làm việc tại các studio thuộc Sony, Nintendo hay Microsoft, còn lại rất hiếm khi những dự án game đa nền phải đụng đến lập trình ở API low-level như DirectX trên PC và Xbox, GNM-X trên PS4 và PS5, hay NVN trên Switch. Lý do là những bộ công cụ phát triển game phổ biến nhất hiện nay như Unreal hay Unity đều đã hỗ trợ native những API ấy.

Quảng cáo



Công việc bây giờ chỉ còn là làm cách nào để tối ưu mã mô phỏng và quá trình vẽ đa giác cho CPU, và tối ưu shader trên GPU để game có hiệu năng tốt nhất trên mọi nền tảng thiết bị.

Tinhte_Game2.jpg

Giờ làm game không khổ như hồi trước, nơi các lập trình viên phải ứng dụng từng kinh nghiệm cáo già nhất của họ để vượt qua giới hạn của phần cứng. Giờ nếu phần cứng yếu quá thì chỉ cần hạ độ phân giải render hoặc khóa tốc độ khung hình là xong.

Điều đó đưa chúng ta đến với khó khăn khi viết game cho API Metal, giao diện lập trình ứng dụng Apple tạo ra cho macOS, iPadOS và iOS. Xét riêng tới trường hợp bộ engine phổ quát nổi tiếng nhất hiện tại là Unreal Engine, trước khi Epic Games nghỉ chơi với Apple, họ từng rất tâm huyết với Metal. Quãng WWDC 2014, demo Zen Garden trên iOS 8 đã khiến cả thế giới trầm trồ với đồ họa trên một chiếc điện thoại di động:



Tuy nhiên ở thời điểm hiện tại, những nhà phát triển vẫn chưa mặn mà lắm với Metal vì nhiều lý do. Không ít những tính năng quan trọng của đồ họa một tựa game hiện đại vẫn chưa được Metal hỗ trợ, dẫn đến việc các hãng game phải tìm giải pháp thay thế, thường là những kỹ thuật đồ họa cũ. Chưa kể, để làm game chạy mượt thông qua API Metal, các kỹ sư và lập trình viên làm game phải có kiến thức sâu hơn nhiều về cách Metal vận hành thông qua nhân GPU của Apple Silicon.

Hầu hết những game trên macOS ở thời điểm hiện tại đều chọn 1 trong 3 API đồ họa “chạy được” trên macOS: Metal, OpenGL và Vulkan. Port game từ PC và console sang macOS cơ bản không khác gì so với port sang Nintendo Switch.

Cái khó ở đây, thứ mà chính bác Marchal đặt ra câu hỏi là khối lượng công việc cần để chuyển một trò chơi từ DirectX hoặc GMN-X sang Metal có đáng để một hãng game đầu tư cả sức người lẫn sức của hay không.

Kinh nghiệm làm game Switch có mang sang được macOS?


Có chứ. Nhưng làm game khó lắm phải đâu chuyện đùa.

Suy cho cùng, ngoại trừ phát triển game iOS, không ai làm game bằng máy tính Mac cả. Đành rằng những chiếc máy tính của Apple đều có những tính năng định hướng nhiều hơn cho những người làm công việc sáng tạo, nhưng khi nói đến quá trình sáng tạo những phần mềm giải trí tương tác, người ta chỉ nhắc đến Windows với những dàn workstation cực mạnh.

[​IMG]

Điều đó hoàn toàn không phải vấn đề vì engine game đã hỗ trợ API Metal rồi. Cũng là máy tính, mọi người còn làm được cả game cho Android, cho Switch, cho PS và cho Xbox, chỉ cần compile cả gói dữ liệu rồi chạy trên nền tảng đích là xong, vậy nên mới có khái niệm dev kit của những chiếc máy như Xbox Series X và PS5. Còn nếu làm game trên macOS, thì dev kit sẽ chính là những cỗ máy trang bị các thế hệ chip M1 và M2 của Apple.



Disco Elysium là một ví dụ căn bản của việc một trò chơi có thể tận dụng khả năng hỗ trợ của bộ engine Unity để đưa sang macOS, cùng thời điểm phát triển trên Windows (cả hai bản game này cùng phát hành ngày 15/9/2019). Ở một khía cạnh nào đó, có vẻ như làm game trên Metal còn dễ hơn cả port game PC sang Switch với API NVN, khi cấu hình thiết bị không phải rào cản tối ưu đồ họa.

Ví dụ khác là cái tên vừa được giới thiệu ở WWDC 2022, Resident Evil Village. Bộ engine cây nhà lá vườn Capcom tự tạo ra mang tên RE Engine giờ này chắc chắn cũng đã hỗ trợ API Metal rồi, nếu không thì port game sang macOS kiểu gì?

Ấy là chưa kể, giờ Apple đã có một công nghệ rất mạnh để cạnh tranh với DLSS của Nvidia và FSR của AMD, đó là MetalFX Upscaling. Cách vận hành của chúng thì khác nhưng kết quả thì giống hệt nhau: Bắt phần cứng render game ở độ phân giải thấp hơn độ phân giải màn hình, rồi upscale lên và xử lý khử răng cưa để game nét nhất có thể, nhưng tốc độ khung hình cũng được đảm bảo.



Rốt cuộc bài viết tưởng thuần kiến thức kỹ thuật vẫn không thoát khỏi lợi ích kinh tế.

Mọi công nghệ mới đều chỉ được thương mại hóa khi các hãng cho rằng chúng có thể đem lợi nhuận về. Apple sẽ phải thuyết phục các hãng game lớn nhất thế giới, và các đơn vị phát triển engine game nổi tiếng hỗ trợ API Metal sâu hơn, từ đó mới tiết kiệm được thời gian và chi phí khi port game PC và console sang macOS.

Hiện giờ, chính vấn đề lợi nhuận đã vô tình tạo ra tác động ngược tới các kỹ thuật phát triển game và tối ưu game trên macOS. Anh em có được chơi nhiều game đỉnh trên macOS hay không, phụ thuộc hết vào Apple. Và hy vọng rằng Apple sẽ không coi những game như Resident Evil Village chỉ đơn thuần là một ví dụ “thay thế” cho Shadow of the Tomb Raider để phô diễn sức mạnh của Apple Silicon cũng như mức độ tiên tiến của Metal.
54 bình luận
Chia sẻ

Xu hướng

Arm chỉ là kiến trúc chung thôi. Chứ arm của táo với qualcomm, samsung, mediatek hay Nintendo khi triển khai lên sản phẩm đã khác nhau kha khá. Bởi vậy mới có chuyện game chạy trên chip Snapdragon ngon nhưng cũng bản samsung đó chạy exynos lại dở. Và cũng tương tự cùng 1 game chạy trên iPhone thì ngon nhưng samsung galaxy lại không tốt bằng dù cùng tính năng y hệt Khác với x86 nếu chạy trên chip intel ngon thì hầu hết cũng chạy ngon trên amd và ngược lại.
@Quoccuongskda25399 thì nó được tối ưu cho làm việc multi media mà nên thấy ổn là đúng rồi. Làm việc khác với các app chưa được support thì nóng và không ổn định.
@nghaimin Chính xác là game "không nói chuyện nhiều" với CPU :v nên kiến trúc hay x86 hay arm cũng k quan trọng bằng việc có support VULKAN, OPENCL, OPENGL,DIRECTX không.
Để port app từ x86 sang arm thì quá dễ vì đơn giản roseta , window arm emulator , tập lệnh của tụi cpu đơn giản quá dễ port :v nhưng gpu thì sao, vừa phức tạp vừa nhiều.
Và game được xây dựng bằng cách chém gió với gpu qua các loại ngôn ngữ này. một con game 3d thì đó là một con số lớn các phép toán xử lý trên gpu. nên port game hả mơ đi :v
Metal của apple là một ví vụ cho việc éo ai chơi :v
Dù arm này arm nọ nhưng éo support vulkan or opengl là mất đi mấy cữa port game rồi.
@Buy Bitcoin Toàn ngồi xem youtube thì chả đẹp 😃
apollo0802
ĐẠI BÀNG
2 năm
@Quoccuongskda25399 Ngu, con M1 nó làm ra chuyên để làm ảnh, video với Adobe. Thì vấn đề gì. Trẳ lời câu ngu vãi chưởng. Thánh hóa con M1. Ngu bỏ mẹ.
bài viết có hơi lủng củng nhưng được cái cung cấp nhiều thông tin
thank mod
lần sau thử cấu trúc bài kỹ hơn xí nhé
@Buy Bitcoin Cháy 1 cái vga vì dùng mac chơi dota rồi nhé =)))
apollo0802
ĐẠI BÀNG
2 năm
@Buy Bitcoin Mac có éo gì hay. Chrome OS Flex với con lap 12 năm tuổi vẫn kiếm tiền được đều đều l.
Game gủng bù khú làm lú ng chơi chứ hay ho gì, thà như Mac tập trung cho sự sáng tạo và nghệ thuật, đem lại giá trị cho cuộc sống 😆
Chung ARM không nói lên vấn đề nào cả. Vấn đề quan trọng là hãng làm OS support graphics api có đầy đủ và dễ dàng trong việc phát triển game lẫn port game. Apple mới đi bước đầu thôi. Còn phải mất 5-10 năm nữa mới thu hút game dev vào hệ sinh thái được

Tiền và máy Apple nhiều đấy. Nhưng mà cấu hình và thiết bị không đáp ứng được tiêu chí làm game thì chỉ mãi là thiết bị game di động, hoặc chơi mấy game trung bình khá cho vui thôi 😁

Y chang ngày xưa có bài "Vì sao chung cấu trúc x86/amd64 mà game phát triển trên Windows nhiều hơn macOS" vậy :D
Game là thứ vớ vẩn, chỉ có render mới là trường tồn
Đơn giản thôi, apple mua nintendo về đi hay studio nào đó hoặc thuê nó port game qua.

Thằng apple nó chỉ muốn ăn chùa 30% thôi chứ ko hề muốn làm cái gì mà ko chắc ăn.
@tribier Mua Nin hay Sony thì khó. Nó đụng chạm đến cả một quốc gia lận. Mua Konami, Square Enix là hợp lý nhất 😁
@tribier Căn bản mua về rồi bao lâu thu hồi vốn. Vẫn là bài toán lợi nhuận thôi. Chứ giải pháp giá rẻ hơn là Apple thỏa thuận để được sử dụng API Vulkan, Direct X rồi làm hòa với Epic mang Unreal Engine về lại thì dev có thể port cả đống game qua Mac.
Rốt cuộc bài viết tưởng thuần kiến thức kỹ thuật vẫn không thoát khỏi lợi ích kinh tế.
=> Ngắn gọn, súc tích 😁
Mấy bác đang hướng dẫn thẳng kiếm tiền từ game nhiều nhất cách làm game à.
Apple nó đang kiếm tiền từ mảng game nhiều hơn Sony, XBOX, Nitendo, Activision cộng lại đấy. Game thủ bây giờ toàn ôm iphone đánh liên minh. Đánh mảng mobile game với arcade game vả cho nitendo vài phát à, kiếm tiền ngon hơn làm game bom tấn https://www.ign.com/articles/apple-made-more-than-nintendo-sony-xbox
@Working Title Anh lại thấy nó làm game đơn giản nên khinh nó à? Microsoft cũng không trực tiếp làm mà thuê/mua studio để làm game AAA như apple thuê studio làm game arcade thôi. Xbox ps4 không phải làm nền tảng cho dev họ làm game rồi thu tiền à?
@mrford105 doanh thu tiền comission về game mua bán trên store thì Apple lãi đậm, nhưng không ai nói Apple là đứa có máu mặt trong lĩnh vực game cả. Bản thân Apple không đầu tư gì về mảng game hết. Đi so Apple với mấy thằng như Mic/Sony/Nin những đứa đầu tư rất nhiều vào ngành công nghiệp game (cả hardware/software) hay mấy thằng studio làm game thứ dữ như Rockstar, Tencent, Epic, Square-Enix thì hài lắm bạn.

Giờ Apple mua lại 1 thằng studio máu mặt nào đó, publish ra 1 cái game AAA nào đó thì mới gọi là có chút số má trong làng game được, còn thu comission từ store mà đòi có số má thì đâu ra.
Chơi game ..thấy mua PS hoặc X cho ngon
zerglingno3
ĐẠI BÀNG
2 năm
Á à nói Apple đụng đến bàn thờ nhà họ
Game trên điện thoại chỉ là giết thời gian thôi. Còn game để thưởng thức cứ phải PS, Nin...
Chuẩn luôn
Nói thẳng ra 1 thằng viết hoàn toàn mới lại bằng javascript, biên dịch thành os và 1 thằng chạy bằng C thì khó lòng mà ports, mặc dù được nhưng độ khả thi không cao. Thôi thì để C chạy mượt và game độc quyền đỡ phải mất công
Vì sao game trên máy chơi game lại ít hơn trên điện thoại, tablet, laptop?????
apollo0802
ĐẠI BÀNG
2 năm
@mickeyboy Chưa chơi game.
apple đẻ ra môt bộ công cụ phát triển game dành riêng cho apple sillicon giống như cách đã làm với iphone là ok thôi, khi đó máy mac lại thành thiên đường game ngày với tiềm lực apple hiện nay điều đó thừa sức, tôi tin rằng với sự tối ưu của các chip M1 M2 với bộ công cụ đó thì người dùng mac sẽ được chơi những game cực chất
Ai muốn tìm hiểu về switch thì có group cộng đồng cho mọi người tham gia

Https://facebook.com/groups/switchvn
alolucky
ĐẠI BÀNG
2 năm
Người dùng MAC có chơi game đâu? bây giờ người ta giải trí bằng render cơ mà

Xu hướng

Bài mới










  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019