spacer

Blog Move

I have become quite attached to the Douglas Adams inspired sub domain, but, it isn’t all that easy to remember for new visitors let alone telling it to someone over the phone and having the simpler “42.figmentgames.com” just doesn’t have the same geeky appeal :(

I’m moving the blog to the easier to remember “blog” sub domain, “http://blog.figmentgames.com”. The old “00101010″ sub domain will remain active for the foreseeable future with a 301 redirect in place, so existing links and subscriptions should remain valid.

That said, if you do subscribe to this blog, I’d recommend you update your feed url from “http://00101010.figmentgames.com/feed/” to “http://blog.figmentgames.com/feed/” along with any back links you may have in place.

 

Buffy the Vampire Slayer

Having just watched the final episode of season 7 of Buffy the Vampire Slayer, I’m not sure what to think. On the whole, I felt it lacked something, although I’m having trouble putting my finger on it.

Perhaps it was the “UberVamps” appearing to be a lot less “uber” in this episode than before. I could accept the slayers been able to easily kill the “UberVamps” having fought them in the past and learnt their weaknesses, but the non-slayers been able to do so much damage didn’t feel right. Perhaps if some form of additional help had been granted by Willow for the non-slayer crew it would have made more sense.

I’m sure this was probably a case of Josh Whedon having to choose between making an epic finale to the Buffy series with lots of action and vamps been killed left, right and centre, or having longer fights with just a few “UberVamps”. It’s pretty obvious which was more fitting for a final episode

Maybe it was Buffy going from stabbed and dying to full of fight in short order?

Perhaps I’m just been too hard on the final episode and suffering from that “The End” feeling that tends to accompany the close of any good series or movie trilogy. It certainly had that epic feel to it which did justice to an overall great series and allowed each of the main characters a chance to play a sizeable part in the final outcome especially Willow, Spike, Buffy and the slayers.

Buffy Season 7 End

Looking back over all seven Seasons, Season 5 stands out for two reasons. Firstly, it seemed to be a pivot point in the style of Buffy episodes. Although having occasional moments of that classic quirky humour so prevalent in seasons 1 to 4, overall, it had a much darker feel to the episodes which only continued to increase throughout seasons 6 and 7.

I’m not really sure if I liked the darker feel of the last three Seasons, although it did work wonders for season 5. Which, having now finally viewed all 7 seasons, brings me to the second reason Season 5 stands out. I’d have to say without doubt it stood head and shoulders above the rest. Aside from the gradual build up each episode brought, the 100th episode and Season 5 finale “The Gift” made for a awesome and moving end to a great season. I was literally stunned after watching that episode to the point of sitting through the end credits.

After that though, the dark edge to the episodes went a little overboard in my opinion. I liked Buffy for its quirky humour the core characters were notorious for in Seasons 1 to 4. Although the humour still crept in now and then in 6 & 7, it was either not quite as often or otherwise drowned out by the darker feel.

Still, I’m glad Seasons 6 and 7 were made, otherwise we’d never have had a chance to watch the (imho) best ever individual TV episode “Once more with feeling”. I’ll admit, it wouldn’t have been quite the same without all the ground work of Season 5, but, out of every TV series I’ve seen to date, it’s my favourite, which is saying a lot considering how many good episodes Babylon 5 had.

Overall a very enjoyable series to watch, still not enough to beat my opinion of Babylon 5 though, but never the less a noble attempt :)

If you haven’t seen Babylon 5 or Buffy yet, what are you waiting for. You can now get Babylon 5 : The Complete Universe on DVD, all 5 seasons in one box set. You can also get Buffy The Vampire Slayer - Series 1 - 7 on DVD as well.

 

Nanowrimo 2006

That time of the year is slowly drawing closer, the time that sees people hunker down inside their homes laptops, typewritters or even that archaic instrument of old know as the pen and spew forth 50,000 words of elegant prose[1]. For those that havn’t already googled this posts topic, it’s the Nanowrimo Novel in a month 2006 event.

Nanowrimo has been running since 1999, although I’ll admit I only heard of it 2-3 years ago and despite thinking it would be neat to take part, I’ve never done so. As I’ve blogged about in the past, a large proportion of people want to write a novel “some day”, very few actually attempt to do so and even fewer actually finish it let alone produce a sellable novel. I’m certainly in the would like to but know I’ll probably never actually get around to it camp.

Writing a novel is hard, it can take years of effort (in some cases almost a lifetime), so why is there this insane idea that people can write a novel in a month? One word, “quality”, or more to the point lack thereof. This is one situation where it’s all about quantity rather than quality. The point of nanowrimo is to write “something”, 50,000 words of “something” to be precise, not something good, great or world changing, just plain old something.

I’m still not 100% sure, but this year I’m very tempted to actually give Nanowrimo a go. Don’t get me wrong, I’ve no delusions of grandeur. I’d be very suprised if I managed to make it to 10,000 words within the 30 days of November and that’s simply 10,000 words, not 10,000 elegant words that will leave you waiting for the missing 40k. Think of it more like 10,000 words that will never see the light of day, but, they’ll be my words, my characters, my world (perhaps with a healthy dose of other peoples ideas ;) It’s a way of getting that novel you’ve always wanted to write, written, but with no commitment that it actually has to be any good :)

So assuming I do decide to go ahead with this, here’s hoping I reach my target even if it isn’t the official nanowrimo 50k target. Oh, and don’t worry, I won’t be publishing my efforts on this blog nor anywhere else in public for that matter, I’m not expecting the results to be all that pretty. ;)

[1] in most cases 50,000 words of elegant tripe. Tripe created with great care, sweat and effort but tripe none the less. Remember quantity not quality :)

nanowrimo

 

GP2X First Impressions

I guess the title of this post gives the game away, I’ve bought a GP2X :) For those who want the short review it’s amazing…

Before we get to the long drawn out first impressions, I wanted to mention that a community game contest has just begun, starting August 1st with the entry deadline 11th December, head over to www.psymastr.com/gp2x/ for more information.

It’s certainly nice to see a community contest with reasonable rules, unlike the official GPH contest where the idea behind the contest may be genuine but the way it comes across leaves much to be desired. There are too many grey areas in the rules such as whether a losing entry that GPH do not wish to go commercial with can still be self published. I imagine this is totally down to the translation rather than ulterior motives since GPH are a korean company, however the grey areas are enough to put many off entering the official contest. Instead, we’ve got a community contest to enter :)

Anyhow, onto the review.

Games

Aside from emulators a number of homebrew games are available including ports of Doom and Quake. But, for me, the killer app is a port of Scummvm which allows you to run all those classic point and click adventure games. With beneath a steel sky, flight of the amazon queen and lure of the temptress all freely available from the original developers theres not excuse to not give them a go :)

There’s also a port of Spout, a simple yet strangly addictive game. You control a little ship in a similar way to asteroids with left/right rotation and thrust only. The aim is to progress as high up the screen as you can without colliding with any terrain, with the twist that your jet spout can be used to destroy terrain and provide a clear path. Very addictive. Grab the GP2X version from the gp2x archive there’s also a windows version on although I’ve not tried it.

Spout

Flashing

My GP2X came with the latest 2.0 firmware preflashed, but I like to know the details. From what I’ve seen/read so far, the GP2X has a boot loader known as “UBoot” which loads the kernel image. Stored in NAND memory is the 32meg linux filesystem as well as a 32meg “yaffs” filesystem. Since this is an open source handheld, the source for these can be obtained from the GamePark Holdings svn server.

I’ve also downloaded the latest pre built 2.0 firmware, this will come in handy when my experimentation goes awry and it stops booting ;) The firmware zip contains a uboot image as well as kernel, filesystem and other images.

Flashing the UBoot is a little dodgy, since a bad flash will render the GP2X unbootable and un-recoverable outside of interfacing via JTag (which I don’t have). However, if the gp2xboot.img (UBoot) is not present on the SD card, the GP2X will not try to flash the UBoot continuing on to flash the rest of the files, so regardless of whether the rest of the flash succeeds or not (or if you mess up the filesystem by other means), the gp2x will still boot far enough to attempt another flash. In short, avoid messing with the UBoot part of NAND memory and things will be fine.

Boot Sound Mod

I know this isn’t anything new, it’s also a very simple mod but since the firmware zip contained a wav file which is the boot up sound, it seemed to be a logical first customisation. Besides, it’s a good test to demonstrate that my SD card is compatible with the firmware update process.

Loading the file into Audacity shows it to be a ~2.7 seconds long, stereo file. I’ve mixed the standard sound with a Buffy the vampire slayer “Grrrr Arrrrg” end credits Mutant Enemy sound. Exported as a 16bit pcm file the size should be 233bytes exactly the same as the original gp2xsound.wav (any different and the firmware update won’t pickup the file)

Flashing, is simple, place the gp2xsound.wav in the root of the SD card and boot the GP2X with select/start held down. For the record, I used a Fat32 formatted, 1GB SandDisk SD card which despite wiki information to the contary worked fine for firmware updating and general usage.

Development

I can’t have any kind of computer device without trying to dev on it and the GP2X is no exception. What’s great about this however is how easy it is to get up and running.

Enabling USB networking and samba server on the GP2X allows access to the root filesystem. There’s a samba client app available on the gp2x archive site, which allows the GP2X to mount an external samba share, such as the gp2x folder on my development machine.

Development can be done on my PC with the resulting cross compiled gpe file accessable on the gp2x thanks to the mounted samba share. Thus testing the newly built app is as simple as connecting via telnet, killing the existing gp2x menu and running the app. This avoids having to transfer any files onto the SD card during development.

[code]
killall gp2xmenu
cd /mnt/devshare/
./testapp.gpe
[/code]

The result been testapp running on the GP2X with any debug output displayed in the telnet window :) You can even remote control the running app via the telnet window using keys such as U,J,K,I for up/down/left/right.

The full process is documented in much more detail on the GP2X wiki

Currently I’ve got VS2005 setup with two separate projects in a single solution, the first been a standard windows project setup to link in SDL. The second project uses the custom build rules feature to build using the arm-linux-gcc toolchain to cross compile for the Arm architecture used by the GP2X. (available as a part of devkitpro).

The Future

One thing I’m looking forward to getting my hands on is the retail version of the breakout box which exposes amongst other goodies the host mode USB port. Been able to plug an external powered USB hdd into this would be great for streaming films/music especially on holiday ( 40gig iRiver anyone? ;) )

Plus having JTag access would remove the fear of playing with the UBoot, not that I’ve any reason to.

 

Shelled! Press…

Shelled HUD

Game Tunnel posted a preview of Shelled! back in July, they’ve just followed up by posting an Interview with Joshua Dallman of Red Thumb Games.

Looking at the images in the interview I’d forgotten just how much this game has changed over the last year from the original Sci-Fi theme previewed at IGC to the current cartoon style. I can’t wait to play the final version, which considering I’ve been testing (usually ending up playing rather than testing ;) ) the dev versions pretty much daily for over a year speaks for itself.

Anyhow, go read the interview already :)

 

Close your ears

Many, many years back when I still in primary school I remember taking Piano lessons once a week. I enjoyed the first few but soon lost interest and shortly afterwards packed it in.

Some years later I wish I’d stuck with the lessons. I bet this is a sentiment shared by hundreds of people that had the opportunity to take Piano lessons when they were younger and never stuck with it, only to regret it later in life. Over the years, every now and then, I’ve messed around trying to play the odd tune I liked the sound of but nothing more.

Three week ago I got my hands on The Piano Handbook and decided to pick up learning to play again. The book itself is very easy to read and includes a fairly interesting history of the Piano in the first chapter, although not a topic I’d normally be inclined to read about, it was quite interesting.

The remainder of the chapters are where the fun begins. So far I’ve finished working through the first unit although my timing isn’t all that great not to mention coordination. Several of the tunes are straightfoward (as you’d expect for the first unit) the pieces I’m currently struggling with however are those that involve dotted notes which make the normal 2/2, 3/4 or 4/4 time counting a little trickier. Still I’m sure its just a matter of time and practice, I remember counting rhythm wasn’t my strong point during lessons anyway.

