echelon


What I would kill for right now

or a list of the world’s most unhealthy food and drinks you can’t buy in Germany but probably almost anywhere in the United States:

  1. a can of Mountain Dew
  2. a Baconator combo from Wendy’s
  3. a root beer float
  4. a Real Fruit Slush from Sonic
  5. a Cookie Dough Blast from Sonic
  6. an Oreo Shake from Bruger King
  7. a Krystal Chick combo from well.. Krystal
  8. anything from Taco Bell with free-refill Mountain Dew

I realize that some of this stuff is gross and that some people despise some of the mentioned fast food places but I still love those food and drinks. Germans just don’t know what’s good!

Third Prototype

So I made a third prototype. It’s still very much a work in progress but have a look at it anyway – it’s pretty neat. It’s an implementation of the Master of Orion 1 Starmap. I basically tried to copy it’s look and feel. What you can do (and that’s really the only thing you can do right now) is move around by clicking the map.

Go ahead and start the prototype.

So how does it work? There are three layers on top of each other – the top layer contains the colorful stars, the second layer contains the small dim stars and the third layer in the back holds a couple of very bright stars. As you scroll the map the layers are all moved differently hopefully giving you a sense of depth. The 2nd and 3rd layers are only static tiles. The colorful stars are the stars the player may actually colonize and fight over. They are stored in a database table and requested by the map script via an asynchronous call. The stars are returned as an array in JSON format. The client side is homebrew javascript goodness with the help of Prototype and the backend consists of a few PHP classes. Here’s a screenshot:

Master of Orion Starmap

A couple of things about the graphics: I find it difficult to produce random yet still visually pleasing star patterns. When I draw them myself I tend to distribute them very equally which looks kind of strange and not very random. You may notice this in the 3rd layer containing the few bright stars. The stars in the database are generated with the help of a self written map generator script that is supposed to distribute them randomly but not too close together. It doesn’t work very well yet as the stars are still distributed very equally.

So where I am going with this? Well the plan is to create a Master of Orion clone that you can play online with simultaneous turns and up to 16 players. Let’s see how that works out.

Master of Orion

A couple of days ago I found what must the the greatest computer game of all times: Master of Orion. It is a really old DOS game – released in 1993, produced by Simtex Studios and designed by Steve Barcia. It’s a 4X game – explore, expand, exploit, exterminate. It’s your job to achieve galaxy domination either with fire and sword or through diplomatic fortune. Here are a couple of screenshots from the game:

Orion1 Orion2

Orion3 Orion4

And because the game is very old and the publisher unfortunately doesn’t exist anymore you can download the game for free. Just google it. You probably will need a DOS emulator if you want to play it using Windows XP or Vista. I recommend DOSBox. The game has a copy protection though. After you’ve been playing for a while the game will ask you an odd question that you have to answer correctly to keep playing. This image right here will help you answer the question.

This game and others released at the time inspired a whole genre that unfortunately appears to be quite dead nowadays. Only browsergames seem to keep this ingenious kinds of games alive.

Second Prototype Update

The second prototype was updated. It is now a complete game. Well not really, however it is playable but lacks a concept. A new building was added – the command center. It serves as the main base of a player and can not be destroyed. Mechanisms to attack enemies were also added. A rudimentary ticker was added that gives units to each player depending on how many building he owns. Keyboard scrolling is another feature that was added. Players are now able to build bunkers. The more enemies a player kills the more bunkers he may build. Here’s a screenshot of the current version:

release2_version2

I also released the sourcecode under the GPLv3 and uploaded the files (the first and the second version) to the newly created Google Code project. The name of the project is JSGmap which is short for JavaScript Game Map. The project can be found here: http://code.google.com/p/jsgmap/. Unfortunately it is not possible to upload a public demo of the new version. However there’s a private version running on this server with ticks every 10 minutes. If you would like to take a look please leave a comment.

Second Prototype

Over one year after the first prototype was released, the second prototype is finished. It’s yet another graphical user interface for a strategy game.

Go ahead and start the prototype.

