Giải quyết các vấn đề trong trình soạn thảo. Không sử dụng tuần tự nội dung bằng văn bản. Hiệu suất và sự cố

Ngày 30 tháng 12 năm 2016 lúc 07:43 sáng
  • Đoàn kết,
  • Sự phát triển trò chơi

Gamedev là một hoạt động thực sự thú vị, đặc biệt khi nhóm bao gồm cả những lập trình viên có kinh nghiệm và những người mới bắt đầu. Không giống như các công cụ như Unreal và CryEngine, Unity có ngưỡng đầu vào khá thấp, và thường những người mới bắt đầu và kỳ cựu của .NET bắt đầu sắp xếp mọi thứ, kết thúc bằng một cuộc chiến với việc sử dụng nội thất văn phòng.

Trong bài viết này, tôi đã cố gắng thu thập các mẹo sẽ giúp bạn và nhóm của bạn cuối cùng thống nhất về cách viết mã, và hy vọng sẽ có những trận cười sảng khoái. Và vì vậy, chúng ta hãy đi!

1. Viết bằng UnityScript

Một ngôn ngữ trong một dự án là nhàm chán. Đa dạng hóa cuộc sống của đồng nghiệp của bạn, để họ học cách trở thành người đa tình. C # là của Microsoft và nói chung, tính năng gõ mạnh không phải của bạn.

2. Không sử dụng var

Unity tự ngăn cấm điều này và nói chung là không rõ loại biến nào. Khi họ cho bạn biết về lời nhắc IntelliSense - hãy đảo mắt, Microsoft Brain! Notepad ++ của bạn không thể làm điều này.

3. Kết hợp các phong cách

Vậy thì sao? Bản thân Unity đã vi phạm Hướng dẫn phong cách C # và camelCase tào lao, tại sao bạn lại tệ hơn? Nếu bạn sử dụng MonoDevelop, hãy nhớ định kỳ thay đổi các tab thành dấu cách và quay lại một lần nữa. Đồng thời, nói với mọi người rằng "cài đặt của MonoDevelop đã biến mất" - mọi người đều biết về lỗi này!

4. Không viết nhận xét trên Tài liệu XML

Chúng làm tắc nghẽn tệp và mã của bạn phải dễ hiểu mà không cần nhận xét thêm. Và nói chung, Notepad ++ của bạn không hỗ trợ tất cả những điều này. Nếu bạn thay đổi chữ ký của phương pháp của người khác, đừng cập nhật Tài liệu XML - điều này sẽ làm cho việc đọc tài liệu tự động trở nên thú vị hơn.

5. Không sử dụng không gian tên

Viết bằng cách sử dụng là quá nhàm chán, và nói chung tại sao phải làm điều đó nếu bạn có thể làm mà không có nó. Tất cả các tập lệnh phải nằm trong thư mục Script - điều này giúp bạn dễ dàng tìm thấy chúng theo thứ tự bảng chữ cái.

6. Liên kết các thành phần

Càng nhiều kết nối càng tốt! Mọi thành phần phải tham chiếu đến mọi thành phần khác - nhưng theo cách này thì dễ hơn! Nhân vật của bạn phải có liên kết với kẻ thù, cánh cửa, người quản lý trò chơi, thanh HP trên canvas, với bất kỳ đối tượng nào khác trên sân khấu. Nếu không, làm thế nào để làm việc với nó?

7. Khi tạo tham chiếu, hãy ẩn chúng qua GameObject myGameObject riêng tư;

Vì vậy, tài liệu tham khảo của bạn chỉ có thể được chỉnh sửa thông qua trình chỉnh sửa và chúng sẽ không can thiệp vào mã. Khi có điều gì đó cần được thay đổi thông qua mã, chỉ cần đặt lại chế độ riêng tư thành công khai.

8. Không sử dụng các mẫu thiết kế khác với singleton

Khi họ nói với bạn về Tiêm phụ thuộc hoặc các mẫu khác, hãy đảo mắt. Những mô hình nafig, đây không phải là một doanh nghiệp dành cho bạn!

9. GameObject.SendMessage là một công cụ tiện dụng đáng kinh ngạc, hãy sử dụng nó thường xuyên

Nếu có thể, hãy thu thập tên của phương thức từ một vài dòng - vì vậy, đồng nghiệp của bạn sẽ thú vị hơn khi tìm kiếm phương thức được gọi từ đâu!

10. Sử dụng UnityEvent bất cứ khi nào có thể

Sự kiện tiêu chuẩn "s dành cho những kẻ hút máu, đặc biệt là vì chúng không được hiển thị trong trình kiểm tra. Unity đã không đưa ra các sự kiện của họ mà không có lý do gì.

Hãy phơi bày mọi thứ qua thanh tra. Chia mã của bạn thành các phần và hiển thị 5 phương pháp khác nhau khi bạn nhấp vào một nút - sẽ thú vị hơn khi tìm kiếm nút mà phương pháp này được gọi bằng cách nhấn!

11. Khi đăng ký một sự kiện qua AddListener, hãy quên đăng ký RemoveListener

Không có gì thú vị hơn việc gỡ lỗi và tìm kiếm lý do tại sao mã được kích hoạt nhiều lần cùng một lúc. Đặc biệt là khi nó không xảy ra mọi lúc.

12. Cache tất cả các thành phần trên GameObject "ah

Ngay cả khi bạn không sử dụng chúng hoặc sử dụng chúng một lần chỉ bằng một nút nhấn. Bạn cần bắt đầu tối ưu hóa càng sớm càng tốt! Đừng quên chuyển đổi bộ nhớ cache; những người nói rằng biến đổi đã được lưu trong bộ nhớ cache là những kẻ nói dối.

13. Không sử dụng thuộc tính

