The structure of how it works isn’t too complex. Google maps API integration, feed in the server your current GPS coordinates, server hands back a JSON of whats near you, app draws it on the map.
Thats how pokemon go works, at least; thats how my hacked together pokemon go tracker works too, based on their apis.
Yeh that was our line of thinking too, I’m wondering how the location algorithm works, would it be similar to a procedural algorithm which has a starting key/parameters to insure that everyone always get the same result ie same pokemon at the same location.
I know that that the company used some locations dat that were part of their previous game on Pokemon Go.
So it could be something more simplier as assigning some pokemons to certain areas on a database, but who knows.
Yeah basically. Each pokemon is generated at a specific location, and it stays there until it despawns (it doesnt move around from my tests) which is simple. There are geo location libraries which can be used to retried all objects within a certain distance of you. If your server database stores all the pokemon in it (likely a nosql database which scales easy), its as easy as knowing the users location, and getting all the pokemon returned within a specific distance from their current coordinates.
Then you’d have a process creating these objects and putting them in the database. The way Niantic does it, is by using cell phone usage statistics (they originated from google, so they have all that data googles been collecting) and making hot spot zones with more cell phone usage spawn pokemon more. If you ever check near a cell phone store, you’ll see a ton of pokemon.
Also, portals were croudsourced from a game called Ingress (same concept, different execution, more about controlling points of interests and linking locations in triangle shapes to cover an area in your teams color and boost your teams global score). It was really this simple: Take all the google maps locations of certain types (Churches, libraries, etc) and make that the starting seed data in your database. From there, each user can add a new portal to the game. From the app, they submit a portal, along with a picture of said portal. This goes to a review person who can accept or deny your portal submission. Things which were deemed “Interesting” were accepted, stuff like “The trashcan next to my house” were rejected. They were stricter when things were closer, and more lax when it came to rural submissions to try to give people places to play. In game, you earned badges (like pokemon go) and one of them was for submitting portals. So players clamored to submit portals (they even showed up in game as “Submitted by PimpWilly”) to earn their badges and give themselves more local places to play, or even just submit pictures for existing portals. Somewhere along the way, the submissions process broke down. They were like 6 months backlogged with submissions, and eventually just stopped processing them alltogether. So theres no way to get new ingress portals.
Spoiler
Heres one I submitted and had accepted 2 years ago
Pokemon go just took all that data, and said “Okay, these are our pokestops/gyms.” Some locations were removed completely, some were made into pokestops, others gyms. I heard it had something to do with portals which were included as parts of “Missions” (another user created thing, to create basically stories where you travel portals in specific orders) were more likely to become gyms, not really sure.
I believe pokemon are more likely to spawn near these portals. When I look at the map data around me, there are clusters near portals, and also near high cell phone usage places. I think they also do shit like “Water spawns more water pokemon” and “Desert spawns more rock pokemon” but Im not sure how they seed it, thats where the magic happens.
The actual generation of an object, spawning it at a location in lat/long, then retrieving it to show overlayed on a google maps object is pretty easy to replicate. Its the gathering of all that Data that google had access too, and growing to a critical mass point, that really helped Pokemon get off the ground running, While Ingress spent years developing the data they used. Its pretty genius.
Was reading the YIFY interview after he got shut down. He was talking about how he learned to script automate the process of monitoring new torrent releases, downloading the torrents, encoding the movies into his format, creating the torrents and then uploading them.
How does someone write a script to do all these? Which scripting language can browse and parse web content, communicate with x264 encoders and torrent client, and even create new messages on forums?
How do people create bots for anything in general?
Ruby and Python could do those things pretty easily; I had written a java program (not quite scripts I know) that used to parse SRK for information for our mafia games.
Does anybody have any experience with NoSQL databases?
I’m doing a web app project with a buddy in my spare time, and one of the things I wanted to do was to use some new technologies, so one of those I settled on was NoSQL; specifically, Im using DynamoDB on Amazon cloud. But the problem is, some things which would be fairly easy to solve using a normal Relational Database seem nearly impossible on NoSQL.
Take, for instance, the idea of having a set of posts, and then having a timeline of those posts. Each post has a timestamp.
In Relational Database, I’d just have to do “select * from posts order by creationDate descending” and bam, all the posts come back in descending order.
DynamoDB, because all the data is broken up and distributed, cannot do such a thing easily. You cannot seem to do a query on all the data and bring it back, unless you know every primary key (aka hash) you are searching on, and then do one for each hash. I can do a Scan and retrieve all the data in the database, but it doesn’t let me do any sort of sorting, I’d have to do that on my own server side AFTER I got all the data, so I can’t even have it return the latest 10 posts. I can do the latest 10 posts for a specific Hash key, but not overall.
So its posing some design challenges, for sure, I think I have to rethink some things I take for granted, such as having a separate table of “Top Posts” to populate/pull from for something like that. Its definitely less about designing a good schema and more about storing redundant data for speed and ease of retrieval.
On a completely random unrelated note, I got hit up by a recruiter from Riot Games, and I told him if he was recruiting to work with @inkblot and @Ponder then for sure to let me know, otherwise I wasn’t interested, and we had the first interview and now its time for the technical interview; but Im holding off on that so I can brush up first because I know Im gonna get hit with shit that I don’t use on a daily basis (like big O notation) that I definitely understand the concepts of but still are rusty. Bonus is that Im not in the need of a job, so I don’t have to stress out about it, but how awesome would it be to develop a fighting game like that? Pretty much a dream job
Maybe it’s just my limited experience, but NoSQL is just like that. It’s good for when you have to store data as an object that would otherwise take tons of queries across multiple tables to retrieve, but it’s bad for sorting/paging (easy with SQL). I have some experience with Azure Table Storage (which is basically another NoSQL solution) through my work, and lately attempting to resolve some issues with searching/paging/sorting has been a nightmare. The issues I’m encountering are similar to yours. I can query on/search some fields, but not others that might be requested. So I have to basically get more data than was requested and filter it down server-side. No way around it (that I can see). Maybe we can chalk it up to the technology being relatively new in comparison to SQL, but querying has a long way to go.
I think its treated like a Feature more than anything. When you have your data distributed into distinct partitions, you have to basically search each partition individually. But it is quite annoying to deal with.
I found that amazon has something called Elasticsearch, which can now integrate with DynamoDB, so when you need to do a full data set search you can use that service; so I’ll probably start to look into that
So, the web app project I was working on is picking up steam. Instead of just a side project, we already got offered 25k in seed money, which we agreed to turn down (mostly because he wanted 25k for 25% which I think is way underselling us for what we need to be now). But its cool, because we’re looking like we’re gonna move forward with it and turn it into something real.
So now Im the CTO of this company we’re starting lol.
I just got a job as a JavaScript developer. All these JavaScript web technologies are nuts lol, can’t believe it has been possible to code with JavaScript fullstack for some time now. I’ll always look fondly at Java and Python (fuck PHP) but it really seems like web dev is all about JS now.
"Live stream of reverse engineering the “feature” provided by the capcom.sys driver on Windows using Binary Ninja and Windbg. Stream ends with development of a working exploit written in C that elevates privileges to SYSTEM."
Not exactly my field of expertise, still really had a blast watching it and it’s well explained.
But at least the technical wizards released a “tool” to remove it earlier today.
One week later. A short batch file. ( ͡° ͜ʖ ͡°)
[e] For people now knowing capcom.sys: Capcom tried to fight cheaters in Street Fighter V…
By creating a signed(!) driver allowing anyone to run code on ring0 level.
Putting every windows computer at risk. Cause… why not? Wasn’t the best idea they had.
Nice man! I signed up for founder2be.com last year and I met up with a business guy and since last November I’ve been working on an app that we launched in beta last week on iOS. We’re having some trouble getting people to sign up for the beta since we’re trying to use TestFlight, but we have a few ideas to get users. If we can’t then we’re just going to post it to app store and start marketing it from there.
The business guy was offered $50k for 50% of the company before he met up with me, when it was in conceptual stages only, but he (obviously) turned that down and now it’s 3 of us - 2 devs 1 business guy. I’m also the CTO of the company. As of right now, I’m a CTO of a company worth exactly $0 lol.
so I’m 3 weeks into my first programming class (C++) and I’m really liking the experience. As of right now, it feels like putting puzzle pieces together, however wrong of an analogy that is to an experienced programmer. I want to get my feet further wet by taking another class next quarter, and if I like it, I’ll decide on working on a computer science minor.
I don’t think that is a bad analogy. It is a lot of tiny things all working together to create a bigger picture, so I can see that analogy. I think that is a good way to look at it too considering you really want to break up the code as much as possible into smaller chunks, rather than having one big function that does everything.
If you like that feeling, it just gets better though. That is a big reason I am a fan of full stack development rather than being stuck on one side. I just really enjoy the whole feeling of being able to see the whole process through and doing the work for it too, where you enter something on a client, have the client make a call to the backend, the backend then in turn does some stuff and makes a call to the database, it gets the data back from the database, then sends a response to the client, and then the client parses the data to display it to the user. I just enjoy seeing the whole thing through and it feels very rewarding as well.
There have been tools around to do this for quite a while now, this is nothing new. PhoneGap has been around for a while. You can also make games in Unity 3D written in JS that will compile for both devices (and others).
That said, we’re using React Native for a portion of our app too. It’s only done for iOS right now as it’s just for one view (the main view in the app) but it’s going to be very helpful when we have to write the Android one since that portion (as well as backend) will already be implemented.
Yeah, it’s just that I’m so amazed that this is the first time I’ve heard of it. React is ~2-years-ago technology now, too. Granted my college degree wasn’t too into IT but still, I’m really surprised at all these JavaScript technologies.
Yeah, I also just recently found out that you can use JS for Unity haha, which is fine cause it’s not like I spent that much time with C#.
Anyway expect to hear more “wow I can’t believe this x technology has existed for some time now” from me as I discover more of web dev.
Also I feel like a fucking caveman for using Java EE just a couple of months ago lmao, how is it that fuckers still teach that in school?!