Our Properties: Gamasutra GameCareerGuide IndieGames Indie Royale GDC IGF Game Developer Magazine GAO
My Message close
Latest News
spacer View All spacer
 
May 18, 2012
 
Facebook's anemic IPO takes heavy toll on Zynga [2]
 
Gamasutra Classics: Behind the scenes of Tom Clancy's Rainbow Six
 
Could digital sales also be contracting? [16]
spacer
Latest Features
spacer View All spacer
 
May 18, 2012
 
arrow A Personal Journey: Jenova Chen's Goals for Games [3]
 
arrow Predicting Churn: Data-Mining Your Game [7]
 
arrow A Revolution in Sound: Break Down the Walls! [1]
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
May 18, 2012
 
Industrial Light and Magic
Creature ATD
 
FLOAT (hybrid entertainment)
UX/UI Designer
 
Riot Games
Fraud Prevention Manager
 
Inhance Digital Corp
HTML 5 Programmer
 
ArenaNet
Game Recruiter
 
ArenaNet
Audio Associate Producer
spacer
Blogs

  Resources for learning intermediate to advanced 2D graphics resources?
by Robert Boyd on 02/20/12 12:08:00 pm   Expert Blogs   Featured Blogs
6 comments Share on Twitter Share on Facebook RSS
 
 
  Posted 02/20/12 12:08:00 pm
 

What are some good resources to learn intermediate to advanced 2D graphics programming? Books would be preferable but suggestions for good websites would also be great.

Our background - we've released a couple of 2D RPGs using XNA & C#. My partner has some great pixel art skills but the 2D graphics engine I've programmed to support that pixel art is about as simple as it comes. Take target graphic asset and draw it at coordinates x,y. Maybe do some scaling and the occasional transparency. Very simple stuff.

Whereas the visuals for our games are high on art assets and low on programming, you also see some games that are low on art assets but still manage to look very cool through their special effects (like your typical Geometry Wars-inspired dual-stick shmup). I obviously have a lot to learn when it comes to programming 2D graphics and effects.

The question is what's the best way to learn that aspect of programming? Most programming books on graphics are focused on 3D games. And books that are focused on making 2D games are usually intended for beginners and focus more on the making games aspect and less on the 2D graphics.

Suggestions?

 
 
Comments

Adam P
profile image
I’m guessing you’ve seen resources like this: http://www.amazon.com/Advanced-Game-Development-Jonathan-Harbour/dp/1598633422/r
ef=sr_1_6?ie=UTF8&qid=1329764532&sr=8-6



But also take a look at this: http://www.amazon.com/Real-Time-Collision-Detection-Interactive-Technology/dp/15
58607323/ref=sr_1_1?ie=UTF8&qid=1329764532&sr=8-1



Although it says “3-D” The VAST majority of this stuff can be used in 2d with very minor adjustments.



Another thing I would recommend, even though you’ll often run into the 3d thing, would be to research building an advanced, scriptable, particle engine. Again, stripping out the 3d parts and being left with a solid 2d particle engine can go a long way in making projects look better. Plus, you can almost always use your last particle engine as the basis for your next one, increasing code reuse.



Just some thoughts.

Lex Luthor
profile image
I don't get what's wrong with books about 3D... You eliminate a dimension and most of the time you can apply the same things in 2D...

You draw every 2D object on a quad, you have shaders...I can't understand your issues with 2D engines.

Maybe you should be more specific on what you want to do and can't.

Any 3D graphics book seems that will help you (i would suggest an algorithms book, but these are not so highly looked upon these days unfortunately...unfortunately for the ones dismissing them that is :) ).

Robert Boyd
profile image
Not knowing anything about 3D animation, I just assumed that most 3D techniques wouldn't work when you're dealing with stuff like pixels and sprites.

Lex Luthor
profile image
Even with animation you could apply the same techniques from 3D animation to 2D games. If i remember correctly something like this is done in the latest Rayman game from Ubisoft.

They are not using sprites, but instead they animate the character like it was a 3D mesh.

Think of it like animating in 3dMax a 2D character composed of more than 1 quad:

This could work depending on what you're trying to do visually and if this would work for your type of game.

Personally i think that sprite animations will look better for most 2D, because in sprite animations can have a certain flow to them that seems to be hard to reproduce with max animations. For example it's kinda hard to simulate in max a subtle movement for a character's scarf, but really easy in sprite animations where you can just draw the scarf a bit differently for one or 2 frames.



You can do nice things with light too using concepts usually found in 3D:(ex. normal mapping)

Check this out: http://mossmouth.com/forums/index.php?topic=1016.msg30804#msg30804



If you are interested in shaders you can try this (i'm sure that there is something similar for opengl):

http://www.amazon.co.uk/Introduction-Game-Programming-DirectX-9-0c/dp /1598220160
/ref=sr_1_1?ie=UTF8&qid=1329828886&sr=8-1

Gary Dahl
profile image
There are some pixel shader tutorials using xna and c# on creators.xna.com that might be a good place to start (along with Shawn Hargreaves blog). I don't know of any good introductory books on this... but the GPU Gems (and Graphics Gems) have are good collections.



I think that whether you're looking for Vector or Raster techniques will make a bigger difference than 2D vs 3D.

Lou Hayt
profile image
I'd suggest researching Particle Systems.
Also check out Spriter animation tool: http://www.kickstarter.com/projects/539087245/spriter
Tile Maps might be useful, here is a nice tool for that: http://www.mapeditor.org/
Good luck :)


none
 
Comment:
 




 
UBM Techweb
Game Network
Game Developers Conference | GDC Europe | GDC Online | GDC China | Gamasutra | Game Developer Magazine | Game Advertising Online
Game Career Guide | Independent Games Festival | Indie Royale | IndieGames

Other UBM TechWeb Networks
Business Technology | Business Technology Events | Telecommunications & Communications Providers

Privacy Policy | Terms of Service | Contact Us | Copyright © UBM TechWeb, All Rights Reserved.