paint-brush
Flutter có phải là Panacea trong phát triển trò chơi nền tảng chéo không?từ tác giả@oliveremeka
2,498 lượt đọc
2,498 lượt đọc

Flutter có phải là Panacea trong phát triển trò chơi nền tảng chéo không?

từ tác giả Oliver Ifediorah2022/06/14
Read on Terminal Reader
Read this story w/o Javascript

dài quá đọc không nổi

Với những hạn chế này, nhu cầu phát sinh ra một công cụ phát triển trò chơi đa nền tảng kết hợp ưu điểm của công cụ trò chơi và khung phát triển trò chơi, đồng thời bị thiệt thòi bởi càng ít nhược điểm của chúng càng tốt. Đó là, một công cụ phát triển trò chơi đa nền tảng có thể truy cập, nhanh chóng, dễ sử dụng, hoạt động hiệu quả, độc lập và linh hoạt. Đây là nơi mà sự bùng nổ - một mục nhập mới sôi động trong ngành phát triển phần mềm đa nền tảng - được xem xét.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Flutter có phải là Panacea trong phát triển trò chơi nền tảng chéo không?
Oliver Ifediorah HackerNoon profile picture


Giới thiệu

Ngành công nghiệp game luôn thay đổi và các nhà phát triển game cần phải liên tục thích ứng với các xu hướng mới nhất. Một trong những xu hướng như vậy là các trò chơi được tạo cho các thiết bị cụ thể đang nhanh chóng trở nên lỗi thời vì người chơi hiện muốn chơi trò chơi trên nhiều phần cứng khác nhau. Hình ảnh dưới đây cho thấy số lượng game thủ sử dụng các thiết bị chơi game mới hơn như điện thoại thông minh (2,6 tỷ) vượt quá số lượng game thủ sử dụng các thiết bị chơi game truyền thống hơn như console (730 triệu) và máy tính cá nhân (1,5 tỷ).


Theo Inovecs games (một công ty phát triển trò chơi), thành công thương mại của trò chơi phụ thuộc vào một số lý do như mức độ hấp dẫn của tiêu đề, cách chơi và tính khả dụng của trò chơi trên các thiết bị. Nhưng tính khả dụng đã được chứng minh là một trong những yếu tố quan trọng nhất của sự phổ biến và thành công của trò chơi. Thống kê của họ cho thấy 87% game thủ nhiều người chơi liên tục tìm kiếm nhiều tựa game đa nền tảng hơn và việc tạo ra một trò chơi đa nền tảng có thể giúp tăng doanh thu từ 20% đến 40%. Một số trò chơi đa nền tảng thành công nhất bao gồm:


Halo Infinite : Xbox One, Xbox Series X / S, Xbox Cloud Gaming

Fortnite : PS4, PS5, Xbox One, Xbox Series X, Switch, PC

Trong số chúng tôi : Android, iOS, PC, Switch

Call of Duty: Vanguard : PS5, PS4, Xbox One, PC, Xbox Series X / S


Do đó, để một người có thể tiếp cận nhiều người chơi gắn bó hơn và thành công trong ngành công nghiệp trò chơi bằng cách tạo ra nhiều lợi nhuận hơn, việc phát triển trò chơi đa nền tảng là rất quan trọng.


Tầm quan trọng của phát triển trò chơi đa nền tảng

Phát triển trò chơi đa nền tảng có nghĩa là xây dựng trò chơi có thể hoạt động trên nhiều nền tảng cùng một lúc. Nó cho phép một nhóm các nhà phát triển viết mã một lần và phát hành ở mọi nơi. Phát triển trò chơi đa nền tảng khá phức tạp. Không giống như phát triển trò chơi gốc sử dụng các công cụ chính thức được cung cấp bởi các nhà phát triển của hệ thống mà trò chơi được tạo ra, phát triển đa nền tảng yêu cầu phần mềm khác giúp điều chỉnh một cơ sở mã duy nhất cho một số hệ thống. Các nhà phát triển làm việc với cơ sở mã duy nhất trong khi công cụ trò chơi, thư viện, ngôn ngữ viết kịch bản và Bộ phát triển phần mềm (SDK) tạo ra các yếu tố cần thiết cho nền tảng cụ thể.


