Monday, May 15, 2006

Released glChess 0.9.3

Release glChess version 0.9.3 (screenshot looks much the same as the previous one).

Didn't get the multi-threading into it but the history bar works well and I added piece animation. This had been requested many times but now with the new code was quite easy to implement. I refactored the code quite a lot from 0.9.2 so hopefully it is more to the liking of others :).

Sunday, May 14, 2006

New, improved! Now with navigation bar!

Sneak preview...

Things to do next:
  • Tidy up the code a lot
  • Thread the loading and saving
  • Profile the code to optimise a bit

Tuesday, May 09, 2006

Scon(e)s

SCons - Something to look at when I don't need sleep. (Looks like a make replacement - let's bury that bitch).

Monday, May 08, 2006

Sick of Drupal

The glChess Drupal website seems to be slowly falling apart... I'm not sure if it's sf.net or the old version but I keep getting errors about not being able to log into MySQL and not being able to upload files. So I have been unable to add new content which has put a nail in the coffin for it.

So run and hide Mr Hunter as I am trying to find you and force you to whip me up a simple Rails/Zope site that I can extend.

As I side note I found that people were leaving comments on the site but were getting stuck in a moderation queue. After deleting the 75% spam there were some good comments left.

I particularly like this one:
This is some of the WORST written code I've seen. I can understand why you morons ceased working it! Sincerely, Will L G

It's always nice to receive feedback! :)

Sunday, May 07, 2006

glChess 0.9.2 preview

I added the new models to glChess:

Bit hard to see at the moment, I need to:
  • Adjust the sizes
  • Get better textures (hint hint for someone else)
  • Replace the default material (i.e. make them more shiny)

Slimming your desktop

LowFat - very cool.

Friday, May 05, 2006

glChess 0.9.1

A rushed release... Hopefully the more artistically inclined will provide some decent textures to replace what I've got.


Thursday, May 04, 2006

I swear OOo has got worse

I've been using OpenOffice 2.0 at work and found it to be quite frankly a piece of crap. I'm sure it used to be more reliable back at 1.x. As has been pointed out by others you don't get anywhere just trying to match MS Word. I just can't decide which one is worse at the moment - they seem to be about the same.

Why can a word processor have so much difficulty:
  • Getting outline numbering working.
  • Handle styles appropriately so you don't end up with sections as 'Default' and 'Body Text' without being able to tell.
  • Make images anchor properly.
  • Have a simple diagram drawing tool that is usable.


It really doesn't have to be super fancy, RISCOS managed to work it out many many years ago. Just blend that with a modern file format (Open Document) and you're sorted.

Hopefully AbiWord will replace OOo...

Wednesday, April 12, 2006

New Chess Pieces

Yay for open-source.

A Mr John-Paul Gignac has provided some new pieces to be used in glChess (and other such projects). So probably in version 0.9.3 there will be two sets available (with the high-res new versions as default).



Unfortunately I haven't had enough time to make a proper release. The SVN version has been tinkered with (re-enabled texturing - hopefully someone will provide better textures/colours HINT HINT). But it isn't clean enough for a release. I have no plans at the moment for easter so maybe some good work then...

Wednesday, March 08, 2006

Fall back behaviour

I found an odd bug (?) when adding texturing support to glChess.

If you use a texture with dimensions of not 2^N the performance is complete crap. Now OpenGL requires textures with these dimensions but what I assume happens is if you don't provide them in that form it falls back to a software mode (maybe Mesa). Seems like good behaviour at a glance.

But it got me thinking - Is it always good to fall back like this? Yes it gives you maximum feature support (hopefully replacing the fall back functions with optimised ones) but it does make things confusing for the user/developer. I could not work out why things were so bad (and was trying all sorts of tricks to work out what it was) and it was only on a hunch that I found it. (I think I have found this issue perviously when developing).

What would have been nice is some sort of warning that this was occuring (not that I can think of a way to fit a warning like this into OpenGL).

Thursday, March 02, 2006

Again Windows reminds me of its crapness

Every day I keep from using Windows the more I think "It's not _that_ bad, right?".

Well it never fails to suprise me.

So tonight I go into Windows and my wireless networking no longer works. Ok a bit of a pain but I'll delve in and fix it. So the windows wireless tool helpfully tells me it cannot configure my card and to use the configuration tool from the supplier. Ok why? Well you wouldn't actually want any useful pointers such as "I cannot configure it because this thing X has locked it". And none of the other tools seem to give any pointers (such as device manager, ipconfig). Eventually I found the Intel config tool (which had resumed control after I told it to piss off when I got the laptop) and got things working again. It's just so f**king frustrating how hard it is to find simple problems like this. And I have no confidence that the problem wont occur again.

Slick interfaces never cover up shoddy foundations.

