Caught in the refactoring web

· by Steve · Read in about 3 min · (617 Words)

You might have noticed I haven’t said much about my editor project for a while. That’s partly because late May and June got rather busy for me work-wise so it mostly got shelved in that period. The other reason is that all the time I’ve managed to spend on it in the last couple of weeks seems to have involved as much tearing down as building up. I’m now on my third (I think) iteration of basically bulldozing major parts of the infrastructure and rebuilding them. Hence visible progress has been pretty much non-existent, which is pretty demoralising, even though internally large steps have in fact been made.

I’m far too much of a perfectionist, and getting major structural components right rather than just slapping things together to get an end result quickly has always been in my nature - which is both a virtue and a flaw at the same time, I know. I know that the reason I’ve gone backwards and forwards on this one so much is largely down to inexperience - I’ve never built a tool quite like this before, so it’s very much a learning process. I have done plenty of GUI tools before, but mostly in a business environment and never with so much extensibility built in. In particular establishing where and how the structure of the model, view and controller is dynamically extensible and distributing responsibilities & collaborations between them has led to several rethinks, as I’ve got to a certain stage with one structure and realised that it wasn’t quite adequate for my purposes.

It doesn’t help that, as far as I know, a few of the core ideas I’m trying to implement haven’t really been done before in a tool of this kind, so it’s not like I can even use another tool as a reference to build towards. Which in itself is a concern - whilst I need to get the right infrastructure in place to even test these ideas properly (part of the reason I had to tear stuff down is that I realised cutting corners to get to a proof of concept quicker was actually invalidating elements of it), in the end they might not even pan out. I’m beginning to think that I should have just tried to copy UnrealEd - still a ton of work, and would still be a learning process, but at least I’d know precisely what I was shooting for and how to go about it. 😀

In any case, it’s all progress, even if it’s not particularly blogworthy. I’m learning some new techniques, and do feel that the structure is on the right track now, when before I was rather uncertain about it, so that’s all positive. I should be able to continue putting effort into it over the coming months in between contract work and OGRE itself and eventually I hope it will all bear fruit 😀

Talking of business, I’m back in one of those ‘bitty’ times where I’m doing more negotiating of future contracts than directly working on them, which is why I’ve had some time for my own pet project again. It’s funny how these things are cyclical - crazy-bonkers one month, fairly relaxed the next. I’m off on a business trip to the mainland (UK) in the latter part of next week to visit a couple of potential clients and talk future projects, and have a small handful of other client projects in discussions; one of which has particularly piqued my interest because it could mean at least one business trip to Japan, which will be awesome (don’t ask for details, I can’t give them). So future prospects are looking good at the moment.