Logo Zephyrnet

Nhà phát triển Age of Empires xác nhận trò chơi chủ yếu được viết bằng mã hội cấp thấp vì 'chúng tôi có thể cuộn màn hình và lấp đầy nó bằng các họa tiết nhanh hoặc nhanh hơn' so với các đối thủ cạnh tranh như Starcraft 'mặc dù chúng tôi có số pixel nhiều gấp đôi'

Ngày:

Một số câu chuyện hay nhất về trò chơi chỉ đơn giản là về cách các nhà phát triển làm cho trò chơi hoạt động. Hãy hỏi bất kỳ nhà phát triển nào về cách giải quyết yêu thích của họ và bạn sẽ có được một buổi tối giải trí đáng giá về cách thực sự của một chiếc xe điện khổng lồ một NPC đội mũ, hay thực ra thỏ như thế nào điều gì khiến Azeroth hoạt động, Và như vậy.

Điều này không hoàn toàn đúng như vậy, nhưng một redditor gần đây đã lưu ý rằng Chris Sawyer đã viết Rollercoaster Tycoon 1 và 2 bằng ngôn ngữ Assembly, và rõ ràng Age of Empires cũng vậy: “AoE được viết bằng Assembly: điều này có thực sự ĐÚNG không?!” Điều quan trọng cần lưu ý là điều này không phải là hiếm vào thời đó, mặc dù nó vẫn sẽ khá đáng chú ý nếu toàn bộ trò chơi được mã hóa cứng theo cách này. Hợp ngữ, nói ngắn gọn nhất có thể, là bất kỳ ngôn ngữ mã hóa cấp thấp nào giao tiếp trực tiếp hơn với kiến ​​trúc của máy tính so với các ngôn ngữ cấp cao như C++.

Câu hỏi về việc liệu Age of Empires có được mã hóa bằng ngôn ngữ Assembly hay không đạt vàng trong câu trả lời cảm ơn Matt Pritchard, một trong những thành viên sáng lập của Ensemble Studios, người đã đảm nhiệm vai trò trưởng nhóm viết mã cho loạt phim ngay từ đầu.

Pritchard nói: “Tôi đoán là tôi có thể làm rõ điều này vì tôi đã viết tất cả mã lắp ráp được sử dụng trong Age of Empires và Age of Kings, cùng với nhiều phần khác của những trò chơi đó”. “Có tổng cộng khoảng ~13,000 dòng mã lắp ráp x86 32-bit được viết.”

Pritchard tiếp tục giải thích rằng phần lớn trong số này nằm trong “lõi vẽ”, được Microsoft Macro Assembler 6.1 biên dịch thành tệp .obj và trong các trường hợp khác là Visual C++. Nói một cách dễ hiểu, đây là một cách cực kỳ hiệu quả để trò chơi vẽ các họa tiết, Pritchard ước tính nó nhanh hơn khoảng 10 lần so với cách triển khai C++ tiêu chuẩn.

Pritchard cho biết: “Lõi vẽ của AoE nhanh hơn đáng kể so với các đối thủ cạnh tranh như StarCraft, đó là lý do tại sao độ phân giải mặc định ‘vượt trội’ cho AoE là 800 x 600, trong khi gần như tất cả các đối thủ cạnh tranh của chúng tôi là độ phân giải 640 x 480”. “Chúng tôi có thể cuộn màn hình và lấp đầy màn hình bằng các họa tiết nhanh hoặc nhanh hơn mặc dù chúng tôi có số lượng pixel nhiều gấp đôi trong khu vực thế giới trò chơi.”

Mã hội vẫn được sử dụng ngay cả cho đến thời Age of Kings: phiên bản HD (trò chơi 32 bit), nhưng Pritchard “đã viết lại các hàm lắp ráp thành C++ cho cả hai Phiên bản dứt khoát, vì chúng là các chương trình 64 bit và nội tuyến. hợp ngữ chưa bao giờ được hỗ trợ bởi trình biên dịch C++ 64-bit và các bộ thanh ghi và tối ưu hóa trình biên dịch được cải tiến rất nhiều khiến nó không cần thiết. Ngoài ra, bản vẽ sprite trong các phiên bản cuối cùng là đa luồng và sẽ chỉ sử dụng tối đa 4 lõi cho nhiệm vụ đó.”

Một phần lý do tại sao cần phải có giải pháp như vậy là vì cả hai trò chơi đều được phát triển vào thời điểm mà thẻ 3D độc lập không phổ biến: “Tiên tiến là 2D với thẻ 3D riêng biệt như Voodoo 1 & 2” Pritchard nói. Anh ấy đi sâu vào một số chi tiết về các hạn chế kỹ thuật vào thời điểm đó, lưu ý rằng CPU Pentium 166 trong các máy mà hầu hết các nhà phát triển Ensemble đang sử dụng “có 16K bộ nhớ đệm… TỔNG CỘNG”. Hoặc nói một cách dễ hiểu hơn, “Có thể bạn hiện đang làm việc trên một PC có nhiều Bộ nhớ đệm trên CPU hơn PC mà tôi đã phát triển AoE trên TỔNG CỘNG.” 

Pritchard's đã có khá nhiều sự nghiệp nhưng rõ ràng có mối quan hệ thực sự với Age of Empires và đề cập đến việc phiên bản HD (đừng nhầm với Phiên bản dứt khoát) đã ra đời như thế nào. “Phiên bản HD ra đời sau khi tôi gõ cửa từng nhà ở Microsoft trong vài năm để cố gắng thu hút ai đó quan tâm và hợp đồng với Hidden Path (lúc đó tôi đang làm việc về CS:GO cho người chủ trước đây của tôi là Valve) khá nhỏ,” Pritchard nói.

“Microsoft không nghĩ rằng có nhiều người quan tâm đến phiên bản tải xuống kỹ thuật số hoàn toàn của trò chơi 2D từ những năm 1990 (phiên bản CD-ROM của trò chơi gốc vẫn còn trên kệ chỉ một hoặc hai năm trước đó). HD được thực hiện bởi một nhóm tuyệt vời tại HPE với ngân sách nhỏ (~5 người, ~ chưa đầy một năm), vì vậy những thay đổi được giữ ở mức 'hoàn toàn cần thiết' thay vì các Phiên bản dứt khoát đầy tham vọng hơn.

Ngoài ra còn có một số chi tiết thú vị trên các cổng console khác nhau của trò chơi. Pritchard nói: “Ensemble không liên quan gì đến cổng PS2. “Microsoft đã tự mình đàm phán thỏa thuận và đưa cho họ mã và tài sản trên đĩa CD và nói ‘hãy làm đi’. Gần như tương tự đối với cổng Dreamcast, mặc dù đối với cổng đó, tôi đã dành một giờ để vẽ trên bảng trắng và cố gắng giải thích các chi tiết đồ họa cho một kỹ sư Konami, người không nói được tiếng Anh trong khi tôi không nói được tiếng Nhật.”

Pritchard kết thúc bằng cách nói: “Tôi rất may mắn khi được đóng một vai trò to lớn trong những trò chơi đó ngay từ đầu và được thành lập vào năm 1996 để trở thành động lực thúc đẩy sự hồi sinh trong năm 2010-11 cho đến thời hiện đại, kết thúc hành trình của riêng tôi. với nó khi DE được phát hành vào năm 2019.

“Tôi rất may mắn khi được trở thành một phần trong sự sáng tạo của nó và cho đến ngày nay tôi vẫn rất khiêm tốn với tất cả những niềm vui và hơn thế nữa mà nó đã mang lại cho mọi người. Tôi sẽ không bao giờ có được sự nghiệp phát triển trò chơi tuyệt vời mà tôi có được nếu không có tất cả những người hâm mộ và ủng hộ những trò chơi đó.”

tại chỗ_img

Tin tức mới nhất

tại chỗ_img