Các công nghệ làm nên Pokemon Go

Đôi điều về Pokemon Go

Chúng ta đã từng say sưa ngồi xem phim Pokemon ngay từ những tập đầu tiên, và những ai có máy Nintendo GameBoy thì chắc hẳn đã từng có khoảng thời gian cày thâu đêm suốt sáng để luyện level cho những chú quái vật dễ thương trong serie Pokemon, từ Red & Blue cho đến Black & White. Pokemon đã được yêu thích và phổ biến trên toàn thế giới từ lâu rồi và những người yêu Pokemon cũng đã rất mong mỏi một cái gì đó đột phá hơn cách chơi game trên hệ máy GameBoy cũ. Và Pokemon Go ra đời. Không khó hiểu khi nó nhanh chóng trở nên phổ biến và vượt lên dẫn đầu trong bảng xếp hạng các mobile game. Vậy chúng ta hãy xem xem Pokemon Go là game như thế nào, cách chơi ra sao và tìm hiểu những nguyên nhân khác tại sao Pokemon Go lại trở nên phổ biến như thế.

Pokemon - viết tắt của Pocket Monster là một video game rất được yêu thích, cho phép bạn bắt và huấn luyện các quái vật nhờ đó bạn có thể sử dụng chúng để chiến đấu với các đấu thủ và các pokemon khác. Sau hơn 20 năm kể từ những game đầu tiên của Pokemon, Pokemon Go với gameplay mới mẻ focus vào việc yêu cầu người chơi phải đi chuyển đã ra đời. Tất nhiên trò chơi cũng không mất đi bản sắc của nó, đó là việc đi tìm và bắt các pokemon.

Việc bắt và tấn công các Pokemon, thay vì bạn cho nhân vật của mình đi lại trong game để tìm kiếm thì bạn phải thực sự di chuyển ở thế giới bên ngoài thì mới có thể bắt được Pokemon. Wow! Ở một góc độ nào đó, Pokemon Go giúp bạn có thể vận động cơ thể bằng cách phải thực sự di chuyển chứ không thể ngồi im một chỗ để bắt pokemon (trừ những người sử dụngc cheat để hack GPS).

Pokemon Go thành công bởi nó đã tạo được sự khác biệt so với các game tiền nhiệm của mình. Thay vì việc bó buộc trong hệ máy 3DS, game đã có thể chơi trên 2 hệ điều hành phổ biến nhất thế giới đó là Android và iOS, nơi có đông đảo lượng người dùng hằng ngày.

Bạn có thể cho Pokemon Go một mình, nhưng việc tham gia bắt Pokemon và chiến đấu cùng những người chới khác là trải nghiệm rất tuyệt. Việc Pokemon xuất hiện ở đâu, số lượng như thế nào đều xảy ra giống nhau đối với tất cả người chơi, vì thế bạn sẽ bắt gặp nhiều người chơi khác cũng đang tìm kiếm cùng với mình. Nhờ đó, thay vì ngồi một mình tách biệt ở trong phòng với điện thoại, máy tính, internet, bạn có được cảm giác mới mẻ khi cùng đi với những người bạn đồng hành trên con đường tìm kiếm pokemon.

Nội dung của Pokemon Go

Bạn nhập vai người chơi, phải di chuyển ngoài thế giới thực và bắt các Pokemon. Pokemon không phải lúc nào cũng ở một chỗ mà xuất hiện một cách ngẫu nhiên khắp mọi nơi, và cấp độ của các pokemon thì phụ thuộc vào level của người chơi.

Để bắt được Pokemon, bạn phải sử dụng pokeball, những quả bóng này có thể thu thập được bằng cách người chơi đi đến các Pokestop được chỉ dẫn ở trên bản đồ và cứ mỗi vài phút sẽ có thể lấy được bóng một lần.

Bên cạnh Pokeball dùng để bắt Pokemon, trong game còn có hệ thống các item như sau:

  • Razz Berries: cho pokemon ăn để có thể bắt được dễ dàng hơn.
  • Potion, Super Potion, Max Potion: Dùng để phục hồi sức mạnh của Pokemon
  • Revive, Max Revive: Dùng để làm một Pokemon bị bất tỉnh trong quá trình chiến đấu phục hồi lại.
  • Eggs: Người dùng nhặt được những quả trứng và sẽ phải đi một quãng đường nhất định ngoài đời thực để trứng nở.
  • Eggs Incubator: Trứng chỉ bắt đầu được ấp khi bạn sử dụng vật phẩm này.
  • Lucky Egg: Sử dụng để tăng kinh nghiệm bạn nhận được trong vòng 30 phút.
  • Incense: Thu hút pokemon đến vị trí của bạn trong vòng 30 phút giúp bạn không phải di chuyển xung quanh.
  • Lure Module:
  • PokeCoins:

