dcsimg
A Flash Developer Resource Site

Page 1 of 2 12 LastLast
Results 1 to 20 of 34

Thread: Real-time slow motion?

  1. #1
    Senior Member
    Join Date
    Sep 2008
    Posts
    100

    Question Real-time slow motion?

    I know I just recently over came my problem with the real-time factor in my online game. But I remembered how I had intended on adding slow motion to the game when I first started developing it. My question really is, is it possible to make an online real-time mutliplayer game have slow motion.

    What I keep imagining is that it would work for the most part. But my new problem is how would I simulate that the guy moving in slow motion and the guy moving in normal motion will both see each other in accurate positions.

    I keep picturing something like this...

    Key:
    . = area too walk on
    X = slow motion player
    | = normal motion player

    To the normal motion player
    ...................X..........|.............

    To slow motion player

    ...................X..................|......

    Basically I keep on picturing a problem with positions of the normal motion player being mixed up on the slow motion persons screen.

    To the slow motion player, everything including himself is going at a rate 50% slower than normal. Except he is going like 25% faster than everything else.

    So basically he has 75% his normal speed and everything else has 50% its normal speed on the slow motion players screen

    And to the normal motion player, everything is going normal speed. Only the person/people who are using slow motion are 25% faster than they normally are. Basically they have 125% the normal speed.

    But I can't help but think something will go wrong with the real-time positioning when I start something like this...

    I haven't tried it yet but I will tomorrow.

    Can anyone who reads this reply back with some form of information that could provide useful?

  2. #2
    Funkalicious TOdorus's Avatar
    Join Date
    Nov 2006
    Location
    Nijmegen, Netherlands
    Posts
    697
    Players need to have the same speed on every client. So if someone is moving at 50% on his screen, he should be moving on 50% on ALL screens. If you have different players on different speeds, there will be gaps in time.

  3. #3
    Senior Member
    Join Date
    Sep 2008
    Posts
    100
    Quote Originally Posted by TOdorus View Post
    Players need to have the same speed on every client. So if someone is moving at 50% on his screen, he should be moving on 50% on ALL screens. If you have different players on different speeds, there will be gaps in time.


    So your saying its impossible to do slow motion in a way where the slow motion is acting as a power up to one player or more, but the rest are seeing it normal motion.

    Hmmm... Say the normal movement speed is 30, and when I have a slow motion player... rather than +30 it goes +15 2 times, that's the way I was planning on doing it. Basically it takes 2 frames to get where it wants to go rather than one.

  4. #4
    Senior Member Alluvian's Avatar
    Join Date
    Jun 2006
    Posts
    967
    The way I would do slow motion (if you want it to be a gameplay advantage to one player) is to keep the activating character moving at normal speed, and slow down all other characters and projectiles from other characters.

    So the person activating the powerup sees everyone else slow down while he is moving at regular speed. You can add to the effect by slowing down the game music track.

    All other players are slowed, and they see the activating player moving at full speed. For other players, you could speed up the music track so they know why they are moving slower.

    Visual effects like motion blur might help drive home the concept of time dilation as well.

    You just have to make sure each player is moving the same speed on all clients.

  5. #5
    n00b LeechmasterB's Avatar
    Join Date
    May 2004
    Location
    Switzerland
    Posts
    1,067
    Guys am I the only one thinking that this is impossible without actually having players slow down real time?!
    I do stuff that does stuff...

    J-Force

  6. #6
    Senior Member Draxus's Avatar
    Join Date
    Sep 2007
    Location
    Florida
    Posts
    123
    Maybe you could fake it. Say you can slow time for 5 seconds. You active the power and everything slows down for everyone but you. Everyone sees you moving extremely slow in the direction you were when you activated the power, even though you're still moving at normal speed shooting people or running around or whatever. At the end of the five seconds everyone sees everything you did happen extremely fast and everyone is at normal speed again. If the duration of the time-slowing isn't really long it would work I think.

  7. #7
    Senior Member
    Join Date
    Sep 2008
    Posts
    100
    Quote Originally Posted by Draxus View Post
    Maybe you could fake it. Say you can slow time for 5 seconds. You active the power and everything slows down for everyone but you. Everyone sees you moving extremely slow in the direction you were when you activated the power, even though you're still moving at normal speed shooting people or running around or whatever. At the end of the five seconds everyone sees everything you did happen extremely fast and everyone is at normal speed again. If the duration of the time-slowing isn't really long it would work I think.
    Judging by what your saying I'd say your hinting at not the ability to slow down time but stop it utterly. I'm not trying to do that I'm going more for a matrix effect where everything is still going in motion but just slower. If there is no other choice, I will use your option. I admit the visual effect will be extremely cool to watch. But it seems a bit off from what I'm trying to get.

    And judging by what I want. I am imagining it like a way where you have the advantage of being able to see everyone move slower and gives you opportunities to use the openings they show to make an attack. Plus the fact that you are going slower yes, but you are going faster at the same time. Visually everything is slow, but you are slightly faster. And to those who can't see it the way your seeing it would view it at normal motion but this one guy is going 25% faster than everyone else.

  8. #8
    Senior Member
    Join Date
    Sep 2008
    Posts
    100
    Deciding on something. I will first try my idea. If it doesn't work then I will try to make everyone go slow motion and make you slightly faster on all their screens. I will keep the 50% of the speed for the the normal motion players and 75% speed on the people who have slow motion on. But it will do that to all the players. At the same time... Maybe stopping players utterly will give it a better visual effect if I were to do that.

  9. #9
    Senior Member bluemagica's Avatar
    Join Date
    Jun 2008
    Posts
    766
    hmm, I might not be understanding things but i don't think an exact slomo is possible in multiplayer games!
    By basic logic
    slomo = original client's player slows down + instance of slowed player at other clients actually speeds up by the amount it is slowed down

    But the problem here is, you are dealing with real world time across multiple clients! In slomo, say matrix/max payne style bullet-time , slow motion slows time for the player to give him more time to react, but it affects all other instances in the game world too...... what i am trying to say is, slowmo is normally possible in games because it is dealing with the game world's time only, but you will be dealing with real world time which is quite varying from the game time!
    If you like me, add me to your friends list .

    PS: looking for spriters and graphics artists for a RPG and an Arcade fighting project. If you can help out, please pm me!

    My Arcade My Blog

    Add me on twitter:

  10. #10
    Senior Member
    Join Date
    Sep 2008
    Posts
    100
    Making this post made me realize why freezing time is impossible to the real world. Basically actions made is something like

    actions/time passed

    if actions= 100 and time passed = 0

    well if actions made = actions/time passed

    then actions made = actions(100)/time passed(0) which = 0

    in thus, actions made = 0

  11. #11
    Senior Member realMakc's Avatar
    Join Date
    Oct 2002
    Posts
    893
    Quote Originally Posted by Alluvian View Post
    The way I would do slow motion (if you want it to be a gameplay advantage to one player) is to keep the activating character moving at normal speed, and slow down all other characters and projectiles from other characters.

    So the person activating the powerup sees everyone else slow down while he is moving at regular speed. You can add to the effect by slowing down the game music track.

    All other players are slowed, and they see the activating player moving at full speed. For other players, you could speed up the music track so they know why they are moving slower.

    Visual effects like motion blur might help drive home the concept of time dilation as well.

    You just have to make sure each player is moving the same speed on all clients.
    this is the most sane suggestion up there that would actually work, BUT, for the sake of theory, if your slomo only acts in finite and small time, like few seconds, it could be possible to "fake" it without slowing everyone down, I think... imagine someone shooting you and you use slomo powerup: his bullet goes slow for you, and at normal speed for him; you strafe to let the bullet miss you; then powerup time is used up, and in your frame the bullet goes faster than normal speed to catch up with bullet position in everyone else's frame; the server uses your frame to determine that the bullet did not hit you, and so for everyone else this looks like if the bullet magically went "through" you; you can, of course, signal powerup useage so that everyone else could indeed apply some motion blur or some shaking to your image and so create an impression of you moving around faster than bullet.
    Last edited by realMakc; 06-22-2009 at 05:08 PM.
    who is this? a word of friendly advice: FFS stop using AS2

  12. #12
    Senior Member
    Join Date
    Sep 2008
    Posts
    100
    Quote Originally Posted by realMakc View Post
    this is the most sane suggestion up there that would actually work, BUT, for the sake of theory, if your slomo only acts in finite and small time, like few seconds, it could be possible to "fake" it without slowing everyone down, I think... imagine someone shooting you and you use slomo powerup: his bullet goes slow for you, and at normal speed for him; you strafe to let the bullet miss you; then powerup time is used up, and in your frame the bullet goes faster than normal speed to catch up with bullet position in everyone else's frame; the server uses your frame to determine that the bullet did not hit you, and so for everyone else this looks like if the bullet magically went "through" you; you can, of course, signal powerup useage so that everyone else could indeed apply some motion blur or some shaking to your image and so create an impression of you moving around faster than bullet.
    For the most sane suggestion, I sure don't like it... Not being mean or anything but that would probably be easily noticeable and might not work out anyways. I personally like the freezing time idea now because it would prove some good eye candy. I don't like the idea of slowing everyone down. I would prefer to just stop them completely for 5-10 seconds(maximum upgrade for freezing time eh?). And then when the slow motion stops I will do a information playback at twice the speed it actually happened at.

    I call it information playback because it sounds kind of catchy and fits what I plan to do. What I will do is catch every action the person who activated the time freeze does within the five seconds. And I will make it make a marker as to what millisecond the action was made and what the action was.

    From there it will take all the actions preformed and play them back like this

    action1Milisecond = (lets say...) 2937
    action1 = (lets say[repeat]...) moveLeft

    action1's playback will be

    action1Milisecond/2;

    so rather than 0-5000 playback time it will be 0-2500 playback time. Although all the actions were still preformed at a 0-5000 time frame.

  13. #13
    ....he's amazing!!! lesli_felix's Avatar
    Join Date
    Nov 2000
    Location
    London UK
    Posts
    1,507
    I thought about this problem a long while back, when max payne came out.

    Multiplayer fps with bullet time would be awesome. but you'd have to approach it cinematically, not use individual power-ups.

    you ideally want a particular room or area to switch to bullet time when a set of certain conditions was met, say one person picks up a mega weapon, the room slows down so everyone has a chance to dive out of the way shooting as they go..

    If anyone wanders into the room whilst this is happening, their time slows as they enter the room.

    As long as you keep it event and locale specific, not give different time-perception to individual players (which is impossible without doing it for real) then it would work really well.

    In fact it would be awesome.

  14. #14
    Senior Member Draxus's Avatar
    Join Date
    Sep 2007
    Location
    Florida
    Posts
    123
    Quote Originally Posted by cody112 View Post
    Judging by what your saying I'd say your hinting at not the ability to slow down time but stop it utterly. I'm not trying to do that I'm going more for a matrix effect where everything is still going in motion but just slower. If there is no other choice, I will use your option. I admit the visual effect will be extremely cool to watch. But it seems a bit off from what I'm trying to get.
    Yeah, it's not exactly what you're going for, but I don't think what you want is possible Though my idea would effectively be like stopping time, it should look like slowing it. I pictured everyone still in control of their characters just in EXTREME slow motion, so during the ~5 seconds they wouldn't be able to do much at all, but still feel like time is passing.

    Quote Originally Posted by lesli_felix
    you ideally want a particular room or area to switch to bullet time when a set of certain conditions was met, say one person picks up a mega weapon, the room slows down so everyone has a chance to dive out of the way shooting as they go..
    This is similar to what they decided to do for multiplayer in TimeShift. You can pick up time-warping grenades which create a bubble of slowed time on impact. Everyone in the bubble experiences slow motion, and anything that enters the bubble (like bullets) are slowed down.

  15. #15
    Senior Member
    Join Date
    Sep 2008
    Posts
    100
    Quote Originally Posted by lesli_felix View Post
    I thought about this problem a long while back, when max payne came out.

    Multiplayer fps with bullet time would be awesome. but you'd have to approach it cinematically, not use individual power-ups.

    you ideally want a particular room or area to switch to bullet time when a set of certain conditions was met, say one person picks up a mega weapon, the room slows down so everyone has a chance to dive out of the way shooting as they go..

    If anyone wanders into the room whilst this is happening, their time slows as they enter the room.

    As long as you keep it event and locale specific, not give different time-perception to individual players (which is impossible without doing it for real) then it would work really well.

    In fact it would be awesome.
    So... From your personal opinion, 5 second time freeze or slow motion? Believe it or not, I think the slow motion would be easier to code. Because with the freeze I have to collect information and then hold it back until the freeze ends.

    Also, is it possible to make the blur filter change shape and stuff. Because I would like to have the blur if there is one kinda like the circular blurring that makes things blur more the closer to the edges of the screen it is.

    Edit: Also, with what you said it is still possible to use individual slow motion power ups. Just instead of a certain room to have slow motion, it is determined by distance.
    Last edited by cody112; 06-22-2009 at 10:00 PM.

  16. #16
    Funkalicious TOdorus's Avatar
    Join Date
    Nov 2006
    Location
    Nijmegen, Netherlands
    Posts
    697
    It's not like the effect hasn't been done before, so you can look at other sources for ideas how they handle the problem gametime <> realtime.

    Timegrenades have been done: a grenade that "temporary" speeds or slows down time in a sphere. Slowing down can be used to block shots and trap players (shoot at them and the bullets will be hovering in front of them until the grenade effect ends). Speed up can be used to get away or making some zones very dangerous to navigate. I can't realy remember the game which used this mechanic in multiplayer.

    Smash Brothers on the Wii also has a slowmotion powerup. Everybody except the one with the powerup moves in slowmotion. This makes it very easy for that player to dodge attacks, simply step around a block (because it hasn't ended by the time the player gets there), and have multiple blows in. For the players that are slowed down, the game becomes chesslike. You really need to anticipate what the speedy player is going to do, so you need to plan your moves and make his space to manoevre small.

  17. #17
    ....he's amazing!!! lesli_felix's Avatar
    Join Date
    Nov 2000
    Location
    London UK
    Posts
    1,507
    Having it as a power-up is lame though. it's a cinematic effect, not a weapon.

  18. #18
    Funkalicious TOdorus's Avatar
    Join Date
    Nov 2006
    Location
    Nijmegen, Netherlands
    Posts
    697
    How does it bieng a cinematic effect exclude it from bieng a weapon? Because you find it lame? Sorry for suggesting a gameplay mechanic using slowmotion.

  19. #19
    ....he's amazing!!! lesli_felix's Avatar
    Join Date
    Nov 2000
    Location
    London UK
    Posts
    1,507
    No you misunderstand me. It should be used as a gameplay mechanic, but having it as a power-up that you collect and use is just unimaginative. It would be better to treat it like a change in soundtrack at certain key points in the game. Just thinking what would be more fun...

  20. #20
    Senior Member Pazil's Avatar
    Join Date
    Sep 2006
    Location
    Ontario, Canada
    Posts
    913
    It depends. I think that it can be used as a power up in some cases, though what would be more interesting would be a game where when a player picks up the "mega-weapon" or something, like a chaingun, then everyone else playing is against him, and everyone goes into slow-mo. Or just some way that it is activated. If not a power-up, then it could come in grenade form or something.

    Whatever the way, as long as the effect is done correctly, it should look nice.
    WIP-ZOMBIES

    I love vegetarians! More meat for the rest of us!

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center