Niantic Attention, witches, wizards and even Muggles: You may now be able to secure a code name for the forthcoming Harry Potter: Wizards Unite game. If you already play Ingress Prime or Pokemon Go, you can reserve the same agent name or trainer nickname for Wizards Unite. First announced in 2017, Harry Potter: Wizards Unite is similar to Niantic's augmented reality game, Pokemon Go, which lets players wander the real world pointing their phones at virtual landmarks. Drawing on the world of JK Rowling's magical stories, Wizards Unite sends players out to interact with fantastic beasts, learn spells and duel. While there's no release date for the game yet, the opportunity to reserve an existing name is open until April 30. However, game creator Niantic points out this isn't a chance to create an entirely new user handle. You have to wait until Wizards Unite launches in your area to do that. To carry your existing name over to the Wizarding World, magic your way to Niantic's reservation portal. You'll be asked to log in to your Ingress or Pokemon Go account, and you can then reserve your name for Wizards Unite. If you have the same user name for both Pokemon Go and Ingress, you only need to reserve your handle once. But don't tarry: If someone else has the same name as you, it's first come, first served. So stop reading this and apparate over there right now.<doc-sep>Niantic has launched a new mini-website titled Wizards Unite Code Name Reservation, built on top of their existing official website. After claiming my username, the little dataminer inside of me couldn’t help but wonder: how does this work? Advertisement The website is separated into two parts: Use my Ingress Agent Name Use my Pokémon GO Trainer Nickname Ingress reservation redirects to intel.ingress.com/hpwu, the website that actually serves the Ingress Intel Map web application. Ingress and Pokémon GO reservations are fundamentally different, but they all target the same data layer (player profiles stored in Niantic’s Real World Platform). Pokémon GO reservation takes place on the original website (nianticlabs.com/hpwu-codenamereservation) and it’s actually a client side AngularJS application written in plain ol’ JavaScript. And you know what they say about plain ol’ JavaScript: anyone can read it. Which is exactly what we’ve done 🧙 Reservation form The reservation form is controlled by CodenameReservationController , a simple class that has a few different methods (some omitted for brevity): fbLoginClicked loginFacebook loginWithFacebookApi googleLoginClicked loginGoogle superAwesomeLoginClicked loginSuperAwesome getPlayer reserveName When you click on one of the login methods, the flow is as follows: Store current user Regardless of the method you used to login, Niantic is storing your logged in information into localStorage. Luckily for everyone involved, only an access token is stored – no Personally identifiable information (PII) is stored in your browser. Get Player The system tries to authorize you in the background. If you’re not logged in on FB/Google/SuperAwesome an authorization prompt will pop up urging you to login. Once logged in, the system fires a getPlayer call that goes to this address: https://social-prod-codenamereserve.eng.nianticlabs.com/plfe/web/json_action/GET_PLAYER and tries to load player information associated with the logged in user. Curiously, Niantic is using your Facebook/Google/SuperAwesome ID to identify you and lookup your current codename! If successful, getPlayer returns a JSON object similar to this: {status: "SUCCESS", codename: "Zer0ghan"} Reserve Codename Once getPlayer finishes, you can now click Reserve Codename and the system will post your request to another endpoint on Niantic’s servers: https://social-prod-codenamereserve.eng.nianticlabs.com/plfe/web/json_action/RESERVE_CODENAME Once again, you are identified with a token, but this time it’s a Niantic-issued “Bearer Token” stored in the Authorization header of the POST request. This method of relaying user’s request without actually sending your codename is secure, fast and ingenious. We salute Niantic for implementing the reservation securely: there are no passwords, codenames or any other vulnerable information exchanged during the entire process. We are also impressed that trying to reserve a codename with several different login methods actually points to the same Niantic account! I’ve tried claiming my Zer0ghan codename via Facebook (first) and Google login (second), and the Google login method correctly stated the following: We’re sorry, we are unable to complete this reservation. You’ve already reserved a Code Name for Harry Potter: Wizards Unite. Apparently, once you claim a codename, you will be able to use any login method currently associated with your account to use it when Wizards Unite launches in your region. Conclusion Niantic is using industry standards code for authorization, authentication and information transfer. Your current codename / username is safe from hijacking, modifications and overwrites. Despite site saying that you will have to use the same login method once Wizards Unite is available, evidence suggests that any login method associated with your Niantic account will give you access to your reserved codename. Code Dump As per tradition, an analysis is not complete without a proof of mining. Well, here we go (parts of the code omitted for brevity): CodenameReservationController var CodenameReservationController = function($scope, $http) { var PGO_BASE_URL = "https://social-prod-codenamereserve.eng.nianticlabs.com/plfe" , INGRESS_BASE_URL = "https://intel.ingress.com" , KWS_CALLBACK_BASE = window.location.origin; this.URLS = Object.freeze({ login: PGO_BASE_URL + "/web/login", get_player: PGO_BASE_URL + "/web/json_action/GET_PLAYER", reserve_codename: PGO_BASE_URL + "/web/json_action/RESERVE_CODENAME", ingress_flow: INGRESS_BASE_URL + "/hpwu", get_updates: "https://www.harrypotterwizardsunite.com/", kws_callback: KWS_CALLBACK_BASE + "/hpwu-codenamereservation" }), this.STATES = Object.freeze({ unset: 0, success: 1, failure: 2, already_reserved: 3, init: 4, pgo: 5, pgo_logged_in: 6, ptc: 7, reservation_period_ended: 8, heavy_load: 9 }), }; GetPlayer CodenameReservationController.prototype.getPlayer = function() { var currentUser = JSON.parse(localStorage.getItem("currentUser")) , self = this , config = { headers: { Authorization: "Bearer " + currentUser.accessToken } }; this.$http.post(this.URLS.get_player, {}, config).then(function(response) { self.setButtonsDisabled(!1), response.data && response.data.codename && "SUCCESS" === response.data.status && (self.codename = response.data.codename, self.setState(self.STATES.pgo_logged_in)) }, function(response) { self.setButtonsDisabled(!1) }) } ReserveName CodenameReservationController.prototype.reserveName = function() { this.setButtonsDisabled(!0); var currentUser = JSON.parse(localStorage.getItem("currentUser")) , self = this , config = { headers: { Authorization: "Bearer " + currentUser.accessToken } }; this.$http.post(this.URLS.reserve_codename, {}, config).then(function(response) { if (self.setButtonsDisabled(!1), response.data) { var status = response.data.status; if ("SUCCESS" === status) return void self.setState(self.STATES.success); if ("ALREADY_HAS_CODENAME" === status) return void self.setState(self.STATES.already_reserved) } self.setState(self.STATES.failure) }, function(response) { self.setButtonsDisabled(!1) }) }<doc-sep>Niantic’s follow-up to the absurdly popular Pokémon GO, the long-awaited Harry Potter: Wizards Unite, has one major drawback: unlike its predecessor, you can’t explain it in a single sentence. There’s so much to do in this game that it may repel some casual players — but while its depths of systems and collectibles may be nigh endless, don’t worry: you still basically just walk around doing wizard and witch stuff. We first reported the news that this was coming back in 2017. Last week I got to spend a short time playing the game at Niantic’s office in San Francisco, and while they didn’t reveal all their secrets, I saw enough to convince me that HP:WU (I await a catchier nickname, like PoGO) will be a huge time sink for any Harry Potter fan and will probably convert or cannibalize many players from GO. If you were worried this would be a slapdash cash-in effort like some of the HP tie-ins we’ve seen… don’t be. This is legit. Rowling isn’t involved, and the voice actors are sound-alikes, but still legit. And just to get some of the major facts out of the way before we move on: it’s coming out sometime in 2019 (I’d guess before Summer but they wouldn’t say), in 17 languages (listed at bottom; actual countries where it’ll be offered unknown), there’s no wand accessory yet (I asked and they all looked nervous), minimum specs are reasonable and AR is optional, and it’s free but there are in-app purchases. So what is this game? While it would be misleading to say it’s just HP:GO, the similarities are deep. But there’s a lot more going on. Perhaps I’d best summarize it in bullet point form before I embark on the many details. In HP:WU you: Walk around a wizarding-themed version of the real world looking for locations at which to resupply and “foundables” to encounter Dispel, battle, or otherwise deal with the “confoundable” associated with these Earn reward items from encounters and for entering foundables in your registry Use reward items to level up in various professions, brew potions, and battle alongside others at “fortresses” Find rare foundables that advance the overall plot of why this is all happening anyway So let’s take that piece by piece. (By the way: The few images I have here were provided by Niantic and Portkey Games, the studio under WB Games who co-developed the game; I actually saw much more than what the shots show, so if something I describe isn’t illustrated directly, don’t worry — it’s in there.) Walkable Wizarding World “For Harry Potter fans, the line between the real world and the wizarding world is paper thin,” said WB Games’s Jonathan Knight. So they wanted to make it seem like, as with the pervasive hidden nooks and secrets of the HP world, “magic is all around you.” The plot that enables all this is that, in a post-Deathly Hallows HP world, a macguffin event has caused magical items and creatures to appear all over the muggle world, threatening to expose the existence of magic; Witches and wizards are being recruited to track these things down and deal with them. Conveniently, the event snatched these things and people from all throughout history and the world, laying them down willy-nilly — so you’re just as likely to find Fleur Delacoeur as Hermione Granger, or a young Dumbledore as an old one. As a member of the SOS squad (enforcing the “Statute Of Secrecy” mandating separation between the magic and muggle worlds, you know), you’re tasked with tracking down these various things wherever they appear and reporting back to the ministry. The map is, like in Pokémon GO, where you’ll be spending most of your time. As before, it reflects the streets and features nearby: streets, parks, landmarks, and so on. It’s decidedly busier this time, however, both with gameplay elements and set dressing. Brooms and owls zip overhead, potion ingredients clutter the ground around you, and locations to visit sprinkle every block. (Although I’d hoped they’d use the Marauder’s Map aesthetic, they were probably right not to: it would probably get old fast.) You interact with these locations as you would spin Pokéstops in GO, with “inns” and “greenhouses” giving you a semi-randomized reward every time (and starting a 5-minute cooldown). Encounters and ingredients pop up like Pokémon did, appearing semi-randomly but with some tendencies or affinities — for example, you’re more likely to find school-related foundables by actual schools, and so on. These places are helpfully noted by a little flag that highlights the affected area, such as: “Golden Gate Park – you’ll encounter more magical creatures here.” The equivalent to lures are “dark detectors,” which will cause encounters to pop up with more frequency around the location you attach it to — and you can stack them! These will no doubt be a popular purchase. One nice touch: when you move quickly, your character flies on a broom. No more “running” along the highway. That always did bug me. Of course you’ll also be able to customize your appearance, and you even get to make a (non-public) “wizarding passport” complete with a moving photo you can outfit with various AR props. Your Hogwarts house is just something you select and which has no gameplay effect — for now. Swish and flick When you tap an encounter, you enter an AR minigame where you may, for instance, have to cast a spell to free Buckbeak the gryphon from a magical ball and chain, or defeat a monster threatening a character from the books. You do this generally by tracing a shape with your finger on the screen to cast a spell. You don’t get to choose the spell, unfortunately, it’s built into the encounter. The more accurate and quick your trace is, the better the power of the spell — a bit like throw quality in Pokémon. It’s similar in combat except you’ll also have to quickly cast protego when the enemy attacks you. That’s right, there are hostiles in this game! And although you can’t “die,” running out of stamina will fail the encounter or mission. More combat options open up later, though, as you’ll see. Encounters also vary in difficulty, which can be determined from the map or within the encounter — you may find some foes or rescues are beyond your power until you pump up a bit (or quaff a potion). There are other little twists on the formula, though — the team said they have over 100 unique encounters, all fully realized in AR. And although you can only interact with them from a sweet spot that appears on the ground in AR, you can take your time to walk around or closely inspect the scene. Foundables and confoundables and the other 20 things Everything you’ll encounter is a foundable, and falls under one of numerous categories: magic zoology, dark arts, oddities, magical games and sports, Hogwarts, and so on. And every foundable is listed in a sort of sticker book you’ll fill in bit by bit as you encounter them. Free Buckbeak however many times and it’ll be fully filled in, giving you various bonuses and, perhaps more importantly, the ability to take AR photos with the creature or character in question. The creatures and characters range from common to very rare, of course, and you’ll need to get dozens of the former to fill in the book, but only one or a handful for certain plot-related items. They only shared the bare bones of the story, which will be revealed through in-game text and events, but a “deep, multi-year narrative arc” is promised. You can probably expect new foundables and ingredients and such to be added regularly. One detail I found highly compelling was that weather, time of day, and even astral phenomena like moon phase will affect what you encounter. So for instance, werewolves may only come out on the full moon, while certain potion ingredients only appear (or appear more) when it’s raining, or in the evening.<doc-sep>
Earlier today, Niantic unveiled codename pre-registrations for existing Pokémon GO and Ingress players! Until April 30th, 2019 at 11:59 P.M. PT, Ingress Agents and Pokémon GO Trainers will be able to reserve their Agent Name or Trainer Nickname to use in Harry Potter: Wizards Unite. Please note that at this time, you can’t reserve a new unique name unless you change your name on Pokemon GO. I know, this is unfortunate for unique witchcraft and wizardry names. However, it’s a start! You should also know that Pokemon Trainer Club accounts don’t work. You will need to link your Trainer Club account with your Google account. There are exceptions, however. There may be some cases where Codename reservations are not guaranteed. For example, your Code Name may overlap with a user in another Niantic title. For this scenario, reservation will be first come, first served. So apply for reservation as soon as you read this news! It’s also possible that if your codename overlaps too much with iconic names in the wizarding world, you won’t be allowed to use it for Wizards Unite. A few WUtubers weren’t able to get their codenames, and it’s unclear if that is because their codenames overlapped with an Ingress player or if their codenames were already too magical. We will update this post if we learn more. Until then, grab your codename ASAP! Reserve your code name here! You can also read our In-depth look at how Wizards Unite codename regservation works for a more technical overview of the reservation system. As always, keep coming back to Wizards Unite Hub for the latest news, wikis, and articles involving Wizards Unite!