Sunday, June 18, 2006

Football fever!

Been doing almost nothing except watching the world cup really. Some fairly good matches and some fairly dull ones but its great fun. I love watching good teams play, but it does bug me when commentators say this game or that game will be a walk over; all the teams had to fight to get to the world cup in the first place, so they're all pretty good. Ghana proved that yesterday by beating the Czech's, it was a game that everyone assumed would be a dull walkover by the Czech's.

I also discovered my projector takes in a HiDef signal! And although its sampled down, still means I can a truly outstanding picture! The projector does 960x540, so the 1920x1080 progressive image is sampled down, but boy its cool. So I've stolen the Cable TV box from the Living room and put it beside the projector and been living in HiDef Heaven!! I wonder what a proper 1920x1080 image looks like once its been projected onto an 8foot screen...

Friday, June 09, 2006

First communion...

Its my daughters first holy communion on Sunday, and she'd been doing lots of classes and leassons in preperation for it. My mum had been so looking forward to this last year just before she passed away, so it'll be an odd happy and sad day for us all. We still haven't gotten my mums estate sorted out, but I have no idea how long these things take really. I promised my Gran that mum will pay for the dress Rebecca will be wearing since it meant a lot to mum to be the one to buy it. Frances got a chain from my mums collection for becca to wear on Sunday, so thats nice.

Its funny how we keep trying to include the ones we've lost in our lives, I'm not sure if its out of loss or knowing that she's up there watching and allowing her to take part in some small way. I suspect the latter. It's one of the reasons I don't feel the need to go to the grave very much, I feel like she'd not there, but is watching from somewhere else. When Nicholas was Christened, out of chance we ended up using a white scarf of my mums as well... I know lots of people would say thats just chance, but I don't think any of us see that.

Friday, June 02, 2006

Back to normal.....almost.

I've just about recovered now, so I've been back at work adding to the latest Demo for Dave. Russell's been having a ball adding really sad effects, but it's all adding up to something that looks fairly neat. I'd love to see this for the first time again because I don't really see anything special most of the time. M ost folk seem to think it looks amazing, but I have to admit, I just don't see it. It looks cool, but not quite as amazing as everyone makes out... I can't tell if they really do think that, or are just being nice.

I did buy the large climbing frame thing for the kids, and I've spent most of the week building the damn thing. I'm almost done, I've just got the swings to add. Although, that looks like a job in itself. Still, Joseph was out playing on it tonight and had great fun, so I hope this will keep them out and help keep them active. When I was their age, I was never in the house, I was always out playing...I don't want them to become too lazy this early on - I've no idea what that'll do to them later in life when they have no choice in the matter....

Thursday, May 25, 2006

Blah....

I've been feeling really crap past few days, full of the cold or flu - who knows. So after being off wortk for a couple of days then back in today, I've decided to take a long weekend to relax and try and recover a bit more, today was hard going and I didn't really get very far.

Russell seems to be having fun doing some visual effects for our app, and while not vital, they will show how dynamic it is and the advantages it holds. Theres still a long way to go, but with any luck the visual quality should double which would probably make it more attractive to the people Dave's after. Im still finishing off my GUI system, but its almost done. I took a small timeout to help Russell with my 3D engine, and correct and improve some of it. It appears to be using lots of VRam, but Im not really sure why - something I'll have to investigate.

I've not done anything with my BASIC really, been too knackered. I hope to pick it up again soon, although I intend to buy the kids climbing frame this weekend so thats probably a wait and see. Still, these things usually take time to deliver so...

Sunday, May 21, 2006

Google me this....

I've been playing with Google earth and Sketchup, and boy does it have issues. I mean, its nice being able to build your house and put it in google earth and all, but theres so many limitations to the editor that you just dont get with a normal 3D package. Initially, you think its much easier than a real 3D package, but as you get into an edit, you start to realise all the tools that have been removed, are actually ones you need. Its also dog slow, and I'm not really sure why. Being a games coder, Im used to throwing around 100,000's of polys, yet google earth stutters as it draws a few hundred. No idea why, particually since they do draw lots when you switch on buildings in New York. The comunity's seems a bit too wide spread as well, although they do have a good age spread. My father-in-law loves it for example, but I know that no one aisde from an artist could actually use sketchup. Oh well, I guess it might get better in time but there are still problems that the concept of using sketchup gives. But when you have almost infinite money, I guess those can be fixed too.

Wednesday, May 17, 2006

Work, Rest and Zzzzzzz

Boy am I tired. I think the heats starting to get to me. Every year I think, I know... I'll buy and Air-Con unit in the sales, and every year I forget. Oh well. Champions league final tonight, should be good.

