Nhẹ nhàng ngay từ đầu: cách một studio nhỏ giữ cho các trò chơi luôn nhanh chóng
29 tháng 6, 2026
Mỗi mili giây giữa lúc chạm và bắt đầu chơi đều là một cược thầm lặng chống lại bạn. Trên điện thoại di động, cược đó sẽ nhân lên — khởi động chậm, khung hình đầu tiên giật lag, việc tải xuống âm thầm làm hao tốn dữ liệu của người chơi trước khi họ kịp thấy màn hình tiêu đề. Hầu hết người chơi sẽ không chờ đợi. Họ đóng tab và mở thứ gì đó khác trước khi thanh tải của bạn đạt đến giữa.
Chúng tôi luôn suy nghĩ về điều này tại Pong Studio. Nó ảnh hưởng đến quyết định từ lần commit đầu tiên đến bản dựng phát hành cuối cùng.
“Nhẹ, Nhanh, Vui” không phải là một khẩu hiệu mà chúng tôi vô tình chọn ra. Đó là một giới hạn mà chúng tôi tự chọn — và những giới hạn được chọn một cách có ý thức sẽ khiến công việc trở nên tốt hơn.
Vì sao di động là một trò chơi khác biệt
Người chơi trên máy tính có thể chấp nhận khởi động chậm. Họ đã ngồi yên, cắm điện, và bị phân tâm bởi một tab khác. Người chơi di động thì đang ở giữa các việc. Họ đang trên xe buýt, đang chờ đợi, đang lấp đầy 30 giây giữa các nhiệm vụ. Cửa sổ chịu đựng rất hẹp, và sự cạnh tranh là tất cả những thứ khác đang hiển thị trên thiết bị.
Còn có thực tế về phần cứng. Điện thoại flagship được các nhà phê bình công nghệ đánh giá không phải là điện thoại mà đa số người chơi đang sử dụng. Một chiếc điện thoại từ hai hoặc ba năm trước — trung bình khi ra mắt, nay đã trở thành đồ cũ truyền tay — là một mục tiêu rất thực tế. Nếu chúng tôi chỉ kiểm tra trên phần cứng tốt nhất mà chúng tôi sở hữu, chúng tôi đang tự lừa dối bản thân về những người thực sự đang chơi.
Ngoài hiệu năng, còn có sự tôn trọng. Pin là hữu hạn. Kế hoạch dữ liệu là hữu hạn. Sự chú ý là hữu hạn. Một trò chơi tôn trọng những giới hạn này sẽ giành được lòng tin trước khi người chơi nhấn bất kỳ nút nào.
Chỉ phát hành những thứ xứng đáng với trọng lượng của nó
Tối ưu hóa hiệu quả nhất mà chúng tôi thực hiện lại diễn ra trước khi viết bất kỳ dòng mã nào: quyết định những thứ không nên xây dựng.
Mỗi tính năng, tài nguyên, phụ thuộc đều có chi phí — kích thước tải xuống, thời gian phân tích, bộ nhớ chạy thời gian thực, gánh nặng bảo trì. Mỗi lần, chúng tôi đều đặt câu hỏi giống nhau: điều này có đáng để tồn tại không? Nó có làm trò chơi trở nên vui hơn rõ rệt không, hay chúng ta thêm nó chỉ vì có thể? Vì chúng ta đã thấy ở đâu đó khác? Vì cảm giác rằng một trò chơi “thật” nên có nó?
Rất nhiều thứ không được chọn. Điều đó không phải là thất bại. Đó là sự kỷ luật.
Những tính năng bạn bỏ qua sẽ không bao giờ gây ra lỗi hiệu năng.
Cách tư duy này cũng được áp dụng trong các công cụ web của chúng tôi. Toolio tồn tại vì chúng tôi liên tục đặt câu hỏi “một công cụ hữu ích thực sự cần gì?” và liên tục loại bỏ mọi thứ không trả lời được câu hỏi đó.
Đo lường trước khi thêm, không phải sau
Rất dễ dàng thêm một thứ gì đó ngay bây giờ và lo lắng về chi phí sau này. Chúng tôi đã học cách đảo ngược điều đó. Trước khi kéo một thư viện hoặc thêm một hệ thống mới, chúng tôi cố gắng hiểu chi phí trước — không chỉ kích thước tệp, mà còn những gì nó yêu cầu từ CPU, GPU và sự chú ý của người chơi trong thời gian chạy.
Khi một thứ thực sự cảm thấy chậm, chúng tôi phân tích trước khi đoán. Cảm giác trực giác về nơi có cổ chai thường sai nhiều hơn là đúng. Nguyên nhân thực sự thường nằm ở nơi không ngờ tới. Đo lường trước có nghĩa là chúng tôi sửa vấn đề thực sự thay vì đánh bóng thứ gì đó vốn không chậm ngay từ đầu.
Tải chậm những thứ có thể chờ
Không phải mọi thứ đều cần sẵn sàng ngay khi người chơi chạm vào. Màn hình tiêu đề không cần phải tải âm thanh của boss cuối cùng. Hướng dẫn không cần tài nguyên từ cấp độ cuối cùng.
Chúng tôi chia việc tải thành những thứ người chơi cần ngay lúc này và những thứ họ sẽ cần sau này, và chúng tôi hoãn việc tải những thứ có thể. Lần đầu tiên tiếp xúc với trò chơi nên nhanh chóng. Những thứ còn lại sẽ được tải âm thầm trong nền khi người chơi đã bắt đầu chơi và đang vui vẻ.
Hiệu năng là một tính năng, không phải nhiệm vụ dọn dẹp
Bẫy là coi hiệu năng như điều bạn tối ưu ở cuối. Đến lúc đó, kiến trúc đã được xác định, tài nguyên đã có kích thước cố định, và các phụ thuộc đã được tích hợp. Việc loại bỏ các thứ trở nên khó khăn hơn so với việc không bao giờ thêm chúng vào.
Chúng tôi coi hiệu năng như một ràng buộc thiết kế từ ngày đầu tiên — giống như cách chúng tôi coi tính vui, tính rõ ràng, hoặc đường cong học tập. Điều này không làm công việc trở nên khó khăn hơn. Nó giúp đưa ra quyết định dễ dàng hơn, vì câu hỏi “điều này có giữ cho chúng ta nhẹ nhàng không?” là một câu hỏi cụ thể với câu trả lời cụ thể.
Những studio nhỏ không có đủ nhân sự kỹ thuật để che giấu sự cồng kềnh bằng các mẹo thông minh trong thời gian chạy. Chúng tôi giữ nhẹ nhàng vì chúng tôi phải làm như vậy — và chúng tôi đã phát hiện ra rằng “phải” tạo ra những trò chơi tốt hơn.
Muốn biết khi nào game tiếp theo có thể chơi được? Nhận tin ra mắt →