50 thuật ngữ lập trình-thiết kế game có thể bạn chưa biết (Phần 1)

Thiết kế game (Game Design)Lập trình game (Game Developer/Game Programmer) là hai lĩnh vực hút freelancer nhất thời gian gần đây. Cùng Beelancer Việt Nam điểm qua loạt thuật ngữ game dưới đây để có cái nhìn tổng quan và sinh động nhất về ngành nghề đầy điển vọng này nhé!

Bạn cũng có thể tham khảo các dịch vụ thiết kế gamelập trình game tại đây.

I. Thuật ngữ thiết kế game và lập trình game thông dụng

1. Thể loại game

  • SLG (Simulation Game – Game mô phỏng): Trò chơi mô phỏng được mô tả là một trò chơi video đa dạng, thường được thiết kế để mô phỏng chặt chẽ với các hoạt động trong thế giới thực. SLG sẽ cố gắng sao chép các hoạt động khác nhau từ đời thực rồi thể hiện nó dưới giao diện trò chơi. Game thể thao mạo hiểm, đua xe, đấu súng, game quản lý, nhập vai, xây dựng và kiến tạo, sáng tạo nhân vật, game chiến tranh, hẹn hò,… đều là các thể loại game mô phỏng được nhiều người yêu thích.

Các game mô phỏng đều có đặc trưng gần như “không kết thúc” hoặc không có cái đích cuối cùng cho người chơi. Từ 2 yếu tố cốt lõi và cơ bản nhất là chiến thuật, kinh nghiệm sẽ có các tùy biến khác được sinh ra và phát triển trong quá trình chơi game. Ở Việt Nam thể loại S-SLG (Stratertygame mô phỏng chiến tranh) rất được ưu chuộng với bối cảnh Tam Quốc, cổ trang, huyền huyễn (có yếu tố kì ảo, thần tiên),…

thiết kế game lập trình game
Võ lâm truyền kì – game mô phỏng chiến thuật, nhập vai
  • Game Casual (Game phổ thông, đại chúng): là thể loại game đơn giản, thông dụng với các màn chơi ngắn, cách chơi đơn giản, thiên về giải đố, sắp xếp, logic hay có khi chỉ là chạy, nhảy, né chướng ngại vật. Game Casual phù hợp trong việc giải trí, thư giãn, luyện phản xạ và không cần đầu tư nhiều thời gian trong quá trình chơi.

Game casual sẽ phù hợp cho mọi đối tượng, từ trẻ em đến người lớn. Với đặc tính dễ trải nghiệm, thể loại game này cũng được làm ra nhanh chóng và ít tiêu tốn tài nguyên, thời gian, công sức của người khởi tạo hơn.

  • Game mạng xã hội: là các trò chơi trực tuyến được trải nghiệm trên mạng xã hội. Mặc dù có nền tảng khá giống và hầu hết thuộc thể loại game casual, game mạng xã hội vẫn thường xuyên có các yếu tố cộng thêm thu hút khiến chúng trở nên khác biệt. Đặc điểm chính của thể loại game này là cơ chế nhiều người chơi cùng cách chơi không đồng bộ.

Game mạng xã hội có thể được thiết kế dưới giao diện web hoặc thiết kế tương thích với các nền tảng khác như mobile. Facebook hiện đang dẫn đầu về số lượng cũng như chất lượng game mạng xã hội.

thiết kế game lập trình game
Hàng rong – một game thuần Việt từng rất được yêu thích trên nền tảng mạng xã hội Zingme
thiết kế game lập trình game
Candy Crush Saga là một game mạng xã hội (Facebook) có lối chơi tương thích trên cả hai nền tảng web và mobile
  • Game VR – thực tế ảo: là thể loại game của trí tưởng tượng, mà ở đó người chơi có thể cảm nhận rõ ràng nhất bởi được hỗ trợ bằng “kính thực tế ảo” trên mắt và được trải nghiệm toàn bộ thế giới đồ họa sống động tựa như một thước phim điện ảnh mà game VR mang lại.
thiết kế lập trình game

Các đặc tính dành riêng cho game thực tế ảo: bắt buộc có thiết bị hỗ trợ (kính thực tế ảo), yêu cầu các thiết bị hỗ trợ di chuyển cho người chơi tốt để hạn chế tốt đa các cảm giác mất thăng bằng, chóng mặt,… người chơi hoàn toàn bị đắm chìm vào thế giới giả lập và không thể tiếp nhận hình ảnh của thế giới thực (real life) khi đang tham gia trò chơi, không gian trò chơi bị giới hạn,…

