Topics

Normal Mapping

Colour Map
Colour Map

Norma Map
Normal Map

I’ve been playing with normal mapping a little in Blender. It’s very cool. Have a look at a test render.

If you want to have a go, download Blender and have a look at this tutorial. If you just want to see the effects, you can download the images I made to the right, though it’s easy enough to render out a normal map from something you do yourself. Have a play.

Here’s a little info from Wikipedia, if you don’t want to follow the link:

In 3D computer graphics, normal mapping is an application of the technique known as bump mapping. […] While bump mapping perturbs the existing normal (the way the surface is facing) of a model, normal mapping replaces the normal entirely. Like bump mapping, it is used to add details to shading without using more polygons. But where a bump map is usually calculated based on a single-channel (interpreted as grayscale) image, the source for the normals in normal mapping is usually a multichannel image (that is, channels for “red”, “green” and “blue” as opposed to just a single color) derived from a set of more detailed versions of the objects. […] One of the most interesting uses of this technique is to greatly enhance the appearance of a low poly model exploiting a normal map coming from a high resolution model.

So what that means is that for each texel, the direction it’s facing is stored with the X, Y and Z components of the normal making up the red, green and blue value of each pixel. Since a negative Z value would be impossible (it would be facing away from the camera), the Z values are scaled up (in most implementations, Doom 3 being a notable exception) giving them that bluish tinge.

Okay, I hope you’ve stopped this post reading by now.

Filed under: on January 24, 2007 at 1:32 am

Games on the Apple TV

Mockup of the Apple TV Games screen

I bet you that within a year the Apple TV will have games on it.

Just look at these specifications (from this AppleInsider article):

  • 1 GHz Pentium M, 2 MB L2 Cache
  • 350 Mhz Front Side Bus
  • nVidia G72M with 64MB DDR2 VRAM (GeForce Go 7400)
  • 256 MB DDR2 400 Mhz RAM

So these specs haven’t been confirmed anywhere, but if this device is going to be decoding h.264 and squirting it out to HD displays, we know it must be pretty powerful. Powerful enough to run some fun, Xbox Live Arcade-style games. I mean, even the menus must take up a lot of GPU-time.

So this is what I think happens:

  1. Buy a set of 2 wireless controllers from the Apple Store. (There’s no reason why 802.11 can’t be used for input devices, right?)
  2. In the box with the controllers comes a CD, which you put into any Mac that’s on the same network as the Apple TV. iTunes starts up, and updates the Apple TV software with whatever it needs. (Not much, I’d imagine).
  3. Along with the controllers also comes an iTunes Store coupon code for the value of a game, so you open up the iTunes store, choose one and download it. iTunes syncs with the Apple TV and sends it the game.

And that’s it. The games will probably be commissioned in a similar way to the ones on the iPod; third parties won’t be making these yet. Being connected to the internet, you could have a few additional features that the iPod doesn’t. For example, an online high scores site. I can’t imagine that they’ll have multiplayer games to start with, but who knows…

I mentioned Xbox Live Arcade games because I think that that’s exactly the scale of games they’ll be going for. While it would be more than capable of running a gory, effects-heavy FPS, I expect that instead they’ll keep that for the Mac and focus more on smaller games. Games that are quick to get into, that you could perhaps play in an advert break or when the news comes on.

Having played with a Nintendo Wii, I’d love it if Apple came up with some sort of innovative controller. I can’t imagine that they’d go the same route (though that USB port would be a convenient thing to plug a sensor bar into…), but they’d either come up with something really new and exciting, or just release a really nice, simple gamepad.

So there we go. HD games on your nice TV. Only a few clicks away. Sounds good to me.

Image (it’s fake, of course!) based on one from inky’s Flickr account, which is under a Creative Commons Attribution-NonCommercial 2.0 licence.

Filed under: on January 20, 2007 at 7:38 am

New Year’s Resolutions

640×480, 1440×768, 72dpi… Ok, bad joke.

So happy new year everyone. I hope you all had a nice time.

Here are a few things I plan to get done by this time next year:

  • Work on my 2D engine a bit. I’d like to have something done to show it off with fairly soon. I was planning to get a physics engine working with it before I released anything, but I’ve looked around and I haven’t really seen too much about how the various open-source ones work in 2D. There’s some promising stuff happening with some dedicated 2D engines, so I might wait a bit before I do that.

    Instead, I might just do some sort of point and click game. Where fancy things fly across the screen and you have to click them to get points, resulting in showers of particles of course. I’m hoping that I can put in a few fun features that would make for some compelling multiplayer action; ManyMouse being the first - plug in an extra mouse, get an extra cursor on the screen to add another player. I think that could be awesome.

  • Learn some more Cocoa and Objective-C. Currently, all I do is program in C until I need to do something on screen or get respond to a button or something and then I open the manual. I think I need to actually start learning something about it. Or just decide that I don’t really want to bother with that sort of thing, and concentrate on interface and design and get other people to do all my programming.

    I’m not even sure when I became interested in developing Mac applications. I mean, I’ve always enjoyed tinkering with programming, and I had fun with the Circle Monster. But all of a sudden I’m doing more and more stuff in that field. Perhaps I’m just caught up in the excitement with My Dream App and MacHeist.

  • Design some websites. I really want to become good at website design, because I think it’s achievable and it’d be a great skill to have. What I’d really like to do is to start charging people. I need to build up my pretty thin portfolio first, but when I have a few more under my belt I think I’d want to get people and small business who want small websites. I’d like to aim for design- and craft-oriented clients, cause they’d be the most interesting websites to make; then again they’d be the most annoying clients to deal with because they’re likely to have a picture in their head of what they want, and I’d have to start justifying why I made their text so much darker than the background… ugh.

    I suppose it sounds like I have too high expectations for someone without many years of experience. But I don’t have to rely on this just yet, and I don’t want to start eating into my college time dealing with annoying e-mails. If I do make any money from it, it’d encourage me to work on some of the other projects that I have in mind. The first one is an e-commerce site, which would be a nice shop that would allow people to sell good things. I’m thinking of starting by aiming at people selling hand-made jewellery, embroidery, other crafty things and, say, antiquarian books. For reasons that are probably obvious to people that know me. Anyway, the site would be really nice and simple to look at, and make things as easy as possible for both the buyer and the seller. To make things easy for the buyer, I’d have to make the seller comply to a few rules. They’d have to follow a style guide for their item pages, and they’d have to offer free worldwide postage.

    That’s starting to sound like a big project. I think I’d have to get someone else to do the server-side things, and I’d concentrate on the design and interface. But that might stop me from starting as small as I’d like. I’ll have to think this one through.

    The other big project, which I’m already working on, I’d like to keep secret for a bit. I’m excited about it though. It’ll involve lots of Cocoa, and lots of web design stuff. It should be cool. Hopefully you’ll hear more about it fairly soon.

So that’s my 2007 accounted for. I suppose I’ll have to try and fit some college work in between all of that. And presumably I’ll need to sleep as well. I’d quite like to go to America, at some point, too. Let’s see what happens.

Filed under: , , , on January 3, 2007 at 12:29 am

Powered by WordPress