Ymir: Công cụ vật lý 2D gốc Swift cho các nhà phát triển macOS và iOS
Ymir, được phát triển bởi StrikerX3 (Tiago Rezende), là một engine vật lý 2D hiệu suất cao được viết bằng Swift cho các nền tảng của Apple. Nó mô phỏng động lực học của các vật thể rắn và phản ứng va chạm để cung cấp các mô phỏng và trò chơi tương tác, mở ra một API sạch sẽ, an toàn với kiểu cho các nhà phát triển. Công cụ này triển khai các thuật toán va chạm tiên tiến và một bộ giải dựa trên xung trong khi vẫn giữ được khả năng mở rộng cho các hình dạng tùy chỉnh. Ymir nhắm đến các nhà sáng tạo macOS và iOS cần một lõi vật lý nhẹ nhàng, bản địa được tích hợp vào các dự án Swift.
Ymir là loại engine vật lý nào?
Ymir tập trung vào mô phỏng cơ thể rắn hai chiều, sử dụng các quy trình va chạm chính xác và các bộ giải để mô hình hóa chuyển động và tiếp xúc. Engine thực hiện GJK và EPA để phát hiện va chạm và một bộ giải dựa trên xung để giải quyết va chạm và ràng buộc. Nó cũng cung cấp hỗ trợ cho các khớp nối và ràng buộc vật lý, cùng với một kiến trúc chấp nhận các hình dạng và hành vi tùy chỉnh, vì vậy các mô phỏng có thể phản ánh các tương tác cơ khí phức tạp hơn là chỉ đơn giản là chồng chéo sprite.
Ymir có phải là một engine game hoàn chỉnh hay một thư viện vật lý chuyên dụng?
Ymir là một thư viện vật lý chuyên dụng hơn là một framework game tất cả trong một. Nó xử lý chuyển động, logic va chạm và giải quyết ràng buộc nhưng không cung cấp rendering, âm thanh, hoặc quản lý đầu vào. Điều đó khiến engine trở nên phù hợp như một thành phần tập trung bên trong một dự án lớn hơn, và có nghĩa là các nhóm phải tự cung cấp các lớp rendering và đầu vào hoặc kết hợp Ymir với một framework rendering hiện có.
Làm thế nào Ymir tích hợp với các dự án Swift và công cụ của Apple?
Engine được viết hoàn toàn bằng Swift, điều này loại bỏ nhu cầu về các wrapper C++ và giữ cho API an toàn kiểu cho các mã nguồn Swift. Nó có thể được nhúng vào các dự án SwiftUI hoặc UIKit để điều khiển các hoạt ảnh vật lý và các yếu tố tương tác. Mã nguồn được thiết kế để mở rộng nên các nhà phát triển có thể thêm các hình dạng va chạm hoặc hành vi tùy chỉnh mà không cần sửa đổi các thuật toán cốt lõi, hỗ trợ tích hợp mô-đun vào các kiến trúc ứng dụng hiện có.
Làm thế nào để thêm Ymir vào một dự án và các nền tảng nào được hỗ trợ?
Ymir chủ yếu nhắm đến macOS nhưng tương thích với các nền tảng hỗ trợ Swift, bao gồm iOS, iPadOS và tvOS. Dự án có thể được tích hợp bằng cách sao chép kho lưu trữ hoặc thêm nó như một phụ thuộc nếu một manifest Swift Package Manager được cung cấp. Sự linh hoạt trong cài đặt đó cho phép các nhóm áp dụng engine bên trong các quy trình làm việc Xcode gốc và điều chỉnh nó cho các mục tiêu Apple khác nhau.
Tóm lại, Ymir phù hợp với các nhà phát triển nghiên cứu và điều chỉnh mã động cơ
Ymir là một lựa chọn mạnh mẽ cho các nhà phát triển Swift, những người đánh giá cao một lõi vật lý có thể kiểm tra và điều chỉnh, vì dự án này là mã nguồn mở và được ghi nhận trong cộng đồng ngách vì việc triển khai sạch sẽ của nó. Nó thưởng cho các nhóm thích đọc và sửa đổi nội bộ của động cơ như một phần trong quy trình phát triển của họ, thay vì sử dụng một gói duy nhất gộp lại các dịch vụ hình ảnh và trò chơi.