Showing posts with label maptag. Show all posts
Showing posts with label maptag. Show all posts
Wednesday, November 9, 2016
The ever changing API
I just played a game after several months' hiatus and discovered labels all over the StreetView. Well, where's the challenge in that? Thanks, Google! So after poking in the API for a few minutes, I found a StreetView panoramaOption called showRoadLabels. Easy to fix, but it makes me wonder if I am going to have to play MapTag for the rest of my life to check on API changes.
Tuesday, May 3, 2016
Compensating for Google Maps, again
I'd been trying to avoid it, but the new version of Google Maps has made it really difficult to get exactly 1000 points in MapTag. It used to be you could step out of the StreetView and it would leave your marker on the point where you were. That doesn't happen anymore; instead, to get your most-precise location you have to rely on the tiny thumbnail in the bottom left. And it's annoying, so I'm planning to widen the high-score area from 2m to maybe 10m.
Friday, May 1, 2015
Small but useful updates to MapTag
Due to the increasing number of user-generated panorama shots being uploaded to Google, it's been harder to find a game where you can actually navigate. I was playing today and got 4 user panoramas in a row! So I added a check to look for "Google" in the copyright info. This should nearly eliminate getting a user-generated pano.
Another minor annoyance came after you got the score window. You could click it and it would close, but the map where you made your guess didn't close along with it. Now it does.
Finally, I've added a new themed game called "New to the City." It places you in a random location but within a specific city. There's currently 24 cities to choose from, so go get lost!
Happy wandering!
Another minor annoyance came after you got the score window. You could click it and it would close, but the map where you made your guess didn't close along with it. Now it does.
Finally, I've added a new themed game called "New to the City." It places you in a random location but within a specific city. There's currently 24 cities to choose from, so go get lost!
Happy wandering!
Wednesday, January 22, 2014
Positive feedback is always fun
A short but positive review of Maptag here.
Tuesday, July 16, 2013
Fiddling and tweaking
Since releasing MapTag I've made a number of minor adjustments to the UI in response to comments.
However, it doesn't work in IE8 and that will not change.
The more fun part has been adding a visual index of saved games and previously played games which players completed in less than 10 minutes and less than 125km from the target. Click the "more games" tab to view that. It would be nice to dynamically adjust the criteria, but App Engine doesn't allow an inequality query on more than one field. It's a bit of a struggle to understand why it cannot do something that's elementary to any SQL query, until one considers its intended scalability.
So instead, I had to add a boolean field for 'successful', and if I want to change the criteria I have to run a bit of python script* to run through all the records and recompute it. One hundred twenty-five kilometers is a pretty broad definition of success, but I wanted it a bit broad for countries that don't have a Roman-based alphabet, which is hard for us Roman alphabetters to Google for. For someplace like Thailand, if you get the right country, you still have a chance of "success."
* the server side I originally wrote in Java, but since Python is faster for certain datastore operations, the boyfriend recommended we switch to that. Did I mention I didn't know any Python? or hardly anything about server side programming?
However, it doesn't work in IE8 and that will not change.
The more fun part has been adding a visual index of saved games and previously played games which players completed in less than 10 minutes and less than 125km from the target. Click the "more games" tab to view that. It would be nice to dynamically adjust the criteria, but App Engine doesn't allow an inequality query on more than one field. It's a bit of a struggle to understand why it cannot do something that's elementary to any SQL query, until one considers its intended scalability.
So instead, I had to add a boolean field for 'successful', and if I want to change the criteria I have to run a bit of python script* to run through all the records and recompute it. One hundred twenty-five kilometers is a pretty broad definition of success, but I wanted it a bit broad for countries that don't have a Roman-based alphabet, which is hard for us Roman alphabetters to Google for. For someplace like Thailand, if you get the right country, you still have a chance of "success."
* the server side I originally wrote in Java, but since Python is faster for certain datastore operations, the boyfriend recommended we switch to that. Did I mention I didn't know any Python? or hardly anything about server side programming?
Tuesday, June 4, 2013
Privacy policy for MapTag
I thought I'd better do one of these for MapTag, too. Same template, different stuffs, more comedy.
I am one human being doing this in my spare time. I'm a geek, which means I'm allergic to salesdroids, which means I would rather spear my own eyeballs out with red-hot pokers than market remotely-related stuff to you. If that's doesn't mean anything to you, here be the legalese:
Privacy Policy for MapTag
If you have any questions or concerns about our privacy policies, please contact fallinghawks@gmail.com.
I am one human being doing this in my spare time. I'm a geek, which means I'm allergic to salesdroids, which means I would rather spear my own eyeballs out with red-hot pokers than market remotely-related stuff to you. If that's doesn't mean anything to you, here be the legalese:
Privacy Policy for MapTag
- This application sets a cookie which indicates if you have been to the website before or not.
- We do not receive or collect any personal information about you, such as your name, street address, phone number or email address. Google Analytics reports your country language, country, state/province and the nearest city. It also reports your browser and operating system (though not specific versions) and the name of your ISP. If you live in a town of 50 people we might be able to figure out who you are by asking your kid, or their best friend, who in town is browsing the web using Safari on a Mac running OSX. Of course, that means actually travelling to your town to ask this question, and frankly, we have better stuff to do.
- We do not knowingly collect information from children under 13. If you believe we have inadvertently collected such information, please contact us so we can promptly obtain parental consent or remove the information.
- We do not receive, collect or use your precise geographic location.
- There are no methods of seeing what data we collect from you.
- We may keep data indefinitely, though since we don't use it other than to say stuff like, "Oh, someone from Tanzania is playing, awesome!" we have no reason to keep it.
- We do not get any personally identifiable information (such as name, street address, email or phone) much less share it with other companies. We might consider making some up, though. I hear advertisers pay for that stuff.
- We do not knowingly allow advertising companies to collect data through our service for ad targeting. However, be aware that the social media buttons that are included in this game (Facebook, G+, Twitter) means those social media networks can probably figure out that you played MapTag. If you don't want that, Chrome has a handy extension called Disconnect which disables 3rd-party tracking.
- We take reasonable steps to secure your information against unauthorized access or disclosure. However, no security or encryption method can be guaranteed to protect information from hackers or human error.
- Information we collect may be stored or processed on computers located in any country where we do business.
- We may make anonymous information available to third parties in these limited circumstances: (1) with your express consent, (2) when we have a good faith belief it is required by law, (3) when we have a good faith belief it is necessary to protect our rights or property, or (4) to any successor or purchaser in a merger, acquisition, liquidation, dissolution or sale of assets. Your consent will not be required for disclosure in these cases, but we will attempt to notify you, to the extent permitted by law to do so.
- This privacy policy was last updated on 6/4/2013. Our privacy policy may change from time to time. If we make any material changes to our policies, we will place a prominent notice on our website or application.
If you have any questions or concerns about our privacy policies, please contact fallinghawks@gmail.com.
Labels:
app engine,
games,
javascript,
maptag,
programming,
python
Friday, May 31, 2013
almost ready to submit to the games sites
Changes and additions:
- I did add more locations. I forgot to do Israel, which is a darned interesting place to look at. We have Bangkok, Chiang Mai, Singapore, and Taiwan. I also added three US urban areas in an attempt to increase the chances of an urban area being selected: SF, LA, and NY (and surrounding areas of each). Moscow was already included in the Europe ring. This seems to have reduced the chances of being on a long, straight, empty road.
- I wrote another Javascript/JQuery/HTML file to give players a map, let them navigate in and out of StreetView, and select the location they're at as the starting point for a game. With huge amounts of help from boyfriend, we got the game storing and retrieving those locations on AppEngine (again! start small! go slow!) And finally I modified index.html to figure out whether it's starting a pre-set game, a user-created game, or a random game.
It's just about ready to release now, I think, with one more fix: if someone calls a game that doesn't exist, the program needs to do something graceful.
Edit, a few hours later: got Israel, got a graceful error message to pop up. The boyfriend also hacked the page and found he could store junk text in the datastore, but that didn't affect playability. He added code to address the vulnerability and so it seems more or less ready to roll now.
Edit, a few hours later: got Israel, got a graceful error message to pop up. The boyfriend also hacked the page and found he could store junk text in the datastore, but that didn't affect playability. He added code to address the vulnerability and so it seems more or less ready to roll now.
Monday, May 27, 2013
the world is large...
...and has a lot of very straight, very empty roads on it.
MapTag tips (which are really StreetView tips):
There is really no easy way to move a long distance in a single click using StreetView. The step distance seems to depend on how fast the car was going at the time.
The circle, which helps you take the largest step possible, is imperfect. You can't just leave the mouse on the same spot onscreen and keep clicking. Eventually it will fuck up. It seems if you move it a bit between each click, that will reduce the chances of it thinking you want to zoom, or adjust the view. Occasionally I have seen it spin me 90-180 degrees off from where I was headed, so keep half an eye on your general heading in case that happens.
I find it rather interesting, after writing the game, that it's still fun to play.
At some point I may try to increase the chances of hitting urban/suburban areas. Right now the valid random places are based on about 8 circles of varying sizes: Australia, New Zealand, South Africa, continental US/Canada/Mexico, Alaska/NW Canada, Hawaii, Europe, Japan, and Brazil. Each has a probability, initially based on area size, but also hand-jiggered a tiny bit based on how much empty expanse it has. I should tweak them more to have a stronger bias toward Europe, Japan, and such places that have less empty space. I could specify urban areas (e.g. the US coasts) and give them a bit more probability of being selected. Other places that should be added: Moscow, Israel, Thailand, Taiwan, Hong Kong, Singapore.
MapTag tips (which are really StreetView tips):
There is really no easy way to move a long distance in a single click using StreetView. The step distance seems to depend on how fast the car was going at the time.
The circle, which helps you take the largest step possible, is imperfect. You can't just leave the mouse on the same spot onscreen and keep clicking. Eventually it will fuck up. It seems if you move it a bit between each click, that will reduce the chances of it thinking you want to zoom, or adjust the view. Occasionally I have seen it spin me 90-180 degrees off from where I was headed, so keep half an eye on your general heading in case that happens.
I find it rather interesting, after writing the game, that it's still fun to play.
At some point I may try to increase the chances of hitting urban/suburban areas. Right now the valid random places are based on about 8 circles of varying sizes: Australia, New Zealand, South Africa, continental US/Canada/Mexico, Alaska/NW Canada, Hawaii, Europe, Japan, and Brazil. Each has a probability, initially based on area size, but also hand-jiggered a tiny bit based on how much empty expanse it has. I should tweak them more to have a stronger bias toward Europe, Japan, and such places that have less empty space. I could specify urban areas (e.g. the US coasts) and give them a bit more probability of being selected. Other places that should be added: Moscow, Israel, Thailand, Taiwan, Hong Kong, Singapore.
Sunday, May 26, 2013
finally wrote another game (but not Android)
Back in 2006 I wrote a Flash game, sort of an escaper. In my hackathon fashion, I drew the scenes and worked out the puzzles first so I could download the 30-day Flash trial and learn enough about Flash to create the game before the trial ran out. I had it done in 20 days, a friend hosted it, and people liked it. But it was difficult enough that I didn't really want to do it again.
Fast foward to now, coming up on a year of Android coding under my belt, working with various Google APIs, along with a bit of JQuery and straight Java. Things make a lot more sense now. And I come across this neat little game called Pursued, which uses Google Streetview. You get plopped into a location and you need to figure out what city you're in within a certain time limit. It's got a lovely, slick HTML5 UI. You get achievement badges for going through themed sets of cities, and it has a separate section for players to add their own games.
Around the same time Yonatan Zunger posted about a game called Geoguessr. Same general principle, but there's no time limit, and you're shooting for accuracy -- not a city name, but getting as close to the start point as possible. The UI is less pretty but it's in many ways more challenging.
I mentioned Pursued to Yonatan, saying it would be nice to have a hybrid of the two games, with a slick interface and points for accuracy. He agreed and suggested I write it.
Well, sometimes I laugh at suggestions. Sometimes I take them as a challenge.
My all-things-coding tutor, aka boyfriend, has taught me one very important principle: start simple. Don't try to write the entire program at once. So I got a div to display a navigable Streetview map. Then added a second large map that you could slide in and out from the side. Then added the ability to drop a marker on that map, calculate where it is versus where the user is, and score it. Then added another slide-out for an array of pre-set games. And finally some help and credits screens.
And this is all in Javascript, with a bunch of JQuery to listen for clicks and CSS to drive the animations. Did I mention I don't really know much Javascript?
All in all, I wouldn't say it has a totally slick interface, but it has both a random-location game and a set of pre-set games based on a theme. Plus it scores you based on where you are in Streetview -- for some odd reason, Geoguessr scores your answer based on the original location it dropped you into, even though you might have had to travel for miles to figure out where you are.
I definitely needed help with the trigonometry of choosing a random location and measuring distance (I'm a little jealous that boyfriend didn't even need a refresher). I received hints and general guidance, and occasionally outright coding. Apparently there are timing issues when you're asking someone else's server to give you large quantities of data: there are things you simply have to wait for, and you can't continue until you have that data in hand, so to speak. He taught me a bit about callbacks and (the formal term escapes me) chaining functions to guarantee one will start executing only after another is finished. And of course he helped get my AppEngine settings set up so I could upload it there.
So without further ado: MapTag
Fast foward to now, coming up on a year of Android coding under my belt, working with various Google APIs, along with a bit of JQuery and straight Java. Things make a lot more sense now. And I come across this neat little game called Pursued, which uses Google Streetview. You get plopped into a location and you need to figure out what city you're in within a certain time limit. It's got a lovely, slick HTML5 UI. You get achievement badges for going through themed sets of cities, and it has a separate section for players to add their own games.
Around the same time Yonatan Zunger posted about a game called Geoguessr. Same general principle, but there's no time limit, and you're shooting for accuracy -- not a city name, but getting as close to the start point as possible. The UI is less pretty but it's in many ways more challenging.
I mentioned Pursued to Yonatan, saying it would be nice to have a hybrid of the two games, with a slick interface and points for accuracy. He agreed and suggested I write it.
Well, sometimes I laugh at suggestions. Sometimes I take them as a challenge.
My all-things-coding tutor, aka boyfriend, has taught me one very important principle: start simple. Don't try to write the entire program at once. So I got a div to display a navigable Streetview map. Then added a second large map that you could slide in and out from the side. Then added the ability to drop a marker on that map, calculate where it is versus where the user is, and score it. Then added another slide-out for an array of pre-set games. And finally some help and credits screens.
And this is all in Javascript, with a bunch of JQuery to listen for clicks and CSS to drive the animations. Did I mention I don't really know much Javascript?
All in all, I wouldn't say it has a totally slick interface, but it has both a random-location game and a set of pre-set games based on a theme. Plus it scores you based on where you are in Streetview -- for some odd reason, Geoguessr scores your answer based on the original location it dropped you into, even though you might have had to travel for miles to figure out where you are.
I definitely needed help with the trigonometry of choosing a random location and measuring distance (I'm a little jealous that boyfriend didn't even need a refresher). I received hints and general guidance, and occasionally outright coding. Apparently there are timing issues when you're asking someone else's server to give you large quantities of data: there are things you simply have to wait for, and you can't continue until you have that data in hand, so to speak. He taught me a bit about callbacks and (the formal term escapes me) chaining functions to guarantee one will start executing only after another is finished. And of course he helped get my AppEngine settings set up so I could upload it there.
So without further ado: MapTag
Labels:
app engine,
games,
javascript,
maptag,
programming,
python
Subscribe to:
Posts (Atom)