I've been playing with doing a windowing system at work for my game, and was trying to find a nicer way doing things. In the past the systems been fairly simple, workable but not very expandable without editing the actual library code. So this time, I've set about trying to change that. Its workout out pretty good too, and now you can great your own buttons or gadgets and hook them into the system without the system having any idea on how it works. This is key to how everything in our interface needs to be. Totally expandable with simple code, and without changing the root codebase. Unlike Unreal for example where youre expected to change almost everything, here the idea is you change almost nothing, and expand it.

Monday, May 15, 2006

Relaxing....

Didn't do much this weekend, overdosed on watching Battlestar Galactica which was pretty good fun. Been thinging about how to debug a basic program and it gets fairly complicated when you start trying to step into functionts inside the middle of an expersion evaluation. For example if I try this i=1+Func(), then in order to step into a function I'd have to somehow store the whole evaluation process in a state machine or something.

An easy solution would be to not allow debugging through this, but its not very nice.

Friday, May 12, 2006

More 'o the same.....

I've been progressing with my BASIC interpretor slightly - as I thought, its slow going since I don't have a whole lot of time at night to actually do it. Still, at least its progressing.

I changed the way my token buffer works to allow multiple "basic" classes to have its own interface into the token buffer. This should allow multiple basic threads, which is fairly cool - even if it is just interpreted. I also added a token stack to allow items to be pushed back when they aren't needed. usually I only need a single item, but I added "N" depth just in case, although its yet to be tested.

Theres something odd with this code though, as Im having trouble following it a bit, which is usually a sign that its been over engineered an too complicated for its own good. So I'll have to take a step back and see what I've done wrong. I suspect I've just added a layer I don't need, or added it in the wrong place of course.

Currently I have the main program loop doing a pre-process, an then it calls ProcessTick() once "n" times a frame - or until its time allowed runs out. The Tick then in turn calls the TokenBuffer->GetNext() which fetches the next token and value/float/string if theres one attached. This is all very well, and fairly simple, which is why I'm wondering what I've done as it appears to be a bit more complicated that that.

Oh well... I must be doing something right at work, as I was playing with templates yesterday and did something Russell quite liked. This is pretty good as it shows I'm started to get the hang of it. STL gave me another kick in the teeth as theres another hidden option that lets you switch off range checking. I wish Microsoft would add a gamers switch that lets us go nice and quick, or at the very least TELL us about it! MS spend so much time telling us that games are really important to them, then ignore us completly when doing compilers and tools, it pisses me off no end.

Saturday, May 06, 2006

A Basic Begining...

So, I've started doing the basic interpreter and I've pulled in my old lexical analysis class. It dates back to when I was doing a 65816 assembler (for the SNES) on the Amiga, and its been ported and updated over the years. It lets me jump into the deep end on these kinds of projects, without having to write yet another lex processor.

So, this looks like it'll be fairly easy and fairly good fun. So I need to start thinking about how I want to handle stacked variables and procedure calls etc.The basic construction is simple a memory block with an overlayed stack system and this give me a call stack as well.

I've also been thinking on the graphics interface and the virtual screen/sprite system. I think having simple SPRITE, TILE and PLAYFIELD system should give everything you need to make some fun games. Kind of like BBC Basic on a SNES, which is a good goal to aim for I think.

Friday, May 05, 2006

Basic part III

I've been talking over the idea of doing a simple BASIC with Russell, and although he thinks I should compile to a virtual machine from the outset. I've never written a compiler before, but I think it'll take enough time to actually write the basic in the first place, so I dont want to start writing a compiler as well! The good thing about this kind of stuff is that you can easily add a cimpiler at a later date, so I think I'll stick with my original plan.

Which is....

  • Simple Basic langauge based on spectrum and BBC basic.

  • Multi-plane CharacterMap and Bitmap screens

  • Simple sprites of variable size

  • Simple sounds via WAV sounds (or similar)


  • With these basics, you should be able to construct most 2D games. I really don't want to get into 3D, as the idea is to let kids learn, and you don't learn much by jumping into the deep-end from day one.

    The best thing would probably be to pre-process the BASIC text file into tokens and then "run" them - kinda like the way old Sinclair Spectrum worked. This also lets me define global variables, procedures, and the main code.

    Russ and I decided to get Andrew to write a small game to help train him up. I suspect that he'll manage fine, but the trick will be for him to carry the lessons over into his other projects. When I tried the other day to give him pointers, he didn't see why it was needed, and thought his code was fine the way it was. Part of the trick in games coding is writing something, and rewriting it over and over until its small enough, and fast enough, but these days with all the CPU power available to the average user, its easy to lose sight of that. Windows is a good example, in the days of Windows 3.1, it was actually around the same speed as what we have today, in fact in many ways it was way quicker. Whats changed? People have become used to all the power, and have wasted. Windows is full of really bad code, the fact that it can take a whole minute to enter a directory, or bring up the add/remove programs dialog shows this.