Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

It would seem to me that vector art is more efficient in terms of resources/scalability; however, in most cases I have seen artists using bitmap/rasterized art. Is this a limitation put on the artists by the game programmers/designers? As a programmer I think vector art would be more ideal, since it allows for scaling up resolution without having to recreate the art, creating really large graphics or causing graphics to become blurry.

The questions: why aren't more people using SVG/AI to create 2D game art? Would it actually be preferred (and who prefers it)? Are bitmap graphics a standard or a limitation (or maybe neither)?

Background: I am working on an engine, and I had some kinda cool ideas for vector based graphics; however, I don't want to piss off artists in the future.

I guess this is more a question centered around pragmatism and developing games.

share|improve this question
1  
It probably has something to do with how GPUs and hardware efficiently works on certain size raster images too, like 256x256 (or powers of two in general). –  ashes999 Jun 5 '12 at 1:02

8 Answers 8

up vote 39 down vote accepted

Unlike other art forms, vector art requires extremely high precision, making it unsuitable for many art styles. Basic shapes and such are easy using Vector art but it's just a pain to add small details which would be really easy to paint. So its kinda restricted to very simple "symbolic" styles. For everything else painting just works better.

What vector art is suitable for, is icons and design and there you won't find many artists who would use something different.

By the way: Scalability isn't really a problem for raster graphics either, painting in 10x resolution isn't that much of a difference than painting in the resolution it is going to be displayed. Something which is done quite a lot nowadays (often advertised as "HD-Graphics").

share|improve this answer
    
ahhh this makes sense! –  Parris Jun 5 '12 at 0:14
1  
@Mr.Beast I know this question was answered a while ago, but what does painting in 10x resolution mean? –  bitbitbot Aug 9 '12 at 19:41
    
@bitbitbot If your sprite is usually displayed at 20x20 pixels, draw it at 200x200 pixels. That way it will keep being crisp sharp when zoomed in. It doesn't need to be more detailed, it's just to avoid it look pixely. –  API-Beast Aug 9 '12 at 20:03
    
-1 I think it's mainly due to Games' history that started with pixel-rendered sprites only for performance purpose. You have to keep in mind that handling vectors is way more CPU-greedy than simple rasterized arrays, at that time this solution was simply not possible with the current CPUs. It's also not as simple as it could seem at the first glance beyond the vectors, e.g. a game engine gets much trickier when it comes to handling vectors instead of regular raw sprites. Nowadays just to remind you that most of the games are using 3D contents and the degree of details is simply astonishing. –  user14170 Oct 2 '12 at 11:37

In fact, there are a number of 2d games that do use what amounts to vector art; Capcom's Ghost Trick:Phantom Detective, for instance, essentially generates its in-engine characters as vector graphics. (To be more precise, I believe they're given as flat-filled polygonal regions, which in this case amounts to the same thing). More broadly, polygonal models in general can be thought of as 'vector' data - they represent the vertices, edges and faces of an object - as opposed to (screen-resolution) 'raster' data, so in some ways most 3d games are using vectorized data descriptions.

But I suspect your question is more about 2d art, and there several factors come into play. As Mr. Beast says, small details make vector art quite a bit trickier to construct; imagine something like a grenade belt on a character, where even a bit of clever copy-paste of individual grenades still isn't going to save a whole ton of time on the effort. I think the bigger issue, though, is that vector graphics take some control away from the artist; as you note, vector art may look substantially better scaling up, but the real issues are at lower resolutions, where the fiddly details of rasterization can substantially change how an image looks. Imagine a character's eye, for instance; the outer boundary might be an oval no more than ten or twenty pixels across and possibly just a small handful of pixels in height. At those resolutions, how the vector data - be it lines, circular arcs or Bezier curves - is rasterized becomes a critical issue, and unless your artists can work directly in-engine - which essentially means creating an entirely new vector drawing program - then they have a hard time guaranteeing that the appearance of their objects in-game will match the appearance in their tool. What's more, just appearing correct at one resolution is no guarantee whatsoever that they'll appear correct at any other; again, the scaling works well when you're dealing with objects where the details are dozens or hundreds of pixels in size, but as you get down towards smaller-scale features then your scaled rendering runs into exactly the same rasterization details.

That said, vectorized rendering isn't always inappropriate, and it can often be a stylistic choice to excellent effect. But it's not a panacea for the issues you raise with raster graphics, and it raises new issues of its own too.

share|improve this answer

Vector graphics are usually more efficient than raster graphics for storage (ie. the filesize is smaller) but considerably less efficient for performance (ie. how much time it takes the computer to draw the image).

In order to display an image the computer must rasterize that image (ie. calculate the pixels in the image). Since raster graphics are by definition already rasterized there is not much calculation the computer must do before dumping the pixels to the back buffer.

However this issue depends on if you are talking about using vector graphics in real time in the game, or if you are talking about the artists drawing in Illustrator and then exporting to raster formats like png.

share|improve this answer
    
