Sunday, March 27, 2016

Esports sẽ thu hút hơn 7,200 tỷ VNĐ tiền quảng cáo và tài trợ năm 2016

Esports cung cấp nhu cầu giải trí chính cho lớp dân số trẻ: Thế hệ thiên niên kỷ (những người trưởng thành ở giai đoạn năm 2000). Hơn nữa số người nhiệt huyết eSports toàn cầu đang ở độ tuổi 21 – 35.

    Esports đang có một lượng khán giả khổng lồ, và nó ngày càng kiếm được nhiều tiền hơn nhờ vào lượng fan trung thành đó. Dựa theo một bản báo cáo của cơ sở nghiên cứu thị trường Newzoo cho hay, lĩnh vực này sẽ thu hút 325 triệu USD (7,255 tỷ VNĐ) từ phía các nhà tài trợ và marketings, và con số đó chiếm 70% tổng thu nhập thể thao điện tử sẽ mang lại trong năm 2016.
    Cụ thể hơn, 197 triệu USD (4,398 tỷ VNĐ) của khoản tiền trên sẽ đến dưới dạng chi phí quảng cáo và 128 triệu USD (2,857 tỷ VNĐ) là tiền tài trợ trực tiếp. Các giải đấu chuyên nghiệp cho những game như Counter-Strike: Global Offensive, League of Legends và Dota 2 sẽ thu hút hàng chục triệu người xem, và hầu hết khán giả là nam giới trong độ tuổi 13 – 34.
    Chi phí những thương hiệu lớn dành cho eSports đang trên đà đạt tăng trưởng 49% năm, và các công ty tài trợ sẽ gia tăng sự hiện diện của họ trong lĩnh vực đang phất lên như diều gặp gió này. Điều đó sẽ dẫn tới con số 800 triệu USD (17,860 tỷ VNĐ) cho tài trợ và marketing eSports trong năm 2019, đồng thời thúc đẩy thu nhập eSports lên hơn 1 tỷ USD (22,326 tỷ VNĐ) lần đầu tiên.
    