Thuộc tính chậm, giống như một cuộc gọi phương thức và truy cập trường nhanh hơn nhiều. Tất cả các lợi ích tài sản được phát minh. Khi ai đó bắt đầu nói với bạn về private set, khả năng tương thích ngược và sự cần thiết phải biên dịch lại assembly trong trường hợp thay đổi trường thành thuộc tính, hãy xem họ như những kẻ ngu ngốc - kiểu biên dịch nào, chúng tôi có gamedev chứ không phải doanh nghiệp, chúng tôi không không sử dụng dlls ở đây! Và nói chung, lần cuối cùng bạn thay đổi một trường thành một thuộc tính là khi nào?

14. Không sử dụng foreach

Điều này đã được nói nhiều hơn một lần. Bản thân sự thống nhất không cho phép sử dụng foreach. Sau khi tìm thấy foreach trong mã của đồng nghiệp, hãy thay thế nó bằng for và thuyết trình 10 phút về những gì foreach tạo ra rác, để thuyết phục, hãy hiển thị điểm chuẩn của bạn, nơi bạn duyệt qua danh sách mọi khung hình.

15. Không sử dụng Linq

Linq chậm, phức tạp và nói chung là Microsoft. Đối với 10 dòng - nó đẹp hơn nhiều (chúng tôi không sử dụng foreach - quên?). Nếu ai đó dám viết Biểu thức truy vấn, thì hãy nhìn anh ta như một tên ngốc - MayeskyEl đã lẫn lộn với Unity!

16. Không sử dụng chuỗi

Một chuỗi là một phân bổ bộ nhớ sau đó sẽ được GC thu thập. Sử dụng ký tự - không phải là vô ích mà bạn đã học qua trường đại học. Bạn không cần bất kỳ mã unicode nào - không cần lái thêm byte, bạn vẫn có phông chữ bitmap.

17. Không sử dụng Generics

Generic chậm và phức tạp, và những ràng buộc chung thậm chí còn phức tạp hơn. Hiệp phương sai và phương sai là cái quái gì? Chúng ta có Unity, điều này không có ở đây! Khi cần các loại lớp khác nhau, hãy lưu trữ tên lớp trong một biến và tìm tên lớp đó bằng Type.GetType ().

18. Không sử dụng Coroutines một cách không cần thiết

Chúng không hoạt động trên các đối tượng không hoạt động và nói chung, tạo ra tải bổ sung. Lưu trữ trạng thái trong các biến boolean và kiểm tra chúng trong Cập nhật - điều này thuận tiện hơn nhiều, vì mọi thứ được thu thập ở một nơi.

19. Ngay sau khi một phiên bản mới của engine xuất hiện, hãy cài đặt nó và cam kết thư mục ProjectSettings

Hãy để đồng nghiệp của bạn học cách giữ một hộp công cụ cập nhật. Vậy nếu dự án đến hạn sau 2 ngày, và phiên bản mới có lỗi thì sao? Không phải vấn đề của bạn mà Unity không thể phát hành bình thường! Nhưng có một hệ thống hạt mới mà bạn muốn chơi cùng.

20. Không sử dụng tuần tự hóa nội dung bằng văn bản

Nó làm chậm trình chỉnh sửa. Tuần tự hóa nhị phân nhanh hơn nhiều. Khi ai đó nói về hợp nhất, hãy đảo mắt - anh ta có phải là kẻ ngốc khi hợp nhất cảnh không? Khi bạn cần hợp nhất, chỉ cần khôi phục các thay đổi của người khác. Bạn phải nói rằng bạn đang làm việc trên tài sản nào để người khác không chạm vào nó!

Unity hiện đang phải đối mặt với những thách thức nào?

Vâng, hãy nói rằng không có khó khăn - chúng tôi đang đối mặt với các cơ hội. Và có nhiều cơ hội hơn bao giờ hết. Ngày càng có nhiều người chơi game. Ngày càng có nhiều nền tảng phát triển mới ra đời. Và ngày càng có nhiều công nghệ mới kích thích quá trình sáng tạo. Có VR và AR, cộng với Unity đã hỗ trợ 25 nền tảng và con số này đang tăng lên. Và chúng tôi cũng có 1,5 triệu nhà phát triển mỗi tháng. Vâng, mọi thứ đều không dễ dàng - nhưng chúng tôi tin rằng chúng tôi không phải đối mặt với khó khăn mà là cơ hội.

Tôi sẽ phác thảo tình hình chi tiết hơn một chút. Khi đối mặt với một hệ sinh thái khổng lồ như vậy, thì một trong những thách thức chính là duy trì một mức chất lượng nhất quán trong tất cả các lĩnh vực. Và đây có lẽ là nơi Unity đã phải đối mặt với một số vấn đề trong sáu tháng qua. Nhưng chúng tôi nhận ra rằng chúng tồn tại và đang làm việc để giải quyết chúng. Đây có lẽ là lĩnh vực duy nhất mà chúng tôi đang gặp khó khăn. Nhưng chúng tôi đang làm việc trên nó.

Công ty là công ty dẫn đầu trong thị trường động cơ. Nhưng không có dự án AAA nào trên Unity. Tại sao bạn nghĩ điều này là như vậy?

Vậy còn Firewatch hoặc Hearthstone thì sao?

Tôi hiểu bạn đang lái xe ở điểm nào.

