It is currently Mon Dec 18, 2017 9:51 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 35 posts ]  Go to page Previous  1, 2, 3  Next
Author Message
PostPosted: Tue Sep 29, 2015 4:43 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10173
Location: Rio de Janeiro - Brazil
Do you think that games with laggy controls are that way because animations for new actions have to be loaded? If so, I wonder how it would look if the game allowed the actions to take place right away, keeping the old graphics until the new ones are loaded. I kinda plan to implement something like that... even if the tiles can't be loaded in time, new actions start anyway, and only the animation lags.


Top
 Profile  
 
PostPosted: Tue Sep 29, 2015 4:50 pm 
Offline
User avatar

Joined: Mon Oct 06, 2014 12:37 am
Posts: 187
darryl.revok wrote:
Does it count? Hmm... I dunno, can I see some animations? :)

Are you talking about Cat's Quest? It looks good but I thought you were going NROM with that one, which wouldn't leave room for a lot of animations. My apologies for not reading the entire thread if you changed your mind along the way and already posted it.


Not Cat Quest, that project is *my* baby, nobody else gets to work on it! :x

It's my stupidly named "Not Metroid" project from last year, that has transformed into a collaboration between myself, and Collectorvision Games. I don't *think* I've posted this .gif here until now?
Image

It was even officially announced! So I'm allowed to talk about it in more detail! ...sort of.
http://www.retrogamer.ca/moderne/neo-re ... e-et-wiiu/

EDIT: Oh yeah, the article miss-spells my name as "Justin", rather than "Dustin". XD
...Honestly, I'm kind of used to that, from French Teachers in elementary school.


Top
 Profile  
 
PostPosted: Tue Sep 29, 2015 6:51 pm 
Offline
User avatar

Joined: Sat Jul 12, 2014 3:04 pm
Posts: 950
^^^not all of it, but you at least posted the running animation once in your topic.

tokumaru wrote:
Do you think that games with laggy controls are that way because animations for new actions have to be loaded? If so, I wonder how it would look if the game allowed the actions to take place right away, keeping the old graphics until the new ones are loaded. I kinda plan to implement something like that... even if the tiles can't be loaded in time, new actions start anyway, and only the animation lags.

Not most times. I've seen one or two speedruns that allege this but no substantiation. However, a bigger factor for smooth animation is that, obviously, you don't want to be jerky--which means that you either need a transition between any two states (so, different from running->throwing than from standing->throwing) but one way to reduce the magnitude of transitions you need is to have common intermediate states- so the former turns into running-stopping-standing-throwing. Obviously, this takes more time for the character to display, and the computer can't know you want to throw until you hit the button (to start with stopping), so there is longer between button and throw. This can be avoided by accepting jerkiness or using more animation frames (or, with models, some kind of tweening...but that has its own problems.)

But the more important one is from that caveat that the computer cannot start the animation before you send it the directive...so if your guy has a wind-up before his throw, then the wind-up must be completed before the ball leaves his hand and after you press the button.

Consider the Prince of Persia standing jump. He crouches, then leaps up. To remove or shorten the crouch would reduce the realism of the jumping animation, but would be necessary to make the jump happen closer to the button press. Super Mario in SMB3, on the other hand, has "running" frames and a single in-air frame (well, two, but only one for going up) and absolutely nothing in between. So, you press the button, and Mario is immediately in the air in his in-air pose, having never animated a jump motion of his limbs.

Similarly, consider Megaman's Buster. He has one shooting frame [with variations for walking and jumping and climbing ladders, so that no further transitions are needed!]. You press the button, he immediately is in that frame. There are no in-between animation frames of his hand turning into the Buster first, or him extending his arm from whatever position it was in before. It just goes from one to the other as you push it.
Contrast with Link from A Link to the Past's sword (or rod, or cane) swing. The sword, moving smoothly through its arc, illustrates it better- but the early part of the swing where it is still to the side, it can't be hitting in front of him. (This isn't much of a problem in this game--perhaps a better choice would be Soma swinging the Reaper's Scythe in Aria of Sorrow.)

