Skip to main content
gamedev.net
🔒 Locked

help with game program!!!

Started by vbartist May 23, 2003 at 7:59 PM 20 replies 2.7k views
Original Post
vbartist
vbartist
hi all, i''m sorry, but i''m a lowly artist not a programmer my question is, vbdestroyer and i are creating a fighting game and i am having trouble drawing the frames for the animations. how many do you all think are necessary to get a smooth animation? i am working with 5 right now, and we are looping them back (i.e. reversing it in order to get the recoil from a punch etc.) but i''m not sure if it will suffice. thanks, vbartist
i really am just an artist. i rely on vbdestroyer for programming.ummmm.... why are you still reading this???:?:P
vbartist
vbartist
aargh. ok i''ll help make it simpler: i want about .7 seconds of animation for a punch, 1.2 for a kick, and maybe .2 for a step. can ya help now???
i really am just an artist. i rely on vbdestroyer for programming.ummmm.... why are you still reading this???:?:P
cowsarenotevil
cowsarenotevil
This isn''t a programming question, so it belongs in "visual arts." But anyway, you should aim for between 15 and 100 fps.




-~-The Cow of Darkness-~-

If you see the image I am online
-~-The Cow of Darkness-~-
IrateGoldfish
IrateGoldfish
According to Andre Lamothe''s Java 2 Game Programming it takes 20 fps to trick the human eye into thinking it''s seeing true fluid motion.
[url = "http://geekmangames.com"]GeekMan Games[url]
vbartist
vbartist
thanks for the tip, guys! i''ll try around 20 fps.
i really am just an artist. i rely on vbdestroyer for programming.ummmm.... why are you still reading this???:?:P
Prozak
Prozak
You don''t need to do 20fps if your engine
has skeletal interpolation, i mean, if the engine
generates intermediate positions for the skeleton of the
models each frame. If the engine ran at 30fps, even if
you had only 5 frames in your animation, the engine should
generate the intermediate positions for all other frames,
get it? Any doubts ask,

[Hugo Ferreira][Positronic Dreams]
I Am Digerati.

higherspeed
higherspeed
I don''t think there is a correct figure for how many frames are required. The eye doesn''t take successive pictures of a scene, then process each individually. For television it doesn''t matter so much, due to the fact that the camera doesn''t generate snapshots, as a computer game does. There is a lot of confusion over the matter, as it is not simple. I don''t understand fully the situation, so I wont claim to.
MichaelT
MichaelT
The limit 24 comes from old research to find when the eye no longer can tell the difference between fast moving still pictures and live motion. This is why movies run at 24 frames per second. Find more information about this in your local library (movie section).

Also, it is called frame blending. Motion blur comes from the camera not being able to capture the image fast enough. It is a camera limitation. Digital cameras are less sensitive to this.

____________________________________________________________
Try RealityRift at www.planetrift.com
Feel free to comment, object, laugh at or agree to this. I won't engage in flaming because of what I have said.
I could be wrong or right but the ideas are mine.



[edited by - MichaelT on May 24, 2003 6:52:31 AM]
No no no no! :)
TekBoy
TekBoy
You cannot compare a computer game with a TV screen. This is because TV uses interlaced frames. For example, NTSC runs at 30 fps. However, due to it being interlaced, it really runs at 60 "half-pictures" per second.
MichaelT
MichaelT
Correct, but the interlacing is a solution for the problem of the phosphor blank out. If a tv were to draw non interlaced you would have the top of the image blanking out while the bottom part is still lit. Causing a moving banding effect (common in very old tv sets) The interlace method solved this because the blanking would not be obvious to the naked eye. However the tv still flickers. The new solution for this problem is higher hz (100hz) to help stabilize the picture even further. Of course with the new LCD/TFT/Plasma screens all of these issues are a thing of the past as they gradually will replace all old crt technologies.

____________________________________________________________
Try RealityRift at www.planetrift.com
Feel free to comment, object, laugh at or agree to this. I won''t engage in flaming because of what I have said.
I could be wrong or right but the ideas are mine.

