Jump to content
  • Advertisement
Sign in to follow this  
BujBuj

Vector Art vs Pixel Art

This topic is 2084 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi smile.png

 

Some day I'm hoping to create a top-down(like Pokemon) open-world game, with content created and managed by players. I'm writing this in JavaScript, so keep that in mind if you reply.

 

So far I tried using purely Oryx's Lo-Fi Fantasy pack - but that poses a difficulty, especially when it comes to designing a UI and items because the pixels are too big and there's simply not enough room on the screen. This could have been a major problem, but luckily what I'm developing now isn't the game itself but sort of a prototype that I developed to see how the engine, the sprites and the philosophy fit together.

 

What that means is that I'm eventually going to write the game from scratch. I figured I have two options - either stick with pixel art but use non-pixel art or higher-res for UIs and effects, or shift to vector art.

 

Each has it's beauty and I love both. It's a hard desicion. Depending on which I chose, there will be a difficulty that I have to solve - pixel art works a bit better when giving the players the power to shape their own world because it works well with a grid, kina like Minecraft.

Vector art, however, gives the game a unique appearance. The game will look clean and professional, and as a result stand out from the crowd(it's a much less popular choice).

 

To sum it up... For a top-down minecraft-like game, which graphic style will work best? How do I approach this problem and what should I consider?

Please point me in the right direction.

 

 

Thanks in advance,

Michael

Share this post


Link to post
Share on other sites
Advertisement

Vector graphics in many cases sure spares a lot of tedious work.   There are ways to make vector art look pixelated.  It takes practice but it is doable. 

 

Pixel art and vector graphics have some similarities and some vast differences in coding implementations. To keep coding manageable, you need to use some already existing libraries for the handling of image files. 

 

Vector art solves almost all problems of hardware or operating system differences of end-users, for example screen resolution, screen dimension ratio or screen size differences. With pixel art there can be potentially a wide spectrum of appearance quality among different target platforms, often also in the same genre of hardware platform such as among Windows OS users. Vector art therefore can prevent much of the debugging when it comes to screen issues among the hardware variations.  

 

Vector art can also simplify the lower level coding to make art coding within reach of a competent coder. You can more easily see results as What You See Is What You Get, more dependably. Coding itself will follow a narrower scope of coding conventions than with most other forms of screen rendering.  Here is where OpenGL and Java work great together, but it is under general principles similar with Direct3D and any other language. For practice with vector graphics, then start by making UIs and GUIs in vector, if you haven't by now.

 

Choice of game engine will eliminate much or all of the lower-level coding for you, if you want. "Why try to reinvent the wheel?," as we read around here once in a while. Even without a game engine, you still need to use some libraries.

 

Always read and follow the license agreements for coding libraries.

 

If things go well, you can use both vector graphics and pixel art.  There are various editors out there which deal in levels, objects, and characters.  Some handle vector, voxel, pixel, and procedural generated surfaces and characters, but these always are a bit expensive.  There are open source editors which you may use in your workflow pipeline for game engine source code and/or game source code creation.

 

You'll have to do the leg work, but here is a list of game engines.  Go to the sites and see what they have to inspire you, including their showcase threads.

 

List of game engines:

http://en.wikipedia.org/wiki/List_of_game_engines

Share this post


Link to post
Share on other sites

I assume the term "vector graphics" is used in the sense of e.g. Illustrator, SWF, and so on, and not in the sense of the look of the good old Virus game. I further assume that the OP doesn't mean to switch over to SWF or something similar because "shift to vector art" is much more general. With this in mind...

 

Vector graphics allow rasterization of path defined images at runtime: When this rasterization is done w.r.t. the targeted screen size and resolution (and it is done so usually), then matching  those given properties of the screen works automatically. But it does not help in any way to solve problems coming with different screen dimension ratios. Furthermore, dealing with a resolution independent co-ordinate system is still required.

 

Vector graphics require rasterization of path defined images at runtime: This burdens the system with an additional step that costs performance. This usually doesn't matter if dealing with a GUI, but it may matter when the gameplay scene is based on it. Pre-computing raster images before level start will introduce a longer lasting loading screen but may help to prevent gameplay stuttering.

 

 

Vector graphics images in a reasonable amount and extent cannot be handled without externalized data, so requiring a file format, import, and (resource) management comparable to pixel images. Even worse, because of the required rasterization step, an additional rasterizer is needed and management may need to be done for both vector and pixel images in parallel.

 

While hardware supports pixel image rendering natively (i.e. texture mapping), it doesn't do so for vector graphics (yet). The runtime environment (browser, OS) often provides routines for vector graphics rendering, but that may introduce another layer of compatibility issues; this is for sure true for the OS, maybe less for browsers. Some libraries exist that utilize GPU capabilities when rendering 2D, usually by approximating 2D shapes by triangles (perhaps this isn't an option, because the OP speaks of using JavaScript).

 