Các trò chơi đa nền tảng thường được thiết kế bằng cách phát triển toàn bộ chu kỳ, trong đó trò chơi được xây dựng cho nhiều nền tảng cùng một lúc trước khi phát hành. Điều này khác với việc chuyển một trò chơi đã được phát hành trên một nền tảng này sang các nền tảng trò chơi khác. Việc tạo một trò chơi đa nền tảng thường mất nhiều thời gian hơn, nhưng nó ngăn chặn việc tiêu tốn thời gian và công sức để làm cho một trò chơi đã được phát hành có sẵn trên các nền tảng khác.


Dưới đây là một số lợi ích của việc phát triển trò chơi Đa nền tảng.


Bảo trì dễ dàng: Không cần phải duy trì các cơ sở mã riêng biệt cho từng nền tảng và điều này cũng giúp nâng cấp. Các nhóm có thể chỉ cần thực hiện thay đổi đối với cơ sở mã và triển khai nó trên tất cả các nền tảng cùng một lúc, tiết kiệm cả thời gian và tiền bạc.


Cải thiện khả năng tiếp cận: Phát triển đa nền tảng giúp nhà phát triển trò chơi tiếp cận nhiều nhất hoặc nhiều đối tượng mục tiêu nhất có thể bằng cách cung cấp trò chơi trên các loại thiết bị khác nhau mà khán giả có thể đang sử dụng.


Quá trình phát triển nhanh hơn: Việc tạo một trò chơi đa nền tảng ngay lập tức sẽ nhanh hơn so với việc tạo một trò chơi riêng biệt cho PC, sau đó điều chỉnh thành phẩm cho thiết bị di động.


Thời gian tiếp thị nhanh hơn: Đưa trò chơi đa nền tảng ra thị trường dễ dàng hơn nhiều so với các trò chơi nền tảng đơn lẻ, vì trò chơi thu hút sự quan tâm của một số phân khúc người chơi cùng một lúc, do đó lan truyền nhanh hơn nhiều.


Trải nghiệm chơi game tốt hơn . Trò chơi đa nền tảng mang các cộng đồng lại với nhau bằng cách cho phép mọi người chơi bất kể vị trí địa lý hoặc nền tảng. Điều này tạo điều kiện cho chơi game trực tuyến.


Tiết kiệm chi phí: Tạo trò chơi đa nền tảng cho phép người chơi trang trải tất cả chi phí khởi chạy trong một chu kỳ phát triển duy nhất vì không có thêm chi phí để tiếp cận khán giả mới. Chi phí bảo trì cũng được giảm xuống bằng cách chỉ quản lý một cơ sở mã cho tất cả các nền tảng.


Tiếp thị hiệu quả . Trò chơi đa nền tảng giảm thiểu sự cạnh tranh bán hàng giữa các nền tảng. Do đó, các nỗ lực quảng cáo tập trung vào trò chơi mà không có giới hạn về nền tảng.


Theo Nexon games, tương lai của trò chơi hướng đến trải nghiệm đa nền tảng, nơi người chơi có thể thưởng thức cùng một trò chơi trên các nền tảng khác nhau, ở một mức giá.


Các vấn đề về phát triển trò chơi đa nền tảng

Phát triển đa nền tảng cũng đi kèm với nhiều thách thức, một số thách thức trong số đó sẽ được thảo luận dưới đây.

  • Nó đòi hỏi nhiều kỹ năng hơn để xử lý

  • Có thể có khó khăn hiển thị trong việc điều chỉnh trò chơi với nhiều thiết bị.

  • Điều khiển trò chơi sẽ hoàn toàn khác nhau đối với PC, bảng điều khiển và điện thoại thông minh.

  • Duy trì bầu không khí cá nhân của trò chơi và các tính năng của trò chơi-chơi trên nhiều thiết bị là một thách thức.