And if you had the effect happen while the animation was still winding up, that would be bad, because the batter shouldn't be winding up when the ball goes through the strikezone, and yet get a hit.

In any case--my point is, in a lot of cases, there is a necessary trade-off between immediacy of action(generally considered 'responsive controls') and smooth animation for that action. [Turn-around animations, or swing follow-throughs, are good examples of this on the back end of an action "reducing responsiveness" and "cancels" are players' way of circumventing it when it doesn't just let you start a new action by default. If you've ever seen a Megaman X series (as Zero) speedrun, you can see how ridiculous this gets.]


Top
 Profile  
 
PostPosted: Tue Sep 29, 2015 8:28 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19356
Location: NE Indiana, USA (NTSC)
tokumaru wrote:
Do you think that games with laggy controls are that way because animations for new actions have to be loaded?

Probably not. All but a handful of MMC3-era games use CHR ROM anyway, so loading new animations takes 10 microseconds.

As for CHR RAM games, I'm doing Battletoads-on-steroids in my current project, and going from run to the first frame of jump animation takes one 8-tile load transaction that completes in one frame. Sprite tiles are double buffered, and each frame has a most likely following frame that the engine automatically loads into the sprite slot's other buffer. For example, the next frame after stand is walk 1, after walk 1 is walk 2, after walk 6 is walk 1, after jump is crouch-land, and after crouch-land is stand.

Quote:
If so, I wonder how it would look if the game allowed the actions to take place right away, keeping the old graphics until the new ones are loaded.

In fact, that's the failure mode I've implemented for prediction misses, such as the first frame of a jump or punch combo, and the player usually doesn't notice. It does cause larger bosses (which take up two 16-tile sprite slots) to occasionally break up for one or two frames when one slot handles its miss before the other does.

Myask wrote:
Consider the Prince of Persia standing jump. He crouches, then leaps up. To remove or shorten the crouch would reduce the realism of the jumping animation, but would be necessary to make the jump happen closer to the button press.

One compromise is to make A hop without delay and Down+A perform a long jump with all the crouch frames. Super Mario 64 does something close to this.


Top
 Profile  
 
PostPosted: Wed Sep 30, 2015 1:36 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7320
Location: Chexbres, VD, Switzerland
Quote:
If so, I wonder how it would look if the game allowed the actions to take place right away, keeping the old graphics until the new ones are loaded. I kinda plan to implement something like that... even if the tiles can't be loaded in time, new actions start anyway, and only the animation lags.

I am not sure what exactly you have in mind, however, it sounds like a bad idea to me. If the player press "jump" and that the player is logically jumping within the game but still appears to be standing for a few frames, this will be incredibly weird. The player will not know that it's sprite is logically jumping, so the controls will feel just as sluggish as if they were really sluggish. In addition to that, it could lead to that "weird hitbox" symbol where your character on screen touches something but isn't hit or the other way arround, very typical of bad games. So in my opinion it's a very bad idea.

Quote:
Not Cat Quest, that project is *my* baby, nobody else gets to work on it! :x

Very nicely animated indeed. Especially the hair.


Top
 Profile  
 
PostPosted: Wed Sep 30, 2015 1:53 am 
Offline

Joined: Fri Jul 04, 2014 9:31 pm
Posts: 819
Bregalad wrote:
The player will not know that it's sprite is logically jumping

I assumed the intent was to still update the position of the sprite, even if the animation frame is wrong...


Top
 Profile  
 
PostPosted: Wed Sep 30, 2015 12:15 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10173
Location: Rio de Janeiro - Brazil
I honestly don't think that a 1, 2 or even 3 frame delay in animations that run at 15fps or so will make such a big difference for the player.


Top
 Profile  
 
PostPosted: Wed Sep 30, 2015 3:08 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5899
Location: Canada
I think instant response and long wind-ups are both acceptable ways to do gameplay, but in both cases the game has to be designed around it.

I think Prince of Persia is actually a great example, all the motions are very slow and deliberate, but also very precise to control. This is largely due to how actions are confined to a grid, leaving large windows of time to press the keys you need for the actions you want.

The delay from a wind-up can be a good source of conflict and challenge, too. When you can't start and stop on a dime, you have to take care when committing to an action.


The reason it is so often bad is that a lot of games are poorly designed, and in a lot of cases the animation is just straight up in conflict with the game's design. If the animation department can change the timings of things in the game for a purely animation-aesthetic goal without collaborating with design, the result will be poor gameplay, and this does happen a lot more than it should. Instant actions, on the other hand, mean that there's no animation involved, so at least it cuts out that potential conflict. :P


Top
 Profile  
 
PostPosted: Wed Sep 30, 2015 7:43 pm 
Offline
User avatar

Joined: Sat Jul 25, 2015 1:22 pm
Posts: 501
Bregalad wrote:
Now what would be clever is to switch between good animations in moves that aren't too time sensitive (such as landing after a jump, or getting up after a crouch) and moves that are time sensitive (such as crouching or jumping).


I feel like this is the approach they took for Metal Storm, and similar to what I'm doing. If there's not need for an animation to convey an instant action, for example, walking, there's no reason not to make it fluid as possible. If you jump or shoot though, it's immediate. You can still make nice, fluid animations without delay, you just have to make some minor sacrifices on animation so as not to let gameplay suffer.

I changed some of the more "realistic" gameplay ideas I had for my game because I could very quickly tell they weren't going to feel good to play. For example, I wanted you to have to hold the attack button to draw your sword, and have it sheathed before you could walk at full speed. I just decided to instead make her attack animation draw and attack in one move. There's a little bit of a delay in the attack, but for an attack, I think this is good. I expect the combat to be a bit more like a fighting game, so I'm going to have leading frames and recovery frames in an attack animation. You draw, swipe, and then sheath. If you hit attack at the right timing, you'll attack again quicker before sheathing. That's the current control scheme with which I plan to experiment. Some characters will draw and strike faster and they'll probably have a longer recover, or vice versa.

I feel like, for some of the bigger games, like Kirby or Gimmick, they may not have done more animations because they may not have had the CHR space. I haven't disassembled these or anything, but wasn't Kirby like the biggest NES cartridge and filled to the brim? For most games, I feel like the decision to not have more animation was due to the time it takes to make the animations and the perceived value to the player. For something like Kirby, would more animations have made the game feel better? Maybe just slightly. For something like Moon Crystal, Metal Storm, Prince of Persia, I feel like the designers made a conscious decision to prioritize animation and make that a selling point of the game. Would I have been more impressed the first day I brought SMB3 home if it had more animations? Hard to imagine my mind being blown any more than it already was. But I remember getting Metal Storm and thinking, "Wow! The main character animations are very fluid! This looks awesome! Especially when he explodes!"

Alp wrote:
I don't *think* I've posted this .gif here until now?

That's really cool! So you're doing all the graphics? How far along are you? You're a pretty talented pixel artist. Everything that you've done looks great. Cat's quest looks like LTTP on NES! :D

Myask wrote:
n any case--my point is, in a lot of cases, there is a necessary trade-off between immediacy of action(generally considered 'responsive controls') and smooth animation for that action.

Well said.

Quote:
If you've ever seen a Megaman X series (as Zero) speedrun, you can see how ridiculous this gets.

Which one, X4? That game has great animation and I remember the control being as responsive as the SNES titles. What's the ridiculous part?


Top
 Profile  
 
PostPosted: Thu Oct 01, 2015 5:48 pm 
Offline
User avatar

Joined: Mon Oct 06, 2014 12:37 am
Posts: 187
darryl.revok wrote:
That's really cool! So you're doing all the graphics? How far along are you? You're a pretty talented pixel artist. Everything that you've done looks great. Cat's quest looks like LTTP on NES! :D

Thanks!
Yeah, I'm drawing every tile in the game, on my own, so far.

The progress? The Player sprites, several NPCs, a few Enemy sprites, and tiles for a "planetary select" screen. The game's file menu layout, takes inspiration from Metroid Prime, with the file handling, being animated, something more like Zelda 64.

--It's funny that you mentioned NROM, because right before this game was picked up, I was in the middle of converting the game to those restrictions. Here's the player sprite:
Image
79 tiles! That's 7 less than Mario from SMB 1!
The entire run cycle is there, only the diagonals were removed.


Top
 Profile  
 
PostPosted: Sat Oct 03, 2015 10:23 am 
Offline
User avatar

Joined: Sat Jul 12, 2014 3:04 pm
Posts: 950
Yeah, Metal Storm is a good illustration of where you can mix it up.
darryl.revok wrote:
Quote:
If you've ever seen a Megaman X series (as Zero) speedrun, you can see how ridiculous this gets.

Which one, X4? That game has great animation and I remember the control being as responsive as the SNES titles. What's the ridiculous part?

Not the animation being slow (though a full slash does take a little time)--but slash dash cancels.


Top
 Profile  
 
PostPosted: Sat Oct 03, 2015 11:59 am 
Offline

Joined: Wed May 19, 2010 6:12 pm
Posts: 2433
Okay I just thought of a problem that is about to arise in my game. I drew an animation of Alisha ducking.

Attachment:
Alisha ducking.gif
Alisha ducking.gif [ 5.52 KiB | Viewed 1264 times ]


Because of DMA limitations, Alisha doesn't always start an animation as soon as she performs an action (like what Tokumaru described). I'm using center-based coordinates, and the hit box is a rectangle around the center point. When ducking, I would need to move the center point down. If it starts the animation late, there will be a glitch where Alisha's sprite pops down for a couple frames, before the ducking animation starts.


Top
 Profile  
 
PostPosted: Sat Oct 03, 2015 12:34 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19356
Location: NE Indiana, USA (NTSC)
The feet sliding together looks a bit unnatural.


Top
 Profile  
 
PostPosted: Sat Oct 03, 2015 12:48 pm 
Offline
User avatar

Joined: Mon Sep 15, 2014 4:35 pm
Posts: 3166
Location: Nacogdoches, Texas
How do you handle trying to DMA more information to vram than you can? I would have thought you'd just go past vblank and have part of the screen cut off for a second. I've been thinking of an idea (that probably isn't going to happen...) to double buffer everything where half of the tiles for what would be the next frame are loaded into vram. If the animation changes to something that isn't expected, (like jumping in the middle of a walk cycle) the double buffered stuff would be erased and the first frame of the jumping animation would have to be completed in one frame.

What's really killing me right now is to have it know the location of the sprite tiles for each object in vram... Also, it would have to know the location of the double buffered tiles in vram...

Wait, you know what I just realized? I was thinking of having it to where only half the tiles of every sprite in an object would be transferred to vram for double buffering, but then it would take up twice as much space as it needs to... I guess I might have it draw all the tiles for the even sprites to double buffer, and then all the tiles for the odd sprites to finish it. Either that, or I'll just hardcode it for everything...

tepples wrote:
The feet sliding together looks a bit unnatural.

I also kind of feel like the hair should sway or something at the end, even if this would take up more frames. It's not like rom's the issue though.


Top
 Profile  
 
PostPosted: Sat Oct 03, 2015 1:05 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10173
Location: Rio de Janeiro - Brazil
psycopathicteen wrote:
If it starts the animation late, there will be a glitch where Alisha's sprite pops down for a couple frames, before the ducking animation starts.

Yes, this is something I realized too, but didn't consider this to be a problem since I usually make the bottom center the reference point for the sprites (but I can change it on a per sprite basis).


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 35 posts ]  Go to page Previous  1, 2, 3  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group