Người dùng không coi Unity như một công cụ trò chơi AAA. Đây là một "động cơ cho tất cả mọi người". Có lẽ đó là điểm chính. Rốt cuộc, tựa game AAA là gì là một trò chơi nhận được đánh giá tốt và kiếm được rất nhiều tiền. Đây là một định nghĩa chủ quan, nhưng đây là cách nhiều người cảm nhận AAA. Trên thực tế, rất nhiều trò chơi được làm bằng Unity đáp ứng được những đặc điểm này. Vấn đề là họ không được nhìn nhận theo cách đó. Bởi vì cùng với những trò chơi như vậy, có rất nhiều dự án khác hoặc không thu được lời phê bình tốt, hoặc không kiếm được tiền, hoặc cả hai cùng nhau. Tôi tin rằng điều này xảy ra bởi vì cộng đồng các nhà phát triển Unity rất lớn. Có những nhà sản xuất động cơ có lượng khán giả nhỏ hơn. Một số rất nhỏ các nhà phát triển làm việc với công cụ của họ. Và do đó, hóa ra tất cả những nhà phát triển này đều rất tuyệt. Do đó, mọi người nghĩ rằng những trò chơi thú vị được tạo ra trên engine này. Khi bạn có 1,5 triệu nhà phát triển, một số người trong số họ tạo ra những trò chơi tuyệt vời. Nhiều người trong số họ tạo ra các trò chơi nhận được đánh giá cao. Vì vậy, toàn bộ vấn đề là người dùng đơn giản không coi Unity như một công cụ dành cho các trò chơi thú vị.

Bạn có nghĩ rằng đây có thể được gọi là một điểm trừ của quá trình dân chủ hóa?

Tôi muốn nói rằng nhận thức này là hệ quả trực tiếp của thực tế rằng chúng ta là "động cơ cho tất cả mọi người." Người ta tin rằng bạn không thể tạo ra một trò chơi thú vị trên Unity. Nhưng đây không phải là trường hợp.

Theo David Helgason, việc dân chủ hóa Unity sẽ chỉ được coi là hoàn tất khi trò chơi không khó làm hơn một video. Nhưng không phải người dùng điện thoại thông minh có camera nào cũng là James Cameron. Và chưa có một video nào trên YouTube nhận được giải Oscar. Bạn không sợ rằng dân chủ hóa như vậy sẽ hạ thấp các tiêu chuẩn của ngành sao?

Có một sự khác biệt lớn giữa công cụ dành cho mọi người và công cụ dành cho một số chuyên gia giỏi. Chúng tôi muốn trở thành công cụ cho tất cả mọi người - và để sự sáng tạo của người dùng tự nói lên điều đó. Công cụ của chúng tôi khá phù hợp để tạo các trò chơi AAA trên đó. Tôi đã đưa ra các ví dụ. Nó là một động cơ rất mạnh mẽ. Nó phù hợp với các chuyên gia. Nhưng nó cũng phù hợp cho người mới bắt đầu. Và kết quả luôn phụ thuộc vào kỹ năng của những người sử dụng nó.

Đây là một ví dụ: bạn có thể đặt một đứa trẻ ngồi sau tay lái của một chiếc Ferrari. Và anh ta có thể sẽ bắt đầu lái xe rất chậm hoặc thậm chí đâm xe. Hoặc bạn có thể đặt một tay đua Công thức 1 sau tay lái. Và sau đó anh ta sẽ giành chiến thắng trong cuộc đua. Tất cả trong cùng một chiếc Ferrari.

Về chủ đề nghề thủ công, Unity đã khởi chạy chương trình chứng nhận dành cho nhà phát triển của mình. Theo bạn, một sự đổi mới như vậy sẽ không nâng cao ngưỡng bước vào nghề cho các lập trình viên?

Chúng tôi sẽ không bắt buộc chứng nhận tất cả mọi người. Chứng chỉ chỉ là một cách hiểu khác của người tìm việc.

Nhưng điều đó không có nghĩa là tất cả mọi người sẽ muốn ứng viên của họ có chứng chỉ? Nếu bạn có quyền lựa chọn, bạn muốn chọn một chuyên gia tốt nhất.

Tôi nghĩ chứng chỉ chỉ là một cách khác để chứng minh năng lực. Đây không phải là điều quan trọng nhất. Điều chính được yêu cầu của ứng viên là các ví dụ về công việc. Hiển thị những gì bạn có thể làm.

Danh mục đầu tư.

Có, bạn cần phải chứng tỏ rằng bạn có thể. Vấn đề là, hầu hết mọi người đều có danh mục đầu tư tốt. Và thường thì bạn cần nhiều hơn danh mục đầu tư này, chỉ để chứng minh rằng bạn cũng có kiến ​​thức về lý thuyết. Giả sử bạn có năm ứng viên trước mặt và mỗi ứng viên đều có một danh mục đầu tư tuyệt vời. Nhưng chỉ một người có chứng chỉ. Và chính chứng chỉ này có thể giúp bạn đưa ra quyết định. Đây là cách tình huống nhìn từ quan điểm của nhà tuyển dụng. Nếu bạn nhìn nó từ quan điểm của một nhà phát triển, thì chứng chỉ có thể giúp bạn kiếm được việc làm. Hơn nữa, với sự giúp đỡ của nó, bạn có thể tiếp tục trau dồi kỹ năng của mình. Vì động cơ không ngừng phát triển, bạn cần lưu ý về các bản cập nhật. Giả sử bạn muốn tạo một trò chơi trên 5.3 và bạn chỉ làm việc trên 4.5. Trong trường hợp này, bạn có thể muốn tìm hiểu một số điều mới về động cơ để trở nên tiên tiến hơn. Và đây là chương trình chứng nhận để giải cứu.

Bây giờ chúng ta hãy nói về các gói đăng ký mới. Trước khi các gói mới ra mắt, người dùng có ba lựa chọn: miễn phí (Unity Personal), đăng ký (Unity Pro) và Unity Pro giấy phép vĩnh viễn. Tại hội nghị ở Amsterdam, bạn đã thông báo rằng Unity đang "thêm các tùy chọn thanh toán giấy phép mới." Nhưng có một cảm giác rằng không có gì thay đổi - vẫn có đăng ký, có phiên bản miễn phí và có giấy phép vĩnh viễn, hiện được gọi là Pay to Own. Vì vậy, những gì thực sự đã thay đổi?

