Dec 27, 2015 - A look over 2015

Another difficult year gone by...

A year full of family passings and particularly nasty illnesses from all fronts meant no Badger work got done at all - and it's looking very close to being shut down if I can't turn fortunes around in the next month or so. The passing of my Mum had quite an effect on me, and have found it very difficult to concentrate on much beyond YoYo work. Hence why, for yet another year, this site is still not exactly completely functional and is missing images and files and all sorts. That said, I did manage to recover a number of source archives from backups, and immediately uploaded them to GitHub... which included the source for Plight of the Weedunks, SGZEngine and the aborted SGEngine. With another two family losses early in the year as well, however, my head just hasn't been in the greatest of places.

As for illnesses... I got hospitalised with tonsilitis, had a second bout of vestibular neuronitis ( basically confirming that this will be a recurring pest I'll have to live with, ) and have just finished a particularly nasty case of the flu - where the last one that was this bad had put me in hospital a few years ago. If I'm ill, I'm definitely ill! No minor ailments for me, sadly... Add to that and my daughter being finally diagnosed with "oral allergy syndrome" after about six months of wondering what on Earth was going on, and it's certainly been an interesting year. It's certainly fun to explain to a school why she can't have fruit, soya or dairy ( her current triggers ) particularly when it's all "Healthy Eating" initiatives. This knocked out the Summer holidays as a block of free time to do stuff in.

Also managed to rack up a bit more in the debt department due to playing the "what's safe to eat" game.. but we'll get that sorted.

Now then, 2016 is just round the corner and it's going to be a bit of a bugger to start with. While the flu is more or less over with, I've still been left with a niggly cough that I can't quite shift yet. And the Badgers are skint. There's enough money scraped together to get it through another month and that's it. As such, I have to get something released to try and get something in, or I will have no choice but to close it. This makes for a tricky situation as while I'd ordinarily do Badger work in my spare time I'm not quite able to do too much as, due to the flu, I was taken out most of December so have a lot of YoYo work to catch up on... So, I need some quick turn around games.. of which diving into the archives of design notes I have, there's a couple that I can hopefully get done. Ideally, I'll release a few "big" games next year - Tiny Critters ( finally! ) along with a new Germies! and perhaps a strategy game of some sort... be that Yargh! or derelict_ or something else.. there's a few ideas kicking about at any rate. What I'd really like to do, is alternate between a couple of quick games, and a big one.. but that depends greatly upon what free time I can get. Tricky.

Oh well, life is life, let's just get on with it.

Oct 19, 2015 - Plight of the Weedunks

So I've just stuck up the (almost) entire source of Plight of the Weedunks to Github: It's missing the amBX code, but you don't need that anyway... and the DLLs we had for it have long since expired.

Why put it up now?

Firstly, I lost it.

I only just found it while pouring over some backup archives, pulling together lost bits of projects - of which I've started and abandoned a huge amount of. Also, it's got some rather interesting bits and pieces in there... it binds Horde3D, ODE and Lua together.. the vast amount of gameplay logic is written in Lua, and from what I remember, we actually tick the engine over from Lua as well. It also has some quite horrendous coding practices, before I settled on anything remotely readable... but shh...

Secondly, it's important.

As I said, I lost it... and that's quite a big chunk of code to lose, and especially something that maybe not culturally important, but it's certainly important in my own programming history. It's also quite old now, and not entirely useful to a lot of people these days, so hopefully I haven't ruffled too many feathers over at Dare to be Digital as technically they likely still own the rights to it ( though I do believe our team leader was attempting to get them a while back, and the rest of us had agreed - me on provision of being able to release the code - but not sure how that went... ) Either way, the art assets are missing - I never had a copy of the source archive. The ones here are compiled and built for the game, so will be pretty difficult to use or modify for other things.

Anyway, some choice bits of the code to look at.

The Converter was modified slightly to pull in some more information that we were spitting out of Maya ( I don't have the Maya bits we wrote - that was in the Art repository, which I never grabbed... ) Most useful bit being in around lines 1038 - 1351 .. where I start spitting out Lua files for lights, cameras and chunks of level code. This helped immensely as it let our artists and level designer set where everything was in Maya, and we just picked it up on our end and started writing logic around it. It did however have the huge caveat that if the level changed, so too did all the scripts.. and that caught us out a few times until we started chunking up the logic better.

Other fun things are that all the ODE collision information got passed out to Lua. So when something collided, Lua was triggered to see what to do with it. Vast majority of the time it would be nothing, but we were able to trigger sounds ( or amBX effects! ) and bounce things off one another and so on. I'm still surprised how well it worked. Again, all of ODE was bound out.. if you check the level loading scripts ( we'll take Toothy as an example; ) they're all split into scripted, dynamic and static. We then just call ODE to bind the dimensions out properly... most of which got spat out by the converter.

We also effectively bound out all of Horde3D to Lua as well, so we were able to poke at the rendering pipeline from within Lua. For example, actually sets up the resource paths for Horde3D, and I vaguely remember Lachlan doing some crazy shader stuff at some point through Lua as well, before we dropped the HDR pipeline completely.

It certainly has got me thinking about crazy projects to try with GameMaker...

I've been unearthing lots of old projects while digging around archives, so I'll be trying to get them up on GitHub as well. It would be a shame to lose them entirely, as almost happened here!

Sep 8, 2015 - Windows 10 (Nightmare Edition)

Perhaps installing Windows 10 while being ill was not the best plan... Not only that, but on a machine which Windows 8 didn't like to install on ( the tech previews installed happily, but the final retail did not, curiously ) However, sometimes a distraction can prove welcome, and Windows 7 was getting rather slow and clogged, so a reinstall seemed a good idea.

I'd already upgraded a couple of machines to Windows 10 without issue, and they did run faster... so thought that maybe this time, it'd be plain sailing. Nope. Straight after first reboot, it complained that something bad had happened, and to insert the install media and try again.


Ok.. so installing from scratch may not work, but I can upgrade from a Windows 7 install... so I reinstalled 7, and tried that way. This time, it didn't even tell me it had failed with a nice error box, it just decided "nope, failed, so let's revert back to 7, whether you want to or not" So that's a bust.

After having a quick look about, it seems there could be a few issues... 1) Drive formatted as MBR instead of GPT - so I fixed that, reinstalled, and nope... 2) USB devices acting funny - so I unplugged them all, reinstalled, and still nope...

