Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411518 Posts in 69380 Topics- by 58436 Members - Latest Member: GlitchyPSI

May 01, 2024, 02:00:01 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)how did celeste pull off the wire look?
Pages: [1]
Print
Author Topic: how did celeste pull off the wire look?  (Read 1547 times)
doyleman77
Level 0
*


View Profile
« on: February 19, 2018, 09:50:58 AM »

for reference: https://youtu.be/HV0yJ2cae9Q?t=45s
the wires move around in a good way, like reacting to wind. the slack, the waving, everything. it seems sorta like IK or FABRIK but each 'arm' is just a pixel, maybe? wouldn't that be computationally expensive?
Logged
ProgramGamer
Administrator
Level 10
******


aka Mireille


View Profile
« Reply #1 on: February 19, 2018, 02:36:07 PM »

Seems to me like it's a curve being skewed downwards, not some sort of physics simulation. I'm not sure what the mathematical function for that curve would be though.
Logged

qMopey
Level 6
*


View Profile WWW
« Reply #2 on: February 19, 2018, 02:51:55 PM »

There are a lot of ways to do this. To me this looks like a bezier curve, where the control points are moving around a little bit to pretend like they are swaying in the wind.

Personally I would have done this kind of thing, and simulated wind on the particles:

Logged
Ordnas
Level 10
*****



View Profile WWW
« Reply #3 on: February 20, 2018, 12:47:22 AM »

I always thought it was a sprite animation, but now that you mention it, I have doubts. For performance reasons I would have done that as a sprite animation.
Logged

Games:

doyleman77
Level 0
*


View Profile
« Reply #4 on: February 20, 2018, 02:42:57 AM »

I thought it was sprite at first, too, until i noticed cables at varying lengths with varying endpoints behave too good. It still yet might be, but I figured it looked like a line plot following some math function. Reddit suggests Catenary Curves.. I'm not sure what.
Logged
bateleur
Level 10
*****



View Profile
« Reply #5 on: February 20, 2018, 02:53:25 AM »

Reddit suggests Catenary Curves.

A catenary is just the name for the curve formed by a wire or rope under gravity. I'd be surprised if Celeste was bothering with that degree of simulation.

I'm pretty sure qMopey is right and it's just a curve with the control points being moved according to sampled wind values. In fact it might not even be a bezier curve, it could just be a quarter circle with the coordinate system transformed such that (0,1) is one end of the wire, (1,0) is the other end and (1,1) is an invisible point blown around a bit by the wind.
Logged

doyleman77
Level 0
*


View Profile
« Reply #6 on: February 20, 2018, 10:18:10 AM »

i messaged the devs on twitter; it was in fact a bezier with the control setup to a sine wave function. thanks!
Logged
qMopey
Level 6
*


View Profile WWW
« Reply #7 on: February 20, 2018, 12:25:29 PM »

Aha! I knew it  Cheesy Cheesy Cheesy
Logged
Ordnas
Level 10
*****



View Profile WWW
« Reply #8 on: February 21, 2018, 12:38:07 AM »

Who knows which other tricks of this kind there are in the game, I experienced some (rare) stuttering during gameplay, on a i5 2500 3.4 Ghz and a RX 580  Who, Me?
Logged

Games:

ProgramGamer
Administrator
Level 10
******


aka Mireille


View Profile
« Reply #9 on: February 21, 2018, 06:26:26 AM »

Stuttering can happen even on low-performance demand games if you have programs running in the background that occasionally require lots of processing power. The most common culprit would be programs such as Steam that perform updates in the background, though if you're running Celeste through steam that shouldn't be a problem. Make sure you close as many unnecessary programs as possible before playing.
Logged

Schoq
Level 10
*****


♡∞


View Profile WWW
« Reply #10 on: February 21, 2018, 08:47:18 AM »

maybe some day in the far future (~year 3000) we will have computers powerful enough to render a very simple curve at a very low resolution in real time huh
Logged

♡ ♥ make games, not money ♥ ♡
Ordnas
Level 10
*****