Hình ảnh dưới đây cho thấy một số cân nhắc cần thực hiện trong quá trình phát triển trò chơi đa nền tảng.


Tuy nhiên, lợi ích của việc phát triển trò chơi đa nền tảng lớn hơn những khó khăn.

Cách phát triển trò chơi đa nền tảng

Tạo một trò chơi trên nhiều nền tảng cùng một lúc đòi hỏi một số kỹ năng, kiến thức nhất định, các công cụ đặc biệt và ngôn ngữ lập trình. Đầu tiên, cần phải hiểu (các) nền tảng được nhắm mục tiêu. Nếu đó là bộ ba phổ biến của PC, console và di động, thì việc phát triển có thể được thực hiện một cách an toàn trong C ++. Tuy nhiên, chi phí phát triển trò chơi đa nền tảng bằng C ++ sẽ cao hơn vì nó khó làm việc hơn so với các ngôn ngữ khác. Nhưng ngôn ngữ này khá hiệu quả và được các nhà phát triển trò chơi ưa chuộng. Dựa trên các công cụ được sử dụng, phát triển trò chơi đa nền tảng có thể được tách thành phát triển với công cụ trò chơi và phát triển không có công cụ trò chơi.


1. Phát triển với Game Engine

Công cụ trò chơi là một chương trình phát triển phần mềm được sử dụng để đơn giản hóa việc phát triển trò chơi điện tử bằng cách đặt khung cho phép người dùng tạo các thành phần trò chơi dễ dàng hơn. Tất cả các công việc nặng nhọc như dựng hình 2D và 3D, hoạt hình, trí tuệ nhân tạo, động cơ vật lý và va chạm, động cơ âm thanh, v.v., đều được xử lý bởi công cụ trò chơi trong khi nhà phát triển sử dụng Giao diện gói ứng dụng (API) để tạo ra những gì cần thiết. Công cụ trò chơi phổ biến được sử dụng để phát triển trò chơi đa nền tảng bao gồm;


Unity: Unity là một công cụ trò chơi đa nền tảng, dựa trên C ++ phổ biến, hoạt động hiệu quả với PC, bảng điều khiển và điện thoại di động. Nó sử dụng C #, Boo hoặc UnityScript để viết kịch bản và có giao diện trực quan và dễ dàng thiết lập để phát triển trò chơi đa nền tảng. Unity thường được sử dụng bởi các công ty trò chơi nhỏ không tập trung vào đồ họa cao cấp.

Unreal Engine: Unreal là một trong những game engine đa nền tảng mạnh mẽ và tiên tiến nhất hiện nay. Nó có một công cụ tạo kịch bản trực quan tích hợp có tên là Blueprint, để tạo hình ảnh trò chơi cho các phần cứng khác nhau. Nó cũng dựa trên C ++ nhưng trong khi sử dụng phần mềm, người ta có thể tránh phải viết mã C ++ bằng cách cài đặt các SDK riêng biệt cho từng nền tảng đích. Tuy nhiên, người ta cũng có thể sửa đổi mã nguồn nếu cần. Giống như Unity, Unreal hỗ trợ phát triển trò chơi cho PC, điện thoại di động và bảng điều khiển.


Các công cụ trò chơi đa nền tảng khác đang được sử dụng bao gồm công cụ Cry engine, GameMaker Studio và công cụ Godot.


2. Phát triển mà không có Game Engine

Điều này liên quan đến việc sử dụng các ngôn ngữ lập trình và thường là các thư viện và khuôn khổ nhẹ, một số trong số đó là;