So 3 weeks later, I thought it was time I recorded myself playing. The last piece of Unit 1 is the Morning Hymn which is a 3/4 time with dotted notes :( My timing isn’t consistent and it took several (ok more than several) attempts to get a recording without pausing, still I don’t think I did too bad.

Practice makes perfect, but I think once I’ve reached a reasonable level with the unit 1 pieces I’ll move onto unit 2 and re-visit unit one less. Most of the more interesting pieces (which typically are for the most part also the more complex pieces) are deeper into the book, still it’s something to work towards :)

I think my biggest problem at the moment is my weaker left hand, mainly the little finger and ring finger. Playing notes with them isn’t a problem the first time, but playing subsequent notes is, such as alternating between the two fingers. Hopefully this will improve as the fingers are used more and more for note playing.

Anyhow, heres the recording, Morning Hymn ~680k ogg format

Played using a midi keyboard hooked through an M-Audio 2496 sound card (with under 6ms latency ;) ) with Ableton Live 5.2 software (the demo shipped free with the sound card but a recent FREE upgrade offer for m-audio owners means I now have the full 5.2 software!) then output to my iRiver which did the actual recording straight to wav format (converted to ogg with Audacity).

The M-Audio is a really great card considering it only costs around £50, the sound quality is awesome with no audible noise (unlike my previous sound blaster and on-board sound), plus in addition to the Stereo RCA input/outputs it has midi in/out and Optical outputs. At some point I’ll probably get an optical cable since the iRiver ihp140 has optical input and output as well (eat that iPod ;) )

The Piano Handbook by Carl Humphries is available from Amazon.co.uk

PS I know keyboard != Piano, but it’s all I have, we sold the real Piano many years ago.

 

Best Individual TV-Series Episode…

and the winner is “Buffy the Vampire Slayer. Once More, With Feeling”, at least I’m sure it would be if there was such an award.

As a complete series Buffy doesn’t take the top spot on my favourites list, that honour is reserved for Bablyon5 for which other tv shows to date aren’t even in the same league. That said, I’ve still really enjoyed watching it over the years. Somehow though I managed to miss most of season 5, and all of season 6 and 7, but having just had sky put back in and season 5 of Buffy happening to be re-screening I’ve been catching up. Which brings us to Season 6 and the “Once More, With Feeling” episode.

Outside of theme park stage shows I can honestly say I’ve never really watched any type of musical, I’ve tried, but they never hold my attention. This episode however really does stand out, I mean its even spawned fan sites for just this single episode, that’s unusual isn’t it?

If you’re a Buffy fan I’m sure you’ve already seen the episode, what with it been 5 years old and all ;). If however you only watch a Buffy episode now and then, this is one to watch sooner rather than later :)

A few short samples are available on Amazon who sell the sound track. Although they don’t really do the songs nor the episode justice.

 

XGS-FrameBuffer

I’ve been coding a basic line buffer renderer for the XGS, I say basic because firstly its black and white only (well black and a fixed colour) and secondly its still in need of a good optimisation.

The current code takes up just under one page (<512 words), however with a lot of spare cycles there's the oppertunity to reduce the code size whilst still meeting the tight timing criteria. The largest chunk of the 512 words is taken up by the numerous uses of the DELAY macro in generating the HSYNC delays, shifting this to a subrouting would make quite a difference.

The buffer itself handles 200 pixels with 4 pixel padding either side, giving a horizontal resolution of 200 active pixels and 8 overscan. Vertically it uses 208 active lines with 48/52 lines for top/bottom overscan and 4 vsync lines totalling 312 vertical lines. Although I'm considering reducing the overscan lines and increasing vsync to 10 lines to provide a greater number of spare cycles in one chunk for gameplay logic.

The line buffer uses 25 bytes of internal RAM (banks 1 & 2) for storage with each byte holding 8 pixels (thus the reason for single colour only support atm)

The line buffer is populated during each of the hsync periods utilising the spare cycles. During the active line period the code generates the required tv signal to output each pixel of the line buffer with only 20 cycles (250ns) per pixel available

