Archive for March, 2005

Second Sight

Saturday, March 12th, 2005

Posting about Splinter Cell : Chaos Theory reminded me to talk about another game I played ages ago and kept meaning to recommend…

Second Sight is a fantastic action adventure game from Free Radical – the developers of TimeSplitters, TimeSplitters 2 and the forthcoming TimeSplitters Future Perfect. The TimeSplitters series never seemed to be that popular, but I’ve always liked them. Free Radical understood that a console-based FPS was different from a PC-based one.

Although the basic premise of the game is not that different from other action adventures, it’s the implementation of the physic powers, the storytelling and standard of presentation that makes this title stand out for me. Although they shun realistic graphics in favour of the stylised ones they used in TimeSplitters, to me it works and it works well.

The story plays out through a series of levels, jumping between present day and flashbacks – this is used particularly well in the last few levels. Your physic powers are introduced only as you need them so you’re not trying too much too soon, and as flashback to before you received them you appreciate them so much more in the levels where you do have them.

My one complaint about the game is that the finale is a bit of an anti-climax. What – up until that point – had been an intelligent game requiring you to use both your mind (literally) and your trigger finger to progress, degenerates into a brief, chaotic mass battle. It’s almost lack they ran out of ideas (or more likely time) and said “let’s wrap this up now”.

Seeing as it can be picked up so cheaply, it’s well worth playing.

Splinter Cell : Chaos Theory

Saturday, March 12th, 2005

Both the PC and Xbox demos are available for the third installment of Splinter Cell.

The graphics (on the Xbox) are simply stunning. As Gabe from Penny Arcade says:

I must have sat there and watched water pour onto a cement floor for about five minutes.

I know exactly what he means. Of course graphics don’t make a game, but combined with the physics, rag doll effects and audio it’s a fantastic experience. The demo takes place on the lighthouse level, and makes excellent use of weather effects.

I love it when game developers have a decent sense of humour, so go check out their NSA Training Videos and comic (drawn by Penny Arcade).

Playing the demo has made me re-visit Splinter Cell : Pandora Tomorrow (which I’d skipped for some reason). The game is very good, but the multiplayer is fantastic!

I’m finding a lot more time for gaming at the moment – I guess it’s because work is so hectic I’m preferring to stay away from the computer during personal time.

Update

Splinter Cell : Pandora Tomorrow is currently available on Play.com for £9.99.

Odds & Ends

Saturday, March 12th, 2005

Just catching up on a few odds and ends (mainly Mono related) that don’t really warrant their own post.

How BitTorrent Works

Ever wondered how BitTorrent works?
Go check out this simulator (Java required).

Pretty cool watching empty nodes fill up and start seeding others.

Mono/Cygwin CD

Paco has released the ISO of his Mono / Cygwin CD.

This CD contains, multimedia tutorials tarballs with Mono source code, installers ready to use and most important, a very comprehensive Cygwin installation specially configured to work in tandem with the Mono 1.1.4 Win32 installer for building Mono, XSP, Gtk# and others from source code as described in the Oâ??Reilly article (also included in the CD) here

Limited time offer only, so I won’t link directly to the torrent – check out his announcement instead.

Mono Presentation

Paco has also released video of the talk Mono Development for Windows .NET Programmers presented by various Mono team members at the Plano .NET User Group meeting.

Again, it’s only available for a limited time, so go here to see if it’s still available.

Introduction To Mono articles

Brian Delahunty has a couple of good articles introducing Mono up on The Code Project:

I look forward to seeing what he produces in future installments…

Open Source Software in C#

Via The Daily Grind.

A site attempting to catalogue various Open Source Software projects written in C#.

Visit site

Regular Expression Library

Welcome to RegExLib.com, the Internet’s first Regular Expression Library. Currently we have indexed 913 expressions from contributors around the world. We hope you’ll find this site useful and come back whenever you’re looking for an expression for a particular task, or have just figured out a new expression that does something useful. Thanks!

The regexes are written with .NET in mind, but should be portable to other languages (particularly Perl). I’ve not yet tested any of them, so I can’t comment on the quality.

Visit site.

How to setup a .NET Development Tree

Mike Roberts has wrapped up his excellent series on creating a .NET development tree into a single article.

This can be supplemented with his Tree Surgeon tool which does the manual work for you.

I’ve used both his articles and the tool to setup a tree for a project I recently started, and I thoroughly recommend you check them out.

Perspective

Friday, March 4th, 2005

