Dành cho game thủ – NVIDIA GeForce PhysX – Phần 3

Ageia – PhysX – NVIDIA: Sự kết hợp có lợi cho game thủ?

Thật ra cho đến năm 2007, chỉ còn lại có hai công ty dẫn đầu về mô phỏng vật lý trong game trên thế giới là Havok và Ageia. Lúc đầu cả NVIDIA và AMD đều đánh giá thấp khả năng PhysX của Ageia, nên dồn sức vào việt phát triển các hỗ trợ cho game trên chip của mình dựa vào Havok FX. Sau khi Intel mua lại Havok vào ngày 14 tháng 9 năm 2007, với cái giá được đồn đại rất nhiều là 110 triệu đô la Mỹ, đột nhiên Ageia trở thành công ty còn lại độc lập duy nhất làm công nghệ tính toán vật lý trên chip đồ họa thu hút cả NVIDIA và AMD. Cuối cùng NVIDIA đã mua lại Ageia vào ngày 13 tháng 2 năm 2008. Ngay sau khi hợp đồng mua bán này được hoàn tất, NVIDIA đã nhanh chóng triển khai việc chuyển mã nguồn PhysX của Ageia sang CUDA để chạy được trên các thế hệ chip GeForce của mình, với sự giúp đỡ từ những kỹ sư tài năng của Ageia, bao gồm cả Manju Hedge, CEO của Ageia, giờ đã trở thành phó chủ tịch phụ trách công nghệ PhysX của NVIDIA. Kết quả là giờ đây những người yêu game như tôi và các bạn có thể thưởng thức các hiệu ứng do PhysX mang lại trên các card đồ họa NVIDIA GeForce 8 trở lên.

Trong phần 3 này, tôi muốn điểm lại một vài yếu tố quan trọng trong sự kết hợp hai công ty tài năng về đồ họa là NVIDIA và Ageia thông qua điểm nhấn quan trọng PhysX. Trên quan điểm của riêng cá nhân mình, tôi cho là những bài học mà Ageia đã phải đối mặt và vượt qua là hết sức quan trọng cho tất cả những công ty dạng khởi nghiệp (start-ups) với các ý tưởng công nghệ độc đáo, mà những người sáng lập nên nghĩ là chúng có thể giúp họ thay đổi được thế giới.

Ageia – Giai đoạn 2002 – 2007

Năm 2002 có một công ty rất trẻ trung được thành lập ở vùng Santa Clara, bang California. Điểm đặc biệt ở công ty này là:

Họ cố gắng làm một việc cực kỳ khó, đó là mang công nghệ tính toán vật lý vào thị trường game đầy tính cạnh tranh khốc liệt.

Giải pháp họ đề nghị bao gồm cả phần mềm (PhysX SDK) và phần cứng (PPU add-in card). Ở khía cạnh phần mềm, trước họ đã có một công ty của Ireland ở vùng Dublin, gọi là Havok, cho ra đời phiên bản Havok SDK đầu tiên từ năm 2000, được sử dụng chẳng hạn trong trò Half-Life 2, hay Dead Rising. Về mặt phần cứng, họ là những người đầu tiên trên thế giới cung cấp phần cứng chuyên dụng cho vật lý trong game qua bộ xử lý vật lý PPU (Physics Processing Unit).

Chúng ta hãy quan sát kỹ hơn về cái chip PPU này qua hình chụp dưới đây.

Chip PPU của Ageia - Hình chụp của The Tech Report

Chip PPU của Ageia - Hình chụp của The Tech Report

Chip này chính là trái tim của card gia tốc vật lý do Ageia kết hợp với các nhà sản xuất bo mạch nổi tiếng là BFG và ASUS đưa ra thị trường vào khoảng đầu tháng Năm 2006, như trong hình dưới đây.

Chip PPU này có các đặc điểm chính sau đây:

  • Là thiết bị dựa trên kiến trúc MIPS đa lõi với sự tích hợp các hệ thống con bộ nhớ và phần cứng gia tốc vật lý
  • Chứa 134 triệu transistor trên một diện tích 182 mm^2.
  • Dung lượng bộ nhớ là 128MB GDDR3 với giao diện 128-bit.
  • Giao tiếp với bo mạch chính thông qua giao diện PCI.
  • Khả năng dò đụng độ khối cầu: 530 triệu/giây (khả năng tối đa)
  • Khả năng dò đụng độ lồi – lõm: 530,000/giây (khả năng tối đa)
  • Băng thông chỉ thị ở mức cao nhất: 20 tỷ chỉ thị/giây
  • Mức điện năng tiêu thụ: 30 W
  • Được chế tạo bởi TSMC với công nghệ 130 nm
  • Giá bán khoảng từ 100-250 đô la Mỹ