Vector graphics usually needs less footprint for assets: This may be of interest if the assets are downloaded (browser game). For small graphics with much detail this footprint argument may fail though.

 

IMHO, good looking vector graphics don't need less artistic proficiency than good looking pixel graphics.

 

--

 

Currently I'm on the way to start implementing 2D drawing on top of OpenGL, so please don't think that I'm against vector graphics. But IMHO it generally adds significant effort compared to pixel graphics alone. Just my 2 €-Cents.

Share this post


Link to post
Share on other sites

Thank you, you both helped with with your replies.

 

3Ddreamer - You gave me the idea to use pixel art for characters and the world, but have a non-pixelated UI. I actually thought of this a while ago and decided it's not gonna look as nice, but apparently it can turn out very nice if I do it right. As about the engine, I am currently using ImpactJS. I should have mentioned that before, because when working with a pre-made engine you should work with it, not against it. Keep in mind, however, that I can switch to another engine or even start from scratch if needed - I just wanted to work with something pre-made because it saves time. ImpactJS works well with pixel art, so I guess it will be easier to only implement a UI than re-write the whole thing, but I feel like I will end up modifying large portions of it anyway.

 

haegarr - Sorry if I wasn't specific enough, but yes your assumptions were correct. I understand that using vector graphics is more demanding, but I'm talking about basic graphics, because basic is beautiful. The game I'm working on right now is a pixel-art clone of Sinjid: SOTW, which is in my opinion one of the best flash games ever made. I like everything about it - the gameplay, skill system, music, and especially Krin's art style. I consider using something similar in my next project.

 

I think that if I keep using pixel art, it will be difficult for me to add variety to the game. However, if I use vector art, it will be difficult to make it work well with a player-created world(and a bit more overhead). Neither of the difficulties is unsolvable, so I don't yet see a good reason to prefer one over another.

Share this post


Link to post
Share on other sites


then matching those given properties of the screen works automatically. But it does not help in any way to solve problems coming with different screen dimension ratios. Furthermore, dealing with a resolution independent co-ordinate system is still required.

 

Hi,

 

Did you realize that this seems to be a contradiction?

Share this post


Link to post
Share on other sites

Vector graphics require rasterization of path defined images at runtime: This burdens the system with an additional step that costs performance

 

 

Uh... Yes and no.

 

When compared with pixel art, yes, but when compared with polygons and applied texture maps then vector art is by far better performing.  Also, large vectors in motion tend to have better performance than large pixel art in motion, so we need to be careful about relativity.  

Edited by 3Ddreamer

Share this post


Link to post
Share on other sites


I think that if I keep using pixel art, it will be difficult for me to add variety to the game. However, if I use vector art, it will be difficult to make it work well with a player-created world(and a bit more overhead). Neither of the difficulties is unsolvable, so I don't yet see a good reason to prefer one over another.

 

 

Once you get the initial "overhead" in place, then it should actually be easier to implement vector art.  If you want to trade short term "overhead" for a smoother workflow long term then vector is the way to go.  It can sometimes be a matter of editing coordinates and colors, which can at times take only minutes, so once you have your system in place-the game function coding, then vector art should be easier long term.

Share this post


Link to post
Share on other sites


To sum it up... For a top-down minecraft-like game, which graphic style will work best? How do I approach this problem and what should I consider?
No brainer, if this is Minecraft like then pixel art of some sort.

Don't work against the rest of the game, if it is grid based and you build things from blocks/rectangles/squares, make art also "squarish" in style.

Share this post


Link to post
Share on other sites

Well, as promising as vector art may seem, Acharis has a point. It doesn't feel right to re-design the engine in such a drastic way. If it's meant to work with pixel art, and pixel art is what I originally intended to use, the choice is clear.

 

But now the problem is different - I'm using Oryx's Lo-Fi fantasy pack, so my characters are 8x8 pixels big. What should I do about items? If the character is so small, it leaves me very little room for designing weapons for example, because they turn out ~1 pixel thick and 3-5 pixels long. In games like MapleStory, getting a new item is sort of a mini-goal - every weapons is different, so if someone's holding a rare item everyone's gonna notice and the player will feel good about himself. But if all items are similar, this is not always the case.

 

I always feel a bit of a disappointment when the item my character is using looks nothing like what's on the picture, for instance armors in Diablo II or weapons in Dead Frontier(the Shovel has the same mesh as the Iron Pipe). I know it's kinda what pixel art is all about, but I don't want to lose that sense of confidence you get when equipping a rare item.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!