Home Unreal Engine

Looking for Kismet assistance for a level idea! Thanks

I want to make a death-match game where every time you jump it changes the pull of gravity. It Makes the ceiling become the floor and vise versa. So basically every time you jump, you float to the roof and it becomes the floor. With this type of game play a match would look similar to this:

http://i.imgur.com/jllLK8X.jpg

This would be fun because I would need to create TWO levels, one on the floor and one of the roof, since players can go back and forth.

My issue is that I am not sure how to go about doing this and I was wondering if anyone could help me out?

Thank you so much for your assistance

Replies

  • Hourences
    Options
    Offline / Send Message
    Hourences polycounter lvl 18
    You don't need Kismet assistance, you will need assistance rewriting the whole engine. Not possible.

    You can only do this in all kinds of hacky and workaround kind of ways, and then it won't be very userfriendly/stable probably. For example you could invert gravity (which is not the same as orientation), so your head sticks to the ceiling, hide the player, unhide a second player model attached to the pawn that is upside down, and now itll somewhat look like you are walking on the ceiling.

    You could also teleport players to a second level which looks like the first but upside down, but then you can't see the other players.

    The whole thing would be far from polished and you will spend ages just trying to reach a functional state, let alone a finished state, so IMO drop it.
  • ambershee
    Options
    Offline / Send Message
    ambershee polycounter lvl 17
    You don't need to rewrite the engine, but you'd have absolute hell getting this to work in kismet without a clever trick.

    Thankfully, so long as we're not talking multiplayer or bot support, if you only want to be able to have floor or ceiling, there is a clever trick you can use - teleportation between two copies of the game world.

    Basically all you need to do is mirror your entire game world in Z, then teleport the player between the two - normal gravity will take care of the rest. You will need to do some clever calculation to get the player teleported to the right position. I would mirror them around Z = 0 to make this as easy as possible, because then the location just becomes negative / positive instead of anything too complicated. Finally, for added bonus, when you do the teleport, make sure you rotate the player as so they are upside down each time you teleport - the player controller will smoothly spin the player to be the right way up for you automatically :)


    If you wanted a proper gravity-flipper that would work with AI and multiplayer, then you're looking at a lot of UnrealScript, but it's still possible. It gets a lot nastier if you wanted to go in directions other than up/down, because annoyances like player collision cylinders not being rotatable get in the way. Kismet is not a realistic option.
Sign In or Register to comment.