The Quest For The Perfect Project
Friday, 19 January 2007
Welcome to the blog for my latest project. This is a joint project between myself and a couple of colleagues. We're interested in brushing up our C# (having not had much cause to use it professionally recently) as well as learning about some new technologies (e.g. XAML and Windows Presentation Foundation).
We want to do a project right, from the start. That doesn't mean the code will be perfect, but we're going to try to use appropriate patterns, tools, best practices etc to do the best we can. We have no time limits to worry about, so we can experiment with different techniques without risk of anything other than looking stupid.
This blog is meant to be a sort of diary of the project. If we're conscientious in keeping it up to date, we should be able to look back and see where we've made mistakes, where up-front work has paid off and where we we've wasted time by thinking we know more than we do, etc. In short, don't expect this blog to be a guide to "doing it right" - only expect it to be the experiences of people trying to "do it right" in a recreational context.
The project we've chosen is the age-old game of battleships. We don't need to be innovative in creating a new and marvellous game, just implementing existing ideas - any innovation (and don't expect too much) will be in the software itself. We're using Windows Presentation Foundation (part of .NET 3.0) for the presentation layer, and may well end up using Windows Communication Foundation (another part) for one of the supported protocols.
The project is open source, under a BSD licence (we were going to go with public domain, but when I was creating the project I was slightly concerned about binaries in the source repository which weren't in the public domain). We're using SourceForge for hosting, and Subversion for source control. Feel free to look at the project home page - but there's not a lot there yet.
We've no idea how fast the project will go, but we'll keep anyone interested posted here...
Nice to bump into you again after more years than I care to remember!
The reasons for choosing Battleships were mostly to avoid having to actually innovate whilst still doing something recreational. It's also a fairly simple game, which is a good start!
If this is a project to learn from, then you could try numerous patterns but you wouldn't necessarily notice why they are better than other alternatives.
This is still something of a soft field and guidelines around which patterns to use when, especially in terms of non-functional requirements are still in formation.
Best of luck, though.
To be honest, I expect this blog's RSS feed to be more useful - I can't imagine anything significant will happen on the project without a blog post to that effect.
Jon, the same ideas time to time comes to different persons :)
I've just read your post about that u started the new blog and realized that the same idea about "team blog" came to me on this week :) I and my mate started the team blog recently http://devkids.blogspot.com :)))
PS: seems that the teamblogs idea is becoming more and more popular :)