Can Unity by itself be used to create PoGo-like game

Hi !
So I am thinking about creating PoGo-like game and was wondering if Unity can handle all asspects of the game, or would I still need to have special implementation on Android (and IPhone) to handle certain stuff.

So (from my point of view) PoGo has following functionalities:

  • Walking on map, interacting with pokemons and Wayspots (arenas etc), I know this can be done with help of some libraries (MapBox, although this one has AR support broken, Lightning Maps, etc)
  • Shop support to buy/extend stuff. Don’t know about this one
  • Inventory management. I imagine this is probably one of the core unity features, what would game without inventory be…
  • Gifting functionality. This is Niantic specific, but could probably be done directly in unity
  • ActiveSync (I think this is Niantic specific, but I was wondering if we could do something similar in Unity alone, maybe by getting data from Google Fit (and Iphone counterpart)
  • Customer support: Send errors to developers, Getting support if something is wrong
  • Assets management
  • Configuration of the game

Some of this points I am really unsure of: mainly Shopping part and Customer support. But I am all together fairly new to Unity which is why such basic question…

Any comments about this would be welcome.
Andy

Pokemon Go is made in Unity. As for specific player interactions that concern some kind of backend, you must implement that yourself or use some service that offers those features. Saving user data locally is a no go at that scale.

You also sound very new. Niantic has 800 employees. Replicating Pokemon Go solo would be extremely difficult with experience. Without it, your chances are miniscule of ever finishing this. Consider doing something more reasonable to acquire experience first.

2 Likes

I’ve looked into this from time to time and it’s a colossal amount of work to accomplish. PoGo uses OpenStreetMap which is free but the data set is just over 2TB making it impossible to distribute with your game so you would need to look into hosting it somewhere and creating a framework that can access it in a timely fashion.

PoGo has two modes: AR and AR+. AR mode is a fake effect that just renders the Pokemon on top of the camera feed, and AR+ as far as I’m aware just tracks the position of the user rotating the Pokemon to appear to be in the world and the speed at which the player moves towards it.

Are you just new to Unity? Or are you new to game development? Or even development in general? Because one experienced developer would still take a long time to create a clone of PoGo and even then it wouldn’t have near the same amount of polish. Niantic had two years with all of that staff to do it in.

To be honest and bold Frank, drop it.
You are new to game dev as other stated.
You will save yoursekf frustration and disappointment.

Pick something simpler. No networking or anything related. Try make small game. Simple platformer, arcanoid or even pong. See yourself, how long it will take for you to make. Then skale time up, and you may end up in decade+ time for initial OP idea, to make it work in any capacity.

1 Like

Since the engine behind PoGo IS Unity, what exactly do you mean with “by itself”?

Extremely large Open world games aren’t Unity’s strong suit but the map details in your surroundings are fairly simple. Way simpler than usual procedurally generated terrain of RPG. It’s just that you are forced to stream them from the web if you want to encompass the whole world. Still even if you allow driving by car, you should not have too much problem with loading from the server.
By now you probably can get away with less optimization than when PoGo was introduced due to the progress in hardware.

For AR there are plenty of sample projects of varying hardware requirements out there. Sometimes using external APIs already on the target device (iOS has a good one; I bet Android too by now), rarely directly in C#, often with external C++ code like from OpenCV but usable from within Unity.
Wouldn’t recommending implementing that feature from scratch as it’s a constantly progressing field of tech. Better to hook onto something existing.

EDIT:
Building upon incredible thing could be something to look into:

Of course all this should not be your first game project ever…

OK. So I will try to answer all your questions in single entry.

I am professional developer for last 25 years, working mostly in Java (backends and stuff), little in Android and in begining I worked few years in various C# projects. But I am new to Game development and to Unity…

I am actually not trying to create the game from scratch, but I would like to bring back to life, game that was retired. I have all Unity Assets of the game, what is missing are scripts parts and of course since game was turned off, even if I had all the scripts (C# part) it would be mostly useless.

Reason for the question was mostly, because while I was looking at Android decompiled code, I noticed that some parts were written directly in application itself (customer managment was done through helpshift library for example), and this made me wonder how much of everything could be written directly in Unity, to minimize changes required directly on Android (and IPhone) backends…

My plan was to use Ligtning ARDK (from Niantic) and Ligtning Maps library, which offer a lot of what I need out of the box.

Unfortunately the knowledge of industrial, or backend expertise is little to use in game dev. It has been shown many times over and rather problematic in game design, here on Unity forum, when various devs over the past tried to apply their industrial expertise in game dev. Plus tendency to overengineering.

While sure it helps knowing related language, or other languages, you need to learn Unity API and Unity editor, plus game dev know how, which will require from you at least few months alone, before feeling somehow comfortable. And that will be especially true, if you still working full time at your job and you want to do game dev at the spare time.

Also, why the industrial programming expertise is less of use, it is because such application doesn’t unusually take into consideration frame rate constraint. So to the pool of learning requirements comes optimizations on various levels.

And in the end, you got some assets, which are old, and it is unclear from description, if they are suitable for today’s game. They may be low quality, which will lead to needing improving them. Which may cost a time. That is my guess however, since I haven’t seen assets.

Source of assets also is questionable, in any case of any legal aspects. Unless it is your own game.

By all means, if you know what you doing, you can ignore what I wrote and go ahead with a project.
But otherwise, since you are asking and you would be aware by know, that only limit is the time and resources you can put into project. Either way, be aware about being realistic with the goal you set on and time constrains.

Asking if is doable, you had your answers already.
Question to yourself is, how much time you are willing to put into the project.

So to be sure we understand this right, you are intending to revive a project that was developed in Unity, but is not open source?
Do you have permission from the original developers?

While this might be technically possible and even disregarding the legality of this, all in all that really is the least fun way to start out with Unity if you ask me…
Game dev is about creativity and bringing your own idea to life!

3 Likes

As stated above, Pokemon GO and other similar games were written in Unity, and do use external services for the mapping part. (or internal in the case of Pokemon). Everything you listed can be done in Unity obviously with some kind of backend. Virtually none of that is “out of the box”. You will need to write it or buy/license it.

Discussion of decompiling which you do not have rights to is not allowed here. Closing this thread as the question has been answered and don’t want it to go down the road of piracy discussion.