Problems with location-based games

Location-based games are a relatively new genre in games brought on by the prolific use of GPS in mobile devices. In many ways, this genre is still cutting edge and developers are still finding their way with what works with players. Let's take a look at the main problems with location-based games and what options you may or may not have getting around them:

  • GIS mapping services: Likely at the core of your game will be the requirement to display location on a map. The following is a list of options for how you could perform that:
  • Use your own GIS servers: While this is an option and there are a few good open source GIS platforms out there, be aware that you will still need to support the servers and GIS platforms are notoriously CPU hungry.
  • Use Google Static Maps: This is the option we used in this book with good success. However, be aware that using the Google Maps Static API is subject to limitations. The limitation is 2,500 requests per day per IP address.
  • Use Google Maps: Google Maps is currently free on Android or iOS platforms, provided you use the provided SDK. Perhaps in the future, this may also be an option for Unity developers out of the box.
  • Use a different service: There are a number of other free GIS services out there. This may be a valid option if you are okay with the map styles. Alternatively, a shader could be used to alter the visual style in some manner that is more aesthetic to your game.
  • Location data: Location-based games are, by their nature, tied to location data, be it real world or virtual. The following list reviews a few options for accessing location data:
    • Use you own GIS servers: Again, this is an expensive option but it certainly has its advantages. You could, for instance, spawn monsters or creatures according to advanced GIS rules. Taking this step will require some advanced knowledge of GIS that is far outside the scope of this book.
    • Use Google Places: The option we used in this book worked well for our small example but, unfortunately, may not scale well. Remember, those usage limits were quite restrictive. However, you can also procure licensing from Google to increase limits at a price. So, it may be a viable option if your game is earning revenue.
    • Use another service: There are other location-based data services out there (Foursquare, for example) that provide similar or, in some cases, better data depending on your needs and region. This could be a viable option and you could use some of the skills you picked up in this book to connect to those other services.
  • Multiplayer support: Unlike other genre's, the location-based game cannot just expect to use off-the-shelf multiplayer services. Location-based games are continuous and players often play over extended periods of time. As well, players should only interact with each other at a certain physical distance. We will get into more details about multiplayer networking in the next section, but here is a list of multiplayer options:
    • Photon PUN: Photon is a great multiplayer service and is easy to set up and get running quickly. However, like other multiplayer networking services, there is only limited support for extended state transition. This means that players who connect after being away may be overwhelmed with update messages.
    • Unity UNET. The Unity multiplayer networking system, UNET, is a robust and useful framework for peer to peer games. For games that require extended state and regional filters, UNET is certainly not it.
    • Other multiplayer platforms: There are plenty of other options around that may work. The key thing to keep in mind is state management across sessions and limiting player interaction to geographic regions. The best options here are platforms that provide you with a server that you can customize according to your needs.
    • Develop your own server: If you have already taken the serious jump of providing your own GIS data services, this is certainly an option. We will explore this concept a little further in the next section.
    • Use an online real-time cloud database: This may sound like an out-of-the-box and whacky solution, yet this is a viable option and one that we will seriously explore in the next section on multiplayer networking.

Hopefully, this honest discussion of the problems with developing a location-based game hasn't scared you away from continuing. As we discussed at the beginning of the book though, location-based games come with a number of unique and difficult problems, with supporting multiplayer being at the top of the list, but in the next section, we will discuss some strategies to develop a location-based multiplayer game.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.218.55.14