View Profile WWW
« Reply #11 on: February 22, 2018, 12:42:56 AM »

Sorry guys, but I am not fully convinced, in a 2d game (expecially if it uses pixel art) I expect no stuttering, even if I have Steam + Chrome with 10 tabs open + a movie player showing The Dark Knight of Christopher Nolan  Tongue
Jokes apart, I did not remember an indie game with occasional, rare, stuttering, Shovel Knight did not have this problem.
Logged

Games:

ThemsAllTook
Administrator
Level 10
******



View Profile WWW
« Reply #12 on: February 22, 2018, 09:10:37 AM »

That should be a reasonable expectation, but modern operating systems are actually making this harder and harder over time. On the Mac side, somewhere around OS X 10.9, my old code that used to work perfectly was suddenly skipping frames for no apparent reason. It took a huge amount of work to figure out what was going on, and my workaround still isn't perfect. As hardware gets faster, software continues to become less efficient even at the OS level, so weird problems like this end up cropping up. They're often intermittent issues that can be incredibly hard to track down. You might have a unique setup that the developers haven't had a chance to test on.

There's also the problem that with higher level development tools, it may not even be possible to tinker with the innards to fix low level problems like these, so you're stuck waiting for the tool maintainer to make a fix themselves and release it.

I agree that whatever effort is necessary to fix stuttering should be put in, but you should understand that that amount of effort may increase over time, and is sometimes at odds with the system itself.
Logged

Ordnas
Level 10
*****



View Profile WWW
« Reply #13 on: February 23, 2018, 01:09:30 AM »

ThemsAllTook, I agree with you, but there are different cases, and this case is a 2d game pixel art. Now we know that ropes are animated with trigonometric functions at tick time, plus I suppose that there are other particle physics + some kind of water simulation on chapter 6 + other complex physics calculations that we do not know. Of course, it is not a real concern, the game is smooth apart for these rare stuttering, but I will consider this game as less optimized than the other 2d indie games on the market (Iconoclast, Cuphead, Rain World etc.), plus evidence that when Celeste came out was a bit buggy than other indie games (I had a crash for collider detection NULL) make me think that code side could be not polished enough.

Also the game is made using Monogame, there are less magic tricks than Unity (if it was Unity, I would think that the culprit was the garbage collector for example), so I am more surprised, Monogame it is more open to this kind of trickery.
Logged

Games:

ThemsAllTook
Administrator
Level 10
******



View Profile WWW
« Reply #14 on: February 23, 2018, 08:38:12 AM »

The stuff I mentioned above is actually not affected by scene complexity - I was seeing OS-level stuttering with a single triangle moving around and nothing else. There's definitely nothing complex enough in the game to make any computer from the last 10 years break a sweat.
Logged

bateleur
Level 10
*****



View Profile
« Reply #15 on: February 24, 2018, 04:19:16 AM »

I was seeing OS-level stuttering with a single triangle moving around and nothing else.

There's plenty of evidence to suggest that AAA games also suffer from this problem. Windows 10, in particular, seems to take the view that whatever it's doing is more important than whatever the user is doing. I hear expert users can get around this to some extent, but that doesn't matter if you're a game developer who needs their software to run on out-of-the-box configurations.
Logged

Ordnas
Level 10
*****



View Profile WWW
« Reply #16 on: February 26, 2018, 01:21:23 AM »

What are you talking is milliseconds micro-stuttering, something that you can check opening Rivaturner and watching the graphs of the ms period, issue that shows how 16ms is not achievable for all the frames, with little spikes of 1 frame reachings 17/18 ms and returning to 16ms again. I am talking about a freeze of half a second or more. That is not OS issue, that is unoptimized code. 
Logged

Games:

ProgramGamer
Administrator
Level 10
******


aka Mireille


View Profile
« Reply #17 on: February 26, 2018, 06:27:09 AM »

Maybe you should check that this is a common issue before blaming the game? For all you know, it could be some random little one-button fix that you happen to not know about. Did you look it up at all?
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic