29 Feb

Travis Bickle, Superhero

When talking about modern, more realistic, gritty superheroes, people most often mention Batman as the definitive example. When compared to more archetypal superheroes such as Superman, Batman is clearly a more realistic character. He has a past. In addition, he does not have any superhuman abilities — all he has is dedication, skill and wealth.

However, since the concept of a superhero can be bent to include characters that are less cartoony and in theory could exist in the real world, people often forget classic films that also could be seen as superhero movies. One whole genre full of potential overlooked “superhero” films is the 1970s vigilante genre with such classics as Death Wish with Charles Bronson and Scorsese’s Taxi Driver.

Taxi Driver is an interesting example for a variety of reasons. The movie exhibits extreme realism. The characters are everyday people — albeit from the seedy underbelly of life. There is a story of a hero single-handedly fighting evil.

The story could be thought as an origin story for the character of Travis Bickle, whose character shares common superhero traits: strong moral values, vigilantism and heroism. Origin stories, such as the graphic novel Batman: Year One or the movie Spider-man, are an important part of superhero mythos: it usually is the single defining reason why someone becomes a superhero. For Batman, this would be the death of his parents by a street punk (motivation) and later, him being an extremely wealthy industrialist (resources — skills).

Holy Bat-gun, Travis!

For Travis, the motivation is much more complex: in part, he is either just disgusted by the dark aspects of city life, he’s going insane or it could be that he tries to prove his manhood to his love-interest. In any case, he takes it as his duty to clean the city of all the filth. Even if it is just a single street at a time.

Travis’ resources obviously are limited compared to that of a millionaire’s. He does however have combat experience. He obtains weapons and routinely practices with them. In a feat comparable to a Bat-device, he builds a special device for quickly wielding his backup gun from his jacket sleeve.

Travis 2.0

At the same time Travis is preparing both mentally and physically for whatever he will do, he still maintains a facade of sorts by going to work. While his second persona clearly bleeds into public, it could be thought as a double identity — maybe just for himself. He is both a taxi driver and a killing machine. As if to differentiate his two sides, he shaves his head before going to work as a vigilante hero. Maybe as a logo of sorts, Travis adopts he catchphrase of presidential candidate Palantine and is seen sporting a pin carrying the slogan even when he makes an attempt at the candidate’s life.

One important feature of a superhero is that he or she continually fights crime and evil. When Taxi Driver comes to an end, it is not implied in any way Travis won’t do something similar in the future. In fact, his treatment as a hero probably just feeds his ambition of becoming a person of importance — a hero.

27 Feb

A tribute to Richard Feynman

Feynman diagramRichard Feynman was the most awesome person ever. He essentially was an upgraded version of Einstein, at least when it comes to human features. His personality is much more accessible to ordinary people: he’s the subject of anecdotes featuring bongo drums, nuclear secrets and lock picking. He was somewhat a ladies’ man, he frequented strip clubs. He was curious of how things worked and eager to teach what he found out about them — something I think is the most admirable quality in a person.

FeynmanMost people could learn something important from Feynman. People should maintain their natural curiosity through their lives. People should try to find things that are interesting to them, and them actively find out what makes them tick. To me, “I don’t know” is a very weird answer when practically everyone in the developed world has access to the Internet.

Most people seem to think finding out about things and knowing about things is something you can’t do — unless you get a monthly salary of it. Or, that knowledge is for the elite. Or, that knowledge is inherently dangerous and against their values. They should realize there indeed is a good salary for someone who upkeeps and uses the ignorance.

People are afraid of knowledge because of they don’t want to be a part of the elite. People think of Albert Einstein when they think of a genius, they should be thinking of Richard Feynman. Einstein was eccentric, Feynman was cool. Richard Feynman knew about things but still went to strip clubs, broke into offices for fun and I would think generally enjoyed his life.

So, next time, refer to someone as a regular Feynman — sarcastically or not — when you refer to a genius.

24 Feb

Google Chart API is pretty cool

I just stumbled upon the Google Chart API and I couldn’t resist playing with it (statistics being a fetish of mine). A few moments later, I came up with some PHP code that uses my stats plugin for WordPress to fetch page views and generates an URL for the Google API (see below for the attached source code).

