Archive for the ‘Tech’ Category

Phantasy Star not online

This weekend saw the launch of the Phantasy Star Online for the Xbox 360 – a week of free play (apart from next Tuesday when Xbox Live goes off for a day for ‘maintenance’). When I got home from work on Friday the demo was ready to grab, so I started the download. Several hours later close to a gig was there, and I started the game.

Well, I tried to. I couldn’t connect. Perhaps the game doesn’t begin until Saturday, I thought, so I tried on Saturday.

I couldn’t connect.

Sunday – no joy.

It seems I’m not the only person with this problem – Joystiq reports the same, and a simple search on Google reveals the same.

I suppose it could be the sheer weight of people trying to get online, but since the game is due to be released in a week this better not be the problem. Except now it has coloured my opinion, making me think the servers won’t be able to cope. Good going Sega – with this and the utter garbage that was released as the Sonic demo you are doing a great job at not selling your games.

Technorati Tags: ,

Roll your own engine, roll your own problems

Recently I was approached by a group of hobby gamers who wanted me to make some art for a game they were working on (for the record, I have no interest). They tried to persuade me that they were worth working with with the line “…and we’ve built our own engine.”

A few days later I heard the same on MSN, about a small hobby project – “We’ve built our own engine”.

Which made me ask – “WHY?”

If you are a programmer wanting to learn about engines, then by all means, go ahead (although you’ll learn quite a lot just tinkering with existing engines). But if you are a small group of hobbiests wanting to make a game, you really shouldn’t.

Writing engines is hard. Really hard. And there are already so many out there that there is bound to be one that suits your needs, or almost suits your needs without you having to write it all. Some do costs hundreds of thousands of pounds, but Torque costs $100 for a single license.

You’ll need to write your own tools, and probably exporters. You’ll need to figure out lighting, and memory access, and probably streaming. Oh, and animation systems and directional sound. Input and output routines. I almost forgot about particle systems, and the scripting language to write the actual gameplay with. Oh, did you want network code with that?

You are going to end up writing more engine code than game code.

“But it’s a great way to learn!”

Yes, for one or two people – but what are rest of your team going to do while you hack away for months? Yes, they can make assets, assets that they will not be able to see in game because there is no game yet, because there is no engine to build a game with.

In the end, an engine is a program that maintains the game world, and if you want to make a game, why not concentrate your efforts on making a game? An off the shelf engine will probably suit most of your needs, allowing you to spend more time on the fun stuff.

Thank you to Dino for the phrase I used for the title.

Technorati Tags: , ,

2 computers, Windows Live Messenger problem – Mac only?

A few weeks ago I switched to Windows Live Messenger at work, but I’ve had to switch back to messenger 7.5. WLM doesn’t seem to log me out of my home session when I log in at work. Well, it does, and then sometimes it logs me back in at home.

There have many times when I’d send someone a message whilst at work, and get no reply, only to come home hours later and see their replies on my Messenger on my Mac.

Has anyone else had this happen?

I have no idea if it is a general Windows Live issue, or Windows Live not liking me having a messenger on my Mac, but after switching back to 7.5 the problem is gone, so it doesn’t seem that the issue is with the Mac – but it could be.

Technorati Tags: ,

Firefox 2 short bookmark labels tip

You can edit the names of the links in your Firefox Bookmarks Toolbar, shortening them and therefore allowing more links.

I had a bunch of quick links in my Firefox Bookmarks Toolbar – Writely, Bloglines etc. I noticed that the Link name displayed was the title of the website, so for Writely the link was ‘Welcome to Writely’ and Bloglines was ‘Bloglines | My Feeds….’.

Right clicking, selecting properties and editing the title is simplicity in itself.

I’m not sure about the updated icons in the new Firefox 2 Beta 2 – they don’t seem as polished as the beta 1 versions. I’m not the only one to think this it seems.

Technorati Tags: , ,

Crytek claim Crysis is too powerful for consoles