Vai trò của chip này trong một hệ thống máy tính được minh họa bởi hình vẽ sau:

Mối quan hệ giữa chip PPU của Ageia với CPU & GPU

Mối quan hệ giữa chip PPU của Ageia với CPU & GPU

Những gì chip này mang lại được về mặt tính toán vật lý bao gồm:

Kiến trúc vật lý song song ở mức cực lớn: Với khả năng này, chúng ta có thể tiến hành các tính toán vật lý với phạm vi lớn dựa trên bộ xử lý đa lõi được tinh chỉnh ở mức cao.

Kỹ thuật dò đụng độ liên tục đa năng: Với khả năng này, chúng ta có thể tạo ra các game với toàn bộ môi trường có tính tương tác cao thông qua một lượng lớn các đụng độ và phản ứng qua lại giữa các đối tượng di chuyển hết sức nhanh chóng.

Công nghệ chất điểm thông minh kiểu vật lý: Với khả năng này, chúng ta có thể tiến hành tính toán hàng ngàn hạt chất điểm thông minh rất thực cho các yếu tố thể tích, độ đậm đặc, và áp suất cho các dòng chảy nén được, khói, mưa, cũng như các mảnh vỡ vụn trong các cảnh game.

Hệ thống vật lý giành cho các đối tượng phức tạp: với khả năng này, chúng ta có thể biểu diễn các đối tượng và tương tác giữa chúng giống với đời thực hơn.

Công nghệ độ tin cậy cao về địa hình co giãn được: Với khả năng này, chúng ta có thể tạo ra các môi trường cảnh quan giống thực tế trong game.

Với cả thế mạnh về phần cứng và phần mềm như vậy, Ageia đã hứa hẹn một tương lai hết sức tươi sáng. Tuy nhiên vấn đề mà Ageia gặp phải, đó là sự chấp nhận về mặt công nghiệp. Với giá thành thiết bị phần cứng khá cao so với thời điểm 2006, cộng với sự thiếu vắng của các ứng dụng kiểu “bom tấn” đi kèm, Ageia đã ở vào những thời điểm hết sức khó khăn. Họ đã cố gắng rất nhiều để cố gắng mở rộng nền tảng PhysX tới nhiều hơn nữa các nhà phát triển game trên thế giới. Bộ công cụ phát triển PhysX SDK đã được phát hành đến tận tay các nhà phát triển game cho máy Playstation 3 của Sony vào đầu năm 2006, và hàng loạt các công ty khác vào dịp cuối năm, gồm cả BioWare. Mọi thứ đã thật sự trở nên nóng bỏng trong năm 2007, với Unreal Tournament 3, rồi Cell Factor: Revolution, và cả Warmonger lần lượt ra đời và game thủ có thể down về chơi miễn phí.

Ageia – Từ 2008 trở đi – Với NVIDIA

Mặc dù ý tưởng tiên phong của Ageia về chip gia tốc vật lý cho game là hết sức thú vị, các bạn hãy thử nghĩ xem, để hỗ trợ PhysX trên một diện rộng, chúng ta cần phải có gì trong tay, nếu đứng ở vị trí của Ageia năm ngoái 2007? Rõ ràng chúng ta cần có một lượng khách hàng lớn để nhận được sự chấp nhận về mặt công nghệ, từ đó khiến các nhà làm game phải bỏ thêm tiền cài đặt các tính năng hấp dẫn mới, để “chèn” PhysX vào các game của họ. Để cài đặt được các tính năng như vậy đòi hỏi rất nhiều thời gian của lập trình viên, có nghĩa là sẽ ảnh hưởng rất nhiều đến hầu bao của các công ty làm game khắp nơi trên thế giới. Điều này chỉ xảy ra khi Ageia có một lượng khách hàng cực lớn.

Trong khi đó, NVIDIA, với mạng lưới kinh khủng các nhà phát triển game đang tham gia trong chương trình “The Way It’s Mean To be Played” của mình, và hơn 70 triệu GPU khả lập trình được theo kiểu công nghệ CUDA, sẽ dễ dàng thuyết phục mọi người chấp nhận PhysX hơn.

Có lẻ nhìn thấy cơ hội khổng lồ đó, NVIDIA đã tiến hành những bước đi quyết định thúc đẩy sự kết hợp hoàn hảo giữa GeForce và PhysX thông qua cầu nối CUDA. Kết quả là giờ đây mọi người có thể nhìn thấy biểu tượng sau đây ở khắp nơi.