The main idea behind Google Chart is that the chart is an image and all data for the chart is in the URL. That includes the chart title, size and the data sets. Personally, I think this is a brilliant idea. You can embed the charts anywhere you can use images and best of all, you don’t need to have data anywhere else but in the URL (you don’t even need to duplicate the generated image in your own webspace).
You can also pretty much generate charts by hand if needed.

On the other hand, when using dynamic data fetched from a database, it is a relatively small task to encode the data into the format Google Chart uses. They even provide a Javascript snippet for that (obviously, you might want to do that server-side – see below). Or, you can simply use floating point numbers if you don’t mind long URLs (and I’m not even sure you can always use very long URLs).

For example, below there’s a graph generated from daily visits to this site:

And here is the URL used to get that graph (lines split for convenience):

http://chart.apis.google.com/chart?
chs=400x150&chd=s:NQGHJ&cht=lc&chdl=Page+views
&chxt=x,y&chxl=0:|Mon|Tue|Wed|Thu|Fri|1:|200|500

The above URL has quite Google-like short parameter names but that’s obviously because of technical limitations. The chd parameter is where the data set for the graph is: s:NQGHJsimple encoding : encoded data.

One interesting aspect arises because of the encoding: you need to fit your data set to use the granularity the encoding has. E.g. when using simple encoding and encoding a data set of 0, 4.7 and 244, you have to normalize and remap the data so the data goes from 0 (character A) to 61 (character 9), not from 0 to 244. That may sound horribly inaccurate but remember, nobody measures the charts with a ruler – they look at the numbers for accurate data. And there are more accurate encodings.

I like how the charts look slick. A lot of existing libraries and APIs for similar stuff tend to have less aesthetic appeal. Anti-aliasing does not better stats make but it certainly looks more professional. The API also has nice features such as adding arrows and red X’es on a graph (think an arrow with the caption “stock market crash” – after which the graph plummets), the always useful Venn diagrams (see right) and other usual stuff you’d need.

Anyway, my original point was that Chart is a cool API, is probably easier to use and faster to install than gnuplot or other chart drawing software, is compatible with any browser able to display images and it’s free for everyone to use (the limit is something like 50 thousand views per user per day – and I guess their policy says nothing against caching the charts on your own site). Check it out.

P.S. This is quite obvious but… I predict that in the future, Google will use the accumulated charts for some kind of statistics search. The charts contain text (label, title) so a Google search result might include relevantly labeled graphs. Which is an interesting scenario, considering the Internet is full of lies, kooks and gullible users.

22 Feb

Generating game content

Part 2 of this series »

If you can’t draw graphics or create sounds for your games, here are a few interesting tools I came across recently that can help you.

sfxr

sfxr generates random sound effects such as explosions, sounds for jumping and so on. The sounds are nice and crisp and you can easily tweak a randomly generated sound to suit your needs better. A nice feature is that you can click on sound types to generate a sound for common actions in games.

Pixel Robots & Invader Fractal

Pixel Robots generates random sprites that resemble robots (well, duh). It’s a Java applet (made with Processing) so you can (or, have to) run it in your web browser. Hence, it is not too convenient to use for pure sprite generation purposes – but it is quite nice eye candy.

The author mentions the Invader Fractal as his inspiration. It is a quite similar thing, in that it generates a sheet of tiny sprites and runs in browser (it’s a Flash applet).

Both generators are quite nice in that their authors give good insight how the programs generate the sprites.

Richard’s Evolving Sprite Tool

I saved the best for last. Richard’s Evolving Sprite Tool, as the name implies, evolves sprites. The main idea is that the program generates a grid of mutated sprites and you can choose the one that looks good. The selected sprite then spawns mutated offspring. This continues until you decide the sprite is good enough. On the left, there’s an example of an evolved and hand-colored sprite (grabbed from the Retro Remakes forum thread).

It is also much more of a tool than the two previous generators, the user can edit the sprites inside the program. After the user has edited a sprite, it can be evolved further. Very nice if you’re short on inspiration.

Next thing Richard needs to do is to add a way to colorize and animate the lovely sprites.