Following on from the Python is overrated stuff, I’ve been thinking about programming languages, their uses, and the unavoidable flame wars that occur whenever this subject (or that of editor, desktop environment etc.) comes up.

Obviously, people have their favourites and want to evangelise about and/or defend them. Unfortunately and all too often this is taken to zealotry-type levels and that’s when debates breakdown into flames.

One of the things often missing from these arguments is perspective.

Picture a full-time developer (i.e. me) who spends all day designing and implementing ‘enterprise’ type systems – large scale applications that are re-distributed to others and developed/maintained by others.

Now picture an administrator. She writes scripts that make her life easier. She’ll most likely use any language which lets her get the job done and on to the next one.

Somewhere in between is the guy whose scripts have grown into applications, yet most likely remained in the same language due to personal preference (or fear/reluctance to re-implement). He, and our administrator above, are likely one-person-shows – they choose what they write and how they write it.

Of course, there are additional scenarios, but these will do for now.

I’ve been through all three stages outlined above, from writing scripts in Perl to designing and implementing applications in .NET/C#.

When I first started coding in Perl, I couldn’t understand why anyone would want to use another language. Then I had to learn Delphi in a hurry because Perl simply wasn’t an option for a particular problem. PHP followed, then Visual Basic, Visual Basic .NET (yes there is a difference – a big one), C#, and Python. Whilst learning each of these, I went through the predictable stages:

Why doesn’t this work? It works that way in language X Oh, that’s what I should be doing – that makes more sense Language X is rubbish compared to this, I’m only go to use this from now on… (Eventually) solve a problem in new language that would have taken 2 lines in language X Realise the limitations of the language, add it to my skillset (rather than replacing previous skills) and move on

What you’ve got to remember is that it’s horses for courses, and you should use whatever makes your life easier. From the perspective of an administrator, that would Perl, Python, Ruby etc. From the perspective of the the full time developer, it’s Java, .NET etc. From the perspective of the guy in the middle, it’s a case of using whatever he thinks is best.

Whatever you do pick a language because you want to use it, not just because it’s got mindshare at the moment.

So, the next time a language debate comes up, apply some perspective.

Took the words right out of my mouth…

Friday, March 4th, 2005

Whilst I’m not a huge fan of his, I do have Rory as one of my subscriptions in Bloglines because a) he can be funny (not all the time though) and b) he comes out with some good observations.

Today was the latter of the two with his take on Python which he nicely sums up with:

Because I kind of think Python sucks and is as overrated as OS X and Pink Floyd.

Now, this is definitely going to upset some just for the Python comment alone. Others are already wading in on the OS X and Pink Floyd comparision.

Now I can’t comment on Pink Floyd as I’ve never conciously listened to any of their music, and I’ve commented about OS X before so I kind of agree with that statement, but – for me – Rory has got it dead right about Python.

Not so much that it “sucks” per se, but that it is overrated and has some very strange conventions. Everyone goes on and on about how good Python is – I’ve even found myself doing it, but if I’m truly honest I don’t really believe it. It is a nice language, it’s just not “all that”.

I do do Python occasionally because I have to (i.e. maintaining existing applications) but if I’m writing something new I’ll reach for C# first time every time1.

Update

As foretold, Aq has responded, so I’ll respond right back. :)

Not sure where his argument about self vs curly brackets is going, as the latter are code blocks (i.e. indenting in Python – how’s the ink on your tab key?) whereas the former is simply wasteful. If you have to pass self, why isn’t done for you?

Can’t comment on the 1.x/2.x and OO stuff as I don’t know enough about it.

He’s right about using Python for scripting – it’s great for that, but then so are Perl and a whole bunch of others2.

Here’s my argument:

A good scripting language does not make a good programming language.

Yes, you can write applications in Python, Perl etc. but that does mean you should. On the inverse, if you’re trying to use say, C#, to write procedural scripts then you should re-evaluate your needs.

As Aq says, Python is somewhere in the middle but you know what they say about “Jack of all trades”…

Conclusion

I already gave you one! OK, let me clarify and expand a bit.

Firstly: Python isn’t an inherently bad language – it’s just overrated.

Secondly: Use the language you want, how you want. Just use them wisely, don’t force them into situations they weren’t intended for, and (most importantly) don’t force your choices on others.


1 I can’t even remember the last time I wrote a Perl script now, and I used to work in that on a daily basis.

2 I’m actually in the sed and awk camp for doing stuff like this these days.



Mobilized by Mowser Mowser