Vậy những công nghệ nào đã được sử dụng trong Pokemon Go

Để làm nên một Pokemon Go thành công như hôm nay, chúng ta hãy cùng tìm hiểu xem những công nghệ nào đã được áp dụng nhé.

Định vị vị trí

Giống như Google Maps, "Pokemon Go" định vị điện thoại của bạn sử dụng GPS và tích hợp thông tin này vào bản đồ trong game. Trong một cuộc phỏng vấn, CEO John Hanke của Niantic cho biết một lượng lớn các dữ liệu về vị trí của Pokestop và Gyms được dựa trên thông tin từ một game AR khác của công ty, "Ingress". Rất nhiều địa điểm phổ biến và được biết đến nhiều trong Ingress chính là Pokestop hiện tại.

tracklocation.jpg

Không giống như hầu hết các multiplayer game ở tầm này, "Pokemon Go" sử dụng một server duy nhất, do đó tất cả các thông tin người chơi đều được xử lý ở một nơi, tại mọi thời điểm. Hanke cho rằng việc này giống nhau mọi người được cập nhật với thông tin về cổ phiếu vậy. "Do mọi thứ luôn luôn thay đổi, nó giống với một hệ thống tài chính thời gian thực hơn là một game nhiều người chơi thường gặp". Vì chỉ sử dụng một server nên single server này của Pokemon Go phải chịu tải rất lớn, đó có thể là lý do tại sao game server thường hay bị down nhiều như vậy.

Quyết định Pokemon xuất hiện ở đâu, lúc nào

decidelocation.jpg

Không có nhiều thông tin về thuật toán mà Pokemon Go sử dụng để phân phối vị trí quái vật trong game, nhưng Hanke cho biết game sử dụng thông tin về vị trí địa lý để tạo ra Pokemon ở những địa điểm tương ứng với môi trường sống của các Pokemon. Có vẻ nó phức tạp hơn chúng ta tưởng tượng, việc phân phối pokemon dựa vào cả Khí hậu, đất đai, rồi loại đất đá..., nhưng Hanke không cho biết những thông tin đó được lấy từ đâu. Ngoài ra, game còn sử dụng đồng hồ điện thoại của bạn để track thời gian, do đó nếu bạn ra ngoài vào ban đêm, bạn cũng thường xuyên gặp những loài sống về đêm hơn.

Hiển thị Pokemon

Game sử dụng một lượng lớn các dữ liệu từ game tiền nhiệm Ingress và thông tin địa điểm thời gian thực để quyết định Pokemon xuất hiện ở đâu và lúc nào, nhưng chúng xuất hiện ở trên điện thoại như thế nào? Phần này thực ra rất đơn giản, giống như hầu hết các game thực tế ảo khác, "Pokemon Go" sử dụng camera điện thoại của bạn để đặt Pokemon vào cùng với hình ảnh của môi trường xung quanh, cùng với GPS, các cảm biến tốc độ, la bàn, giúp hình ảnh được hiện thị trùng khớp khi bạn di chuyển điện thoại.

Những công nghệ cụ thể mà Pokemon Go sử dụng

  • Google App Engine: Pokémon Go sử dụng Google App Engine’s platform như một service (PaaS) cung cấp mobile backend cho game.
  • Google Cloud Datastore: Niantic lab sử dụng NoSQL Google Cloud Datastore để lưu trữ và index dữ liệu của Pokemon Go.
  • LibGDX: Game sử dụng Framework LibGDX và dùng các ngôn ngữ lập trình Java, C#, C++.
  • Unity3d: Game sử dụng game engine Unity3d để hỗ trợ việc tạo lập không gian của game MMO (massive multiplayer online game) sử dụng bản đồ ngoài đời thực
  • Google Analytics: Để đánh giá độ tương tác của game với người dùng, nhà phát hành đã sử dụng Google Analytics.

Kết luận