Currently the biggest question is whether 900 cycles will be enough time to generate 200 pixels worth of data and cache it to the line buffer banks. With a player sprite, enemy sprites and missiles in the mix the cycle count could be quite tight.

The main rendering loop still has quite a few cycles to spare, around 12 per pixel, however using these will mean tightly coupling the line buffer generation with the rendering, which is something I would like to avoid.

Although not in place yet, the plan is the for game logic to run during vsync, which assuming we use 10 lines would provide just over 50,000 cycles for game logic. A further 420k cycles are available during the overscan generation which means there's plenty of room for gameplay logic and music.

Part way through building the line buffer I attempted to generate a pal signal with the colour GREEN for an on pixel and BLACK for an off pixel. However, my TV would not recognise the signal as PAL with colour output when using the NTSC setting only.

As the following forum thread describes, PAL has a few extra requirements to NTSC.


  • 1 - Colour burst on alternative lines must be phase shifted +- 45 degrees
  • 2 - Each colour output must be phase shifted by 180 degrees on alternative lines

With James’ help and a fair amount of time reading the PAL specs and XGS specs, the TV finally picked up on this been a PAL signal and displayed bars in all their colour :)

XGS PAL Signal Generation

Next step will be finalising the hsync callback code to render a player sprite under joystick control.

At a later date I’ll probably look into increasing the size of the line buffer to 100 bytes which would allow 200 pixels at a bit depth of 4. Then up’in the sprites from been an 8bit x 8bit block to support 4 bits of colour information per pixel. Using a palette this would allow for colours 16 colours.

A larger bit depth is plausible especially if its moved out to the external SRAM, however doing so may require some creative thinking in order to meet the timing requirements of 20 cycles per pixel.

Once the code is more functional and rendering a few sprites I’ll get it uploaded, perhaps with a pdf explaining everything for any XGS owners that are interested :)

XGameStation

 

XGP/GP2X

Having done a little more reading on the GP2X (GamePark Holdings) I thought I’d check out how the XGP (GamePark) was coming along and came across three videos of the prototype in action on youtube.

From what I’ve been hearing the XGP may still under go further changes before shipping, which with an estimated release date of November makes me wonder if we’ll see further delays. I’d be interested in hearing what the changes are though and how they affect the specs.

I’m in two minds whether to plump for a GP2X which is available now, has a solid community behind it as well as a good set of emulators and homebrew games available. Or, hold out in the hopes the XGP does ship on time (assuming it ships at all) and lives up to its promise. From the brief amount of reading I’ve done, here’s my current pro/con list (of course my pro/cons may differ from yours based on what you want out of the system).

The GP2X GP2X Image VS XGP Image the XGP

XGP Pros:


  • 3d hardware - Aside from anything, it’ll be interesting for homebrew development
  • Wifi
  • 16:9 resolution, wide-screen movies ;)

XGP Cons:


  • More expensive than the GP2X.
  • 16:9 Resolution of 480×272, not really suited 10+ year old games with mainly 4:3 aspect
  • Single processor ARM920T, GP2X has an ARM920T and ARM940T
  • Not truly open, although an SDK will be available, GP2X appears to be more open overall.
  • Not available yet. November estimate.

Both a pro and a con is the addition of an analogue stick on the XGP. Whilst useful for new commercial games and homebrew games a digital stick imho would be preferable for emulators.

Several people think of the XGP as the successor to the GP2X (albeit made by different companies) newer and better in all regards, however, from my pov both devices have their own strengths and weaknesses, so the choice is not a simple one.

On the one hand the GP2X makes for a good emulator platform, on the other hand the XGP has 3d support which would be nice to have available for homebrew on a hand-held and may help improve psx/snes emulators but then the res/joystick isn’t as suitable and I’m still questioning how open the XGP will be aside from allowing homebrew via an SDK.

I imagine the decision will be a whole lot simpler once the XGP finally ships and we get our hands on concrete information/specs. The question is will I still be on the look out for a hand-held by then or will I be busy playing/developing for the GP2X ;)

