GTA Chinatown Wars, the Story and End

Since I have completed the storyline, this might be my final entry on GTA Chinatown Wars. The game only shows me a 48% completion, so I still got a lot of stuff to do. I don’t think I’ll be going for 100, but I might take on a few additional missions. According to the in-game counter, I’ve put over 10 hours in the game, so I got my money’s worth. However, there are still things I’d like to discuss.

gta_cw_main_characterI haven’t talked about the story yet, because I didn’t think it was worth mentioning. It starts of pretty so-so, but in the end things come together nicely and I guess it’s an acceptable excuse to have a big blowout fight. For a game it’s pretty ok story. It might even make a movie worth watching, but it wouldn’t work as a book. As far as storytelling is concerned, game makers are stuck between a rock and a hard place. On one side, you don’t want to spend too much time in cutscenes to show off your story, on the other hand, it’s difficult to tell a story if you only have action sequences. Ever since adventure games and full motion video games went out of style, we only have games like Half-life left who walk this fine line pretty nicely

gta_cw_gunfightIf you complete the story missions, you will undoubtely for ever remember the last three missions. The game ends in some seriously intensive gunfights. If you don’t like the gunplay in Chinatown Wars at all, I’m affraid you will be a bit bummed by the end. But by the time you make it this far into the game, you’ll probably have a pretty good grip of how to handle the situation. I thoroughly enjoyed the final missions. Althouh I had to replay them quite a few times. The key to victory: take it slow, don’t rush.

After you complete the story, the “Guardian Lions” mission is unlocked. Once completed, you can upload the mission data to the Rockstar Social Club for a bonus. Although it’s a small thing, I really love this online integration (and it cuts back on piracy, so it’s a win-win)

Anyway, if you still haven’t got the game, and aren’t convinced by now, I don’t think I will ever do so, but still: go buy and play the game!

Open Softwear, a Free E-book to Get Started With Wearable Computing

Now is the time, if you ever wanted to get into wearable computing, such jackets that control your iPod, trousers that measure the distance you’ve run, and other general coolness like that. The guys at have compiled an e-book to get you started immediately.

This beautifully illustrated and completely free e-book will give you insight into the materials you need, the circuits to build and the software that will perform the tricks.  Thanks to Make: for the pointer.

Exporting Models From Blender to Flash Sandy 3D, Experiments in 3D

Last week, reader rafbaf asked how to use Blender models in Sandy 3D. There are a few options, for instance Sandy 3D can import the Collada format that Blender exports. But there is also an easier way. A Python script for Blender allows you to export models straight to ActionScript code. However, as you will see in this post, it’s not as straightforward as it seems.

downloadExample FlashDevelop project.

There’s a reason this post is titled “experiments”. It is actually an unfinished work, but I wanted to give you a look at what I’ve already been able to create. This is how far I got for now:

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

  1. First, I got an A-Wing from the blendermodels archive. Before I got the first render result shown in the picture above, I had to fix the normals of most of the meshes in there (in Blender: go into edit mode, select vertices and ctrl-n)
  2. Next, get the export script from Dennis’s page and install it. Take care to get the correct directory, it’s not that easy to find. If you have one of the latest versions of Blender, you should look in your user folder. For Windows that’s “C:Documents and Settings<username>Application DataBlender FoundationBlender.blenderscripts”.
  3. If you haven’t already done so, you also need to have Python installed. Python is necessary to execute the script.
  4. Once you got this out of the way, you will need to restart Blender. Check the file > export menu and verify that the ActionScript option is available. If it’s not, you probably placed the file in the wrong directory.
  5. Select the object you want to export and click the export to ActionScript menu item. It’s probably a good idea to enter a package name, as this will keep your code cleaner.

Now you should have one or more .as files: one for every mesh and texture in your model. This model doesn’t come with textures, so there are none.

Next we are going to use those files in a FlashDevelop project. The first step is to create a new project in FlashDevelop and put the Sandy 3D library inside the src folder. Like described in previous blog posts.

Now inside the src directory, you should create a directory with the same name as the package you specified in step 5 above. If you forgot the package name or are not sure, you can open one of the files that was created and check the first line.

That’s pretty much it: add the meshes as Shape3D objects to your scene, just like you would add a cube or other shape:

scene.root.addChild( new Mesh() );

(you might want to add an appearance too)

You’ll notice I’m skipping a few steps here, but they are all very basic. If you download the example project and read through my previous blog posts, everything should be clear (feel free to comment if it isn’t).

You’ll notice a few issues/problems (correct me if I’m wrong):

  • The 3D object I choose, consists of several meshes. Each with their own texture (material in Sandy3D terminology). The export plugin doesn’t really help you on this point. You need to create every mesh and add them individually to the scene.
  • There seems to be an issue with the normal calculations. I did correct them in Blender as you can see in the small rendering at the top of my post, but still there seem to be missing triangles in the Sandy 3D version.
  • It looks like there is an issue with a bounding box or face culling. I still need to investigate this thoroughly.

To be continued…

downloadExample FlashDevelop project.

Tweet-Tweet: Backup Your Twitter Account Into Your WordPress Database

One thing that has been bothering me with social services is the difficulty of creating a backup. What would happen if Twitter suddenly dissapeared, or even worse, what would you do without your Delicious bookmarks? It has happened a few times before, services like Geocities and Stick-it were closed almost over night (I’m exagerating, but if you are on holidays in the wrong period, you might come back to see your data gone)

