Animating

Forum for the creative side of the game development process: art, music, storyline, gameplay, concepts, etc. Any sort of relevant discussion is welcome here.

Moderator: PC Supremacists

User avatar
BlueMonkey5
Chaos Rift Cool Newbie
Chaos Rift Cool Newbie
Posts: 86
Joined: Fri Feb 20, 2009 12:54 am

Animating

Post by BlueMonkey5 »

I am currently preparing to begin classes for graphic arts. I'm looking ahead though at a project I'm planning. It is in 2D side scrolling format, yet I'm wondering... what am i going to do to have to animate the main character? Can anyone tell me the proper protocol and procedure for this, as a graphic artist? thank you.
User avatar
avansc
Respected Programmer
Respected Programmer
Posts: 1708
Joined: Sun Nov 02, 2008 6:29 pm

Re: Animating

Post by avansc »

there are multiple ways.

1. draw each individual frame.
2. make a model in 3dmax or whatever, and animate it like that, getting all your angles that you want and making a sprite.
3. make a procedural modeling and texturing program// may be a bit advanced.

im sure there are 1000's of ways.
Some person, "I have a black belt in karate"
Dad, "Yea well I have a fan belt in street fighting"
User avatar
Moosader
Game Developer
Game Developer
Posts: 1081
Joined: Wed May 07, 2008 12:29 am
Current Project: Find out at: http://www.youtube.com/coderrach
Favorite Gaming Platforms: PC, NES, SNES, PS2, PS1, DS, PSP, X360, WII
Programming Language of Choice: C++
Location: Kansas City
Contact:

Re: Animating

Post by Moosader »

User avatar
programmerinprogress
Chaos Rift Devotee
Chaos Rift Devotee
Posts: 632
Joined: Wed Oct 29, 2008 7:31 am
Current Project: some crazy stuff, i'll tell soon :-)
Favorite Gaming Platforms: PC
Programming Language of Choice: C++!
Location: The UK
Contact:

Re: Animating

Post by programmerinprogress »

I always use sprite clipping.

Basically, draw out a spritesheet, one frame after another, then program a rectangle(rect, SDL_Rect, whatever you're using) to 'clip' a certain part of the sprite, then use a variable to move the rectangle along the sprite, by incrementing and decrementing it!

If you're using SDL, I recommend you try the sprite clipping tutorial at lazyfoo.net, it got me started.

The way I think about it is like getting a piece of paper, with pictures on it, and then getting a bigger blank piece of paper, cuting out a certain size square, and then dragging the paper along, gradually revealing the images frames one after another from the sheet of images underneath ;)

To put it another way, the rectangle is like your camera, and your pointing your camera at a certain part of the spritesheet, to skip through frames, you simply change the location of the camera, get it ?
---------------------------------------------------------------------------------------
I think I can program pretty well, it's my compiler that needs convincing!
---------------------------------------------------------------------------------------
And now a joke to lighten to mood :D

I wander what programming language anakin skywalker used to program C3-PO's AI back on tatooine? my guess is Jawa :P
User avatar
BlueMonkey5
Chaos Rift Cool Newbie
Chaos Rift Cool Newbie
Posts: 86
Joined: Fri Feb 20, 2009 12:54 am

Re: Animating

Post by BlueMonkey5 »

I see now how to make sprites, but how do you arrange them in a finalized way for the programmers to use?

Btw, LusikkaMage has some awesome sprite tutorials :D
User avatar
dandymcgee
ES Beta Backer
ES Beta Backer
Posts: 4709
Joined: Tue Apr 29, 2008 3:24 pm
Current Project: https://github.com/dbechrd/RicoTech
Favorite Gaming Platforms: NES, Sega Genesis, PS2, PC
Programming Language of Choice: C
Location: San Francisco
Contact:

Re: Animating

Post by dandymcgee »

Like programmerinprogress said, you usually just put them in a sprite sheet and take clips from that in the program.

A quick (and bad) example I just drew in paint:
Dodgeball.PNG
Dodgeball.PNG (1.4 KiB) Viewed 2352 times
NOTE: The black outline around each frame is just there to show there are multiple frames. The actual sprite sheet would not have this.

The other way to do it (if you're using something like visual basic where clipping a tile sheet isn't feasible if even possible) would be to separate each frame into its own image file, then load and draw them in the order of the animation.

If this is in C++ the first one would DEFINITELY be the way to go, but if it's a much higher level language that lacks the ability to clip images (easily) then you may want to consider separate files to save your programmer a lot of time.
Falco Girgis wrote:It is imperative that I can broadcast my narcissistic commit strings to the Twitter! Tweet Tweet, bitches! :twisted:
User avatar
BlueMonkey5
Chaos Rift Cool Newbie
Chaos Rift Cool Newbie
Posts: 86
Joined: Fri Feb 20, 2009 12:54 am

Re: Animating

Post by BlueMonkey5 »