Công nghệ thực tế ảo đã xuất hiện từ những năm 1990, thế nhưng ở Việt Nam, game VR thực sự ít phổ biến hơn các thể loại game khác. Lĩnh vực mà nó hoạt động mạnh nhất phải kể đến địa hạt phim điện ảnh, khoa học viễn tưởng với những cấu trúc tinh vi, giả lập đa chiều, nơi con người sống và chạm trán cùng những vật thể kì ảo nhưng… không có thật.

thiết kế lập trình game
Thế giới của game VR sẽ cho bạn những trải nghiệm hoành tráng và đỉnh cao không thể tìm được ở bất kì thể loại game nào khác
  • Game AR – tương tác ảo (hay game thực tế tăng cường): là thể loại game mà ở đó tập trung vào việc kết hợp cả hai trải nghiệm ở thế giới thực và thế giới ảo, không tách bạch như VR. Game AR cho phép người chơi tương tác với nội dung ảo ngay cả trong đời thực, ta có thể cảm nhận và trải nghiệm game bằng đủ loại tri giác: thị giác, xúc giác, khướu giác, … dưới cả góc nhìn trực tiếp và gián tiếp.

Các tính năng chính có thể kể đến của game tương tác ảo như: không cần mua thiết bị hỗ trợ; chơi được thông qua thiết bị thứ 3 và hoàn toàn quan sát được thế giới thực (ngoài giao diện smart phone), không gian chơi rộng mở và linh hoạt hơn VR, có bước đột phá và khắc phục được nhiều nhược điểm mà game VR để lại,…

thiết kế lập trình game
Pókemon Go đã từng là điểm sáng của dòng game tương tác ảo, giúp người chơi khắp thế giới tiếp cận được công nghệ này rộng rãi hơn

II. Thuật ngữ thiết kế game, lập trình game và phát triển game (phần mềm dành cho Web, PC và cả Mobile)

Game Engine

Thuật ngữ game engine là đặc trưng cho các phần mềm được viết để thiết kế game và phát triển video game, hoạt động như một loại phần mềm trung gian kết nối tương tác của nhiều ứng dụng trong cùng 1 hệ thống với nhau. Có rất nhiều loại game engine thường được dùng để thiết kế game cho các hệ máy như hệ consoles hay máy tính cá nhân. 

Một số game engine thông dụng có thể kể đến như:

  • Cocos2d-x: Cocos2d có bản chất là một khung phần mềm nguồn mở. Nó có thể được sử dụng để xây dựng và thiết kế game, ứng dụng cùng các chương trình tương tác dựa trên GUI (giao diện đồ họa người dùng) đa nền tảng khác. Cocos2d sẽ chứa nhiều nhánh với Cocos2d-objc, Cocos2d-x, Cocos2d-html5 và Cocos2d-XNA. Cocos2D-x là 1 game engine hỗ trợ thiết kế game và lập trình game đa nền tảng: với mobile (iOS, Android, Blackberry, TIZEN, WP), với Window, MacOS, HTML5,.. đủ cả.
thiết kế lập trình game
thiết kế lập trình game
(Cre: Viblo.Asea)
  • Unity (cross- flattform game engine): Unity là một công cụ lập trình game và thiết kế game đa nền tảng được phát triển bởi Unity Technologies, chủ yếu để phát triển video game cho máy tính, máy chơi game consoles và điện thoại cầm tay. Unity được được công bố lần đầu tiên trên hệ điều hành macOS X, tại Apple’s Worldwide Developers Conference vào năm 2005, đến nay đã mở rộng ra 27 nền tảng khác nhau. Tại triển lãm WWDC năm 2006, Apple đã trao thưởng giải Best Use of Mac OS X Graphics cho ứng dụng làm game xuất sắc này.

Có thể nói Unity là phần mềm làm game phổ biến nhất hiện nay, hỗ trợ đồ họa 2D, 3D và chủ yếu được viết bằng ngôn ngữ C#. Unity cũng cung cấp dịch vụ cho các nhà phát triển, bao gồm: Unity Ads, Unity Analytics, Unity Certification, Unity Cloud Build, Unity Everyplay, Unity API, Unity Multiplayer, Unity Performance Reporting and Unity Collaborate.