HTML 5: Theo Vision Mobile, hơn 50% trò chơi và ứng dụng dành cho thiết bị di động được tạo bằng HTML5 cùng với JavaScript và CSS. Điều này tạo ra một trò chơi đáp ứng được hiển thị trong bất kỳ trình duyệt nào trên mọi thiết bị. Nó cũng liên quan đến một ngân sách rất khiêm tốn.


LibGDX: Đôi khi còn được gọi là công cụ trò chơi, LibGDX là một thư viện phát triển trò chơi đa nền tảng, mã nguồn mở phổ biến bằng ngôn ngữ lập trình Java.


Cocos2d-x: Cocos2d-x là một khung mã nguồn mở đa nền tảng đơn giản và nhanh chóng cho các trò chơi và các ứng dụng đồ họa khác. Nó lý tưởng cho các nền tảng di động chỉ cần có những điều chỉnh nhỏ cần thiết cho các nền tảng cụ thể. Cocos2D-x có sẵn trong C ++, JavaScript và Lua và đôi khi cũng được gọi là công cụ trò chơi.


Hạn chế của các công cụ phát triển Trò chơi đa nền tảng có sẵn


Các công cụ phát triển trò chơi đa nền tảng được thảo luận ở trên đều là các công cụ phát triển phần mềm nhanh, bền và linh hoạt. Tuy nhiên, mỗi người trong số họ có những hạn chế riêng của nó. Hai công cụ trò chơi đầu tiên (Unity và Unreal engine) được nhiều người gọi là công cụ tốt nhất để phát triển trò chơi đa nền tảng.


Tuy nhiên, game engine là phần mềm nặng và thường tạo ra các tệp nhị phân lớn, điều này làm cho chúng tốn kém để sử dụng vì một công cụ đòi hỏi phần cứng đắt tiền với các thông số kỹ thuật nâng cao và thanh toán đăng ký hoặc tiền bản quyền khác để tạo trò chơi với chúng.


Do đó, chúng không dễ tiếp cận. Mặt khác, các ngôn ngữ lập trình rất khó và tốn thời gian để sử dụng phát triển trong trò chơi trong khi phần mềm công cụ không phải trò chơi khác (HTML5 và thư viện / khung phát triển trò chơi) hoàn toàn phụ thuộc vào trình duyệt web hoặc khá hạn chế về số lượng thiết bị họ hỗ trợ.


Với những hạn chế này, nhu cầu phát sinh ra một công cụ phát triển trò chơi đa nền tảng kết hợp ưu điểm của công cụ trò chơi và khung phát triển trò chơi, đồng thời bị thiệt thòi bởi càng ít nhược điểm của chúng càng tốt. Đó là, một công cụ phát triển trò chơi đa nền tảng có thể truy cập, nhanh chóng, dễ sử dụng, hoạt động hiệu quả, độc lập và linh hoạt. Đây là lúc Flutter - một mục mới sôi động trong ngành phát triển phần mềm đa nền tảng - được xem xét.

Phát triển trò chơi Flutter


Flutter là một khung giao diện người dùng di động mã nguồn mở miễn phí được Google phát hành vào năm 2017, cho phép người dùng tạo các ứng dụng di động đa nền tảng, gốc chỉ với một lần gỡ lỗi đồng thời. Điều này có nghĩa là một ngôn ngữ lập trình và co-debase được sử dụng để tạo hai ứng dụng khác nhau (dành cho iOS và Android).


Flutter sử dụng Dart, một ngôn ngữ lập trình tập trung vào phát triển front-end và có thể được sử dụng để tạo các ứng dụng web và di động. Flutter bao gồm hai phần quan trọng đó là;


  • SDK: Một tập hợp các công cụ sẽ giúp phát triển ứng dụng và biên dịch mã thành mã máy gốc.
  • Khung giao diện người dùng (UI): Tập hợp các phần tử giao diện người dùng có thể sử dụng lại có thể được cá nhân hóa.