According to Joystiq, the Xbox 360 and PS3 do not offer sufficient power for high quality Crysis action. Now, to my mind that’s just some sloppy engine optimisation. Both consoles are more powerful than an average home PC, so they are in effect saying that their game will only look good on a top end PC with the latest graphic card.

Who is this statement supposed to appeal to anyway? Is it to make PC gamers feel superior to consoles gamers, only for them to realise their PC won’t play it either, unless they shell out another £300 in upgrades?

Technorati Tags: , ,

Setting up a quick portfolio site

It seems that every week there are dozens of new portfolio sites popping up – sometimes they look good, and sometimes they look bad. Storage space is often hard to find, some free hosts make it almost impossible to directly link to your images, and some people are still manually editing and upload HTML.

Why not use the easy route? Blog it. These days image sharing sites and blogging sites are closely linked, so we can use them to store and display all the content.

I’m going to show you how to quickly create a portfolio site that will look good, be simple to update, and display your art easily. It will use default settings for most things, but I’ll point you in the right direction for customisation. I said quickly, and I mean it – with a high speed internet connection you should have everything running in about 15 minutes.

The Blog

Firstly, we need a blog to hold all the content. There are dozens to choose from, but you’ll want one that lets you integrate other sites into it using an API. I’ll use WordPress for this example, but you could equally use LiveJournal, Blogger, Moveable Type, Typepad or whatever.

So I went to and signed up for a blog. This took about 30 seconds – they emailed my password to me, and was up and running. Using WordPress is a breeze – just click ‘Add new post’ and type away.

So, in 2 minutes I had a site with my own content on it – but it used the default WordPress template so it looked like every other WordPress site out there. My site is a WordPress based site, but I used my own hosting and installed their blogging software myself. I really went to work on rsart, editing the stylesheet and layout templates to get something that worked for me, and you can do this on a hosted account just as easily – but you have to pay for the privilege (about $15). But since this article is all about speed, for now we are simply going to pick a template design.

If you go to the Presentation tab on the WordPress dashboard you can edit the CSS, or you can simply pick from one of the 40 or so themes that are just sitting there (with nice big preview images). I went for Benevolence – it was the first one on the list that I liked.

The images

Now we need an image host – and we might as well use Flickr as it has excellent ties with WordPress. I already have a Flickr account, so I’ll not set up a new one, but I assure that it is simplicity itself. When you sign up you get a coded id, like n001828-a, but you can change this to something much easier to remember. I choose rickstirling for mine, and you can view my images at

Once you account is setup you can upload you images. Flickr has a web based uploader, but you can also upload by email or by using a variety of applications – you can also send photos directly from your camera phone. I have a plugin for iPhoto that lets me upload directly to Flickr. Since I have a lot of images online, I’ll not upload a new one and instead I’ll use an existing image for my blog.

We need to configure Flickr to know where our blog is – fortunately this is easy. By going to you can add a blog to your Flickr profile. Choose the blog type (in this case it’s WordPress), Then you fill in the API address – Flickr tells you what it is, in my case it will be and then I give my blog login details. Press next and Flickr will try to verify this – 15 seconds later I’m good to go.

The setup is complete for the blog and image hosting.

Blogging the images

Now the final stage – getting an image onto your blog. This is the easiest part – simply upload your images to Flickr, navigate to the image that you want, and click the ‘Blog This’ button. This brings up a text editor, where you can give the image a different title and write a blog post about it. Press Post, and a few seconds later it’s done! Flickr has posted a blog post onto your site with the image.

You can see the images I posted from Flickr on my test site

Taking it further

This short article was just a quick run through, showing you how to build an image blog in minutes. Of course you’ll want to take this further, so I’ll leave you with some links.

  • The latest version of allows you embed video from Google Video and You Tube – perfect for showing off your animation.
  • Flickr has a section dedicated to getting the most out out Flickr –
  • Flickr also provide several methods of uploading you images –
  • WordPress can be installed on your own site, give you much greater flexibility –
  • WordPress blogs can be edited off line using several blog editors – Ecto and Windows Live Writer are just 2