As a theme I chose again Starcraft – the ingenious realtime strategy game created by Blizzard Entertainment. Specifically I chose the “Bunker Wars” variation of the game where the players only have marines and bunkers available to play. Here’s what it looks like:

Release 2 Screenshot

The fist prototype was merely a Google-Maps like scrolling script that could display a section of a huge map and provide a convenient interface to navigate and scroll the map. It was all static JavaScript, no database backend, no unit movement or units no nothing. It looked like this:

Release 1 Screenshot

The new prototype features access management (which is circumvented in the demo), units are available and they can move and enter or leave bunkers. The map can be scrolled – the displayed map is 8×8 tiles – the actual map size is 100×100.

On the front end the prototype uses asynchronous JavaScript to reload the map without reloading the page and to issue unit movement commands to the server. The javascript library Prototype is used.

The backend consists of a MySQL database with 3 tables (users, map, units). A couple of PHP classes output the main page and two API interfaces are provided for the asynchronous JavaScript calls to update the map and to move a unit. It’s rather simple and functional and probably somewhat resource wasting but it works. It’s tested on Firefox 2 and Internet Explorer 7 and should also work with Internet Explorer 6.

Beloved Software

Here’s a list of free software tools and libraries that I have come to love.

TCLAP is a Templatized C++ Command Line Parser library that makes your wildest command line parsing dreams come true. Its usage is so simple, it’s almost ridiculous. But it not only has all the features you can imagine but also comes with very well written manual.

Next is Prototype, the famous JavaScript Framework that turns formerly painful JavaScript development into a breeze. I just love how easy it is to develop with Prototype. It hides browser dependencies and makes code readable.

A very special piece of software is TiddlyWiki a reusable non-linear personal web notebook. I use it to document my research and write my thesis. It’s ingenious. In some sense it can also be seen and used as an archive that puts documents into context.

When it comes to text editors I’ve been in love with Vim ever since I attended my first C lectures. When used to the interface code editing at the speed of light is possible. To be fair I also like Notepad++ very much.

When it comes to graphics, layout and design I rely on Inkscape – an extremely powerful and easy to use vector graphics editor. It’s under heavy development and great features are added almost every hour. Nevertheless it is very stable.

I’ve been looking for decent UML modeling tools forever. Seriously. There’s a whole bunch of them out there and I tried a lot of them. Until recently I have been unable to find one that doesn’t suck. Then I discovered BOUML. It’s free and fast. Despites its plenty features it doesn’t come across bloated or sluggish.

Speeches, talks and presentations

One of the draft blog-posts that has been piling up forever is an assorted list of interesting videos of speeches, talks and presentations. Right now seems to be a good time to share them.

But first of all a list of great video-talk sources:
www.ted.com the website of “Technology, Entertainment, Design” featuring great talks given by for example Al Gore
google techtalks the google tech talk youtube page
www.bigthink.com a new place featuring interviews from all kinds of important and intelligent people about all kinds of topics
www.videolectures.net a place that provides free and open access to high quality video lectures presented by distinguished scholars and scientists.

And here the talks I really enjoyed listening to in the last weeks:
7 Habits For Effective Text Editing 2.0 a talk by Bram Moolenaar, the creator of VIM about efficiently using VIM
Resource Aware Programming a very interesting talk by Walid Taha
Linus Torvalds on git and git by Randal Schwartz
Quicksilver: Universal Access and Action by Nicholas Jitkoff the creator of Quicksilver – an extremely interesting and inspiring talk

CUDA Link Collection

Here’s a list of CUDA related things on the web. CUDA stands for Compute Unified Device Architecture and is a GPGPU technology created by NVIDIA that allows a programmer to use the C programming language to code algorithms for execution on the GPU. The official website can be found here.

Update: NVIDIA introduced the new CUDA Zone website: http://www.nvidia.com/cuda a convenient way to access everything related to CUDA.

If you happen to know more CUDA related links (e.g. projects that use CUDA) feel free to leave a comment.

Minor Updates