kometbombNote: Since this tool has gone AWOL, here’s something similar: Retro Avatar generator. For example, the avatar created from my name looks like what you see on the left (cute!).

21 Feb

Awesome games that are also free

Here is yet another list of free games considered awesome by the majority of this blog’s writers (me). As you can see, my taste in games is quite retro.

Cave Story (D?kutsu monogatari, ????)

Note: The author of Cave Story has requested people to stop distributing the game, this is because is is to be expected to be available on WiiWare (I hope the game will not be exclusive to Wii gamers). Here’s one such rumor.

Try if you like: Megaman 2, Metroid – any good NES game that defined your childhood

Here is a game that is on every free games list and for a reason. Cave Story feels and looks like a NES game that was updated for a SNES release. The graphics are simple and sometimes blocky – but intentionally so. Similarly, the music is something you would hear in a NES game. In a good NES game. I still find myself humming the catchy tunes even though I finished the game a while ago.

The basic game is about making a little guy run, jump and shoot. There are a variety of weapons, some weapon choices even alter the game story. There even is simple leveling up, some enemies drop crystals that make your current weapon more powerful.

Best of all, there clearly has been huge effort in making the game more than a retro run-and-gun game. There actually is a good, long story about cute creatures that need your help. The levels are huge and varied: there even is a side-scrolling level. Another level twists the standard game mechanics as you need to negotiate a flooded area with vortices that usually pull you into unsurprisingly lethal spikes.

There also are memorable boss fights including one with a boss larger than the screen. Now that I mentioned it, the game is simply memorable. There are too many things to tell about this game. Too bad the game is free because it clearly is worth money.

The game is available at least for PC, Mac and GP2X.

Rated: Awesome+

OpenTTD

Try if you like: SimCity and other building games, trains in general

Transport Tycoon probably is the game that I have spent the most time with, ever. It’s basically about tiny trains hauling things from A to B, then hauling things from B to C.

Sounds boring. Why is it so awesome?

Because there is a ton of things to try to make your transport empire make more money. You could build a simple track from place A to B and then another track from C to D. But if you’re smart, you’ll build a whole railway system and connect satellite stations to it – just like it is done in the real world. Then, to make trains smarter, you’ll add signals, build more efficient stations and update your old routes to monorails and so on.

I think the defining factor that makes OpenTTD so fun is that it is actually you who builds all these things. For example, in some other simple game you could select between a few station types – each with their own cost and efficiency. In OpenTTD, you have exactly one station type. What makes a station efficient is how you connect the rails to it, how many platforms it has and do slower trains clog up the whole system. To give some perspective, here is the game manual on stations.

There also are airplanes, ships and trucks but they’re rubbish.

OpenTTD is ported on many systems as it is open source. There even is a Nintendo DS port.

Rated: TOOT TOOT

The Ur-Quan Masters (aka. Star Control 2)

Try if you like: Any scifi game

Star Control 2 is probably one of the most loved games from the early 1990s. It combines exactly right amounts of adventure, action, exploration and humor. The game is about you, the spaceship captain, trying to free Earth and the known universe from the Ur-Quan (tentacled slavemasters).

The gameplay consists of a top-down view of your ship. The ship is controlled by rotating and thrusting – nothing new since Spacewar or Asteroids. The controls remain the same whether the ship was in hyperspace, traveling for hundreds of light years, and during close encounters with enemies, i.e. dogfighting to death while orbiting a planet.

When your ship is in hyperspace, you can travel between stars. Every star has planets orbiting it, most of the game features you launching an exploratory ship down on the planets and collecting minerals and biological samples. The things you find act as money: at Earth you can trade minerals and other stuff to fuel, technology, crew and fighters. The biological samples can be traded for new technology when you come across a certain alien race.

Some stars are the homeworlds of alien races – some friendly, some less friendly. When meeting an alien, you will converse with them using different bits of dialogue, similarly to most adventure games in general. You will often get information where to find more alien races and sometimes you’ll get a quest to complete. Sometimes, you’ll be able to avoid battles if you are smart when conversing with the aliens. It is during these encounters you will get the most laughs.

The presentation is nothing short of awesome. Every race you meet has its own theme music, animated graphics, voice acting and even font for the captions.

Rated: AWESOME-666