Backups of your local system are important, but so are backups of remote systems. Although people tend to thrust third parties a lot more, most of them don’t offer any kind of data guarantee. Certainly if you’re not paying for the service, there’s very little you can do if your data is gone.

Twitter is certainly a bad offender for me. Although I haven’t been tweeting that much lately, I do try to share interesting insights and valueable sites, so I don’t want to see those go. So when I saw “Tweet Tweet”, a WordPress plugin to backup your tweets, I was immediately charmed. I noticed it hasn’t been updates in a while, but I think it is the only plugin that actually stores a backup copy of your Tweets.

As an added extra, you can integrate the tweets in your blog. Which I’ll probably do at some point, when I get around to updating the layout.

Have fun and don’t forget to backup.

Image credit.

Grand Theft Auto Chinatown Wars FAQ on Squidoo

I’ve been continuing my pursuit for GTA Chinatown Wars completion. The game has really drawn me in and it gets better every time I play. I also tend to loose more and more time, which is a good thing. If you happen to have the game, but have put it aside, I must urge: give it another try. The controls take getting used to, but it will be so rewarding.

GTA Chinatown Wars FAQ lens.

To extract at least something useful out of the whole experience, I’ve begun to document some of the questions I encountered and the answers I found (or didn’t, for some). I’ve wanted to try out Squidoo for quite some time, so here is my GTA Chinatown Wars FAQ lens. It doesn’t have the usual walkthrough you can find on pretty much any gaming site. This FAQ has questions that aren’t answered anywhere else, but that might be important for you to fully enjoy the game. Feel free to add extra questions.

And don’t forget to add me to your friends list if you also have the game. My Nintendo DS Friend Code code is 335201600798.

JLayer, Java MP3 decoder

For a hobby project, I wanted to play and analyze MP3 files from a Java program. It turns out that’s not as easy as you might think. Probably due to licensing issues MP3 playback is not included with the standard Java development kit. Luckily there are some great people at JZoom (formerly JavaZoom) have created an open source library to help out: JLayer (formerly JavaLayer).

The documentation is minimal, but who needs it when programming a Java MP3 player is as simple as:

new Player(new FileInputStream(args[0])).play();

The code itself is also very legible, which is nice if you plan to mess with it. And they have a few add-ons. The one you will want is the JavaSound standard library. Using MP3 SPI, JLayer integrates perfectly with JavaSound, so you don’t actually need to learn any new APIs if you already know JavaSound.

Image credit.

Tweetcoding Demonstrates That 140 Characters is Enough for Every One

If you’re an ActionScript programmer and you haven’t checked up on #tweetcoding, you owe it to yourself to take the rest of the day off and look it up. #tweetcoding is an ActionScript coding competition, organised by Grant Skinner, where you have exactly 140 characters (a tweet) to program something interesting.

You might think that this is an impossible mission, however, before you do so, take a look at the entries. There’s some astonishing things possible in just 140 characters.

It reminds me of those 4kb intros that were (and still are) created in the demoscene. It’s astonishing what people can do when faced within such small boundaries.

For instance check out Elevated (but you really should download it and run it locally)

It has sound and high-res visuals for crying out loud. And all of that in less than the size of even the most beepy ringtone you can find. Incredible.

GTA Chinatown Wars Will Keep You Busy for the Rest of the Year

To deal with my growing pile of shame, I decided to focus my efforts on one thing at a time. So for the last two weeks, I’ve been trying to put all my spare time into completing just one thing. To choose my single point of attention, I simply picked the first thing I came across, which was my Nintendo DS (the old & heavy one) with Grand Theft Auto Chinatown Wars in it.

In hindsight, that probably wasn’t the brightest choice to try out my new “time management system”. I’ve already sunk a considerable amount of time into the game and it currently tells me I’m at 25% complete. I’m not sure if this percentage just concerns the story campaigns or it’s everything that can be done in the game.

At first, it took my some practice to get the hang of the control system. I’m sure that probably explains why it didn’t sell as well as people hoped. You need to work at it for about an hour. Once you get the hang of it however, Chinatown Wars turns out to be a one of the better GTA games.

My goal is to finish the story, but I always get sidetracked by other missions, racing a go-kart, trafficing drugs, etc. They are just begging to try them and loose a few hours.

If you’re still not convinced you should buy this game, here’s another opinion:

One thing that will speed up your progress a little (and, personally, I don’t consider it cheating, but you might think different), is this perfect map. It is an indispensable tool so you don’t get lost too long searching for a health kit or a rampage.

Only one question remains: how do I throw grenades while driving without getting a third hand?

Image credit.

Currently, you can get it very cheap at Amazon:

The 960 Grid System Boosts Your Web Design Productivity

If you’re designing a website, or especially if you are programming it. You want to quickly layout the different components of your application. Or you might be tired of always implementing a nice column layout and even be tempted to reach back to those tables of yore.

Fear not, there is now an easy ways to take care of that boilerplate code. It’s called the 960 Grid System. I’ve previously mentioned it in passing, but I thought it did merit it’s very own post. There’s only one downside to the system: the resulting webpage has a fixed-width layout. If you can live with that, the 960 System will increase your productivity by amounts you didn’t think possible. If you can’t live with that, you might want to look into some of the derivatives, such as the fluid system.

If you start using the system, Jason at CentreSource has some tips for you.

Image credit.