Leave a Reply

30 Comments on "Unite 2016 – Unity Architecture in Pokémon Go"

Notify of
avatar

Pedro Oliveira
Guest
Pedro Oliveira
8 months 17 days ago

Anyone else with audio problems playing the video?

Victor Maia Aldecôa
Guest
Victor Maia Aldecôa
8 months 21 days ago
Pokemon has many performance problems, no doubt, but that's because they released it in a very early development stage. I can see no argument on how this architecture can have anything to do with bad performance or high battery usage.Regarding "overcomplicated" or "Unity is a prototyping tool" arguments, my opinion is: this is a professional approach targeted for professionals. It's overly complicated because maintaining a long term project is complicated. Unity is an awesome engine which is mainly used by amateurs (in the good sense of the word) but of course it can also be used for professional projects and… Read more »
Sergey Taraban
Guest
Sergey Taraban
9 months 7 days ago

Overcomplicated approach. And probably that is the reason why game is working so slow and kill your battery. Game is very simple in general. This approach add unnecessary complexity

Muhammad Khalid
Guest
Muhammad Khalid
8 months 28 days ago

you are absolutely right on this. they really had their time with design patterns but i really don't think we should care this much in game development specially in Unity bcoz the core OOP is already broken in first place. in game development we care more about efficiency than code management.

sniperkitty 3000xx
Guest
sniperkitty 3000xx
9 months 16 days ago

unity is a prototyping engine

sniperkitty 3000xx
Guest
sniperkitty 3000xx
9 months 16 days ago

talk about how you save everything and hand it over to the nsa

wiz hunter
Guest
wiz hunter
9 months 22 days ago

hey sir pokemon doesnot work on my device …sir why didnot u made it for 4.1.2 os android ….

Brandon Klopp
Guest
Brandon Klopp
10 months 5 days ago

This game runs like ass though. Why should I listen to him?

KusaiHussein
Guest
KusaiHussein
8 months 25 days ago

Do not forget that the game freezes/gets stuck pretty frequently. If you restart it the wait starts all over again. (Not to mention that it gets stuck as a white screen immediately after loading about every 5th time)

epiplon
Guest
epiplon
9 months 19 days ago

I have to agree. This is the kind of game that should be running on your phone all the time, vibrate or play sounds when there are Pokemon nearby and just launch in an instant. But no, you have to wait for a loooooong loading screen, wait until it connects to the server, wait, wait and then play the game. If you switch app, TOO BAD, you have to wait all over again. Really sad.

wiz hunter
Guest
wiz hunter
9 months 22 days ago

Brandon Klopp it how developer get concept bro

garrazinneq
Guest
garrazinneq
9 months 29 days ago

pretty legit argument.

Roland Horváth
Guest
Roland Horváth
10 months 13 days ago

Who else thinks this is a bit overcomplicated? 😀

Lyle Davids
Guest
Lyle Davids
10 months 13 days ago

Is the game still popular in society?

Christian Brandoni
Guest
Christian Brandoni
10 months 13 days ago

All nice examples of what you SHOULD NOT do in Unity. Like ever!

sniperkitty 3000xx
Guest
sniperkitty 3000xx
9 months 16 days ago

nvm

Maximo Rodriguez
Guest
Maximo Rodriguez
9 months 16 days ago
I feel like this could be a very good opportunity for devs like yourself to showcase actually what TO DO on Unity when projects surpass a certain scope. Again, I have not worked on anything Unity like on what I've worked let's say on C++ or C# codebases, but after some point, you simply cannot architect and design like you a have a 1k line project when you have 500k or a million. It would be very enlightening if people could provide samples or links to blogs or writes of their own that show how they have done it in… Read more »
Naman Dwivedi
Guest
Naman Dwivedi
9 months 18 days ago
I agree that Pokemon Go doesn't play the best, but I don't think it has anything to do with DI per say, it just seems like bad game design to me. I checked out DI in detail after hearing this talk and I have to say I am impressed at the very least. It makes your code so much more loosely coupled, it becomes so easy to just look at the code and figure out whats going on, where the bug is, and so on. Plus it makes your codebase so much more scalable, one of the problems I had… Read more »
Titangea / Daniel Porras
Guest
Titangea / Daniel Porras
10 months 6 days ago

the first time I tried to play pokemon go, I was sure that it had a horrible optimization, and now I'm still believing that.

Christian Brandoni
Guest
Christian Brandoni
10 months 9 days ago
Except that Pokemon GO client, the part that is written in Unity, isn't complex at all, couldn't be more simple. The only complex and unordinary part was rendering vector tiles, but since they already had experience with this I doubt it was hard. The rest of the client do what? Play some sound and move ( or rather slide, cause the walking doesn't match) a character on a map. The hard part do live on the server code, not the client.If I recall correctly they had several bugs and crash in even the most basics things, the most common review… Read more »
Maximo Rodriguez
Guest
Maximo Rodriguez
10 months 10 days ago
Nothing here indicates having to rewrite any of Unity to make it work. Sure, there's complexity added, but DI and IoC exist for a reason. I am not in favor of over designing software, but also know what it's like working on a massive codebase and with a huge team. I for one have never worked on something as massive and complex as Pokemon Go seems to be, and thus cannot say for sure how many benefits these guys obtained from introducing this complexity, but I'm assuming they also know what they are doing. I would also like to know… Read more »
J. Sleeka
Guest
J. Sleeka
10 months 10 days ago

True, most of the things he is talking about sound like they had to re-write some parts of Unity Engine for no reason lol

Christian Brandoni
Guest
Christian Brandoni
10 months 12 days ago
Because of several reason:1-Introduce needless complexity to the code2-All this abstraction has a performance cost3-It's fighting against the tool it's using. It's like going around in a car and have people pushing it instead of using the engine.4-It's trying to solve a problem which doesn't exist.5-Actually harder to debug.My architecture is really simple:1-Singleton managers that handle global functions such as gameplay state, connections to backend server, Pooling, Audio playback.2-Everything else is a monobehaviour that is self-sustainable as much as possible. Meaning it's designed to do a very specific thing and shouldn't rely on other to function. The components dialog by… Read more »
Maximo Rodriguez
Guest
Maximo Rodriguez
10 months 13 days ago

And why is that? Not saying right or wrong, just curious as to other approaches. What practices or usual architecture do you employ? Thanks

wpDiscuz