Table of Contents
Máy Vàng: Một nền tảng cho tính chất cập nhật
Hành trình xuyên suốt của cuộc đời bắt đầu với động cơ của nó, GoldSrc. Deive từ một động cơ Quake đã được cải tiến nặng từ phần mềm id, đội kỹ thuật của Valve nhận ra sớm rằng một cơ sở mã hóa, nền tảng kết nối sẽ cản trở sự mở rộng trong tương lai. VàngSrc được xây dựng xung quanh một tập hợp các tính năng trừu tượng được tách biệt lý với giao diện hệ thống. tính đa chiều này có nghĩa là nền tảng đặc trưng cho việc vẽ, nhập, âm thanh và mạng - được xác định rõ ràng trong các lớp, làm cho cổng thành một khối viết lại hơn là toàn bộ trò chơi.
Quyết định của Valve là sử dụng C (với một số C++ cho động cơ quáling) cũng góp phần vào khả năng chuyển tiếp. Các biên dịch viên đã có mặt trên hầu hết các nền tảng của thời đại, và bản chất của ngôn ngữ thấp cho phép các kỹ sư kiểm soát tốt bộ nhớ và hiệu suất mà không cần phụ thuộc vào thư viện điều hành thời gian cụ thể. Hệ thống thư viện của động cơ kết nối (kiểu DL cho trò chơi logic) thêm vào mã chơi từ phần cứng và hệ thống OS.
Trừu tượng đồ họa: Đường ống vẽ
DirectX, OpenGL và Phần mềm sụp đổ
Một nửa đời vận chuyển vào năm 1998 khi hệ thống chơi trò chơi Windows bị chi phối bởi DirectX 5 và 6. Tuy nhiên, Valve đã lên kế hoạch cho cổng Linux và macOS ngay từ đầu. Máy vẽ được xây dựng chung quanh một giao diện trừu tượng “có thể được hỗ trợ bởi Direct3D (sau này chỉ dẫnX), OpenGL, hoặc một trình làm phần mềm tinh khiết. Cấu trúc này cho phép trò chơi chạy trên phần cứng không có gia tốc 3D trong văn phòng và máy Linux đầu tiên cũng chiếm lợi thế của các hệ thống ATI trên mỗi nền tảng.
Trình dịch OpenGL đặc biệt quan trọng đối với Linux và MacOS, nơi DirectX không tồn tại. Valve đã sử dụng các kỹ thuật tương tự GL nhưng với những cải tiến đáng kể trong việc quản lý kết cấu và trình quản lý cấp tự do. Trình làm cho phần mềm, trong khi chậm theo tiêu chuẩn hiện đại, bảo đảm rằng trò chơi có thể khởi động ngay cả trên phần cứng chưa được hỗ trợ, một sự cân nhắc quan trọng về việc kiểm tra kết cấu kết cấu với trình thử ra đa chiều ngang.
Tính năng chuyển đổi Shader và đồ họa
Trước khi bộ chiếu sáng được lập trình trở thành chuẩn, GoldSrc phụ thuộc vào các tính năng ống dẫn chức năng cố định. Sự pha trộn kết cấu trừu tượng 2 của hệ thống định, mã hóa nhiều văn bản và hiệu ứng môi trường đằng sau gọi ngược lại được. Điều này có nghĩa là cổng tới một nền tảng với các đường dẫn chức năng cố định khác (v. d., phát âm 2 của S. S. S. S. hay Sega Dreamcast's) có thể tái tạo lại những đường dẫn có thể gọi ngược lại mà không cần thiết lập lại toàn bộ đường dẫn. Sự trừu tượng tương tự chuyển đổi sang hệ thống OpenGL cho các hoạt động di động di động di động.
Nhập và Âm thanh: Giao thoa Chung
Trừu tượng nhập
Hệ thống nhập nửa đời được thiết kế như là một lớp thu thập trừu tượng được chọn. Trò chơi này lặp lại một hệ thống chung “cho phép sử dụng hệ thống cấu hình cho bàn phím, con chuột và dữ liệu cần điều khiển, trong khi các mã lệnh đặc trưng cho nền tảng đầy dẫy điều khiển trực tiếp (như được thấy ở cổng sau). Thiết kế này cho phép cùng một người chơi và vũ khí hoạt động với USB, một bàn phím máy tính, hoặc ngay cả trên màn hình để chạm vào màn hình ảo (như được thấy trong cổng).
Tính năng chuyển động âm thanh
Âm thanh trong hệ thống âm thanh nửa đời dùng một sản phẩm phần mềm giữa (OSzz), trừu tượng hóa Chỉ dẫn, OSS (hệ thống âm thanh mở), ASSA và Cure Âm thanh. Miles cung cấp một hệ thống định vị nhất định cho âm thanh góc, truyền tải và mô phỏng lại. Valve chọn phần mềm giữa để ghi lại các tập tin âm thanh cho mỗi nền. Sau đó, việc phát hành mã nguồn mở của GoldSc SDK cho phép các nhà phát triển cộng đồng mở rộng và mở rộng nền tảng dựa trên cơ sở dữ liệu mở và truyền hình OpenAL, mở rộng.
Mã mạng và nhiều người chơi: giữ hằng số giao thức Wire
Đa phần cuộc sống của nửa người chơi được định nghĩa độc lập về tầng vận chuyển. Điều này có nghĩa là một khách hàng Linux có thể kết nối đến một máy chủ Windows và ngược lại, miễn là cả hai đều hiểu được phiên bản giao thức đó. Valve thậm chí đã công bố thông tin về giao thức trong phần mềm bán sinh hoạt, cho phép máy chủ và trình khách thực hiện.
Sự trừu tượng mạng cũng xử lý sự liên kết và sắp xếp gói. GoldSrc đã sử dụng hệ thống vĩ mô (v. d., dài , [FLT: 1], ) khả năng sắp xếp khả năng chuyển đổi dữ liệu theo thứ tự mạng (FLT:3] khi cần thiết, đảm bảo sự tương thích giữa cấu trúc CPU (x86, PC, ARM). Lệnh này cần thiết cho cổng thông tin như hệ thống định dạng Dreamcast (ST: Tend-E) và ET- E.
Cổng lịch sử: Từ Dreamcast đến Xbox
Sega Dreamcast (2000)
Cổng Dreamcast của chế độ nửa đời là một trong những cổng có tham vọng nhất, mang trò chơi đến một bảng điều khiển với trình điều khiển có chứa RAM giới hạn (16 MB hệ thống, 8 MB video). Phiên bản Valve và cổng skipbox phần mềm repbox phần mềm tái tạo bộ trình bày để sử dụng chuỗi điện tử 2 phần cứng, cung cấp bộ nén kết cấu cao hơn (VQ) nhưng cần thiết phải cẩn thận. phiên bản Dreamcast cũng giới thiệu bản “Half- Life: Shift D: di chuyển Dlater D. Mặc dù hiệu suất vẫn có thể giảm xuống phần cứng.
PlayStation 2 (2001)
Cổng PS2 của chế độ PS2 (Have: Deay) chỉ vận chuyển ở Nhật Bản nhưng vẫn còn là một sự tò mò kỹ thuật, dùng các đơn vị véc tơ của động cơ cảm xúc để tăng tốc độ đa giác, chuyển đổi phần mềm. Valve phải thay thế các cuộc gọi của OpenGL bằng GSKit trong khi bảo tồn cách vẽ logic tương tự. Hậu phương pháp âm thanh được viết lại cho trình xử lý âm thanh của Sony. Cổng này đánh dấu tầm quan trọng của các lớp âm thanh và giải thích theo chiều đơn giản.
Xbox (2001)
Đối với bản gốc Xbox, nửa đời chạy trên một đồ họa điện tử tùy chỉnh mà đã tận dụng tối đa các thiết bị đánh bóng đồ họa NV2A GPU (một GeForce 3). Valve dùng Chỉ thị 8 bóng râm cho bản đồ và hiệu ứng quang phổ, đánh dấu lần đầu tiên động cơ sử dụng các đèn điểm ảnh có thể sử dụng. Cổng Xbox cần thiết phải thay đổi tới trình quản lý bộ nhớ [FLT: 0]48 MB[FL1] [FT1] của RAM và hệ thống nhập vào (để hỗ trợ thanh hai dạng tương tự). Thành công cụ này có thể được mở lại để tiếp theo không có tác giả sử dụng đồ họa.
Mã nguồn phát hành và cảng cộng đồng
Vào năm 2004, Valve công bố SDK nửa đời dưới một giấy phép thay đổi nhưng không phân phối lại. Tuy nhiên, vào năm 2013, mã mã mã mã mã vàng được công bố trên GitHb [FT] [FT3] đã mở lại từ mặt đất, thêm vào các phương pháp hỗ trợ hiện đại, và thậm chí là Nrush và irush.
Chẳng hạn, động cơ Xash3D thay thế các hậu phương DirectX/ opennationsGL gốc bằng SDL2 và OpenGL 2, cho phép chạy nửa đời trên thiết bị không có trình điều khiển GPU. Những cổng cộng đồng này thường cải tiến khi các tính trừu tượng gốc của Valve, thêm vào hỗ trợ Vulkan và các tỷ lệ khung chưa được bao bọc. Chúng cũng cố định các vấn đề dài có độ uốn nắn âm thanh và thăm dò ý kiến, chứng minh sức mạnh của thiết kế ban đầu khi nó được in trên nó.
Khả năng chuyển tải hiện đại: Kỹ thuật đảo ngược và di sản
Ngày nay, máy chạy nửa đời vẫn còn được chơi trên Windows 10/11, macOS (qua Steam Play), Linux (được dùng để chạy máy Steam Linux).
Những bài học kỹ thuật từ những nỗ lực xuyên suốt nửa đời của một nửa vẫn còn trong các động cơ trò chơi hiện đại. không thật, không thống nhất và Godot đều sử dụng các lớp học trừu tượng phần cứng, phần giữa cho âm thanh và đầu vào, và giao thức mạng phiên bản - cảm nhận được từ người tiên phong hoặc được cải tiến bởi GoldSrc.
Kết luận
Sự tương thích giữa đời nửa đời không phải là một sự trùng hợp ngẫu nhiên; đó là kết quả của những quyết định kiến trúc có chủ tâm: một động cơ mô- đun, cấu trúc trừu tượng và hệ thống nhập, phần giữa cho âm thanh, và một giao thức mạng đã phiên bản cẩn thận. Những sự lựa chọn này cho phép trò chơi chạy trên mọi thứ từ Windows PC đến Dreamcast, và chúng tiếp tục hỗ trợ các cổng cộng đồng vào thời đại hiện đại. đối với bất kỳ nhà phát triển nào nhắm vào việc xây dựng một trò chơi kéo dài hàng thập kỷ qua các thay đổi phần cứng, thì cuốn sách chơi GoldSc vẫn còn lại giá trị.
Đọc: