7/31/2013

UNITY VÀ CON ĐƯỜNG GAME DEV – Kỳ 2: Tôi đã chọn Unity như thế nào? (Phần 1)




Phần 1: Một số tiêu chí đánh giá game engine.

*Chú thích:
Bài viết sẽ có nhiều quan điểm cả chủ quan lẫn khách quan, vì bản thân tác giả chưa có cơ hội trải nghiệm hết/sâu những engine mà tác giả đề cập. Theo một lẽ tự nhiên, chủ đề chính – Unity sẽ luôn trở nên nổi bật.




Việc so sánh nhiều engine có nhiều đặc điểm khác nhau nhằm mục đích tìm cái nhìn tổng quan chứ không phải là so sánh khặp khiển.

Tác giả vừa tìm hiểu vừa viết bài, thế nên tác giả khuyến khích mọi người cùng tham gia thảo luận và chia sẻ với tác giả. Trường hợp phát hiện ý tác giả nói đến không đúng, hãy “chỉnh” ngay để “dằn mặt” tác giả. :’>

Xin phép không đi sâu/chi tiết vào khái niệm của các vấn đề được trình bày, chúng ta sẽ nói về chúng ở một dịp khác.

Phần 1 nêu các tiêu chí đánh giá game engine, chưa đi vào việc đánh giá hay chấm điểm bất kỳ engine nào (cả Unity), chúng ta sẽ bàn việc này ở phần 2 và 3.


*Mở đầu:

Chào mọi người, tôi đã trở lại, và lợi hại vô biên…

Đùa thôi! Trở về và tiếp tục vấn đề ở kỳ 1, tôi đã chọn UDK và CrySDK để khảo sát, tiếp theo chúng ta sẽ thử điểm qua một số tiêu chí đánh giá game engine (phần 1), sau đó khảo sát 2 engine này và một vài engine khác (phần 2) để xem cuối cùng quyết định nên chọn engine nào nhé! (phần 3)


I. Tiêu chí đánh giá game engine:

Có khá nhiều thứ để bàn về một engine, vì thế cũng sẽ có khá nhiều tiêu chí để lựa chọn một engine, có thể nói một cách tổng quát rằng tùy vào nhu cầu, mục tiêu như thế nào mà mỗi cá nhân (nhóm/studio/công ty) sẽ chọn những engine khác nhau.

Theo quan điểm chủ quan, tôi chọn một số tiêu chí sau đây để đánh giá một game engine (phần rating là do cá nhân tôi tự đánh giá, nó phản ảnh độ ưu tiên khi tôi chọn engine)


1. Target platforms (8/10):
Ảnh. Một số platform.

Target platform là nền tảng (phần cứng, phần mềm/hệ điều hành) mà engine hỗ trợ (khả năng deploy game để chạy được trên platform đó.

Về cơ bản, một engine càng hỗ trợ nhiều platform sẽ càng thuận tiện hơn cho nhu cầu phát triển đa nền tảng.

Một số nền tảng phần mềm (hệ điều hành) phổ biến mà một engine “hợp thời” phải có: Window, iOS, Android.


2. API (8/10):


Ảnh: Lập trình C# trên IDE Mono develop.

Application Programming Interface – cái này quá quen với dân lập trình, chắc không cần phải bàn nhiều, nói đại khái (cho người không thuộc phân mảng lập trình) thì nó là khả năng hỗ trợ về lập trình (có thể lập trình bằng những ngôn ngữ nào? Thư viện dựng sẵn hỗ trợ về đồ họa, vật lý,… ).


3. Game features (8/10):

Ảnh: Một hình ảnh trong Project A* Pathfinding hỗ trợ pathfinding trên Unity free.


Là gì nhỉ? Um… nói nôm na thì nó thể hiện khả năng hỗ trợ về một số tính năng cơ bản của game như:

MMO (Multi massive Online): Hỗ trợ đa trực tuyến.

Path Finding: Tìm đường.

Unlimited Sized Worlds: Khả năng xây dựng thế giới/bản đồ in-game rộng lớn đến mức vô hạn.


4. Editors (8/10):


Ảnh: World/scene Editor trong Unity.


Editors – những công cụ/khả năng hỗ trợ về việc biên tập, xây dựng như:

-World Editor: Hỗ trợ về xây dựng thế giới, môi trường trong game.

-World Editor Collaborative Editing: Khả năng hỗ trợ việc biên tập, xây dựng thế giới trong game mà nhiều người có thể thực hiện cùng một lúc trong một màn chơi (một world map).

-Version Control: Hệ thống quản lí phiên bản.

-GUI Editor: Hỗ trợ thiết kế giao diện.


5. Graphic features (6/10):


Ảnh: Deffered Shading.

Hiểu nôm na là các tính năng, hỗ trợ về đồ họa như: Deffered Render, Forward Render, Ambient Collision, Parallax Mapping, Per Object Motion Blur…


6. Physic features (7.5/10):


Ảnh: Physic trong game Cell Factor


Bao gồm những hỗ trợ về vật lý trong game như:
-Physical Clothing.
-Ragdolls.
-Destructible Object.


7. Price/license (8.5/10):



Vấn đề liên quan trực tiếp đến hầu bao!

Có những hình thức phân phối như thế?
Giá cả như thế nào?
Có bản free for commercial use ko? :’>

Cơ chế license đa dạng, linh hoạt là một trong những yếu tố ảnh hưởng lớn đến quy mô của cộng đồng người dùng engine. Engine có phiên bản miễn phí dùng được cho mục tiêu thương mại hay những gói lựa chọn với giá phải chăng sẽ dễ trở thành mục tiêu của người dùng hơn. Ở phương diện của một người đang tìm engine thích hợp, thì mặc nhiên nó sẽ là một vấn đề cần phải quan tâm.


8. Community (9/10):



Community tức là cộng đồng người dùng engine và một số thứ liên quan như tài nguyên (hình ảnh, mã nguồn.v.v.. ) . Đối với tôi thì đây là một trong những yếu tố hàng đầu để quyết định có nên chọn engine nào đó hay không.

Lựa chọn một engine với một cộng đồng người dùng càng lớn nghĩa là bạn càng có nhiều cơ hội được hỗ trợ, đồng thời sẽ có nhiều nguồn tài nguyên cho bạn lựa chọn.

-------------

Tạm dừng tại đây, phần tiếp theo chúng ta cùng nhau khảo sát qua một số engine bằng cách điểm qua và dựa trên những tiêu chí đã đề cập.

-------------

(Nguồn vietgamedev.net)

No comments:

Post a Comment