As a side note there is an interesting bug - sometimes the display tool gets into a state where it says it is not connected to a network when it is. When you notice you do have a connection and ignore the feedback its fine but after a few minutes the connection times out and the tool disconnects itself. grr

I'm using an early version of NetworkManager in Linux and it looks really good. (I'll upgrade when the next Ubuntu comes out - I can't be bothered compiling the latest one).

Saturday, February 25, 2006

Saturday, February 18, 2006

Launchpad integration

Hmm... I want to put the 'Translate This Application...' button onto glChess as seen in Ubuntu applications. After digging around in the source code of a bunch of applications (there seems to be an excessive amount of layers in a lot of applications...) I found that there is a library for launchpad (the Ubuntu bug/translation etc webtool) support.

So the question is does anyone know an easy way of integrating this into a PyGTK+ application like glChess? It seems most of the Gnome apps don't use glade for their main window so I'm not sure if I can do this easily (I want all the UI in glade files).

Thursday, February 16, 2006

It's a glChess New Years?

I was looking through the SourceForge statistics for glChess and noticed something odd... Aparently a lot of people were out browsing for chess software at new years!?! I've always been fairly skeptical about the SourceForge stats...



Remove link (not a permalink) and image added (you can just see the peak on the left). Thanks Joel!

Sunday, February 12, 2006

Oh Nine Oh

Finally got glChess 0.9.0 out the door! So it's up there on the website as a source and .deb package.

I had to end up making a .deb package for PyGtkGLExt. Hopefully Debian/Ubuntu will take the work off my plate in the future!

So one big new features is good AI support - I have it working with four AIs and you can load and save games without the AIs getting confused. It turned out most AIs don't seem to have a save function so I just inform them on load what the previous moves were.

But there's no network support now. I plan to get it back in later.

Sunday, January 22, 2006

glChess status

I got the PGN autosaving working and it feels really good to use. So instead of any annoying dialogs you can just quit the program whenever you like and all your games are present when you reload it!

So next step is the AI... Most of the chess programs I've used tend to use the AI (GNUchess or crafty) to do the movement engine and save games so it will be interesting with glChess (which has its own engine and save games). I think I will get the engine to save itself and put hints in the glChess save file. This way the AI should be happy and should be synchronised with glChess after a load. If I don't lets the AI save itself it would loose all its long term strategy.

Oh and a heads-up for my friends who are reading... Be prepared to get thrown a URL and asked if you can install and run glChess without any instructions. I really need some OS virtualisations to test it properly though as once you have installed libraries etc it's always easier to install the second time.

Thursday, January 05, 2006

glChess getting there...

Just got board highlighting working again in glChess. I will be interested on feedback if players consider it useful or not.

It's quite disturbing to count the amount of effort put in and I'm still not back to the 0.8 functionality level! Though of course there have been some new ideas added in as I've been coding (i.e. feature creep!).

Hopefully there will be a spell low typing in my day job so I can spend my typing time on glChess. I really want to get it tidied up (and release 1.0 before it's a decade (!) old).

So what I'm currently aiming for to release 0.9:
- Get AI working again (part ported, only support GNUchess for now)
- Automatically save games to PGN on exit and reload on startup (not in 0.8)
- deb package for Ubuntu, alien built RPM packages.

And what remains to get to the level of 0.8 - these should be in the 0.9.1 release.
- Stored preferences (.ini to be portable)
- Enable GUI elements config, end game, surrender etc
- Animation (rotating board and moving pieces (new to 0.9.1))
- Network play (not sure how portable this will be to windows)

For 0.9.2:
- Windows installer made using pyexe
- Fixed network play :)
- Fix umpteen other bugs

And what remains to catch up with pre 0.8!
- Textures
- Lighting and transparency (but only as a theme this time)

And for the future:
- ICS (Internet chess) support

And I must update/complete the website. Or find someone who is good at that sort of thing :)

Monday, December 26, 2005

Ode to repr()

The repr() function in Python is just great. I love the distinction between str() (presentation) and repr() (content).

The amount of times I've had to muck around in C until I find a string has a non-printable character in the middle of it (like carriage return)... I'm loving the debugging speed using Python :)

Sunday, December 25, 2005

A new blog

Where should I begin...

For those who know me I like to get involved in Open Source. Unfortunately working as an embedded software engineer doesn't leave much typing power when I get home. So development comes in fits and bursts...

The most successful project I have worked on is glChess. Chosen as an achievable project it has been a vehicle for learning. It actually ended up being very successful (and I still don't really play chess!). The following projects were more ambitious and were less successful but taught me a lot. I am currently porting glChess to Python.

I hope to keep regularly posting here to keep a record of the successes and failures on where I drift in software development. (So when I get old and start forgetting I can refer to!). If time persists I am very keen to get more seriously involved in the Gnome community (hence the name).