Phiên bản Pay to Own hơi khác so với giấy phép vĩnh viễn. Điều đó không có ngày hết hạn. Thêm vào đó, công việc có giấy phép vĩnh viễn được xây dựng trong hai giai đoạn. Bạn mua động cơ và sử dụng nó. Nhưng sau đó các bản cập nhật xuất hiện. Và ở đây chúng tôi thông báo cho bạn rằng đối với số tiền bạn đã thanh toán, bạn cũng sẽ nhận được những cập nhật này. Trong trường hợp Pay to Own, bạn thanh toán trước và nhận quyền sử dụng động cơ trong 2-3 năm tiếp theo. Khi hợp đồng đã hết hạn, động cơ vẫn thuộc về bạn. Nhưng bạn sẽ không nhận được cập nhật cho nó. Do đó, một số dịch vụ mới sẽ không phù hợp với bạn. Đây là sự khác biệt so với giấy phép vĩnh viễn: trong trường hợp giấy phép vĩnh viễn, người dùng có quyền truy cập vào tất cả các dịch vụ. Và ngay trước khi phát hành phiên bản mới của engine, người dùng đã nhận được tất cả các bản cập nhật. Và sau đó anh ấy lại trả tiền cho chúng tôi cho một lần lặp lại mới. Nói tóm lại: Pay to Own có giống như một giấy phép vĩnh viễn không? Đúng. Nhưng điều này không giống nhau.

Toàn bộ ý tưởng với Pay to Own và các gói đăng ký là gì? Tại sao Unity cần chúng?

Chúng tôi quyết định chuyển sang đăng ký vì nhiều lý do cùng một lúc. Thứ nhất, điều này đang xảy ra trên toàn thế giới. Vì vậy, bản thân ý tưởng có thể tiếp cận và dễ hiểu đối với hầu hết người dùng. Và hầu hết những người chưa thuộc về người dùng của chúng tôi. Đây là một lựa chọn nổi tiếng trái ngược với giấy phép vĩnh viễn. Do đó, lựa chọn đó đã không phù hợp với công ty. Lý do thứ hai là chúng tôi tin rằng đăng ký được kết hợp với cách chúng tôi hiện sẽ có bản cập nhật. Trước đây, làm việc với Unity được xây dựng dựa trên các bản cập nhật gia tăng lớn. Công cụ đã thay đổi đáng kể - từ 1 lần lặp thành 2, từ 2 thành 3, từ 3 thành 4, từ 4 thành 5. Giờ đây, làm việc với Unity được cấu trúc khác. Trong 14 tháng qua, chúng tôi đã đưa ra nhiều bản phát hành mượt mà hơn. Và tùy chọn này phù hợp với đăng ký, vì vậy chúng tôi đi đến nó. Lý do thứ hai đưa chúng ta trở lại những gì tôi đã đề cập. Động cơ của chúng tôi được 1,5 triệu người sử dụng hàng tháng trên 25 nền tảng. Và tất cả những người dùng này đều cần công nghệ tiên tiến nhất. Thị trường đang thay đổi nhanh chóng - bạn không thể đợi cả năm để tiếp cận với những công nghệ mới này. Đó là lý do tại sao chúng tôi đang chuyển sang đăng ký. Tuy nhiên, đối với một số người dùng, việc chuyển đổi không hề dễ dàng. Đối với những người trước đây chỉ phát triển cho một nền tảng, điều này không dễ dàng vì giá đã tăng lên.

Vâng, Twitter đầy rẫy những câu hỏi như thế này! Những người phát triển cho một nền tảng cụ thể đã từng trả 75 đô la cho Unity Personal. Và bây giờ họ sẽ phải trả gần như gấp đôi, và họ tự nhiên tự hỏi tại sao lại như vậy.

Không phải gấp đôi, nhưng cộng thêm $ 50. Đây không phải là nhiều gấp đôi so với trước đây. Ngoài ra, không ai bắt họ phải trả tiền. Bạn cũng có thể đăng ký với giá 75 đô la cho đến năm 2018. Vì vậy, họ có thời gian, và chúng ta có thời gian. Chúng tôi phải - đưa ra các tính năng mà những người dùng này sẽ thích.

Chính xác thì khi nào bạn sẽ phải chuyển sang mô hình đăng ký mới? Ví dụ: nếu tôi mua Unity Pro với giá 75 đô la vào ngày 14 tháng 6, tôi sẽ phải trả 125 đô la vào ngày hôm sau. (Vào ngày 15 tháng 6, các bản cập nhật cho các gói đăng ký có hiệu lực - ghi chú của biên tập viên)?

Bạn có thể sử dụng Unity Pro cho đến tháng 6 năm 2018.

Sau đó là gì?

Sau đó, tất nhiên, chúng tôi muốn bạn chuyển sang mô hình khác. Và chúng tôi sẽ cho bạn thời gian cho việc này.

Điều gì xảy ra nếu tôi không muốn chuyển sang một mô hình mới? Liệu đăng ký của tôi có bị hủy không?