thiết kế lập trình game
  • Unreal Engine: Unreal Engine là một bộ công cụ thiết kế game và lập trình game được phát triển bởi Epic Games, giới thiệu lần đầu trong tựa game bắn súng góc nhìn thứ nhất Unreal vào năm 1998. Đặc biệt trong năm 2020, youtuber Fat Dino đã quyết định dùng phiên bản Unreal Engine 4.0 để làm sống lại tựa game nổi tiếng toàn cầu – Flappy Bird, nhưng là với phiên bản “ăn theo” có tên gọi – Tappy Chicken.
Tappy Chicken với một giao diện đồ họa không thể không gây liên tưởng đến “đứa con” của nhà sáng tạo game Nguyễn Hà Đông

Game engine này có trải nghiệm thiết kế game cực đỉnh bởi các thao tác mượt mà bằng cách kéo thả và chỉnh sửa các vật thể, sự liền mạnh, logic và dễ hiểu cũng là một điểm cộng lớn cho phần mềm này.

thiết kế lập trình game
Unreal game(1998)
  • Libgdx: là một thuật ngữ thiết kế game mô tả một khung ứng dụng phát triển trò chơi mã nguồn mở, miễn phí, được viết bằng ngôn ngữ lập trình Java cùng một số thành phần hỗ trợ từ C và C++ cho mã phụ thuộc hiệu năng. Libgdx thường được sử dụng để phát triển các trò chơi trên máy tính để bàn và thiết bị di động bằng cách sử dụng cùng một cơ sở mã.
thiết kế lập trình game
  • Solar2D: Solar2D vốn có tiền thân là phần mềm thiết kế game Corona SDK. Trước khi vô tình trùng tên với virus cúm nguy hiểm nhất năm 2020, Corona SDK là một trong những công cụ hỗ trợ khởi tạo và phát triển game 2D rất tốt, giúp xây dựng các ứng dụng trên iOS, Android và Kindle, ứng dụng cho máy tính để bàn Windows, Linux, macOS cùng các ứng dụng TV kết nối cho Apple TV, Fire TV, Android TV,…

Ngày nay với tên gọi mới, Solar2D là bộ công cụ phát triển phần mềm đa nền tảng và mã nguồn mở miễn phí, sử dụng ngôn ngữ Lua tích hợp phân lớp C ++ / OpenGL để xây dựng các ứng dụng đồ họa nói chung. Phần mềm có hai chế độ hoạt động: Solar2D Simulator và Solar2D Native.

  • SpriteKit: là một công cụ thiết kế game, lập trình game do “nhà Táo – Apple” cung cấp. Nền tảng này hỗ trợ cả hai ngôn ngữ lập trình Swift và Objective-C để tạo ra các sản phẩm game 2D mang hiệu suất cao nhất.
  • Andengine: là một công cụ thiết kế game mã nguồn mở, hỗ trợ tạo lập game 2D trên Android một cách chuyên nghiệp, cùng với các thuộc tính quan trọng của OpenGL mà nhà lập trình game có thể dựng hình, tạo vật thể, quản lý các thiết bị đầu vào (sensor cảm ứng, màn hình cảm ứng …) và âm thanh khá thuận tiện và hiệu quả.
  • Marmalade: Marmalade hỗ trợ thiết kế game 2D và 3D, được viết bằng ngôn ngữ lập trình C++, là công cụ đứng sau nhiều tựa game nổi tiếng như: Plants vs Zombies 2, Metal Gear Solid Mobile, Doddle Jump, Worms, Cut the Rope,…
  • Buildbox: Buildbox vốn được tạo lập dành cho các nhà thiết kế game không chuyên. Bạn có thể tạo các trò chơi của riêng mình trong một thời gian ngắn, không cần code mà chỉ đơn giản là chọn các hình ảnh, nhập chúng vào phần mềm, gán cho chúng một vai trò (nhân vật, đối tượng, trang trí, tăng sức mạnh, …) và trò chơi của bạn sẽ bắt đầu.
  • Construct 2: công cụ thiết kế game Construct 2 vẫn là một nền tảng HTLM5 liên quan đến trò chơi 2D, với tính chất dễ sử dụng, không cần mã hóa và có thể chạy trên nhiều thiết bị khác nhau cùng lúc.
  • Fusion: là một trong những phần mềm thiết kế game, lập trình game về sự kiện tốt. Mặc dù Fusion vẫn hỗ trợ thiết kế game 2D song phần mềm này sẽ phát huy công năng tốt nhất đối với các thể loại game tĩnh.
  • CocoonJS: CocoonJS là một khung phát triển di động do Ludei sản xuất. Nó cho phép các nhà phát triển thiết kế game và ứng dụng di động bằng JavaScript, HTML5 và CSS3, thay vì các ngôn ngữ dành riêng cho thiết bị như Objective-C, đồng thời cho phép bạn tạo ra các trò chơi HTML5 tương thích hoàn toàn với Cordova.
  • MonoGame: lại là một công cụ phát triển game đa nền tảng, viết bằng ngôn ngữ C# miễn phí đã và đang được các nhà phát triển game sử dụng để tạo trò chơi cho nhiều nền tảng và các hệ thống khác nhau. Nó cũng được sử dụng cho các trò chơi Windows và Windows Phone chạy trên các hệ thống khác.
  • Amazon Lumberyard: Amazon Lumberyard là một công cụ trò chơi đa nền tảng miễn phí được phát triển bởi Amazon và dựa trên CryEngine. Phần mềm này hỗ trợ khá nhiều nền tảng khác nhau như: iOS, Android, PC, Xbox One, PlayStation4,…
  • Haxe:
  • Gideros: công cụ thiết kế game và phát triển ứng dụng trò chơi sử dụng ngôn ngữ Lua tương thích với nền tảng di động chính là Android và iOS. Điểm mạnh của Gideros là cung cấp cho các nhà phát triển một bộ thư viện đồ sộ và đầy đủ (âm thanh, đồ họa, thư viện vật lý, mạng …), qua đó giúp quá trình phát triển dự án rút ngắn thời gian mà vẫn hiệu quả, đặc biệt là tính năng tự phát triển plugin theo cách riêng nếu các thư viện có sẵn của Gideros chưa thích ứng nhu cầu riêng của nhà lập trình game.

