Archive for the ‘Research’ Category

Creative Commons - A Growing Trend

Wednesday, April 22nd, 2009

While talking to Jon Mok  (Information Architect at Mindblossom) about finding images under Creative Commons (CC) licenses ( a variety of licenses which allow creative work to be used with limited stipulations) to replace his copyrighted images, in a piece he put together for Nissan Hypercube Contest, I revisited a passion I abandoned after leaving university. That passion is  Open Access (OA)  publishing.

In school I concentrated on furthering the efforts of academic OA, but often researched both sides of creative issue including designs, photos, videos etc. Much like the academic research (though a bit less complicated politically), creative work has been in the centre of a heavily polarized debate on whether everything should be copyrighted or left to influence of public domain and freedom.

While this debate is too lengthy  to tackle in one entry, I found a great example of social media as a venue for a  shift towards a community-centric model with a flexible copyright under Creative Commons License on Flickr. I was surprised at the amount of assets that users were sharing for public use.

Below is a link to check out the Creative Commons page on Flickr:

http://www.flickr.com/creativecommons/

If you are not familiar with the licensing terms Attribution, Nonderivative, Noncommercial, Sharealike, check out the Creative Commons site:

http://creativecommons.org/

It’s a really interesting issue that is relevant to our sphere and most importantly our times. While ideas of open access software and publishing have been around for a long time and are at the root of CC, never has there been so much momentum in proliferation of the initiative. In my opinion it is a combination of technology and new thinking that I am always looking to coin with a sort of umbrella term - ethical, socially inclined, cause-centered, etc.

Well, I may need Karen King’s (Copywriter at Mindblossom)  help finding the term to describe this mentality but CC movement is a worthy of keeping an eye on.

Promoting Brand “You”

Wednesday, April 1st, 2009

To reference my previous post I am somewhat of a newbie to social media. I’m on Twitter and other online applications and I proudly fancy myself “A blogger” (this will be my fourth ever post). The question becomes what now? I’m out there is that enough? Some may say yes, but many will argue no. The end all goal is networking, forming trusted relationships with those who share common interests. People choose to invest in building a relationship with you based on your online personality. Personal branding is the process by which we market ourselves to others. The best way to do this is to connect online with people on a human level and offer real value. Your brand is similar to a corporate or product brand in the way that it’s a promise of the value customers will receive for investing their time in you.

A recent survey conducted by MSN Canada and Ipsos Reid found that four of ten Canadians don’t know how to use the Internet to promote themselves or career. That’s a lot of people and companies out there possibly harming their reputation simply by not knowing right from wrong.

I quote Mitch Joel, President of Twist Image and an expert in personal branding online, “If managed incorrectly [your personal brand] can have negative consequences when it comes to getting a job, advancing your career or maintaining a positive reputation.” Your personal brand includes everything from alias, e-mail names and photographs. If you post a comment on a reputable site under your Luv_2_Partay alias will it be taken seriously, likely not?

A study in 2006 done by ExecuNet found that 77% of recruiters use search engines to check out potential job candidates. How much do you think that number has increased in recent years? Everyday there are between 25 million to 50 million proper name searches in search engines. Here’s a tip for finding out what’s already out there about your personal brand, Google your name or alias. It’s a great method for finding out what other people see regarding the brand that is you.

Below I’ve attached some links to insightful articles regarding personal online branding:

Personal Branding 101

Personal Branding 102

Image is Everything

Settlers 2, Pathfinding and Writing Code for Fun!

Wednesday, March 18th, 2009

Last week or so I dug up something very amazing on The Piratebay. Someone packed up good old DOS classics into a Dosbox wrapper for Mac OS X, so I could start and run those games in a window on my Mac. Simply amazing. So, I started up Settlers II, one of the best games I’ve ever played. (Don’t gimme any crap about pirating games! I own this game. And the expansion. What do you think I have been doing during my childhood? ;-) )

So, for all that don’t know the game here’s Settlers II in a nutshell: every player starts out with a headquarter, a limited amount of building materials, goods, tools, settlers with different skills and a small strip of land. The surroundings offer everything you need to build up your small empire: woods that can be cut down by lumberjacks, granite that can be cut by stone cutters, mountains that offer coal, ore and gold and flat land that can be used to grow crops. On of the major challenges of this game is to get all the production chains right: let’s take for example a lumberjack.

A lumberjack cuts down trees. The logs then need to be transported to a sawmill where they get cut into handy boards. (Picture 1 shows such a production chain.) These boards in turn then need to get to a stock or to construction sites. And if you don’t build a forester your lumberjack will run out of trees very soon. That was one of the easier production chains.