Bây giờ chúng ta đang nói về những gì sẽ xảy ra trong 23 tháng nữa. Trong thời gian này, tôi nghĩ rằng người dùng của chúng tôi sẽ thấy các gói đăng ký mới hữu ích như thế nào. Có thể một lúc nào đó ý nghĩ sẽ xuất hiện trong đầu bạn: "Thật tuyệt khi chuyển trò chơi của tôi sang một nền tảng khác." Vì vậy, bạn quyết định rằng các tùy chọn đăng ký với nhiều nền tảng hơn là phù hợp với bạn. Đây là một trong những lựa chọn cho sự phát triển của các sự kiện. Một lựa chọn khác là bạn vẫn đang sử dụng cùng một nền tảng, nhưng trong 23 tháng, Unity đã tạo ra một loạt các tính năng thú vị trong lĩnh vực công nghệ mới, trong lĩnh vực VR và AR. Do đó, cuối cùng bạn đồng ý trả thêm tiền cho họ. Vâng, và tùy chọn thứ ba - trò chơi của bạn chưa kiếm được nhiều hơn 100 nghìn đô la, vì vậy bạn bắt đầu sử dụng phiên bản Cá nhân (để sử dụng phiên bản miễn phí của Unity Personal, studio không được kiếm quá 100 nghìn đô la mỗi năm - lưu ý của biên tập viên)... Bạn chỉ cần xem xét thực tế là có một Splash Screen (Trên thực tế, tôi không hiểu tại sao các nhà phát triển không muốn đưa biểu tượng của chúng tôi vào trò chơi. Hơn nữa, vì công cụ này miễn phí. Rốt cuộc, mọi người lái một chiếc xe có logo của nhà sản xuất, và không có gì cả!) ... Tôi đã mô tả các kịch bản lạc quan. Nhưng cũng có một lựa chọn tồi - bạn vẫn ở trên nền tảng cũ, các gói đăng ký mới không phù hợp với bạn và bạn không muốn trả tiền. Vâng, trong trường hợp đó, chúng ta hãy cố gắng đi đến một thỏa thuận. Hoặc bạn vẫn có thể lấy phiên bản miễn phí.

Nói về Unity Personal, kế hoạch này khác với Unity Plus như thế nào? Cả hai kế hoạch đều có giới hạn doanh thu và cả hai kế hoạch đều cung cấp quyền truy cập vào các nền tảng khác nhau. Sự khác biệt là gì?

Unity Plus có các tính năng bổ sung. Một tập hợp nội dung từ Cửa hàng nội dung, hỗ trợ nhiều người chơi, quyền truy cập ưu tiên vào Bản dựng đám mây. Ngoài ra, với đăng ký này, người dùng nhận được một tháng các bài học về Chứng chỉ Unity miễn phí. Nhưng chúng ta sẽ xem cách người dùng chấp nhận kế hoạch này. Hãy cùng nghe các đánh giá. Kế hoạch sẽ thay đổi. Có lẽ chúng tôi có thể tăng giới hạn doanh thu hoặc thiết kế lại Splash Screen. Hãy lắng nghe người dùng của chúng tôi - chúng tôi luôn làm điều đó.

Hãy nói về triển vọng. Thị trường động cơ đã thay đổi rất nhiều trong vài năm qua. Unreal Engine hiện hầu như miễn phí (tất nhiên là không tính tiền bản quyền). Crytek đã công khai mã này. Amazon đang phát triển động cơ của riêng mình. Và cả King nữa. Làm thế nào để Unity nhìn thấy vị trí của mình trong một thị trường cạnh tranh như vậy?

Cạnh tranh là tốt. Chủ yếu dành cho người dùng. Sự đoàn kết đã lớn mạnh và tiếp tục phát triển. Có một cộng đồng lớn các nhà phát triển thích Unity hơn tất cả các công cụ khác. Và đây là thế mạnh của chúng tôi. Bởi vì nếu bạn mới bắt đầu làm việc với engine, bạn muốn học hỏi từ tấm gương của người khác, bạn muốn có một nơi nào đó để lấy kiến ​​thức. Muốn tìm hiểu cách tận dụng tối đa động cơ của bạn. Và cộng đồng càng lớn thì càng dễ đạt được những mục tiêu này. Đây là một điểm mạnh của Unity, và chúng tôi tiếp tục phát triển nó. Một ưu điểm khác của engine là nó hỗ trợ một số lượng lớn các nền tảng. Vì vậy, người dùng Unity có một sự lựa chọn. Cuối cùng, chúng tôi không ngừng đầu tư vào các công nghệ mới. Ví dụ: chúng tôi dẫn đầu trong lĩnh vực VR và AR. Đó là, chúng tôi không chỉ là một công cụ 2D, không chỉ là một công cụ di động. Chúng tôi không ngừng tiến về phía trước. Và cũng có thể - chúng tôi tự do, thành thật mà nói, không có kẻ ngu ngốc. Và, tất nhiên, mọi thứ chúng ta làm theo cách này hay cách khác đều liên quan đến dân chủ hóa của sự phát triển.

Ngoài dân chủ hóa toàn diện, mục tiêu trước mắt của công ty là gì? Bạn đã phát hành Unity Ads và Unity Analytics, ngoài ra, bạn đã chuyển Unity từ một công cụ trò chơi đơn giản thành toàn bộ hệ sinh thái. Bước tiếp theo trong việc chinh phục thế giới là gì?

Phát triển dân chủ hóa là mục tiêu không ngừng của chúng tôi. Chúng tôi vẫn chưa đạt được nó. Nhưng chúng tôi tiếp tục đi đến nó theo nhiều hướng cùng một lúc. Gần đây, chúng tôi đã ra mắt Unity Connect - một thứ giống như một cổng thông tin để tìm việc. Và đây là một ví dụ khác về cách chúng tôi tập hợp các nhà phát triển lại với nhau. Vì vậy, chúng tôi không cố gắng chinh phục thế giới. Chúng tôi chỉ đang cố gắng trở thành lựa chọn duy nhất cho những người sáng tạo kỹ thuật số.

Các biên tập viên của App2Top chân thành cảm ơn Tatiana Vikulova, Trưởng phòng Truyền thông và Truyền thông tại Unity Technologies Đông Âu, đã giúp đỡ họ trong việc chuẩn bị cuộc phỏng vấn.