No no no no! :)
vbartist
vbartist
yeah, my program has the interpolation. it runs at around 30 fps and i''m drawing 5-10 frames. thanks for the input.
i really am just an artist. i rely on vbdestroyer for programming.ummmm.... why are you still reading this???:?:P
PaulCesar
PaulCesar
You will, there are several key "levels" where the eyes notice the differance. I wish i could find my old textbook on digital animation, it referanced this. Anyhow, typicaly 24 is a the slowest possable to achieve "good" animation. However, if i am correct, the human eye actualy operates between 70-90 FPS, therefor, for true fluid animation, this is what you need. Anything higher then that adds little to no effect. Thus the reason that commercial companys dont aim for this high, and instead add "effects" till they get to an even 80-90 FPS on their test CPU''s. After 24 though, the difference you will notice is alot more subtle then it would be before that (ie you will notice a bigger difference jumping from 12 to 24 then from 24 to 48)
PaulCesar
PaulCesar
On a side note, try balancing your speed and realism (FPS), in old style (hand drawn) animations, generaly you will not need, or want more then 48, and less will usualy do you fine. Anything over 60fps is really only necessary (in my opinion) for games going for the realistic approch (not 2d street-fighter style games). I would aim for a fluid 8-12 frames for the punching motion (considering you are using backtracking to actualy get 16-24 frames in the .8 or so seconds. Make sure that you would remain above 24 though. Perhaps you could play around with some custom blending and antialiasing routeens for an even smoother gameplay?

whenn copy nd pastee get rigghht the first time/
whenn copy nd pastee get rigghht the first time/
Tai-Pan
Tai-Pan
hey vbartist take a look at these tutorial: http://pixeltutorial.cjb.net/
the last articles talk about animating fighting games characters.

"Those who follow the path of the warrior must be ready to die, to stand for their convictions, live for one´s convictions, die for one´s convictions"
"Those who follow the path of the warrior must be ready to die, to stand for their convictions, live for one´s convictions, die for one´s convictions"
superpig
superpig
If it''s a 2D game, you could try interpolating by using alpha-blending to ''mix'' frames together. Say you''ve got one frame set at time 0, and another frame set at time 1; at time 0.5 you''d render the first frame with 50% alpha and the second frame with 50% alpha, and so on. You may need a fair number of frames for it to look brilliant, but it lets you disassociate from the actual framerate (in that a super-slow machine will just take a while blending from frame to frame).

Superpig
- saving pigs from untimely fates, and when he''s not doing that, runs The Binary Refinery.
Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse
vbartist
vbartist
yeah, i''m using backtracking so i should get around 20-24 frames.
i really am just an artist. i rely on vbdestroyer for programming.ummmm.... why are you still reading this???:?:P
Joe-Bob
Joe-Bob
Hmm... here''s a pretty good tutorial... they say less is more
http://tsugumo.swoo.net/tutorial/chapter11.htm
DirectXXX
DirectXXX
16 fps nice sprites
24 fps for good motions.
30 fps for real time motion.
60 fps is the limit of most humans'' eye.


a trick for fake good motion under low fps is to draw every frame on last frame(which has less opacity)
VbDestroyer
VbDestroyer
hello,
My and VBartist are working on this program together and just to clarify, our tools include paper, pencil, a form of photoshop and VC++ for animation. We are going to do it in a full 2d street fighter type visual apperance. we were origonaly going to do this in my native language Visual Basic, but I wanted to give myself a pain in the a$$ so now I am working on learning C++. I bought that book game programming all in one so that I could elaborate on my small amount of C++ knolage and now I know alot about classes, polymorfism, inheritance, enumerators and probly more than I ever wanted to know about streams from I stream to bollean streams and file streams. I am just know getting to the point where Direct3D and DirectInput are. We figure if we start small by just making an animation run with different key strokes and then move up to having the charicter fight a man just standing there and have him reacht, to the point where he acctualy fights back, we might be able to accomplish this. We are greatful for your help and I hope this explains what our goals are a little more indepth than what was above explained. Thanks for all your help!
-VBdestroyer

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.