Wednesday, 22 April 2009

Creative Commons is a tease!

I think Creative Commons licensing is pretty cool. If Flickr and CC images had existed when I was at university doing interactive art projects and learning design, it would have been a massive help. But unfortunately, I think 2 factors have aligned to make it a bit useless to me. These factors are:
  1. Pretty much everyone is using the non-commercial license
  2. Because of things like Adsense, pretty much everything is commercial
If you post an image on your blog, and your blog has ads, that's basically a commercial use, right? If you make a Flash game with CC non-commercial artwork, you shouldn't even upload it to a portal, as the portal will sell ads around it and so make money. Look at Aral Balkan's stitch-up by Sys-Con as an example of the mess that CC can get things into. Should I even post CC images on my blog? It doesn't have ads, but isn't it kinda part of my business?

Case in point: I love this set of CC sprites by Philipp Lensenn



They are brilliant, but to describe them as FREE as is misleading, because they're under a non-commercial license. Basically they're free, as long as you don't really want to do anything with them.

What's the solution? More people should use the commercial licence. But it wouldn't really be fair to, say, make a hit game and a bunch of money without any going to the artist. A better solution - contact the copyright holder and make a deal to share the money. But that scenario is no different than if the images had no CC license at all.

My solution:

We need to come up with some kind of "revenue share" license, like the royalties radio-stations pay when they play songs on the radio. This way the artist would get a cut, but you wouldn't have to contact them BEFORE you use their work, only once the money rolls in. Would it work? Who knows, but at the moment artists like Philipp might be missing out on a chunk of change because game developers are afraid to use his sprites for fear of breaking the terms of the license.

Thankfully, most code libraries are MIT licensed, which is very permissive, so you don't run into this problem with code. And don't get me wrong - so far I haven't personally CC'd any of my own artwork, but maybe if there was the chance of getting some pocket money from it, I probably would.

Monday, 20 April 2009

Flash Games: dimensions, resolution and screen size

What's been on my mind today is the size of Flash games. Not the minutes of gameplay, number of levels or the file size, but the amount of physical screen-size the game occupies. There are 2 competing forces pulling in opposite directions here - the world of slick experiential websites as showcased by thefwa is trending towards high-resolution, full-screen, immersive experiences, and many of these sites are games. On the other hand, there is the world of game-portals and indie-developers keeping resolutions lower, where the game only occupies a part of a larger HTML layout. Here's some positives and negatives of each approach:

High Resolution (i.e. 800px+ in width, often full-browser or even full-screen)

Positives:
  • More immersive.
  • Occupy a decent percentage of a high-resolution monitor.
  • More room for gameplay elements and user interface.
  • Greater detail possible in artwork.
  • Artwork right-size to port to console
Negatives:
  • Slower performance.
  • No keyboard support in full-screen before FP10.
  • No room for anything else on the page.
  • May not actually fit on monitors of netbooks / older computers.
Low Resolution (i.e. 400-700 pixels wide):

Positives:
  • Much faster performance / less variation between new and old computers.
  • Leaves room to sell advertising around the game (decide for yourself if this is a good thing).
  • More flexibility for use on HTML pages - e.g. "Add this to my site" embedding etc.
  • Pixel art looks better in low-res games.
  • Artwork right-size to port to mobile / iPhone
Negatives:
  • Games get completely lost on high-resolution monitors, especially laptops where the pixel-density can be much higher (e.g. on 15inch screen with a 1800 pixel width, the average Flash game is only a couple of inches wide)
  • Less immersive, further away from the console experience
It's a tricky problem with no right answers. I think a wide-screen format of something like 760x400 works quite well across all devices and is a good compromise. I haven't checked the exact numbers, but many portals are still restricting to around 640 pixels wide, presumably so they can sell add-space around the game and maximise the number of devices that can see the content, and Kongregate needs to fit in their chat window, for example. I think this restriction is a bit of a shame.

But hold on a minute! Flash is a re-scalable technology, right? So can't we make games that work at any size? Well, yes and no. Vector graphics scale nicely, but performance suffers at higher resolution. Bitmaps scale up smoothly but aren't so great scaled down (Remember to turn allow smoothing on in your library and/or code!). For pixel art there is the option of turning smoothing off, too. There is hardware scaling on full-screen mode, but text and some graphics start to look a bit strange to me. I think the ideal situation might be to be able to build your game at 1280x720 (720p) and scale down to the correct window size. This is how XNA handles both HD and SD TVs when publishing for Xbox. I don't think the current generation of computers is quite up to this in Flash though, without hardware acceleration. In general Flash does do a much better job at upscaling than you would expect, and if you build with rescalability in mind, it's a bit more work, but you can generally pull it off. Portals should maybe start offering the option to have alternative resolutions - like Flashkit used to!

Do we mind playing tiny games on our huge monitors? Should a Flash game be thought of more like playing a gameboy or iPhone within a window than a playing a traditional PC or console game? Leave your thoughts in the comments please!

Tuesday, 14 April 2009

Scarygirl: a game-changing Flash game



I have a bit of an inferiority complex when it comes to Flash as a games platform. I know from experience that Flash is a great tool for creating games, but I still can't stop myself looking for the next thing: XNA, iPhone, Unity3D, etc, etc. Maybe it's the lack of joypad support, maybe its the small window size, but something about Flash games just never seems as impactful as a console. I was trying to compose these thoughts into a blog post, when Scary Girl landed in my Twitter feed (follow twitter.com/iainlobb by the way). And wow is all I can say really. This is just awesome, and proof if proof were needed that Flash is the real deal for games. So I'm going to get over my tech envy for now, and replace it with some creative envy for this game... brought to you by the Australian tax payer I believe :)

Thursday, 2 April 2009

PushButton Engine - a game engine for Flash. But will anyone use it?


First off, I recommend you go over to Jeff Tunnel's blog if you want a great read about the business of independent games. Jeff knows a bit about games, having co-founded Garage Games, and his latest venture is PushButton Engine, an open source game engine / library for Flash. I had to re-read the description a couple of times to understand what they're trying to do, but basically it's an MIT licensed AS3 library with pathfinding, physics etc, that they eventually plan to make money from by selling add-ons to developers.

I've thought for a while that Flash gaming needs something like this, to make it is easier for newcomers to create more advanced games. So my first question is - who's the target market? And I guess the answer is I am, since I make my living from Flash games. But here's my problem with that idea - surely anyone who knows enough about both Flash and game development to find this project, learn the API and make a decent game can already apply these concepts through their own code? Potentially this project could save you a lot of development time (for example I wouldn't devote months to creating my own rigid body physics engine) but some of the mechanisms it includes, such as health, teams and spriting are so intrinsic to a game, that I could easily see a developer fighting against the API. There's also a multiplayer API in the works, but that market is already saturated with decent products (although I believe there's still a gap in the market for an unbranded, hosted multiplayer platform).

I'm going to give the engine a good test when I find some time, so stay tuned.