Ảnh minh họa
    Ảnh minh họa
    Ông Peter Warman, CEO của Newzoo, nói: “Sự tăng trưởng bùng nổ của eSports và sự chuyển đổi của game và video đang mang lại cơ hội lớn nhất cho ngành công nghiệp game kể từ năm 2007. Clash Royale của Supercell, sự công bố giải đấu Rocket Leauge, và cả 1 tỷ USD đầu tư vào nền tảng stream Douyu của Trung Quốc là một vài ví dụ gần đây khẳng định vấn đề này.”
    Một vài chi tiết trọng yêu về khán giả eSports:
    - Esports cung cấp nhu cầu giải trí chính cho lớp dân số trẻ: Thế hệ thiên niên kỷ (những người trưởng thành ở giai đoạn năm 2000). Hơn nữa số người nhiệt huyết eSports toàn cầu đang ở độ tuổi 21 – 35.
    - Ở Đài Loan, 26% người nhiệt huyết eSports sở hữu điện thoại Samsung so với 19% dân số game thủ nói chung.
    - Ở Mỹ, 31% người nhiệt huyết eSports có đầu tư hơn 600 USD (hơn 13 triệu VNĐ) cho phần cững chơi game so với 8% tất cả gamer.
    - Ở Đức, 14% người nhiệt huyết eSports thích dùng thẻ Master để trả phí game PC so với 8% tất cả gamer PC.

    Tại sao các nhà phát triển game đều “tôn sùng” Unity?

    Unity cải thiện trải nghiệm game tổng thể, và đó là yếu tố cốt lõi của bất cứ game thành công nào. Những nhà phát triển sử dụng Unity thành công biết rằng người dùng của mình hứng thú với một thị trường game sáng tạo, ổn định và hấp dẫn, chứ không phải cả tấn dòng mã với bề mặt đồ họa bóng loáng ở trên cùng.

    Máy consolesmartphonetabletPC,… ngày nay mọi thứ đều là nền tảng chơi game. Đây là điều tuyệt vời dành cho các game thủ, nhưng đối với những nhà phát triển tạo ra chúng, sự tách biệt về thiết bị, hệ điều hành, và tính tương hợp là một cơn đau đầu khủng khiếp.
    Tuy nhiên, mặc cho sự bất đồng do có quá quá nhiều nền tảng game khác nhau, một công cụ phát triển đang giúp hợp nhất ngành công nghiệp này: engine game Unity.
    Chiếm tới 45% cổ phần thị trường, với 47% nhà phát triển game dựa vào nó, hơn 600 triệu người trên toàn thế giới chơi những game được tạo ra từ Unity trên 21 nền tảng khác nhau – từ trình duyệt trên PC, handheld đến thiết bị thực tế ảo VR. Vậy điều gì khiến Unity trở thành “con cưng” của ngành công nghiệp game này?
    Ảnh minh họa
    Ảnh minh họa
    Unity là lựa chọn hàng đầu cho các nhà phát triển
    Tùy thuộc vào độ phức tạp mà một game được tạo ra, các nhà phát triển có vô số bộ phận cần phải làm việc trong chỉ một studio. Làm thế nào họ có thể quản lý một cách hiệu quả tất cả những yếu tố nhỏ này và bộ khung được đầu tư ra sao sẽ quyết định tới thành công cuối cùng của game.
    Unity đơn giản hóa độ phức tạp của các mã game, thêm vào đó giúp các nhà phát triển nâng cao khả năng và sự tiện nghi khi làm việc – bởi lẽ nó dựa trên ngôn ngữ lập trình cao cấp C#. “Theo ý kiến của tôi, lợi thế đầu tiên là ở chính ngôn ngữ C#,” nhận định của ông Andrey Rylach, nhà phát triển Senior Unity 3D cho XIMAD Inc., trực thuộc XIN Inc. “C# là một ngôn ngữ lập trình cao cấp cho phép nhà phát triển thâm nhập vào quá trình phát triển của game một cách dễ dàng. Điều này thực sự quan trọng bởi lẽ không giống như các engine game dựa trên ngôn ngữ C++, C# có nhiều yếu tố và công nghệ đã được giới thiệu sẵn, và các nhà phát triển chỉ việc tận dụng trực tiếp chúng.”
    Các nhà phát triển làm mã trên môi trường tự nhiên sẽ gặp phải vấn đề ngôn ngữ lập trình cấp thấp hoặc tổng hợp ngôn ngữ khi họ chuyển cùng một game sang nền tảng khác. Điều này cũng đồng nghĩa với những chu trình phát triển mất thời gian và phức tạp hơn, cần nhiều tổ đội hơn cho quá trình chuyển giao nền tảng. Vì dụ như một nhà phát triển game mobile sẽ cần hai tổ đội riêng biệt, một cho Android và một cho iOS.
    Ảnh minh họa
    Ảnh minh họa
    Bằng cách tận dụng cơ sở C# và sự sát nhập xuyên nền tảng, các nhà phát triển Unity có thể tiết kiệm được rất nhiều thời gian và cắt bớt độ phức tạp trong mã của họ. Mã lập trình cao cấp điển hình sử dụng ngôn ngữ tự nhiên so với mã cấp thấp, thêm vào đó rất nhiều biểu hiện phức tạp đã được tự động hóa. Những dòng mã như “Hero.Attack()” hay “Hero.Move(place)” chắc chắn là sẽ dễ viết và giải mã hơn rất nhiều.
    Cộng thêm khả năng chuyển game sang nhiều nền tảng khác nhau, thật dễ hiểu là tại sao các nhà phát triển lại “tôn sùng” Unity đến vậy. Ông Andrey giải thích rằng “cùng mã, phát triển qua engine Unity, có thể chuyển qua nhiều nền tảng (PC, Mac, Android, iOS, Web, console game) với những điều chỉnh tối thiểu. Nó giúp giảm thiểu đáng kể công sức cần thiết để phát triển game.”
    Game thủ có lợi gì?
    Unity đem lại những lợi thể không thể phủ nhận cho các nhà phát triển, vậy còn những người đang trực tiếp chơi game thì sao?
    Rõ ràng là từ khi sở hữu công cụ làm game hiệu quả hơn, những tựa game chất lượng hơn đã ra đời. Các nhà phát triển tốn ít thời gian làm mã hơn và dành nhiều thời gian làm phong phú trải nghiệm chơi của các game thủ. Bên cạnh lợi ích tổng quan là giúp làm ra những game tốt hơn, Unity còn giúp gì cho những game thủ đang “nhấn” màn hình và “nghiền” các nút của họ?
    Ảnh minh họa
    Ảnh minh họa
    Bộ khung đầy sức mạnh của Unity đóng góp trực tiếp vào thành công của game. Nhờ sự hỗ trợ đa nền tảng, Unity cung cấp cho các nhà phát triển bộ công cụ và tính năng 2D lẫn 3D đầy đủ, để họ có thể thiết kế những tính năng hấp dẫn hơn, thiết kế đồ họa đẹp hơn, và trải nghiệm chơi sống động hơn cho người dùng.
    Unity cải thiện trải nghiệm game tổng thể, và đó là yếu tố cốt lõi của bất cứ game thành công nào. Những nhà phát triển sử dụng Unity thành công biết rằng người dùng của mình hứng thú với một thị trường game sáng tạo, ổn định và hấp dẫn, chứ không phải cả tấn dòng mã với bề mặt đồ họa bóng loáng ở trên cùng.
    Đội ngũ phát triển mà ông Andrey làm việc cùng đã kết hợp tính linh hoạt của Unity với giải pháp của riêng họ, như Bộ khung giải pháp đa nền tảng (Multiplatform Solutions Framework – MSF). Đây là một công cụ giúp đơn giản hóa quá trình phát triển game hơn nữa, MSF tăng tính hiệu quả trong phát triển bằng cách sắp xếp hợp lý hóa nhiều khía cạnh của quá trình như lưu trữ tệp dữ liệu và hồ sơ người chơi trên một sever và liên kết với các mạng xã hội.Với những module có sẵn, tùy biến nội dung game dễ dàng, và các phân tích in-game, MSF hỗ trợ tính hiệu quả sẵn có của Unity như một engine game.
    Điều này dẫn tới những tiện ích lớn hơn cho người chơi. Ví dụ, game thủ có cùng profile trên các thiết bị khác nhau có thể chơi game của họ xuyên nền tảng và quá trình chơi đó sẽ được lưu dưới một hồ sơ duy nhất dù sử dụng các thiết bị khác nhau.
    Ảnh minh họa
    Ảnh minh họa
    Sự tập trung dữ liệu cũng giúp các nhà quản lý xử lý mảng phân tích game hiệu quả hơn. Qua một nền tảng, họ có thể theo dõi những lần thanh toán, thời gian chơi, đăng nhập và đăng xuất, và kể cả việc level nào là khó nhất đối với người chơi, từ đó tổng hợp để đưa ra nhũng quyết định chính xác.
    Những thử thách trong tương lai của việc phát triển game
    Unity thực sự là một cơ sở nền móng hiệu quả cho việc phát triển game.Ông Alex Bogdanovich, trưởng phòng XIM Wireless (trực thuộc XIM, Inc.), giải thích trong một buổi phỏng vấn với VentureBeat về mức độ ảnh hưởng trực tiếp của Unity tới thành công của game: “Bộ khung mạnh mẽ và hữu dụng của Unity chính là yếu tố ảnh hưởng trực tiếp tới thành công của game. Nó cho phép nhiều tính năng thú vị hơn và cả những thiết kế game cực “ngầu”, bên cạnh đó còn cho phép các nhà phát triển tập trung nhiều hơn vào trải nghiệm bề mặt với ứng dụng của người dùng. Tất cả tạo nên một sản phẩm thành công mang tính thị trường.”
    Đối với Andrey và Alex, Unity đã cho phép họ phát triển, cải thiện và quản lý tất cả những game mà họ tạo ra thông qua một bảng điều khiển đa nền tảng hiệu quả, được sử dụng để giúp đỡ nhóm khách hàng của họ.
    Với gần một nửa thị trường đứng sau chiến lũy của mình, Unity có vẻ như đang trên đà thống trị phát triển game trong tương lai, đặc biệt là với việc phát hành phiên bản Unity 5 gần đây. Nhưng vẫn còn tồn tại vài vấn đề cần được giải quyết.
    Ảnh minh họa
    Ảnh minh họa
    Thứ nhất, Unity không có rào cản cao để thâm nhập vào – điều này về cơ bản là do mong muốn của chính họ. Bất cứ nhà phát triển nào cũng có thể thâm nhập vào môi trường phát triển tương tác mạnh mẽ này và tạo ra những game tuyệt đẹp. Nhưng không phải bất cứ game nào với đồ họa hào nhoáng, bóng bẩy cũng đáng chơi. Vội vàng làm những sản phẩm “mỳ ăn liền” bao giờ cũng có những mặt trái rõ ràng – với những game nặng về thiết kế nhưng nhẹ về chất lượng, ví dụ, chúng có thể rút cạn pin của thiết bị một cách nhanh chóng.
    Unity là một công cụ dễ sử dụng cho các nhà phát triển chuyên nghiệp, nhưng nếu không thực sự đầu tư vào quá trình thiết kế, vài nhà phát triển có thể gom một mớ tính năng Unity hỗn độn vào một ứng dụng mà không quan tâm đến kiến trúc, đảm bảo chất lượng và thử nghiệm.
    Tất nhiên, những thử thách này luôn tồn tại trong một ngành công nghiệp phát triển không ngừng. Song trong một mảng lớn như game, sự ngập lụt những game Unity được thiết kế sơ sài có thể làm hỏng hình ảnh của tất cả. Unity vẫn luôn là lựa chọn hàng đầu cho các đội ngủ phát triển game, song chỉ riêng engine thì không thể làm nên game được.

    Theo VentureBeat

    Thursday, September 3, 2015

    Đừng chỉ chơi game, hãy học lập trình game

    Đừng chỉ chơi game, hãy học lập trình game

    Ngay chính tại nước Mỹ, tổng thống Barack Obama đã phát biểu: “Đừng chỉ mua game, hãy tạo ra nó. Đừng chỉ chơi game trên điện thoại, hãy học cách lập trình game”.
    Trên thế giới, ngành công nghiệp game đang phát triển với tốc độ thần tốc, hứa hẹn có thể gia tăng lên hơn 90 tỉ đô trong năm 2015, và sẽ vượt 100 tỷ đô năm 2017. Tại Việt Nam, riêng trong năm 2014, doanh thu đến từ ngành công nghiệp game cũng chiếm khoảng 233 triệu USD. Có nghĩa là, cơ hội để tỏa sáng trong ngành này là không thiếu. Thậm chí, dù trả mức lương khá cao (từ 8 đến 15 triệu/ tháng) cho những sinh viên mới ra trường (entry level), các công ty game lớn ở Việt Nam cũng đang rất khát nhân lực đáp ứng được yêu cầu chuyên môn.
    Nhiều bạn mặc dù đã rất yêu thích và muốn theo học về game, nhưng vẫn e ngại rằng ngành này khó khăn và “khô như ngói”. Trên thực tế, ngoài khả năng logic, ngành học này còn rất cần những bạn trẻ sáng tạo và có óc thẩm mỹ đấy. Tại sao ư? Vì ngành này thường chia là 2 mảng chính: Game Design và Game Programming.
    Bạn có bị ấn tượng bởi đồ họa của các nhân vật như Lee Sin, Blitcrank hay Yasuo trong Liên Minh Huyền Thoại và muốn học cách tạo ra những nhân vật như vậy? Với chuyên ngành Game Design, bạn sẽ có cơ hội sáng tạo nên những nhân vật bắt mắt, bá đạo nhất của riêng mình. Không chỉ vậy, bạn còn có thể nghĩ ra những trò chơi tưởng chừng như rất đơn giản nhưng khiến người chơi bị hút vào, hay thậm chí là “sôi máu”… như trò chơi “Flabby bird” đình đám một thời chẳng hạn? Trí sáng tạo của bạn chắc chắn sẽ được bay cao bay xa với chuyên ngành này đấy!
    Và, một trò game dù hay đến đâu cũng không thể nào đến tay người chơi nếu thiếu đi những nhà lập trình game. Game Programming sẽ giúp bạn “chuyển hóa” những thiết kế game thành một trò chơi hoàn chỉnh với những ngôn ngữ lập trình đa dạng như C, C++, C#, Java, JavaScript hoặc Swift. Lập trình nói chung giúp cho bạn phát triển một khả năng suy nghĩ logic, và từ đó giải quyết những vấn đề trong cuộc sống dễ dàng hơn.
    Nếu bạn đã hoàn toàn bị thuyết phục bởi ngành học hấp dẫn và rất “cool” này; vậy câu hỏi quan trọng tiếp theo là, bạn nên học nó ở đâu?
    Như bao ngành nghề khác, để tăng khả năng thành công trong sự nghiệp, tiếng Anh là một thứ “vũ khí” không thể thiếu. Chính vì thế, SaigonTech tự hào là một trong những cơ sở giáo dục tại Việt Nam cung cấp chương trình đào tạo Lập trình game hoàn toàn bằng tiếng Anh. Khi tham gia khóa học, bạn có cơ hội sở hữu tấm bằng của Đại học Cộng đồng Houston, Hoa Kỳ. Với chương trình học cập nhật liên tục, bạn được tiếp cận với những kiến thức bổ ích để có khả năng thiết kế và lập trình một game hoàn chỉnh.
    img20150902222032337 Đừng chỉ chơi game, hãy học lập trình game
     
    Hấp dẫn hơn nữa, sinh viên còn được trải qua 1 chuyến thực tập 6 tháng tại Pháp với mức lương 500 Euro/tháng ngay trong chính chương trình học của mình. Trải nghiệm quý giá này sẽ giúp sinh viên nâng cao kĩ năng làm việc thực tế và kinh nghiệm quốc tế của mình trong xu hướng toàn cầu hóa của thế giới.
     
    img20150902222033008 Đừng chỉ chơi game, hãy học lập trình game
     
    Tốt nghiệp SaigonTech, với vốn tiếng Anh hoàn hảo và kinh nghiệm làm việc “pro”, bạn hoàn toàn tự tin khi gia nhập những công ty game lớn tại Việt Nam hay phát triển sự nghiệp ở bất kì đâu trên thế giới. Còn nếu bạn muốn tiếp tục học lên cao, tấm bằng của Đại học Cộng đồng Houston, Hoa Kỳ cũng sẽ giúp bạn chinh phục ước mơ học thuật ở Mỹ, Pháp hay những quốc gia phát triển khác.
     
    img20150902222033132 Đừng chỉ chơi game, hãy học lập trình game
     
    Obama đã từng nói “Đừng để bất kì ai nói rằng: Bạn không thể! Dù bạn là nam hay nữ, dù bạn sống ở đô thị hay nông thôn, máy tính sẽ là một phần tương lai của bạn!” Vậy thì, bạn còn ngần ngại gì mà không theo đuổi đam mê và vẽ nên tương lai của mình? Gọi ngay cho chúng tôi tại số hotline 09 150 150 88 để được tư vấn thêm cho học kì Mùa Thu, khai giảng ngày 19/9/2015 này nhé!

    Thursday, August 6, 2015

    Getting Started with Unity 5

    Getting Started with Unity 5
    Xuất bản 2015 
    download link (các bạn chọn ô "tôi không phải là người máy để tải về nhé")

    Monday, August 3, 2015

    chia sẻ khóa học unity

    chia sẻ khóa học unity từ cơ bản đến nâng cao có trên udemy nè mọi người.(mua trên đó tốn tiền lắm đó ở đay free) link liên kết (mọi người thông cảm đợi chút nha!)


    • serial hướng dẫn căn bản giúp bạn làm quen với Unity3d 
    • học căn bản phần 2 qua serial hướng dẫn bạn làm full game Block Breaker - Unity
    • học nâng cao phần 3 qua serial hướng dẫn bạn làm full game Laser Defender - Unity
    • học nâng cao hơn phần 4 qua serial hướng dẫn bạn làm full game Glitch Garden A Plants vs. Zombies Clone - Unity
    • học nâng cao hơn phần 5 qua serial hướng dẫn bạn làm full game Bowlmaster 10-Pin Bowling - Unity

    Friday, July 31, 2015

    Kiếm tiền trên mạng hiệu quả nhất tại Việt Nam

    1. Giới thiệu về Access Trade

    ACCESSTRADE là mạng lưới tiếp thị liên kết hàng đầu Đông Nam Á mới ra mắt tại Việt Nam. Nếu bạn là doanh nghiệp hoặc cá nhân sở hữu hoặc điều hành các website, trang blog cá nhân, thành viên của các diễn đàn, mạng xã hội hãy tham gia ngay vào mạng lưới để làm việc ngay lập tức. Đăng ký tài khoản Đối tác Media của ACCESSTRADE để nhận ngay 50,000 VND vào tài khoản, giới hạn cho 1,000 đối tác đầu tiên. Thu nhập không giới hạn tùy vào khả năng của bạn. Cơ hội hợp tác phân phối game kiếm tiền, kiếm tiền bằng blog, kiếm tiền với website hàng đầu tại Việt Nam

    Do đó accesstrade là nền tảng tiếp thị liên kết (affiliate), kênh trung gian kết nối công ty bán hàng và cung cấp dịch vụ với khách hàng. Tiếp thị liên kết của accesstrade hay accesstrade affiliate còn khá mới mẻ với người việt nhưng với thế giới đây là hình thức kiếm tiền online hiệu quả và bền vững là nguồn thu nhập chính cho rất nhiều người.
    Interspace Việt Nam đặt mục tiêu doanh thu từ nay đến hết năm 2015 khoảng 1 triệu USD.
    Và có thể nói đây là cơ hội cho những Blogger không đăng ký được Adsense thì bạn sử dụng mạng dịch vụ này là khá tốt và hiệu quả rất cao. Kiếm được bao nhiều là tùy vào lượt truy cập và đối tượng người dùng tại website của bạn mà thôi.
    Cách thức hoạt động như sau:
    Bạn sẽ đặt banner, link và người dùng click vào link đến trang quảng cáo và đăng ký hoặc mua hàng hay sử dụng dịch vụ nào đó thì bạn sẽ nhận được hoa hồng. Kiếm tiền trên mạng chưa bao giờ dễ dàng đến thế. Sau khi đăng kí bạn sẽ dễ dàng sử dụng.

    2. Lợi ích khi tham gia Accesstrade

    – Nhận ngay 50.000đ vào tài khoản
    – Nhận ngay 20.000đ khi mới được thêm tài khoản nữa
    – Phân phối game ăn theo % nạp tiền vào game
    Những lý do khiến Accesstrade trở thành cơ hội làm giàu của bạn?:
    Nếu như trước đây hình thức tiếp thị liên kết chủ yếu phát triển trên mạng di động (Với các game, các sản phầm dành cho điện thoại thông minh). Thì nay bạn có thể chủ động khai thác khách hàng trên máy tính bàn (Lượng visit này rất đông, nhưng khai thác cực khó nếu như bạn không biết cách khai thác) mà không cần chờ đợi các cú click hay bán banner quảng cáo thông thường. Cơ hội kiếm tiền là không giới hạn.
     Accesstrade  dành cho những ai?:
    Accesstrade dành cho tất cả các webmaster đang sở hữu lượng visit nhất định nhưng chưa tận dụng và khai thác được.
    Mình vừa giới thiệu sơ qua về hình thức tiếp thị liên kết mới nhất tại Việt Nam với Accesstrade , theo mình đây là hình thức kiếm tiền đáng để thử nghiệm dành cho mọi người. Hãy tham gia ngay nào !

    3. Cách đăng ký Access Trade

    Nếu bạn tham gia phân phối app kiếm tiền của mwork thì khi đăng nhập xong nó hiện ngay AccessTrade ở thanh menu đó. Nếu không thì truy cập vào banner này cho nhanh:

    Đăng ký Accesstrade >>> Tại đây






    Đăng ký access trade
    Đăng ký access trade

    đăng kí thôi !



    (Theo kynanggame - Kiếm tiền trên mạng)

    GAME 2D XẾP HÌNH -TETRIS_P2

    chào các bạn! hôm nay mình sẽ tiếp tục viết tiếp phần tiếp theo của loạt bài hướng dẫn lập trình Unity , với tựa game xếp hình huyền thoại Tetris.
    Nội dung bài hôm nay:

    • Kiểm tra xem tất cả các khối nằm giữa hai đường biên giới
    • Kiểm tra xem tất cả các khối trên  y = 0
    • Kiểm tra nếu một nhóm có thể duy chuyển với 1 đơn vị
    • Kiểm tra nếu một hàng có đầy đủ các khối
    • Xóa một hàng
    • Giảm một của hàng y phối hợp
    Cấu trúc dữ liệu:
    Giải pháp là dùng một mảng hai chiều (ma trận). giờ mình tạo ra script mới với tên là matrix nhe
    chuột phải->Create->C#script

    
    

    using UnityEngine;
    using System.Collections;
    public class matrix : MonoBehaviour {
    public static int w = 10;//chiều rong
    public static int h = 20;//chieu cao
    public static Transform[,] grid = new Transform[w, h];// ma tran
    // Use this for initialization
    void Start () { }
    void Update () {}
    }
    như đã thấy ở trên, mãng hai chiều grid sẽ quản lý tọa độ của các ô vuông theo thông số w,h.
    để các tọa đọ này không bị lẻ khi ta di chuyển sang trẽ viết thêm hàm làm tròn
    public static Vector2 roundVec2(Vector2 v) {///hàm làm tròn
    return new Vector2(Mathf.Round(v.x),
    Mathf.Round(v.y));
    }
    hàm có thông số đàu vào là một vector hai D và trả về vector 2D với các tọa độ x,y đã làm xong.
    
    

    Hàm tiếp theo để kiểm tra các Ô vuông vẫn nằm trong hai đường biên hai bên và đường biên dưới, trả về giá trị true khi tất cả các điều kiện đều đúng, ngược lại nếu có một cái sai, hàm trả về false
    public static bool insideBorder(Vector2 pos) {//kiem tra trong return ((int)pos.x >= 0 && (int)pos.x < w && (int)pos.y >= 0); }
    }
    hàm xóa một hàng thứ Y nào đó. public static void deleteRow(int y) {///xóa hang thu y for (int x = 0; x < w; ++x) {///duyet qa tat cả x trong hang y Destroy(grid[x, y].gameObject);//xoa ô grid[x, y] = null;//gán nulll lai nó } Như chức năng hàm trên thì ta chỉ xóa các ô của một hàng, vậy khi xóa xong nó được gắn là Null, nghĩa là hàng đó sẽ trống, để lấp đầy khoảng trống đó ta tiếp tục tạo thêm hàm public static void decreaseRow(int y) {//hàm hạ các O trong hang Y xuông 1 đơn vị for (int x = 0; x < w; ++x) {// duyệt qa các ô trong hàn y if (grid[x, y] != null) {//neu khác null grid[x, y-1] = grid[x, y];// di chuyển vị tri y xuống 1 ô grid[x, y] = null;//khi xuông 1 ô thì thằng tren đó gán lại la Null grid[x, y-1].position += new Vector3(0, -1, 0);// cập nhạt lại tọa độ cho nó(x,y,z) } } } hàm trên chỉ có hạ xuống một đơn vị , vậy ta se lập lại hàm trên thì có thể đưa tất cả các hàng xuống 1 đơn vị rồi, public static void decreaseRowsAbove(int y) {//hàng thứ y for (int i = y; i < h; ++i)///duyet từ hàng y trở len tren decreaseRow(i); // gọi hàm duy chuyen xuong 1 ô } ok rồi đó, giờ ta vào vấn đề làm sao biết hàng Y nào là đủ các ô, giải pháp là đay public static bool isRowFull(int y) {//kiểm tra hang y có đủ các ô for (int x = 0; x < w; ++x)//dhuyet qa cac ô if (grid [x, y] == null)//nếu trông thì tra ve false return false; return true;// đúng het thì true; } Tìm được hàng đã xóa rồi thì ta sẽ duyệt hết các hàng, tìm hàng nào đủ điều kiện xóa ô thì gọi hàm xóa và cập nhật lại vt. // hàm tìm và xóa hàng nào đủ các ô public static void deleteFullRows() { for (int y = 0; y < h; ++y) {// duyet từ hàn 0 đến hàng h if (isRowFull(y)) {// nếu hàg y mà đủ các ô deleteRow(y);// xóa hàn y decreaseRowsAbove(y+1);// goi hàm hạ ô xuống từ hàng trên hàng đủ ô 1 đơn vi --y;// giảm y vì đã xóa 1 hàng rồi mà } } } Xong phàm dữ liệu rồi đó
     tiếp tục tạo ra class mới quản lý các khối ô của chúng ta sẽ có ở bài 3.

    link tải project 




    tài liêu tham khảo:noobtuts

    Thursday, July 30, 2015

    CÁC THÀNH PHẦN CƠ BẢN TRONG UNITY

    GameObject:

    Là thành phần quan trọng của Unity. Một đối tượng cụ thể trong game gọi là một game object, có thể là nhân vật, đồ vật nào đó.Ví dụ: cây cối, xe cộ, nhà cửa, người...
    Một GameObject sẽ có nhiều thành phần cấu tạo nên nó mỗi thành phần như vậy gọi là một component của GameObject.
    Một GameObject luôn có một transform- thành phần đính kèm (đại diện cho vị trí và hướng) và không thể loại bỏ điều này. Các thành phần khác có thể được bổ sung hoặc loại bỏ. Script kiểm soát GameObjects từ kịch bản trên các các cấu trúc quy định sẳn của unity 3D.

    collider: 
    Hệ thống xử lý va chạm bào gồm 2d và 3d. Được chia ra các va chạm của các hình cơ bản:
    ü    Box collider: Va chạm cho các vật hình hợp chữ nhật đối với 3d và hình chữ nhật đối với 2d.

    o              Is Trigger: dạng true/false, cho phép va chạm có đi xuyên qua không?
    o              Material: tham chiếu đến physic material.
    o              Center: điều chỉnh thông số tâm của va chậm theo các trục tương ứng.
    o              Size: điều chỉnh kích thước theo các trục tương ứng.
    ü     Capsule Colider: Va chạm dành cho các khói hình trụ.

    o              Is Trigger: dạng true/false, cho phép va chạm có đi xuyên qua không?
    o              Material: tham chiếu đến physic material.
    o              Center: điều chỉnh thông số tâm của va chạm theo các trục tương ứng.
    o              radius: điều chỉnh kích thước bán kính.
    o              Height: độ cao
    o              Direction: xoay hình trụ theo các trục tương ứng.
    ü    Mesh Colilider: Va chạm dạng lưới dành các vật thể không xác định hình thể.

    ü    Sphere Colider: va chạm  áp dụng cho các vật hình cầu

    ü     Wheel collider: dành cho vật thể hình bánh xe. Nó sẽ mô phỏng hệ thống va chạm giống với các bánh xe.

    ü     Terrain Collider: dành cho các vật thể địa hình và terrain collider sẽ dựa theo địa hình đó.

    Nếu đối tượng có di chuyển thì collider sẽ phải kèm theo rigidbody.

    Rigidbodi: Hệ thống mô phỏng vật lí trong game. Cũng chia ra 2d và 3d.



    o  Mass: khối lượng (đơn vị tùy ý).
    o  Drag: Sức cản không khí ảnh hưởng như thế nào với đối tượng khi di chuyển. 0 có nghĩa là không có sức cản không khí, và vô cùng làm cho các đối tượng di chuyển ngay lập tức dừng lại.
    o  Angular Drag: Sức cản không khí ảnh hưởng đến các đối tượng khi quay từ mô-men xoắn. 0 có nghĩa là không có sức cản không khí. Không thể làm cho vật dừng quay hẳn chỉ bằng cách thiết lập Angular Drag của nó đến vô cùng.
    o  Use Gravity: Nếu được kích hoạt, các đối tượng bị ảnh hưởng bởi lực hấp dẫn.
    o  Is Kinematic: Nếu được kích hoạt, các đối tượng sẽ không được thúc đẩy bởi động cơ vật lý. 
    o  Interpolate: giảm xóc.
    o  Collision detection: Được sử dụng để ngăn chặn các đối tượng chuyển động nhanh qua các đối tượng khác mà không phát hiện va chạm.
    o  Constraints: Ràng buộc Những hạn chế về chuyển động của Rigidbody:

     Sprite: Là một hình ảnh 2D của một game object có thể là hình ảnh đầy đủ, hoặc có thể là một bộ phận nào đó. Unity cho phép tùy chỉnh màu sắc, kích thước, độ phân giải của một hình ảnh 2d. 

    Có 2 loại sprite là Single sprite và Multiple sprite.


     Animator: 


    Trong 2D thi animotion là tập một hình ảnh động dựa trên sự thay đổi liên tục của nhiều sprite khác nhau. Trong 3d là một tập hợp các sự thay đổi theo thời gian của đối tượng trong không gian. Mỗi thay đổi là một key frame.-Key Frame hay Frame là một trạng thái của một animation.
    o          Aminator: gồm các thành phần:
    ü Controller: Bộ điều khiển animation gắn liền với nhân vật này. Nó sẽ quản lý các animation clip, các thông số tốc độ của animation, thứ tự các clip…
    ü Avatar: thành phần tạo hình ảnh cho object.
    ü Apply Root Motion: dạng true-false, cho phép thiết lập animation có di chuyển theo không gian đã được tạo khi cấu hình animation.
    ü Animate Physics: dạng true-false, khi được chọn, các hình ảnh trong animation sẽ có thể tương tác vật lý với nhau.
    ü Culling mode: chọn chế độ cho hình ảnh động.

    Prefabs:

    Là một khái niệm trong Unity, dùng để sử dụng lại các đối tượng giống nhau có trong game mà chỉ cần khởi tạo lại các giá trị vị trí, tỉ lệ biến dạng và góc quay từ một đối tượng ban đầu.

    1.1.7 Audio Source:


    Âm thanh trong game. Gồm cả âm thanh 2d và 3d.
    ü    Audio clip: tham chiếu điến file âm thanh.
    ü    Mute: chơi ở chế độ như tắt tiếng.
    ü     Bypass effects: bộ lọc hiệu ứng áp dụng cho các nguồn âm thanh.
    ü     Bypass listener effects: Điều này là để nhanh chóng chuyển tất cả các hiệu ứng Listener on / off.
    ü     Pass Reverb Zones: Điều này là để nhanh chóng chuyển tất cả các khu Reverb on / off.
    ü     Play on awake: Nếu được kích hoạt, âm thanh sẽ bắt đầu chơi lúc cảnh ra mắt. Nếu vô hiệu hóa, cần phải bắt đầu nó bằng cách sử dụng lệnh Play () từ kịch bản script.
    ü     Loop: Kích hoạt tính năng này để làm cho Clip âm thanh lặp lại.
    ü     Pitch: Xác định ưu tiên của nguồn âm thanh này trong số tất cả những nguồn âm cùng tồn tại trong bối cảnh đó. (Ưu tiên: 0 = quan trọng nhất, 256 = ít quan trọng nhất Mặc định = 128). 
    ü     3D Sound Setting: Cài đặt được áp dụng cho các nguồn âm thanh nếu Audio Clip là một âm thanh 3D.
    ü     2D Sound Setting: Cài đặt được áp dụng cho các nguồn âm thanh nếu Audio Clip là một âm thanh 2D.

     Script:

    Script là tập tin chứa các đoạn mã nguồn, dùng để khởi tạo và xử lý các đối tượng trong game. Trong Unity có thể dùng C#, Java Script, BOO để lập trình Script.

     Scenes:

    Quản lý tất cả các đối tượng trong một màn chơi của game. 

    Assets:

    Bao gồm tất cả những gì phục vụ cho dự án game như sprite, animation, sound, script, scenes…

     Camera:

    Hình 214: Camera
    Là một game object đặc biệt trong scene, dùng để xác định tầm nhìn, quansát các đối tượng khác trong game. Bao gồm các thuộc tính:
    ü     Clear flags: Xác định phần nào của màn hình sẽ bị xóa. Đây là tiện dụng khi sử dụng nhiều máy ảnh để vẽ các yếu tố trò chơi khác nhau.
    ü     Bachground: Màu áp dụng cho các màn hình còn lại sau khi tất cả các yếu tố trong quan điểm đã được rút ra và không có skybox.
    ü     Culling Mask: Bao gồm hoặc bỏ qua lớp của các đối tượng được đưa ra bởi các Camera. 
    ü     Projection: khả năng của máy ảnh để mô phỏng góc nhìn.
    ü     Field of view (thuộc tính chỉ xuất hiện khi chọn Perspective trong mục Projection): Chiều rộng của góc nhìn của Camera, đo bằng độ dọc theo trục Y.
    ü     HDR: Cho phép High Dynamic Range dựng hình cho camera này.

    Transform:


    o          Trasform: quản lý object trong không gian ba chiều, theo ba thông số:
    ü   Postion: quản lí vị trí hiện tại của object.
    ü   Rotation: quản lí cá thông số quay của object theo các trục x, y, z.
    ü   Scale: quản lí các thông số phóng to, thu nhỏ theo các trục x, y, z.
    oRenderer:

    Các SpriteRenderer thànhphần cho phép bạn hiển thị hình ảnh như Sprites để sử dụng trong cả hai cảnh 2D và 3D.
    ü   Sprite: Các đối tượng Sprite để render. Đối tượng Sprite có thể được tạo ra từ textures bằng cách sử dụng các thiết lập Sprite.
    ü   Color: Vertex màu.
    ü   Material: Chất liệu được sử dụng để làm sprite.
    ü   Sorting Layer: Các layer được sử dụng để xác định các ưu tiên của sprite này trong khi hiển thị.

    ü     Order in Layer: Các ưu tiên của sprite trong layer của nó. Con số thấp hơn được kết xuất đầu tiên và con số tiếp theo phủ bên dưới.