But, I did come across an article that if there's a hardware incompatibility - due to missing drivers on the disc - it can do what I'm seeing. My machine is rather old.. it's an Asus M2N-E SLI motherboard, 8gig ram, GeForce 550 Ti GTX ( or somewhere there abouts) and an AMD 9850 X4 Phenom Black Edition processor. It's had all manner of Linux installed on it.. it's even had Mac OS X on it for a giggle while fiddling about.. and has been happily running Windows through XP, Vista and 7. Surely a hardware conflict would've raised it's head by now? Either way, I followed the instructions, which consisted of bringing up the Command Prompt (Shift + F10) when the "something bad" message appears. Calling up regedit, then finding HKLocal machine/SYSTEM/SETUP/STATUS/ChildCompletion and setting setup.exe from 1 to 3. This worked, and install continued happily... until the next issue...

Almost constant rebooting for apparently no reason once I got to the desktop.

One of the issues that could've been halting install was USB wifi, so I removed that and it seemed a bit more stable.. so off I went to get the driver on another machine, onto a usb stick, and install that way. I did the same with the nVidia graphics drivers too, as that was another hiccup I had seen regularly - borked graphics drivers. And it did seem slightly more stable. Until it started installing updates... and the reboot-loop began again. This seemed to be caused by a somewhat wonky update, so I removed the USB wifi again, and poked in the registry, finding HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList and deleting any with a ProfileImagePath. And that seemed to behave itself again.. so I stupidly turned the machine off for the night after a day of wrestling with it.

That was a fun mistake.

On booting in the morning, it crashed while logging in and rebooted. Only now, it's pretty adament I have the wrong password - even after changing it online. So.. back to the recovery command prompt. A run of chkdsk D: /F /R/ X ( to make sure it tried something ) took a few hours and ... nothing. Attempted to jump to the last restore point before the update and... computer says no. So.. it's stable at least, but I can't login and use it. I can't boot to the recovery console on the install itself, as it wants me to login... so I can't add a new user, or activate the Admin user. I can't use the recovery shell from the install disc to add a new user, as the net service talks to the recovery environment and not the actual install on disk.

I have been fiddling with computers from a young age - which I blame my parents on for encouraging me. I've installed Slackware 8.1 from floppies onto a 486. I've installed Mandrake and SuSE when nVidia just started pushing out binary drivers, and the madness that caused in system stability trying to use them. I even got my printer and scanner working under Mandriva! I've compiled Gentoo on an AMD Duron 1200 with a gig of ram just to see how it all worked. I've built embedded Linux systems with Debian and LFS. I've created cross-compiling toolchains between ARM, MIPS, x86, and x64. I've even built runnable Windows software under Linux via WINEGCC.

All of these have been fun projects as I wanted to fiddle with them. Never have I come up against a piece of commercial software - especially such a vital part of a computer's software infrastructure - that I've had to do such ridiculous hoop jumping just to get the bloody thing to work! And it still doesn't!

It runs fine on the laptop I recently upgraded from 8->8.1->10. It runs very well on the media centre I upgraded from 7->10. It'll likely run fine on the two netbooks I have, and another one of the laptops ( if I can get it's graphics chipset fixed, anyway ) But my main desktop? Nope. Not having that. Which makes me somewhat wary of letting it go near the Badgers work laptop as I can't really have that explode on me the way my desktop has.. it needs to stay running for those precious few minutes I can find to work on things. As life is.. well.. life.. it gets in the way of everything... For instance, this site is waay behind schedule of being sorted out.. The Badgers site at least runs, but I've not been able to do anything Badger related for about a year now... short of some patch work, and filing paperwork for the accountant to play with. I can't afford time to muck about with OS installs that go haywire anymore.. I need something that works, and funnily enough Windows just doesn't make sense anymore; Linux does.

I'll have another fiddle tonight with Windows 10, to see if I can get it to stick. But odds aren't looking good for it, and I might be back to fully Linux.

Good thing Debian 8.2 just got released, then!