Tôi đã thấy rất nhiều sự cuồng loạn xung quanh Unity (môi trường máy tính để bàn, không phải công cụ đồ họa). Nhiều người thích Ubuntu hơn Linux Mint, chính xác là vì MATE ở đó. Hoặc họ chọn các bản dựng Ubuntu với GNOME / Xfce, giải thích điều này chỉ bởi thực tế là họ không muốn sử dụng Unity. Bản thân tôi đã sử dụng Unity trong năm tháng qua và thấy nó là một DE tuyệt vời.

Không cần phải nói, lúc đầu nó hơi lạ. Tôi đã phải điều chỉnh một vài thứ. Ví dụ: tôi đã làm cho bảng điều khiển bên bị ẩn, xóa hiển thị tiêu đề cửa sổ khỏi bảng điều khiển trên cùng, thiết lập bộ lọc tìm kiếm nhanh, tăng số lượng màn hình và có vẻ như có một số điều nhỏ khác, tôi không không nhớ chính xác. Kết quả là, mọi thứ trở nên giống hệt như trong Xfce. Bạn di chuyển các cửa sổ bằng chuột, thu nhỏ, phóng to, chuyển đổi giữa các cửa sổ bằng Alt + Tab.

Chà, ngoại trừ việc thay vì nút "Bắt đầu" - một bảng có các ứng dụng được sử dụng thường xuyên nhất. Và những ứng dụng ít được sử dụng có thể nhanh chóng được tìm thấy bằng tên. Trên thực tế, nó tiện lợi hơn nhiều so với menu cây kiểu Windows XP truyền thống.

Sau đó, tôi nhận ra rằng có rất nhiều phím nóng trong Unity. Bạn có thể xem gợi ý về các phím nóng chính bằng cách nhấn và giữ phím Win một lúc. Di chuyển cửa sổ, khởi chạy ứng dụng, chuyển đổi giữa các ứng dụng và cửa sổ, thay đổi kích thước cửa sổ, v.v. - trong Unity, tất cả những việc này đều có thể được thực hiện bằng phím nóng. Nếu chúng tôi tính đến sự hiện diện của các phím nóng trong Google Chrome, Gnome Terminal, bash và IntelliJ IDEA, thì bạn hoàn toàn không phải chạm vào chuột.

Nói chung, Unity là một trình quản lý cửa sổ dựa trên ô xếp được ngụy trang một cách thông minh. Nếu người dùng đã quen làm mọi thứ với chuột, anh ta sẽ làm mọi thứ với chuột như đã quen. Người dùng lâu dài của Awesome, hoặc Xmonad, sẽ đánh giá cao khả năng thực hiện mọi thứ với bàn phím, cũng như việc sử dụng hiệu quả không gian màn hình.

Và Unity cũng là một nỗ lực tạo ra một trình quản lý cửa sổ cho máy tính để bàn, máy tính bảng, TV và điện thoại di động. Nỗ lực này, đối với tôi, khá thành công. Trên YouTube, bạn có thể dễ dàng tìm thấy nhiều video minh chứng rõ ràng ý tưởng này.

Thêm vào đó, vì Unity là DE mặc định cho Ubuntu, mọi thứ đều tốt ngay lập tức với nó, và những gì không tốt có thể được cấu hình một lần và quên. Để so sánh, khi tôi sử dụng i3, tôi phải định cấu hình thủ công bố cục chuyển đổi, khởi chạy Dropbox, Trình quản lý mạng, v.v. Ổ đĩa flash phải được gắn bằng tay hoặc chạy pcmanfm đặc biệt. Sau các bản cập nhật, một cái gì đó đã liên tục rơi ra. Và tôi vẫn không nhớ về các vấn đề với việc hiển thị Gimp / Skype hoặc làm việc với nhiều màn hình. Và trong Unity, mọi thứ đều hoạt động, hơn nữa, các khả năng tương tự cũng được cung cấp. Thuận tiện!

Tôi vẫn có thể hiểu những người có phần cứng 5 năm tuổi và do đó muốn thứ gì đó nhẹ nhàng, như i3 hoặc Xfce tương tự. Chà, hoặc những người đã ngồi đó dưới Mint, Fedora hoặc SuSe. Và vì vậy, tôi thấy không có lý do gì để không yêu Unity. Có lẽ tôi chỉ thiếu một cái gì đó?

Đủ phổ biến. Nếu những trò chơi máy tính trước đây chỉ là trò giải trí dành cho giới nghiệp dư hẹp thì giờ đây lĩnh vực này đang vươn lên một tầm cao mới. Ngày càng có nhiều người yêu thích trò chơi máy tính, liên tục có những dự án phù hợp với lứa tuổi và nhóm đối tượng nhất định (ví dụ: trò chơi gia đình).

Đương nhiên, ai đó đứng đằng sau việc này - trong hầu hết các trường hợp, đó là cả một công ty, bao gồm một số bộ phận, mỗi bộ phận đều tham gia vào các hoạt động riêng của mình. Họ cùng nhau tạo ra những trò chơi máy tính nổi bật và hấp dẫn nhất trong thời đại của chúng ta. Tuy nhiên, cần lưu ý rằng gần đây đã xuất hiện một số lượng lớn game indie - các dự án từ các nhà phát triển độc lập. Đó có thể là một người hoặc một nhóm nhỏ những người cùng chí hướng, nhưng điều quan trọng nhất là họ không có kinh phí khủng, hàng trăm công nhân có trình độ chuyên môn cao trên đại học. Và bây giờ mọi người đều có thể viết trò chơi của riêng mình, bởi vì có cả môi trường làm việc đặc biệt và hạt nhân làm sẵn, ví dụ: engine game Unity. Trong bài viết này, bạn sẽ tìm hiểu nó là gì và tại sao bạn cần nó.

Cốt lõi của trò chơi

Bắt đầu không phải với công cụ trò chơi Unity là gì, mà với công cụ nói chung. Hãy tưởng tượng khi viết một trò chơi trên máy tính - bạn cần phải viết hoàn toàn tất cả mã từ đầu, tuyệt đối tất cả các chuyển động nhỏ nhất của nhân vật, chuyển động của đối thủ, tương tác với môi trường và hàng ngàn chi tiết khác. Khó vô cùng, phải không? Động cơ có thể làm cho quá trình tạo dễ dàng hơn nhiều cho bạn.

Đây là cốt lõi của dự án, chứa tất cả các script cơ bản. Nghĩa là, thay vì tạo một trò chơi từ đầu, bạn có thể lấy một phần lõi làm sẵn và xây dựng trên đó nhiều lớp nội dung tùy thích. Đừng sợ rằng đây là thứ gì đó bất hợp pháp - bạn không ăn cắp hạt nhân, mà chỉ đơn giản là sử dụng nó, như hàng triệu người khác vẫn làm. Sử dụng game engine do người khác làm là một kỹ thuật rất phổ biến, chỉ những công ty lớn nhất mới có đủ phương tiện và khả năng để tạo ra game engine quy mô lớn của riêng mình. Nếu bạn không có ngân sách cho việc này, tốt hơn là sử dụng công cụ trò chơi Unity. Nhưng tại sao chính xác là anh ta?

Tại sao Unity?

Có rất nhiều công cụ khác nhau có sẵn trên web, một phần miễn phí hoặc hoàn toàn có tính phí. Chúng cho phép bạn tạo các dự án ở cả 2D và 3D, cho phép bạn truy cập vào các khả năng khác nhau, v.v. Nhưng tại sao bạn nên chọn công cụ trò chơi Unity trong số đó, mà không phải bất kỳ công cụ nào khác?

Trên thực tế, không ai buộc bạn phải lựa chọn như vậy - ví dụ: có một nhân UDK rất tốt, mà nhiều người cũng sử dụng để tạo trò chơi ở chế độ 3D. Nếu bạn không quan tâm đến 3D, bạn có thể dễ dàng tạo một dự án 2D với công cụ thích hợp. Nhưng Unity là engine 3D chất lượng cao và phổ biến nhất hiện nay, vì vậy bạn chắc chắn nên cân nhắc khi sử dụng nó. Công cụ trò chơi Unity 3D có một số lợi thế đáng kể so với các công cụ khác, sẽ được thảo luận bên dưới.

Lợi ích thống nhất

Unity là một công cụ mới để tạo trò chơi 3D. Nhiều người thắc mắc tại sao bạn cần chọn nó. Như đã đề cập trước đó, không ai buộc bạn phải dừng sự lựa chọn của mình đối với anh ấy. Tuy nhiên, bây giờ bạn sẽ tìm ra lý do tại sao anh ấy nổi bật so với phần còn lại.

Thứ nhất, đó là một môi trường phát triển - bạn được cung cấp một IDE cực kỳ tiện lợi và chức năng, chứa cả trình chỉnh sửa cảnh và trình chỉnh sửa đối tượng, và thậm chí là một trình chỉnh sửa tập lệnh nhỏ. Về phần thứ hai, điểm cộng này đặc biệt đáng chú ý so với nền tảng của những cái khác, vì hầu hết các công cụ đều đã có ngôn ngữ kịch bản riêng của chúng, bạn phải sử dụng ngôn ngữ này. Trong trường hợp Unity, bạn có thể sử dụng ngôn ngữ địa phương hoặc bất kỳ ngôn ngữ nào khác.

Riêng biệt, điều đáng nói là mức độ đồ họa có thể được tạo ra trong trò chơi - nó khá cao so với hầu hết các engine khác. Và, tất nhiên, điều đáng chú ý là mức vật lý cao nhất - tất nhiên, bạn có thể tạo ra một dự án không tồi hơn bất kỳ kiệt tác hiện đại nào với kỹ năng thích hợp.

Cuối cùng, cần phải nói về chi phí - đây là điều trở nên đối với nhiều nhà phát triển mới làm quen. Trong trường hợp này, nó không quá cao - chỉ một nghìn rưỡi đô la. Nếu muốn, bạn có thể sử dụng phiên bản miễn phí - nó có đầy đủ chức năng, nhưng không có một số tính năng hữu ích nhất định. Ngoài ra, dự án đã hoàn thành sẽ liên tục hiển thị logo Unity trong trò chơi. Giờ thì bạn đã hiểu tại sao Unity 3D lại là một game engine phổ biến. Nhưng anh ta thực sự không có nhược điểm? Bây giờ chúng ta hãy nói về điều này.

Nhược điểm của Unity

Nhiều người đã cố gắng tìm ra lỗ hổng trong công cụ này, nhưng gặp khó khăn, chỉ có một lời phàn nàn - mã nguồn đóng. Theo một nghĩa nào đó, đây thực sự là những nhược điểm - bạn chỉ có thể sử dụng nhân mà nhà phát triển cung cấp cho bạn, bạn không thể thực hiện bất kỳ thay đổi nào đối với nó, ngay cả khi bạn biết cách làm điều đó. Và ngay cả khi tính đến thực tế là bạn đã trả một nghìn rưỡi đô la - giấy phép vẫn không cung cấp cho bạn quyền truy cập vào chính hạt nhân. Nhưng nếu bạn nhìn từ khía cạnh khác, thì hầu như không có engine hiện đại nào cung cấp cho bạn quyền truy cập vào mã hạt nhân, vì vậy nhược điểm này có thể được coi là một nhược điểm nghiêm trọng với một phần lớn. Và không thể tìm ra những khuyết điểm khác của động cơ xuất sắc này.

Sử dụng Unity