Sơ đồ dưới đây được cung cấp bởi HotHardware cho chúng ta một cách so sánh về cách thức triển khai công nghệ tính toán vật lý trong game giữa NVIDIA, AMD và Intel.

Với sơ đồ này, chúng ta có thể thấy là giải pháp hiện giờ trên các chip Intel và AMD là sử dụng Havok FX cho hỗ trợ vật lý trong game, còn NVIDIA sử dụng phiên bản PhysX từ Ageia. Phiên bản NVIDIA PhysX có cấu trúc cơ bản như sau.

Trong sơ đồ kiến trúc công nghệ PhysX nói trên của NVIDIA, tôi thích thú nhất là phần “Game Designer Scalable”, là nơi các nhà phát triển game sẽ có dịp thi thố tất cả năng lực sáng tạo của mình, và với hơn 150 tựa game đã và sẽ ra đời trong một ngày không xa, chúng ta hy vọng sẽ có dịp thưởng thức rất nhiều game “ác liệt” trong thời gian tới. Hy vọng tôi sẽ có nhiều thứ để bàn tiếp ở blog này vào lúc đó.

Cuối cùng, bài học kinh nghiệm mà tôi tự rút ra được là:

  • Nếu chúng ta ở phía các công ty khởi nghiệp: Nếu chúng ta tự tin là ý tưởng của mình có thể làm thay đổi tương lai thế giới, và chúng ta cam kết sẽ thực hiện nó đến cùng, vậy thì hãy tận dụng hết tất cả các cơ hội có thể có, kể cả “bán mình”, như mọi người vẫn thường nói. Vì nếu chúng ta chọn đúng công ty để trao ý tưởng của mình, người hưởng lợi cuối cùng vẫn là nhân loại, và chúng ta vẫn có thể tiếp tục thực hiện giấc mơ của mình trong một môi trường mới, với sự hỗ trợ mới, và do vậy với nhiều hứa hẹn thành công hơn nữa.
  • Nếu chúng ta ở phía các công ty lớn: Với lợi thế là người đi trước, chúng ta nên đi tiên phong trong việc đón nhận các ý tưởng mới từ những người khác, qua sự hỗ trợ từ ít đến nhiều về mặt tài chính, kỹ thuật, … Làm như vậy chúng ta đã góp phần rất lớn trong việc đưa thế giới này ngày một trở nên tốt đẹp hơn.

Dành cho game thủ – NVIDIA GeForce PhysX – Phần 1

Ấn tượng đầu tiên

Bạn chưa biết PhysX là gì đúng không? Vậy bạn xem đoạn video demo dưới đây đi.

Unreal Tournament 3 với PhysX

Bạn có cảm nhận gì không? Hãy chú ý tới sự thay đổi của ánh sáng, chuyển động của con người, cây cối, và các cảnh khói lửa đầy bụi và khói, đất đá, thi thể văng tung tóe khắp nơi. Chưa đủ ép phê chứ gì? Mời bạn thưởng thức tiếp đoạn video dưới đây (nhớ chọn “watch in high quality”).

Nurien với PhysX

Hãy chú ý tới các bước đi của các cô gái, mái tóc uốn lượn theo nhịp đi, và các bộ váy tuyệt vời chuyển động phù hợp với cử động của các mỹ nhân số hóa này. Bạn cảm thấy thế nào?

Đó là những thứ mà công nghệ NVIDIA GeForce PhysX có thể mang lại cho bạn, và đấy chỉ mới là điểm khởi đầu cho cõi cực lạc của game thủ, ít nhất là từ giờ trở đi (hy vọng bạn cũng là một gam thủ như tôi)

Đôi dòng lịch sử

Chữ PhysX có gợi lên cho bạn một kỷ niệm đau thương gì không vậy? Với tôi thì có, vì ở bậc học phổ thông và đại học, tôi đặc biệt dốt môn Lý (còn cả Hóa nữa chứ). Đúng vậy, PhysX ám chỉ Physics, hay tiếng Việt mình gọi là Vật Lý, mà theo từ điển định nghĩa, là ngành khoa học “ngâm” cứu về vật chất, năng lượng, chuyển động, và lực.

Vậy thì vật lý lại có liên quan gì tới game ở đây?

Ở đây vật lý hàm ý cách thức các đối tượng trong game của bạn di chuyển và phản ứng lại phù hợp với môi trường xung quanh, y như ở ngoài đời thực (hay nói chính xác hơn là cố gắng làm được như vậy). Thật ra thì ít nhất là trong những năm gần đây, việc cố gắng đưa các hiệu ứng vật lý vào trong game cũng đã được thực hiện nhiều, trong đó CPU sẽ thực hiện các tính toán vật lý cần thiết và phần hiển thị lên màn hình sẽ do GPU đảm nhận. Do vậy mà khối lượng các tính toán vật lý sẽ bị hạn chế rất nhiều, do nó tiêu tốn khá nhiều CPU. Lấy ví dụ như trong hình dưới đây, khi bạn chỉa súng vô một cái thùng rượu và bóp cò, để cho đúng y như ngoài chiến trường, nó phải bị nổ tung thành hàng ngàn mảnh nhỏ trong tíc tắc ngay trước mắt bạn. Những mảnh nhỏ này có nghĩa là sẽ có nhiều đối tượng nhỏ xíu (các tập đỉnh) cần được tính toán về chuyển động và sau đó phải được tô màu/phủ texture/tạo bóng và hiển thị.

Hiệu ứng nổ với bụi và mảnh vỡ tạo bởi PhysX

Hiệu ứng nổ với bụi và mảnh vỡ tạo bởi PhysX

Tất cả những thứ làm nên các hiệu ứng như thực, như tôi vừa mô tả, bao gồm chuyển động phức tạp của đối tượng, các hạt cơ bản, dòng chảy, … đều dựa trên một tập phức tạp các biến về trọng lực, độ đậm đặc, gió, rồi cả thuyết tương đối tổng quát.

Tất cả các thứ đó sẽ được tính toán và sẽ xác định chuyển động thật sự của một đối tượng, quần áo, dòng chảy, hay tất cả mọi thứ bạn quan tâm đến trong game.

Một module trong một trò chơi hiện đại đảm nhận tất cả công việc nặng nhọc này được gọi là một máy (hay động cơ) vật lý. Công nghệ mà nó mang lại gọi là công nghệ vật lý trong game (physics technology). Với NVIDIA, nó được đặt tên là PhysX. Xử lý kiểu PhysX này được sử dụng chỉ để mang lại môi trường game giàu tính vật lý. Một trong vài khả năng của nó bao gồm:

  • Thể hiện các vụ nổ dẫn đến bụi và các mảnh vụn
  • Thể hiện các nhân vật có cấu tạo hình học phức tạp kiểu nối khớp với chuyển động và tương tác giống đời thường hơn
  • Thể hiện các loại vũ khí mới ngoạn mục với các hiệu ứng đáng kinh ngạc
  • Thể hiện quần áo gấp lại và bị xé rách theo cách chúng ta mong đợi
  • Thể hiện các màn sương khói dâng lên cuồn cuộn quanh các đối tượng đang chuyển động

Tất cả mọi thứ này giờ đây được tính toán bởi GPU và thực hiện nhanh hơn rất nhiều lần so với trên CPU.

Hãy thử nghiệm PhysX

Nếu máy các bạn có trang bị card đồ họa NVIDIA từ GeForce 8 trở lên, bạn đã có thể thử nghiệm PhysX. Link download ở đây:

http://www.nvidia.com/content/forcewithin/us/download.asp

Bộ phần mềm này rất đáng để thử, bao gồm:

  • Bản đầy đủ miễn phí của trò Warmonger

Warmonger với PhysX

  • Bản đầy đủ của trò Unreal Tournament III PhysX Mod Pack (bao gồm cả ba màn có hỗ trợ PhysX)

Unreal Tournament 3 với PhysX

  • Bản cập nhật mới nhất của trò Ghost Recon Advanced Warfighter 2 (1.05)

Ghost Recon Advanced Warfighter với PhysX

  • Bản demo của Nurien, một game dạng mạng xã hội sẽ được cho free, dựa trên Unreal Engine III

Nurien với PhysX

  • Bản demo của Metal Knight Zero, một game dạng PhysX cũng sẽ được cho free

Metal Knight Zero with PhysX

  • Bản demo công nghệ game tương lai “The Great Kulu”

The Great Kulu với PhysX

  • Bản demo công nghệ tạo dòng chảy (nước, khói, ga, …) “Fluid”

Fluid với PhysX

Có một điều quan trọng là bộ công cụ phát triển PhysX SDK giành cho các nhà phát triển game, có thể download về dùng miễn phí từ trang web của NVIDIA sau đây:

http://developer.nvidia.com/object/physx.html

Còn có một trò nữa dựa trên PhysX có thể down về chơi miễn phí rất hay là CellFactor: Revolution. Link download ở dưới đây.

http://www.gamespot.com/pc/action/cellfactor/download.html?sid=6170252

Sau cùng xin tiết lộ cho các bạn biết: NVIDIA GeForce PhysX được viết trên nền CUDA.