Let’s look at something more sophisticated: production of meat. You’ll start of with a farm that grows crops. Then you need a pigfarm that takes the crops grown by the farm and water from a well to breed pigs. And finally, to get to your tasty meat, you’ll need a slaughterhouse. So, all in all, getting those production chains right is tricky and very rewarding. Nothing better than seeing wares running smoothly from source to destination (at least for me ;-) ).

Picture 1: A production chain for lumber.

Picture 1: A production chain for lumber. On the bottom left there is the forrester. The guy living in that building just keeps planting trees. The building at the top left and to the right are lumberjacks.They cut down trees. Those trees then get transported to the building to the top right, the sawmill where they get cut up.

The other big challenge, and actually the reason why I’m blogging about this, is the way system. All the production facilities mentioned above are connected by a road system. Each of those buildings has a flag in front it and whenever a building “finishes” producing an item, the item gets dropped at the flag (I won’t go into the hygienically implications of dropping food on flag on a dusty road… ). Connected to the flag is a road that leads to another flag and standing on that road is a carrier, a poor guy who’s job it is to just carry stuff from the one flag to the other flag. See Picture 2 to get a better understanding. So eventually this road leads to another building that actually needs what has been produced. In the picture below that would be the small pig on the flag to the right that needs to get to the slaughterhouse to the left (Hey, it’s biological after all!).

Picture 2: Flags, roads and items. Notice the pig on the flag on the right.

Picture 2: Flags, roads and items. Notice the pig on the flag on the right.

So getting the way system right is crucial to your success in that game. If your roads are too long, it will take forever to complete things. If you don’t set enough flags, the actual capacity of a given road segment will drop - after all there is only one guy standing between two flags and he can carry only one item at once (an exception are the donkeys that you get after a road has been in heavy use but that still only gives you two items per segment).

Now, you have an understanding of what that game is about. If you don’t, get yourself a copy and play it a bit. But be careful, it’s addictive.

So while I was playing a bit I started to wonder, how all this worked. How do wares get routed from one flag to another flag. How to flags eventually reach their destination? How is ensured that wares don’t run in circles? How is ensured that best possible route is taken? All those thoughts kind of reminded me of my excellent algorithms and data structures lessons at the Hochschule München, where graphs and different algorithms on graphs where a big subject. So I got really curious how to implement something like that. After all, at university we implemented a lot of the data structures and algorithms but never for a “real” problem.

Later that night I started up Eclipse and churned out some code to actually represent a hexgonal map (Settlers 2 uses a hexagonal grid as opposed to most modern games that just use isometric rectangular maps), render out that map to the screen and some classes to represent flags and roads. And then the fun started…

My first goal was to implement a pathfinding algorithm that actually finds a good route from one given hexagon to another hexagon. Sounds easy but is a really hard problem. There are a couple of algorithms out there that actually solve that problem but I decided to go with the simplest one, Dijsktras algorithm that is guaranteed to produce the best solution. However implementing that algorithm wasn’t as easy as I anticipated. My first test run produced some rather… unexpected results:

Picture 4: Pathfinding done right! Made the paths red in that screenshot for better visibility. Note how the red paths connecting the green flags are the shortest possible.

Picture 3: Pathfinding done wrong. The goal was to find the shortest possible route from the one green flag to the other green flag… The gray zig-zag line is the path my implementation found…

Obviously that was not the best possible solution! Eventually it took me a couple of hours to get my implementation right. But then I got it right:

Picture 3: Pathfinding done wrong. The goal was to find the shortest possible route from the one green flag to the other green flag... The gray zig-zag line is the path my implementation found...

Picture 4: Pathfinding done right! Made the paths red in that screenshot for better visibility. Note how the red paths connecting the green flags are the shortest possible.

My conclusion after a couple of hours trying to get that right: It was a lot of fun and kudos to the developers of Settlers 2! I did not spend too much time on that but it became quickly obvious that building a game as “simple” as this old DOS game is all but easy. Building even simple pathfinding imposed quite a challenge on me. Building a whole game like that seems one hell of a task…

The next step is now to build a pathfinder that is actually aware of terrain (you can’t build roads on water!) and won’t allow to cross roads. With that in place i can finally start to play around with the actual routing of goods in this graph. The technical more adept might argue that I actually don’t need all the stuff that I wrote so far to calculate some spanning trees on a graph. And they’re right. But otherwise it wouldn’t be as much fun!

Depending on how much spare time I have I’ll keep playing around with this and keep you posted…

This post originally appeared on my personal blog: http://www.jakusys.de/blog/2009/03/settlers-2-pathfinding-and-writing-code-for-fun/


Close
E-mail It