Game Builder

Game Builder là một nhánh nhỏ trong Game Engine. Theo TechCrunch, Game Builder cho phép người dùng bắt đầu một dự án mới, làm việc trên một dự án hiện có hoặc thử nghiệm một số dự án mẫu… Nói cách khác, các game builder cung cấp cho người dùng một công cụ tạo lập và thiết kế game mà không cần đến kĩ năng lập trình game. Tuy nhiên cũng chính vì đi đường tắt nên game builder thường có những trải nghiệm ít sâu sắc hơn các game engine thông thường, đặc biệt nó còn bộc lộ nhiều hạn chế bởi người khởi tạo không thể làm chủ tất cả các tình huống trong game.

Top 3 công cụ game builder chuyên nghiệp và tiện dụng nhất phải kể đến GameMaker, Stencyl, Gamesalad.

  • Stencyl: Stencyl là một công cụ thiết kế game dạng video cho phép người dùng tạo trò chơi video 2D cho máy tính, thiết bị di động và web. Phần mềm có sẵn và hoàn toàn miễn phí, với các tùy chọn xuất bản cho những ai có nhu cầu. Thao tác với Stencyl cũng giống với hầu hết các game builder khác thông qua các lựa chọn “kéo, thả”, đặc biệt bạn cũng có thể dùng thêm ActionScript.
  • GameMaker Studio2: GameMaker Studio 2 sẽ giúp bạn có thể tạo ra những trò chơi dành cho Windows, Mac, iOS, và Android. Trong quá trình tạo lập và thiết kế game hầu hết là thao tác kéo thả, nhưng cũng bao gồm các hook dành cho việc tạo ra các game multiplayer, liên kết đến các SDK bên ngoài, can thiệp trực tiếp vào trong code và hơn thế nữa. GameMaker được mô tả là linh hoạt hơn so với Stencyl trong thể loại game nó có thể làm.
  • Gamesalad: công cụ thiết kế Gamesalad dùng để xây dựng các ứng dụng trò chơi cho các nền tảng Android, iOS, HTML5 và macOS, Windows và có thể xuất bản lên Google Play hoặc iTunes.Trong điều kiện không có nhiều kiến thức về lập trình, Gamesalad vẫn có thể hỗ trợ bạn tối đa để xây dựng các ứng dụng trong đám mây.

(Còn tiếp…)

Sandra Bae

1 BÌNH LUẬN

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây