Trước đây, các gamdev chỉ có thể tạo ra trò chơi của họ trên một nền tảng tại một thời điểm mà thôi. Đó là trước năm 2007 (hoặc trước khi thế hệ iPhone đầu tiên ra đời), khi chỉ có một vài người bị thuyết phục rằng các thiết bị di động có thể cách mạng hóa toàn bộ ngành công nghiệp video game. Nhưng với tác động mạnh mẽ của các thiết bị di động chạy hệ điều hành khác nhau (Android, iOS, Windows Phone, và BlackBerry OS) và sự ra đời của thế hệ console tiếp theo (như Xbox One, PS4 và Wii U), sự cần thiết để tạo ra một "one-size-fits-all" đã trở thành một tiêu chuẩn trong số các gamedev. Cách duy nhất để thực hiện mục tiêu này là sử dụng cross-platform game engines khi coding một ứng dụng. Nếu bạn đang tìm kiếm các game engines tốt nhất để bạn code những ý tưởng tuyệt vời của bạn và mang nó ra cuộc sống hiện thực, thì hãy đọc bài viết này chúng tôi sẽ giới thiệu cho các bạn các cross-platform engines khác nhau với một cái nhìn chi tiết về ưu và nhược điểm của chúng. Unity Từ khi lần đầu tiên ra mắt vào năm 2005, Unity giờ đã là một trong các game engines phổ biến nhất đối với người mới cũng nhưng những dev đã phát triễn. Unity cho phép bạn tạo ra các trò chơi của bạn bằng cách thao tác các đối tượng và các yếu tố trong 3D và gắn nhiều thành phần vào chúng (như hiệu ứng hình ảnh, bóng, vv…). Phát triển một ứng dụng bằng cách sử dụng engine yêu cầu tất cả các scripts được viết bằng C #, UnityScript, hoặc Boo và gắn vào đối tượng 3D như là các thành phần. Phiên bản miễn phí cũng hỗ trợ đầy đủ cho việt phát triển Windows, Mac OS X, Linux, và các nền tảng di động lớn (iOS, Android). Phiên bản pro (mà đòi hỏi một license) thì hỗ trợ thêm cho PlayStation, Xbox 360 và Nintendo Wii. Ưu điểm: Bất cứ khi nào bạn cần phát triển một trò chơi nền tảng 3D, không có công cụ mạnh mẽ nào khác ngoài Unity. Nhược điểm: Như Nat Weiss đã nói, khi "lần đầu tiên sử dụng Unity, bạn có thể cảm thấy như mình giống như phi công của một chiếc máy bay 747 ". Thật không dễ dàng để làm chủ và để làm quen với các công cụ thông thường bạn sẽ cần đến 8-12 giờ để tìm hiểu. Ví dụ về các trò chơi được xây dựng với Unity: Bad Piggies (Rovio), Temple Run Oz (Disney), Call of Duty®: Strike Team (Activision Publishing, Inc.). Marmalade “Marmalade SDK được xem là giải pháp nhanh nhất để xây dựng trò chơi đa nền tảng trên C++” Aaron Lee viết trên Develop-online.net. Điều tuyệt vời nhất về engine này là nó cho phép bạn mở Visual Studio và Xcode projects trong emulator của nó. Marmalade cho phép bạn dễ dàng chuyển đổi các project của bạn cho cả Android, iOS, Windows Phone, Tizen, BlackBerry, Windows OS, và Mac OS chỉ từ một source code duy nhất. Nó cũng cũng cho phép bạn tích hợp các thư viện chuẩn và thư viện của bên thứ ba mà không cần virtual machines (như Java VM) hoặc cross-language translation. Ưu điểm: không bắt buộc máy Mac khi build cho, Marmalade có thể làm điều đó ngay từ máy tính của bạn. Nhược điểm: Nhược điểm duy nhất của Marmalade, theo Gamedevcoder, là nó có một số lỗi vặt trong SDK của nó. Bạn cũng có một vài khó khăn khi submit sáng tạo của bạn lên Apple Store mà không có Mac. Ví dụ về các trò chơi được xây dựng với Marmalade: Draw Something (OMGPOP), Bejeweled Blitz, Plants vs. Zombies (PopCap/Electronic Arts). V-Play Phát hành vào năm 2013, V-Play có thể nói là "em út" trong game engine, nó tập trung vào việc phát triển nhanh chóng các game 2D. Nó cung cấp cho bạn với một tài liệu được cập nhật thường xuyên, code mẫu, và lời khuyên hữu ích để giúp bạn. Trong thực tế, các khoảng thời gian trung bình mà bạn có thể tạo ra một trò chơi cho điện thoại di động, máy tính bảng, hoặc máy tính bàn với hiệu suất thực sẽ chỉ mất khoảng 3 ngày. Bên cạnh một loạt các mobile game được phát triển bởi đội ngũ V-Play, game engine cũng được sử dụng bởi nhiều nhà phát triển ứng dụng –những người cố gắng để tạo ra một bản sao Flappy Bird, khi Nguyễn Hà Đông loại bỏ trò chơi gây tranh này ngày 17 tháng 1 năm 2014. Họ đã tạo một bản sao này chỉ trong một ngày, chỉ sử dụng 800 dòng code. Nói đi cũng phải nói lại, Flappy Bird cũng không phải là một game quá khó để có thể tạo ra. Ưu điểm: V-Play chứa một tùy biến level editor trong game. Điều đó tiết kiệm thời gian và công sức của bạn sẽ trong việc việc tạo editor của riêng bạn, và cho phép người chơi có thể tạo ra các level mới trong trò chơi của bạn. Nhược điểm: Chỉ cho phép bạn tao các ứng dụng 2D. Tính đến thời điểm này, bạn vẫn chưa thể viết các trò chơi 3D. Ví dụ về các trò chơi được xây dựng với V-Play: Trix (Maysalward), Chicken Outbreak (V-Play). Corona SDK Một khi bạn đã viết một trò chơi bằng cách sử dụng Corona SDK, bạn có thể chạy nó trên khá nhiều nền tảng khác. Mã này được viết một lần với mã có điều kiện cho tất cả các nền tảng. Emulator của nó rất nhanh và refresh gần như tức thì mỗi khi bạn chỉnh sửa một tập tin trong project. Ưu điểm: Corona SDK chạy khá nhanh, dễ dàng điều chỉnh các độ phân giải khác nhau của màn hình và cho phép bạn thêm âm thanh/yếu tố trực quan chỉ với một hoặc hai dòng code. Nhược điểm: Hạn chế về mặt plugin và game có tính năng kết nối mạng. Nó cũng rất tốn kém, khoảng $600 mỗi năm. Ví dụ về các trò chơi được xây dựng với Corona SDK: Fun Run (DIRTYBIT DA), Blast Monkey (Yobonja), Freeze! (Frozengun). Cocos2D JS Cocos2d JS là một game engine mã nguồn mở được thiết kế để làm game 2D/2.5D và triển khai chúng đến iOS, Android, Blackberry, Windows Phone, Mac, Windows, và Linux. Game code được viết hoàn toàn bằng JavaScript. Ưu điểm: Đây là một engine miễn phí. Những điều tốt về nó cho các cho các dev là họ có thể phát hiện lỗi và tối ưu hóa code của game. Nhược điểm: tương tự với hầu hết các sản phẩm mã nguồn mở, điểm yếu của cocos2d JS là tài liệu hướng dẫn trực tuyến. Contra: Evolution (Konami), MT Online (LOCOJOY), ZENONIA® 5: Wheel of Destiny (Gamevil). Kết luận Đây là một số trong những công cụ tốt nhất tôi có thể giới thiệu cho các gamedev có kinh nghiệm cũng như những người mới. Bạn đã thử những game engine khác và bạn muốn chia sẻ nó với chúng tôi? Vui lòng để lại một vài lời dưới đây. Chúc may mắn với các dự án hiện tại và tương lai của bạn.