Nó đã được nói về việc sử dụng công cụ này - IDE cho nó là tốt. Thật hiếm để tìm thấy một môi trường phát triển chức năng như vậy sẽ không bị quá tải với các chi tiết không cần thiết, sẽ không hoàn toàn trần trụi và khó chịu. Trong Unity, mọi thứ đều diễn ra tốt đẹp - bạn có thể truy cập ngay vào trình chỉnh sửa cảnh trò chơi và các đối tượng trò chơi, và thậm chí cả các tập lệnh được áp dụng cho chúng. Bạn có thể xem trong thời gian thực một đoạn mã về những gì bạn đang làm việc ngay trong IDE. Về điều này, Unity đơn giản là không có đối thủ - engine này rất tuyệt.

Thống nhất Nga

Nếu bạn không biết tiếng Anh, đừng lo lắng, bạn vẫn có thể sử dụng Unity. Công cụ trò chơi bằng tiếng Nga tồn tại và được hỗ trợ tích cực, vì vậy bạn có thể dễ dàng tạo ra những kiệt tác trò chơi trong phiên bản dịch. Hơn nữa, có một cộng đồng Internet nói tiếng Nga khổng lồ dành riêng cho công cụ này - ở đó bạn có thể tìm hiểu tin tức mới nhất, đọc ý kiến ​​của những người dùng có kinh nghiệm và đặt câu hỏi mà bạn quan tâm. Unity3D bằng tiếng Nga - hoàn toàn có thể.

Thêm tập lệnh

Nó đã được nói ở trên rằng bạn sẽ không thể thay đổi mã hạt nhân. Tuy nhiên, bạn có thể thêm các tập lệnh của riêng mình cũng như tải lên các tập lệnh đã được tạo bởi những người dùng khác.

Unity sẽ được thay thế bằng GNOME Shell. 6 năm Shuttleworth thử nghiệm trên người dùng và cuối cùng là vỏ Và sau đó Shuttleworth quyết định ném Unity vào sọt rác. ¯ \ _ (ツ) _ / ¯

Các chuyên gia tin rằng quyết định không rõ ràng sẽ ảnh hưởng tiêu cực đến sự phổ biến của Ubuntu. Và cô ấy, theo Distrowatch, đã trượt dài trong một tháng. Tuy nhiên, nếu bạn nhìn vào một đánh giá khác, hóa ra bản phân phối Ubuntu, vì nó là phổ biến nhất, vẫn tồn tại và sẽ tồn tại trong một thời gian dài, bởi vì không có đối thủ cạnh tranh xứng đáng và không được mong đợi.

Vậy các chuyên gia có lý do gì để nói rằng Ubuntu đang phải đối mặt với một thời gian khó khăn với đám tang của Unity?

Trình khởi chạy trong Unity

Cô ấy đang trên đà hoàn thiện. Tốt hơn chỉ trên Mac OS. Trình khởi chạy đẹp, gọn gàng và có thể tùy chỉnh linh hoạt. Ngay cả khi không có các công cụ bổ sung, bạn cũng có thể dễ dàng tùy chỉnh nó cho chính mình và với sự trợ giúp của Công cụ Unity Tweak của bên thứ ba, bạn có thể làm nên điều kỳ diệu.

Danh sách nhanh Unity

Một tính năng rất hữu ích khác là danh sách nhanh. Mỗi biểu tượng trên trình khởi chạy có một ngữ cảnh có thể được gọi bằng nút chuột phải và do đó tiết kiệm rất nhiều thời gian. Ví dụ: bạn có thể thay đổi bản nhạc đang được phát trong hai lần nhấp hoặc ngắt kết nối ổ đĩa flash USB. Khi nắm vững danh sách nhanh chóng, bản thân người dùng trở nên rất nhanh. Bất kỳ nhiệm vụ nào cũng được thực hiện ngay lập tức.

Unity HUD (Màn hình cảnh báo)

Một tính năng đáng ngờ, nhưng nhiều người thích nó. Một số đã yêu rất nhiều nên việc chia tay sẽ khá đau đớn. Nếu ai đó không biết, HUD giúp bạn có thể nhanh chóng đến được mục mong muốn trong menu chỉ bằng cách gõ các chữ cái đầu tiên trong tên của nó. Trong các menu nhiều lớp phức tạp, HUD thực sự giúp điều hướng dễ dàng và nhanh chóng hơn nhiều.

Các phím nóng

Nhiều trong số này đã được sử dụng để điều khiển Trình khởi chạy, Dash và HUD, giúp mọi thứ thậm chí còn nhanh hơn và hiệu quả hơn trên máy tính của bạn. Mất 6 năm để học thuộc các phím nóng, nhưng bây giờ đặt những kiến ​​thức này vào đâu?

kết luận

Lợi ích của Unity là vô tận. Phải mất rất nhiều năm để làm quen, rất nhiều năm để thành thạo các phím tắt tài tình! Và chúng tôi đã chiến đấu bao lâu để loại bỏ giám sát khỏi Unity. Và chúng tôi đã làm được! Và thế là Shuttleworth đứng dậy không đúng chỗ và chỉ với một nét bút đã tước đi chiếc vỏ thân yêu của chúng ta, điều mà bằng những nỗ lực chung đã trở nên gần như hoàn hảo. Và để làm gì? GNOME Shell có phải là giấc mơ cuối cùng của người dùng Linux không?

Tất nhiên, Unity là Mã nguồn mở. Trong mọi trường hợp, quá trình phát triển sẽ tiếp tục và GNOME Shell có thể được thay thế bằng Unity. Có thể các bản phân phối sẽ xuất hiện trong đó Unity sẽ được sử dụng ra khỏi hộp theo mặc định. Nhưng liệu Unity có thể phát triển thành công theo một cách đặc biệt mà không có Shuttleworth? Và liệu bản phân phối Ubuntu mà từ đó đoạn mã đã bị xé bỏ có duy trì được tính toàn vẹn, mức độ khả dụng cao và

Những bài viết liên quan: