Xây dựng SkyChart Dev Blog #2: Mười lăm phiên bản, một đường băng rất bận
Mục lục
Khi chúng tôi xuất bản Dev Blog #1, SkyChart đang ở v0.2.17, một game mô phỏng hàng không hoạt động với 150 thành phố, 33 máy bay và một engine gần như bắt kịp. Chúng tôi nói sẽ trở lại với nhiều hơn. Chúng tôi không ngờ sẽ trở lại với nhiều hơn nhiều như thế này.
Mười lăm phiên bản sau, game đã gấp ba số lượng thành phố, gấp đôi đội bay, có được hỗ trợ tay cầm đầy đủ, một cuộc đại tu về khả năng tiếp cận, các hệ thống chiến tranh kinh tế có thể khiến OPEC lo lắng, và một engine render không còn van xin thương xót ở 1.600 đường bay. Chúng tôi đã ở trong nhà chứa máy bay một thời gian. Hãy để chúng tôi dẫn bạn qua những gì đã thay đổi.
Casey, chú vẹt macaw của studio, khẳng định chúng tôi phải nhắc đến việc chú đã đích thân giám sát mọi bản cập nhật. Chú không hề. Chú ăn hạt óc chó và phán xét chúng tôi.
Cuộc đại tu engine không ai thấy (nhưng ai cũng cảm)
Hãy bắt đầu với những thứ không hào nhoáng nhưng làm cho mọi thứ khác khả thi.
Ở v0.2.17, zoom ra trên một mạng đường bay lớn là… điện ảnh, theo nghĩa tệ nhất. 9 khung hình mỗi giây với 1.600 đường bay. Bản đồ vẽ lại mọi đường bay, mọi khung hình. 19.000 node đường riêng lẻ đang cố hết sức bắt chước một bản trình chiếu PowerPoint.
Chúng tôi xây lại toàn bộ engine render đường bay từ đầu. Một lần vẽ gộp thay thế hàng ngàn node riêng lẻ. Pan bản đồ giờ tốn không draw call nào, hình ảnh đã render chỉ trượt. Các đường bay chỉ vẽ lại khi mạng thực sự thay đổi. Sau khi xây lại: 60 FPS khóa, ngay cả với hàng ngàn đường bay đan chéo quả địa cầu.
Chúng tôi cũng cho 56.000 sprite máy bay vô hình ngồi lại mặt đất, vốn vẫn đang đốt CPU mỗi khung hình như các phi công ma gom tiền ngoài giờ. Các máy bay ẩn giờ bị thu hồi giấy phép xử lý hoàn toàn.
Rồi chúng tôi xây dựng một bài đánh giá hiệu năng tự động điều chỉnh. Nhấn “Run Benchmark” trong Settings và game sẽ stress-test GPU, CPU và pipeline kết cấu của bạn trong khoảng 8 giây, rồi tự động điều chỉnh 11 giới hạn hiệu năng để khớp với phần cứng của bạn. Ngưỡng hiển thị đường bay, kích thước cache ô, mật độ thời tiết, số luồng recommender, tất cả đều được hiệu chỉnh tự động. Đẩy một slider qua vùng khuyến nghị và bạn nhận cảnh báo vàng. Chúng tôi đã thấy các cơ trưởng phớt lờ đồng hồ đo của Casey trước đây. Không bao giờ kết thúc tốt đẹp.
Hãng hàng không của bạn giờ đã có phòng IT. Benchmark điều chỉnh 11 cài đặt để bạn không phải làm.
496 thành phố. 66 máy bay. Chế độ Bất tận.
Thế giới đã lớn hơn rất nhiều.
496 thành phố hiện có trên bản đồ, tăng từ 150, trải từ Timbuktu đến Petropavlovsk-Kamchatsky (chúng tôi cần ba lần thử để phát âm đúng). Mọi thành phố mới đều có dân số 1930 được nghiên cứu, tốc độ tăng trưởng, giá trị kinh tế, mã IATA, và tọa độ sân bay thực. Hệ thống hiển thị 4 cấp giữ bản đồ dễ đọc: Các Trung tâm Toàn cầu luôn hiển thị, các thành phố Nhỏ chỉ xuất hiện khi bạn phóng gần.
Đội bay cũng nhân đôi. 66 máy bay giờ lấp đầy danh mục, các mẫu chính xác về mặt lịch sử từ máy bay hai tầng cánh Cortez Condor (1933) qua kỷ nguyên hiện đại, cộng thêm các thiết kế tương lai mang tính suy đoán như Bering Orbital 1 suborbital transport (2085), ngoại suy từ các khái niệm thực tế và công nghệ hàng không mới nổi. Từ cánh quạt đến động cơ plasma siêu thanh. Các file lưu từ phiên bản cũ tự động di cư liền mạch, không mất máy bay, không sai lệch giấy tờ.
Hoàn thành cả bốn kỷ nguyên và bạn mở khóa Chế độ Bất tận, bay qua năm 2020 không giới hạn thời gian và không mục tiêu. Máy bay phản lực hydro, thân cánh hòa trộn, và các tàu nhảy quỹ đạo đang đợi ở các thập kỷ phía trước. Bầu trời không còn là giới hạn nữa.
Và vì không phải ai cũng muốn chơi cùng tốc độ, chúng tôi đã thêm bốn tùy chọn nhịp độ game: Arcade (45 giây mỗi tháng, cho người thiếu kiên nhẫn), Standard, Extended, và Realtime (30 phút mỗi tháng, cho các cơ trưởng thưởng thức từng cơn xóc nhiễu động). Hoạt cảnh máy bay khớp với nhịp độ bạn chọn. Máy bay Arcade vụt qua bản đồ như Casey sau khi tìm thấy một bát hạt óc chó không được canh giữ.
Strategic Advisor từ Blog #1 từng xử lý 11.175 cặp thành phố. Giờ nó xử lý hơn 122.000. Trên một pool luồng nền. Không đổ mồ hôi. Chúng tôi thực sự tự hào về điều đó.
496 thành phố. Hơn 122.000 đường bay khả thi. Strategic Advisor xử lý để bạn không phải làm.
Chào mừng đến Phòng Chiến Tranh
SkyChart luôn là một game chiến lược. Nhưng giờ nó có các công cụ xứng tầm.
Mười hai bảng phân tích mới đã đáp xuống suite điều hành. Fleet Risk Report phát hiện các máy bay già trước khi chúng trở thành chặn giấy. Cash Flow Forecast dự báo số dư ngân hàng của bạn 12 tháng tới với các slider kịch bản. City Pair Saturation Finder xếp hạng hơn 122.000 cặp thành phố theo điểm cơ hội để bạn ngừng bay vào các trận đánh dao. Competitor Threat Assessment lập hồ sơ chiến lược mở rộng của mọi đối thủ và sự chồng lấn với mạng của bạn.
Rồi chúng tôi trang bị vũ khí cho bạn.
Chiến tranh kinh tế đầy đủ đến ở v0.2.28 và đã thay đổi cảm giác của game hoàn toàn. Kinh tế khu vực giờ bùng nổ và suy thoái hàng tháng. Các thành phố bước vào các cơn sốt vàng nhiều quý (+40% nhu cầu) hoặc các cơn suy thoái quá bão hòa (-30%). Các cú sốc thị trường động xảy ra hàng quý: khủng hoảng nhiên liệu, sụp đổ trung tâm trung chuyển, suy thoái toàn cầu, các thương vụ sáp nhập hãng hàng không lớn.
Chuyên môn hóa trung tâm trung chuyển cho phép bạn tuyên bố các trung tâm là Cargo, Tourist, hoặc Business để có +20% nhu cầu phù hợp. Chiến tranh giá tự động kích hoạt khi bạn hạ giá một đối thủ trên các đường bay tranh chấp. Chi phí 1,5x, +20% nhu cầu, adrenaline thuần khiết. Thống trị hơn 40% một khu vực và các đối thủ AI sẽ phát động các cuộc chiến thị trường săn mồi 6 tháng, hạ giá mọi thứ và cướp các thành phố tốt nhất của bạn.
Đấu giá slot kín thay thế cho nguyên tắc đến trước được phục vụ trước. Liên minh code-share với chia sẻ doanh thu thực. Gián điệp doanh nghiệp: thuê người cung cấp tin cho ba cấp thông tin tình báo, từ dữ liệu đường bay đến tài chính đầy đủ đến trộm cắp doanh nghiệp hoàn toàn. Các đối thủ cũng do thám ngược lại. Mã danh của Casey là “Tropical Thunder” và chú từ chối đổi.
Cuộc họp báo thu nhập hàng quý vừa trở thành một cuộc họp chiến trường.
Mười hai bảng điều khiển mới. Năng lượng thiết bị Bloomberg cho đế chế hãng hàng không của bạn.
Một buồng lái mọi người đều có thể bay
Blog #1 đã đề cập hỗ trợ tay cầm như một bổ sung muộn. Giờ nó là một tính năng chủ lực.
Tích hợp Steam Input API đầy đủ nghĩa là mọi tay cầm Xbox, PlayStation, Switch và Steam Deck đều được hỗ trợ tự động với biểu tượng nút chính xác. Không phải các placeholder chung chung, mà chính xác các biểu tượng cho tay cầm của bạn. Ba bộ hành động theo ngữ cảnh chuyển đổi liền mạch khi bạn điều hướng. Một bàn phím QWERTY trên màn hình tự xuất hiện cho người dùng tay cầm khi bạn focus vào bất kỳ trường văn bản nào. Mọi bảng đơn lẻ đều phản hồi với đầu vào gamepad.
98 Thành tích Steam đã được kết nối đầy đủ, từ First Flight đến Every Seat, Every City. 15 Steam Stats đồng bộ với hồ sơ của bạn. Các bookmark Steam Timeline đánh dấu những khoảnh khắc tuyệt vời của bạn cho Steam Replay. Các bảng xếp hạng Toàn cầu và Cục bộ cho phép bạn so sánh đế chế của mình với thế giới.
Nhưng bản cập nhật chúng tôi tự hào nhất là khả năng tiếp cận.
Năm chế độ hiển thị mù màu: Normal, Deuteranopia, Protanopia, Tritanopia, và Achromatopsia. Ba cấp độ tương phản. Slider kích thước văn bản từ 80% đến 150%. Hỗ trợ trình đọc màn hình qua text-to-speech. Công tắc Giảm Chuyển động đóng băng bản tin chạy và bỏ qua các hoạt cảnh nổi.
Và đây là con số: 866 lời gọi Color() cứng được thay thế. Mọi bảng UI trong toàn bộ game (quản lý đội bay, hiệu suất đường bay, tình báo chiến lược, thâu tóm, liên minh, cài đặt, chọn độ khó, chọn kỷ nguyên, điều kiện chiến thắng, trình phát nhạc, bảng xếp hạng, mọi thứ) giờ định tuyến màu sắc qua một AccessibilityPalette tập trung. Các chế độ mù màu và cài đặt tương phản hoạt động ở mọi nơi, trên mọi bảng, theo thời gian thực. Không cần khởi động lại.
Casey đã thử nghiệm cả năm chế độ mù màu và phát hiện ra chú đã đọc đồng hồ nhiên liệu sai nhiều năm.
Năm chế độ mù màu, ba cấp độ tương phản, và 866 lời gọi màu được viết lại. Buồng lái giờ dành cho mọi người.
Sở hữu hay Thuê
Quay về v0.2.17, chúng tôi đã phát hành một hệ thống âm thầm thay đổi cách chơi game: cho thuê máy bay.
Thiếu tiền mặt nhưng cần mở một đường bay? Thuê một máy bay. Kỳ hạn 1, 3 hoặc 5 năm. Kỳ hạn ngắn hơn tốn nhiều mỗi tháng hơn nhưng cho bạn linh hoạt. Hợp đồng thuê hết hạn và tự động tạm dừng đường bay cho đến khi bạn gia hạn, mua đứt, hoặc rời đi. Các đối thủ AI cũng thuê, giống các hãng giá rẻ thực sự.
Cùng với cho thuê là một nhà chứa máy bay đúng nghĩa. Máy bay sở hữu giờ tồn tại khi gỡ khỏi đường bay thay vì biến mất vào không khí. Cất chúng, dùng lại, hoặc bán với giá thị trường đã khấu hao. Tân trang máy bay cho phép bạn kéo dài vòng đời phục vụ của một máy bay sinh lợi thêm 10 năm với 30% giá của nó.
Chúng tôi cũng đã phát hành tiến trình kỷ nguyên: các kỷ nguyên cao hơn bị khóa cho đến khi bạn hoàn thành kỷ nguyên trước. Thành thạo Bình minh của Bay trước khi đối mặt Kỷ nguyên Phản lực. Vượt qua bất kỳ kỷ nguyên nào ở chế độ Passengers và bạn mở khóa Cargo. Vượt Cargo, mở Combined. Hoàn thành kỷ nguyên đầu tiên và Chế độ Sandbox mở ra. Không phá sản, không áp lực thời gian, chỉ xây dựng.
Hộp đen, Spotify, và cả cái bồn rửa
Một vòng nhanh mọi thứ khác làm game tốt hơn:
Hỗ trợ Epic Games Store. Một trừu tượng PlatformManager mới định tuyến thành tích, thống kê, bảng xếp hạng và lưu đám mây đến bất kỳ cửa hàng nào bạn đang bay ra. Một codebase, nhiều nhà ga.
Hộp Đen Ghi âm. Một trình quản lý di cư giờ chạy trước khi Steam kết nối, tái tạo giá trị công ty từ các file lưu của bạn và dọn dẹp dữ liệu bảng xếp hạng xấu. Mọi lưu đóng dấu phiên bản game. Thống kê sự nghiệp ghi vĩnh viễn mọi lần hoàn thành kỷ nguyên. Các bộ đếm suốt đời theo dõi trung tâm trung chuyển đã xây, khoản đầu tư đã thực hiện, thâu tóm đã đóng, liên minh đã hình thành, và cuộc chiến thương mại đã trải qua.
Spotify tự động kết nối khi khởi động. Nếu bạn đã xác thực, Music Player tiếp tục từ nơi bạn dừng lại. Không còn quẹt lại thẻ lên máy bay mỗi phiên.
Khe lưu mở rộng từ 5 lên 10 với các thẻ pill mã màu (độ khó, chế độ game, sandbox) và dấu thời gian thực. HUD được tổ chức lại: Routes & Fleet, Company, và một dropdown Rivals mới với tiêu đề phần được gắn nhãn. Thông báo toast giờ xếp tầng theo chiều dọc thay vì chồng lên nhau vô hình. Và 14 phím tắt bàn phím mới bao phủ mọi bảng chiến lược.
Ngay cả các chi tiết nhỏ cũng được chú ý: Các khoản đầu tư Carbon Offset giờ bị khóa kỷ nguyên đến năm 2005 (không ai bù carbon ở thời cánh quạt), chế độ cargo hiển thị tấn và giá thay vì “passengers”, và hộp thoại thoát giờ đề nghị tự lưu trước khi bạn rời đi.
Được phép hạ cánh
Chúng tôi đang ở v0.2.32.10 bây giờ. Game từng “hoàn chỉnh và rất chơi được” ở v0.2.17 đã trở thành một cái gì đó lớn hơn đáng kể: một game mô phỏng đế chế hàng không 496 thành phố, 66 máy bay, gốc tay cầm, ưu tiên khả năng tiếp cận với chiến tranh kinh tế, gián điệp doanh nghiệp, và một engine hiệu năng xử lý tất cả ở 60 FPS.
Đây là những gì đang trên đường băng:
- Thiết kế âm thanh: hiệu ứng UI, cảnh âm thanh sân bay xung quanh, tiếng click thỏa mãn của mọi nút
- Hướng dẫn: một trải nghiệm chuyến bay đầu tiên có hướng dẫn để người chơi mới không phải học bằng cách phá sản
- Trang cửa hàng Steam: thành tích, lưu đám mây, và lần đẩy cuối cùng đến phát hành
Chúng tôi vẫn xây dựng SkyChart với cùng triết lý: game mô phỏng quản lý xứng đáng được trau chuốt như các game hành động. Mỗi tooltip, mỗi hoạt cảnh, mỗi tùy chọn khả năng tiếp cận tồn tại vì chúng tôi đã hỏi mình điều gì sẽ khiến chúng tôi không muốn alt-tab.
Cảm ơn vì đã theo dõi hành trình. Hãy giữ khay bàn của bạn lên và mạng lưới đường bay có lãi.
Đội Casey Jones Labs
Casey nói chú muốn tăng lương và một văn phòng góc. Chú đã có tên trên màn hình splash và không chịu quên điều đó. Chú đang nhận thêm hạt óc chó.
SkyChart: Airline Executive, sắp ra mắt trên Steam cho Windows, macOS và Linux. Được xây dựng bằng Godot 4.