Tag Archives: Programming

Creating playable Games on Google Maps

Wow! I’ve been BoingBoinged: Google Maps, Reloaded: Animated Mozillas and Gnus attack Redmond.
In the previous Google Maps hack post I was pondering how easy it would be to create a playable game on Google Maps.
Intelligent Artifice comes to writeIt’s a New Genre about to be born! I predict a dedicated conference in 2006.
So I created a Games on Google Maps wiki page for collecting ideas (and implementations!). Contribute to it, if you like! And if there will be a conference “Real Games on Real Maps”, I would really like to be in the committee. ;-)

Animated Invasion over Google Map

UPDATE: This is a demo on Google Maps I put together in few hours in 2005. And this was the first time I got BoingBoinged (it was the last time too … ;) The demo was working in 2005 but now the Google Maps API changed and it does not work, so I replaced it with the flash video I recorded at that time.

Some Mozillas and some Gnus are invading Microsoft office in Redmond (the blue E).
First I saw on BoingBoing that Vestadesign created Star Wars ATATs attacking Palo Alto using Google Maps API. So I thought I could add some animations. I also ended up changing the environment (Micro$oft offices) and the invaders (Mozillas and Gnus). Free software to the rescue!
Go to the page with the Javascript code that produces the animation.
Below there is the Flash animation but you should see the real page (with the code). (If you can’t see them, check the static image.)

It should be very easy to create real playable games on Google Maps. Here are some ideas:
– playing Risk on the real world map (with the ability to zoom in/out to combat at different scales). Extend Jrisk or JavaRisk (code available on SourceForge).
– playing FreeCiv on real world maps. Modify FreeCiv source code.
– driving a car race on streets of the real world.
– much more I guess
Let me know if you create such a game.

UPDATE: after being BoingBoinged, I created a Games on Google Maps wiki page, for collecting ideas (and implementations!). Contribute to it, if you like.

Mycroft Firefox Taggregator

Matt has created a bookmarklet for adding Technorati tags (via boingboing). And there is also a bookmarklet for searching Technorati tags. So I thought I might create a mycroft search engine plugin for Firefox and Mozilla that could search Technorati tags. However it seems that now, Mozilla only supports plugins that work with the GET method (those URLs with "?somename=somevalue&othername=othervalue" in them) and Technorati Tags page does not use this approach (see as an example the page for the tag “simple”). So I felt back to the really first aggregator of tags, Taggregator, whose pages do use the GET method: see for instance Taggregator page about tag “simple”.
In the process, I discovered that creating a Mycroft plugin is incredibly simple thanks to the generator.

So if you like, you may add Taggregator search engine plugin to your Mozilla, Firefox or Netscape7 browser.

Jung (Java Universal Network/Graph Framework)

For my studies on trust metrics, I need to code trust metrics. I was looking for a Java package for modeling, analysis, and visualization of graphs (possibly weighted and directed). I tried many of them (see below) but I found a wonderful one!
Java Universal Network/Graph Framework hosted on SourceForge so open source under a BSD licence (javadoc).
JUNG — the Java Universal Network/Graph Framework–is a software library that provides a common and extendible language for the modeling, analysis, and visualization of data that can be represented as a graph or network. It is written in Java, which allows JUNG-based applications to make use of the extensive built-in capabilities of the Java API, as well as those of other existing third-party Java libraries.
The current distribution of JUNG includes implementations of a number of algorithms from graph theory, data mining, and social network analysis, such as routines for clustering, decomposition, optimization, random graph generation, statistical analysis, and calculation of network distances (Dijkstra Shortest Path), flows, and importance measures (centrality, PageRank, HITS, Random Walk, etc.).
JUNG also provides a visualization framework that makes it easy to construct tools for the interactive exploration of network data. Users can use one of the layout algorithms provided, or use the framework to create their own custom layouts. In addition, filtering mechanisms are provided which allow users to focus their attention, or their algorithms, on specific portions of the graph.

If you don’t trust me, you can try the Ranking Demo or the other demos.

It is of course an evolving project, I already wrote some code to draw arrows and to label edges with weights and I’m trying to integrate it. I plan to code some of these trust metrics. JUNG is maintained by some great PhD students.
Continue reading