There have been no updates for quite some time. Besides work there’s not much time to write articles. However I updated the blog under the hood as comment spam kept piling up. So now I’m driving akismet a spam filtering service created by Automattic. Hopefully this helps. I also optimized font-sizes throughout the blog for a more pleasant reading experience.

Furthermore the draft-posts keep getting more and more. Among others there’s some C++ stuff I’d like to share, some CUDA related code I wrote and a Science Fiction article that’s not quite finished. Hopefully some of this stuff will get published some time in the near future. Stay tuned!

Update: so far the askimet spam filtering service works great. No more spam! Hurray!

Lost in Translation

Ich weiss, ich sollte lieber ueber meine Reise nach New York und ueber meinen Roadtrip nach New Orleans schreiben. Kommt alles noch. Dieser Eintrag soll allerdings von den Tuecken meines bilingualen Lebens hier handeln. Eine kleine Ansammlung von Anekdoten:

Die erste Geschichte hat mit meinem Nachnamen zu tun. So mancher Deutsche hat schon Probleme ihn zu schreiben wenn er nicht buchstabiert oder mit einem aehnlichen Wort umschrieben wird. Die Amerikaner jedoch kriegen einen totalen Schaden wenn sie ihn sehen und aussprechen muessen. Sie versuchen es zwar aber viele scheitern klaeglich und sagen dann lieber nichts. Und ich hatte Probleme ihn zu buchstabieren. Er enthaelt ein C und ein Z und ungluechlicherweise hoeren sich die beiden Buchstaben sehr aehnlich an. Nicht fuer einen Amerikaner aber fuer mich. “It’s S C H..” – “Oh ok so S Z H?” “Yeah.” -“Ok” “Oh no, I meant C not Z” -“Oh C?” “Yea.”. So aehnlich war es jedesmal wenn ich meinen Namen buchstabierte. Mittlerweile erkenne ich den Unterschied und spreche es richtig und wohl ueberdeutlich aus.

Was mir auch passiert und das ist sehr komisch ist folgendes: ich gehe oefter mal joggen. Es gibt eine nette Laufstrecke durch ein ziemlich schickes Viertel, schoen am Fluss gelegen, ein Kiesweg. Die Strecke ist dementsprechend beliebt und man trifft viele andere Jogger, Walker und Radfahrer. Jedenfalls laufe ich so da lang und laufe und laufe und denke ueber dies und das nach; ich weiss nicht ob ich Englisch oder Deutsch denke. Ploetzlich kommen mir Walker entgegen – 2 Frauen (oder wer auch immer) – die sich unterhalten. Ich hoere ein paar Wortfetzen und verstehe erstmal gar nichts und bin furchtbar ueberrascht hier mitten auf meiner Laufstrecke Leute zu treffen die Englisch reden. Natuerlich nur fuer einen kurzen Moment – mir faellt dann schnell ein dass ich ja in den USA bin und das ganz normal ist.

Die dritte Geschichte ist der eigentliche Anlass dieses Eintrags: vorhin traf ich einen Kollegen am Gang und plauderte mit ihm ein wenig. Ploetzlich stellte ich fest dass wir Deutsch redeten. Ich bin mir sicher wir fingen das Gespraech auf Englisch an! Ich weiss zwar dass der Kollege Deutsch spricht weil er lange in Duesseldorf gelebt hat aber ich konnte mich nicht erinnern wann wir anfingen Deutsch zu sprechen wer den ersten Deutschen Satz sagte und wie es dazu kam.
Auf dem Weg zurueck zu meinem Platz habe ich mir ueberlegt dass ich dazu was schreiben muss. Ich begann die ersten Saetze in meinem Kopf zu formulieren – auf Englisch. Ich musste mich schliesslich zwingen Deutsch zu denken, da es ein Eintrag auf Deutsch werden sollte.

Und noch ein kleiner Tipp fuer alle die in einem Motel fragen wollen ob noch ein Zimmer frei ist: die Chancen stehen gut, dass der nette Portier euch falsch verstehen wird wenn ihr nach “free rooms” fragt. Das sind naemlich “kostenlose Zimmer”. Man lernt nie aus.

« Older Entries     Newer Entries »