Other Portfolio Thoughts

Technorati Tags: , , , , , , , ,

Maxscript and mirroring skin weights

I’ve spend the day skinning characters and banging my head against maxscript and the holes in it.

A while ago I wrote a working skin weights mirror script, where I select a vert, copy it, then select a vert to paste to and it correctly mirrors the bones and weights. However, this is a bit slow, so what I thought was I could select a bunch of verts, where the odd numbered selection was the ‘copy from’ vert, and the even numbers are the ‘paste to’. Then I could loop through the list, copying 1 to 2, 3 to 4, etc.

However, even though the listener can show me my selected vert array, I cannot seem to access this information.

Anyway, I’ve come up with a possible solution, which is a work in progress…I’ll explain it after ranting

Basically, what I want cannot be done – maxscript has holes. The solutions posted on the net, and the suggestions from others are the same as the one I have already – select a vert, then cycle through all the verts in the skin modifier to see if I have got them selected.

This method works for some scripts, but its an ugly hack, since in the maxscript listener it tells me what verts I have selected, so MAX KNOWS! It’s there, in text, on the screen. It’s taunting me.

It’s a brute force search, but this won’t work for my script.

The reason the loop won’t work is that I have to select the verts in order, and store them in array, so I pick the source vert then the target, then another source and another target etc. With this array I copy 1 to 2, 3 to 4, 5 to 6 etc. Using the looping method reorders all the verts.

Now, the vert ids are the same in the skin modifier as they are in the poly/mesh so I thought I’d use those vert selection methods, but guess what – when in skin you can’t use the poly/mesh vert identification methods any more.

Now, my solution to the problem.

I want to be able to mirror whilst the mesh is deforming, so that I can check the mirror has worked.

So, I have 2 buttons in my rollout – Create eMesh and Perform Copy. Create eMesh sticks an edit mesh modifer on the stack above my skin modifier, so I can see all the deformation. I can select my array of pairs of verts here, so thats part one.

I already have working copy and paste functions (with mirror) in my current script, they just take a vert id. The copy function queries the specified vert and extracts all the bone and weighting information. The paste function then applies this information to the specified vert.

So now, after I’ve selected all my weights, I press the ‘Perform Copy’. It stores my vert selection in an array, deletes the mesh modifier and goes back to the skin modifier. Then its just a simple loop – get the information from vert 1, calculate the mirrorbones, paste that to vert number 2. Then 3 to 4, 5 to 6 etc.

It works.

But it’d be a lot cleaner if there was just a skinop.getvertselection command.

Technorati Tags: , , , , , ,

Silo 2.0 for making games

I’ve said before that I’ve been beta testing Silo 2.0, and it’s no secret to the people that I work with that I love Silo as a modelling package. It’s small, fast, lightweight and it feels right to model in. I can’t say what projects I’m working on, or have worked on, but I’ve used Silo 1.4 several times in the pipeline.

Silo 2.0 has been released as a public Beta, and I think that it’s time the word went out to as many game industry artists as possible – Silo 2.0 is a joy to use, and you need to try it. Character artists are the people who will benefit from most of all, due to it’s stunning displacement painting. You can create a low level base mesh then subdivide and sculpt it as much as you want, but unlike Zbrush you’ve got access to all the standard 3D modelling tools at any time on any subdivision level.

You could even start with a high poly model, and then build a low polygon version from it using the topology brush. The topology brush allows you to create new geometry simply by drawing a new mesh over the old one, retaining all the shape. I can also take my high resolution model and generate a normal map for my low poly mesh using it’s UV’s – UV’S that I’ve laid out in the superb LSCM based UV editor.


If you haven’t seen it, I urge you to check the video, and read a description of all the features.

Taking it forward, I’d love to see the Nevercenter team implementing .fx based shaders, meaning the model we see in Silo is very close to the model we’d see in our games. This is a wish that I have no doubt the Silo team would have little trouble implementing.


Technorati Tags: , ,