If you’re interested in emulators check out pdroms.de for a number of public domain roms :)

 

Nintendo DS

I’ve been reading up on the GP2X a very interesting console from a homebrew point of view, why? Here’s a quote

It’s open. You want to develop your own games for the GP2X? Go right ahead. The SDK is included with the system free. Not since the days of the Amiga has a system been so easy to develop for, commercially and for fun

Not many consoles/handhelds that can claim that. The specs ain’t half bad either

Yes that’s right, this hand-held can connect to the TV, console style. Watch your DivX movies on the TV. Play emulated classics on the TV. Try big screen Quake. Or just play them all on the GP2X’s large 320*240 backlit screen. You get the best of both worlds.

It runs the free Linux operating system. This means a whole world of Games, Utilities and Emulators are at your disposal. Quake, Doom, SNES, Megadrive, MAME, Media players and Applications to name just a few.

It’s powerful - Two 200mhz CPU’s with 64meg of RAM, custom graphics hardware and decoding chips. Takes SD cards and has 64M of NAND memory. Plenty to play with.

For £125 the price isn’t that steep either. So far I’ve only read about two commercial games been available, but then most people will probably be buying this for movies, homebrew and emulator use. Still it’s encouraging to see commercial games, hopefully they’ll be a success and bring in more developers.

Been able to transfer movies over without having to re-encode for a specific format is certainly a big boost compared to the PSP. The only things it’s lacking in is 3d hardware support. The XGP (made by the GP2X’s rival company gamepark, or is it gamepark holdings?) is rumoured to have 3d hardware support included, however its not shipping till the back end of the year and I’ve yet to see any full specs to compare against the GP2X in terms of raw power and openness.

Having read that the GP2X’s developers split from gamepark (holdings?) the makers of the GP32 over concerns of openness makes me wonder whether it will be or not. I can’t see it having as much of an impact as the GP2X if it isn’t open, which would then place it in direct competition with the Nintendo DS and PSP.

Craig over at gp2x.co.uk has recently posted a new review of the GP2X and I have to admit it really sounds like a fun hand-held (although I love retro games so it isn’t hard to sell me on the idea).

On a separate note, for all the ball dropping Sony has done recently, at least they’ve made WPA available in newer firmware. Nintendo however appear to be a little more stubborn, that is if the word of a moderator on the Nintendo forums can be taken at face value

We have no plans for WPA at this time.

If your concerned about WEP, turn your computers are OFF after you’ve switch to WEP for the DS. I don’t care if The Lone Gunmen are parked outside your door with a van full of equipment trying to bust in your computer files, they can’t do it if your computers are off. And, yes, your wireless router will still work if your computer is off. Um, unless it’s plugged into the same power strip and you power the whole strip off.

If that’s not an option for you, you may want to get the Nintendo USB WiFi Connector, as it works ONLY with the Nintendo DS, and you can leave your other WiFi router with WPA.

NOTE: The reason the Nintendo DS is compatible with WEP, and not WPA, is that we found WEP to be the most prevalent standard for securing wi-fi connections.

WEP is obviously going to be more prevalent, it has been around for longer, but that doesn’t change the fact that it is also extremely flawed. I’ve not used WEP on my wireless network for some time now, in fact the only reason I delayed switching to WPA for so long was due to waiting on US Robotics to release a firmware upgrade for their wireless gaming adapter that my XBox runs off.

I’m not saying WPA is foolproof either, but at least it does offer a reasonable amount of protection. Hopefully Nintendo will change their minds on this and release a firmware upgrade (assuming the hardware is capable of coping with WPA?), either way I hope the new Nintendo console supports WPA.

As far as I’m concerned,the DS may as well not have wireless support if it remains as WEP only, there is no way I’m allowing WEP access to my network (although it’s a mute point anyway since I’ll probably get a GP2X eventually rather than a DS ;) Hey I like old games and homebrew and favour openness over proprietary systems any day. :)

 
 
© 2005-2007 Gary Preston
Figment Games is hosted by DreamHost
Entries (RSS) and Comments (RSS).