I suppose I was primarily thinking about rendering vector graphics real time; however, rasterizing them could make sense. I think at that point there's not much difference than just using a raster graphics tool. –  Parris Jun 5 '12 at 1:11
3  
Vector graphics are not always more efficient for storage - in general, as the detail in an image increases so too does the complexity of its representation as a vector image. There usually comes a point where a detailed image will in fact be more compact in raster form than vector form - I believe most textures fall into this category, which is a good reason why rasters are used more than vectors. –  Mac Jun 5 '12 at 1:34
5  
@Parris Rendering vector graphics in real time is rasterizing them; the frame buffer itself is a raster array, so at some point in the process - whether it's in your tools pipeline, in your engine, or in the drivers beneath your engine - the vector graphics are going to be converted to raster, and that conversion is going to take some amount of time. Not necessarily a lot of time - but a non-negligible amount. –  Steven Stadnicki Jun 5 '12 at 1:56
1  
@StevenStadnicki yea that is true! I suppose doing it before hand is almost an optimization. –  Parris Jun 5 '12 at 17:49

I read an article called Icon Design: Bitmap vs Vector a while back which shows the clarity of detail that gets lost when scaling a vector image. It's not that any loss occurs, it's that it can be finely tuned as a bitmap.

Take a look at this example of a printer icon (the circled image is the master in each case):

enter image description here

The sweet spot is to scale using vector then adjust with raster. So I guess what I'm saying is that they could be using vector but the end result is raster.

share|improve this answer
6  
-1. You're comparing apples and oranges here. You say that a raster image is better, because you can add more detail. You could just as well create a vector graphic icon for each icon-size (with appropriate details, stroke width etc.) instead and it would work just as well. It's clear that scaling up a vector graphic won't magically add more detail.. but scaling up a bitmap would result in a quality that's even worse. –  bummzack Jun 5 '12 at 11:45
2  
"You could just as well create a vector graphic icon for each icon-size" agreed. Both creating many vector images or many raster images creates more work. My point was that it'd be nice if you could create one huge vector image with all the detail that could be scaled down for all sizes. In the article, it shows that unfortunately it's not that easy in all circumstances. –  PhilJ Jun 5 '12 at 12:26
    
@PhilJ thats what I was thinking. Adding all the detail you want then scale down if needed, but it wouldn't get weird if you scaled up either. –  Parris Jun 5 '12 at 17:50

I believe that it's mostly a combination of tradition, tools and technology, and expectations, which all feed back into each other.

  • tradition - raster graphics were the easiest way to render detailed images for most of the history of game development and so that way of working took hold among programmers and artists, dating back to a time before artists were even widely involved in games. Existing code revolves around bitmaps, and existing artists learned to work with bitmaps. And it's always expensive to re-train and re-program.
  • tools and technology - artists tend to start out with bitmap graphics and photo-editing tools by default, perhaps because it more closely resembles traditional media, but whatever the reason the result has been that good vector editors are less common and less well-known than good bitmap editors. Plus it's only relatively recently that the technology for rendering vectors has been fast enough for games - devs using Flash for games were usually using the bitmap interface until recently, and Canvas/SVG type technologies are also relatively new in terms of efficient support. Plus there isn't really a dominant vector rendering library (that I know of) which people can widely use, compared to alternatives like SDL, XNA, pygame, etc., so programmers don't see this as a very viable route. But it's not programmers necessarily enforcing this on artists - usually artists are far more comfortable with bitmap editing. (Artists are not always graphic designers, after all.)
  • expectations - game players have consistently expected more and more realistic-looking games as technology advances. This may have been driven by the players themselves, or by publishers and marketing, or by the hardware manufacturers eager to sell graphics cards, or by pundits who think games are basically interactive films, or some combination of the above. But regardless of who caused this, it is a factor, and so the market generally pushes towards realistic graphics. Vectors are poorly suited to realistic graphics and so it is only relatively recently, where graphics are converging on photorealism and thus losing identity, that there's a resurgence in stylised graphics and an interest in different presentation styles such as vector art.

The interesting thing about these points is that you can see that things are changing. Maybe the use of vector graphics will pick up in the near future. Modern graphics hardware is well-suited to vector graphics, so the issue is really just about creating a good technology chain to get art into the game and onto the screen.

share|improve this answer

Imho it's the difference in approach... it's more about building your art rather than drawing it. I prefer vector art for it's ease of changing, reusing, scaling and the cartoony feel I can create with ease. Most 'trained' artist prefer a drawing and painting approach while a lot of graphic artist like to use vectors.

Check out my blog: http://2dgameartforprogrammers.blogspot.com.au/

It's helpful to start at the beginning and read the earlier tutorials first. :)

share|improve this answer

I can't speak for everyone, but from my personal experience, vector art programs (read: Inkscape, the only one I've tried) are harder to use and aren't quite as intuitive as bitmap graphics programs. Everybody understands the paintbrush and the bucket. Curves are harder.

share|improve this answer

It's primarily a technical issue that most companies won't use pure vector art in their games. I know many artists who make their creations in Flash or Illustrator, only to pump out a rasterized image that gets slapped on a polygon sprite. It's just a technical hurdle that most large companies aren't too keen on trying to figure out.

Below is an example of an animatable character, made in AI, with about 13 moving parts. It would be great to be able to use this, but we had to painstakingly place each piece inside of their own separate image. The only benefit was that we had these assets ready to be scaled for any marketing art.

Example of vector character for animation

Another reason it may not be more popular is that the EPS format has different standards that AI. So all the bells and whistles artists like to put into their images get stomped out when converted as EPS.

Ultimately, I don't know what it takes to implement vector art into a game, but I know for a fact that most engineers I've worked with opted to just spit out a png instead of deal with it.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.