dandymcgee wrote: If this is in C++ the first one would DEFINITELY be the way to go, but if it's a much higher level language that lacks the ability to clip images (easily) then you may want to consider separate files to save your programmer a lot of time.
what languages are higher levels than C++ that I should be lookin out for? and you can make a sprite sheet right there in the graphics program, like graphicsgale for example?
User avatar
Ginto8
ES Beta Backer
ES Beta Backer
Posts: 1064
Joined: Tue Jan 06, 2009 4:12 pm
Programming Language of Choice: C/C++, Java

Re: Animating

Post by Ginto8 »

#1. Most languages are higher level then C/++. That's not to say there are lower-level languages, but most are higher level. The main ones to look out for are VB and other BASIC-based languages.

#2. The graphics program you use doesn't matter, you just have to there is a set of sprites the right size (if the sprite itself is smaller, make the area that it's in the right size).

I may have said some of the stuff in a confusing way; if you don't understand, just ask. ;)
Quit procrastinating and make something awesome.
Ducky wrote:Give a man some wood, he'll be warm for the night. Put him on fire and he'll be warm for the rest of his life.
User avatar
deryni21
Chaos Rift Regular
Chaos Rift Regular
Posts: 124
Joined: Wed Dec 24, 2008 9:55 pm

Re: Animating

Post by deryni21 »

Ginto8 wrote:#1. Most languages are higher level then C/++. That's not to say there are lower-level languages, but most are higher level. The main ones to look out for are VB and other BASIC-based languages.

#2. The graphics program you use doesn't matter, you just have to there is a set of sprites the right size (if the sprite itself is smaller, make the area that it's in the right size).

I may have said some of the stuff in a confusing way; if you don't understand, just ask. ;)
define highher level?
Image
User avatar
Ginto8
ES Beta Backer
ES Beta Backer
Posts: 1064
Joined: Tue Jan 06, 2009 4:12 pm
Programming Language of Choice: C/C++, Java

Re: Animating

Post by Ginto8 »

Higher level = less control (usually easier)
Lower level = More control (usually harder)

Hope that cleared it up. ;)
Quit procrastinating and make something awesome.
Ducky wrote:Give a man some wood, he'll be warm for the night. Put him on fire and he'll be warm for the rest of his life.
User avatar
deryni21
Chaos Rift Regular
Chaos Rift Regular
Posts: 124
Joined: Wed Dec 24, 2008 9:55 pm

Re: Animating

Post by deryni21 »

Ginto8 wrote:Higher level = less control (usually easier)
Lower level = More control (usually harder)

Hope that cleared it up. ;)
so c/c++ is like in between then
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Animating

Post by Falco Girgis »

deryni21 wrote:
Ginto8 wrote:Higher level = less control (usually easier)
Lower level = More control (usually harder)

Hope that cleared it up. ;)
so c/c++ is like in between then
No, compared to just about anything but assembly languages, C/++ would be considered "low level." For pretty much anything you are familiar with, Java, C#, Perl, Python, Ruby, Lua, etc, C/++ is lower level.
User avatar
deryni21
Chaos Rift Regular
Chaos Rift Regular
Posts: 124
Joined: Wed Dec 24, 2008 9:55 pm

Re: Animating

Post by deryni21 »

GyroVorbis wrote:
deryni21 wrote:
Ginto8 wrote:Higher level = less control (usually easier)
Lower level = More control (usually harder)

Hope that cleared it up. ;)
so c/c++ is like in between then
No, compared to just about anything but assembly languages, C/++ would be considered "low level." For pretty much anything you are familiar with, Java, C#, Perl, Python, Ruby, Lua, etc, C/++ is lower level.
now with "lower level" that would imply its not as good. i know that is not true and from gintos description it seems almost backwards? a lower level language has more capability but is harder to use while a higher level language is easier to use but doesn't have the same capability. also what is a lower level then c/++?
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: Animating

Post by Falco Girgis »

deryni21 wrote:now with "lower level" that would imply its not as good.
Hell no. You just defined lower level:
deryni21 wrote:a lower level language has more capability but is harder to use while a higher level language is easier to use but doesn't have the same capability.
Does that sound shittier to you?

C/++ is way harder than something like a scripting language, but is way more powerful.
deryni21 wrote:also what is a lower level then c/++?
GyroVorbis wrote:No, compared to just about anything but assembly languages, C/++ would be considered "low level."
User avatar
Kros
Chaos Rift Regular
Chaos Rift Regular
Posts: 136
Joined: Tue Feb 24, 2009 4:01 pm
Current Project: N/A
Favorite Gaming Platforms: PC, Playstation/2/3
Programming Language of Choice: C++
Location: Oregon,USA
Contact:

Re: Animating

Post by Kros »

deryni21 wrote:also what is a lower level then c/++?
Assembly and Binary.
Isaac Asimov wrote:Part of the inhumanity of the computer is that, once it is competently programmed and working smoothly, it is completely honest.
YouTube Channel
Post Reply