Mục tiêu của Flutter được Tim Sneath - Giám đốc sản phẩm của Flutter & Dart trích dẫn vào tháng 3 năm 2020 - là “thay đổi cơ bản cách các nhà phát triển nghĩ về việc xây dựng ứng dụng, không bắt đầu với nền tảng họ đang nhắm mục tiêu, mà bằng trải nghiệm họ muốn tạo ra”.


Mục tiêu này liên tục được theo đuổi với Flutter hiện đang hỗ trợ ổn định cho các ứng dụng gốc trên thiết bị di động, web, máy tính để bàn và thiết bị nhúng từ một đồng gỡ lỗi duy nhất (Toyota đã sử dụng Flutter làm công cụ để tạo phần mềm hệ thống nhúng trong ô tô của họ). Do đó, khuôn khổ đã được mô tả là nền tảng giao diện người dùng đầu tiên được thiết kế cho thế giới điện toán xung quanh. Điều này khiến nó trở nên đáng mong đợi trong việc phát triển trò chơi đa nền tảng.



Phát triển trò chơi sử dụng Flutter là tương đối mới nhưng đầy hứa hẹn. Flutter hỗ trợ hai kiểu phát triển trò chơi có liên quan đến hai phương pháp phát triển trò chơi đã được mô tả.

Đầu tiên là phát triển trò chơi thông thường để xây dựng các trò chơi giống như ứng dụng đa nền tảng (ví dụ: siêu TicTacToe, 4 bức ảnh 1 từ, các biến thể cờ vua - Omnichess, v.v., tất cả đều được xây dựng bằng trò chơi ngẫu nhiên) bằng cách sử dụng bộ công cụ phát triển trò chơi ngẫu nhiên. Tài khoản này dành cho việc phát triển trò chơi mà không có công cụ trò chơi.


Thứ hai là phát triển trò chơi điện tử liên quan đến việc xây dựng các trò chơi đa nền tảng nâng cao hơn như flappy bird, sử dụng công cụ trò chơi ngọn lửa Flutter.


Do đó, không giống như các công cụ phát triển trò chơi được mô tả trước đây thường là công cụ trò chơi hoặc không, Flutter hỗ trợ cả công cụ trò chơi và phát triển trò chơi đa nền tảng không phải công cụ trò chơi.

Việc phát triển trò chơi trong Flutter hiện tại vẫn còn khá nhiều hạn chế. Công cụ ngọn lửa khá non trẻ hiện chỉ triển khai cho các thiết bị di động và bộ công cụ trò chơi thông thường hiện chỉ hỗ trợ Android, iOS và web. Nhưng những ưu điểm tuyệt vời của Flutter - tập trung vào hỗ trợ trên tất cả các thiết bị, biên dịch sang mã gốc, tốc độ và tính dễ sử dụng, khả năng truy cập dễ dàng, v.v. - cùng với thực tế là nó được hỗ trợ bởi một công ty khổng lồ như Google, khiến nó xuất hiện giống như một công cụ đầy hứa hẹn có thể khắc phục hầu hết các vấn đề phát triển trò chơi đa nền tảng trong tương lai gần.

Sự kết luận

Tóm lại, Flutter là một khung phát triển giao diện người dùng đa năng với những ưu điểm tuyệt vời về hiệu suất gốc và hỗ trợ cho hầu hết mọi thiết bị. Tuy nhiên, nó vẫn còn khá nhiều hạn chế trong việc phát triển trò chơi đa nền tảng, đó là game engine của nó vẫn đang ở giai đoạn đầu và hiện tại, nó chỉ có thể triển khai trò chơi cho các thiết bị di động và web. Do đó, nó không thể được gọi là thần dược trong phát triển trò chơi đa nền tảng lúc này. Nhưng nó hứa hẹn tốt cho sự phát triển trò chơi đa nền tảng trong tương lai, ít nhất là từ quan điểm tạo Giao diện người dùng.

Công cụ trò chơi Unity và công cụ trò chơi Unreal vẫn là những công cụ phát triển trò chơi đa nền tảng tốt nhất hiện có.