Announcement

Collapse
No announcement yet.

[KISMET] How can I fake a random generated level?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    [KISMET] How can I fake a random generated level?

    I want to make a level that has rooms that change when you exit them so it seems as if the map is randomly generated. Is this possible to do with Kismet? because I'm not able to do any scripting.

    #2
    Getting ideas from 'No Man's Sky' Crow? (It was the talk of E3)....

    What you're asking for is procedurally generated rooms, and yes its possible, even in Kismet. But if the rooms are complicated, it may take time to figure out. You'll have to decide a set of rules first, how components can move or change, and be clever about designing and shaping and sizing objects, so they can be reused. First off, all the room components will need to be movers (interpactors) or kactors. They can't just be static meshes, and this may entail a performance hit, especially if the rooms are large and detailed.

    To begin, you may decide that creating fully dynamic rooms is overkill. If so, creating static copies of rooms with certain specific interchangeable objects may be quicker. It will be important to leverage changing skins too with new 'material' by using Set Material, as its an important part of changing the level. That way you can start quickly, without having to deal with complexities of moving objects.

    Start with a series of random switches to relocate things... You can use Get / Set Actor Location Rotation and Get Distance to help align objects next to each other. But if it was me, I would cheat by using lots and lots of Note actors strategically placed in a master room template, so that you can teleport objects about and change the room quite easily... Then I'd use large Random Switches of Set Material to change actor material from a large pool of available choices... Lastly, I'd use ToggleHidden to hide and show objects from a master template, again using Random Switches...

    You can feed all the master template actors into an ObjectList at game start, and then pull them out one by one using Access ObjectList, and assign them to a Teleport / Set Material / Toggle Hidden node. The outside walls of the room will be the trickiest to change obviously and so merely rotating the entire room may be easier... But I think I'd create long length walls, much larger than the room can ever be, and then just slide these Walls about to change the room dimensions like a bounding box... The excess wall lengths should be hidden from view as long as there's no windows or adjacent rooms next door. You can also spawn these actors dynamically using Actor Factories, but I think I'd get a basic model working first...

    Comment


      #3
      i didnt watch anything from e3 :P i got a weird idea of making a game that replicates Alzheimer effects, plus procedurally generated games are the modern indie game, all the kool kidz do it.

      but i gotta say, I wasn't even expecting a reply and my hopes for this new game idea were starting to look like just another idea in my idea book, but your well thought out reply and your detail saved me from throwing away my idea. I still wont produce a triple A game, but you sure did give me the inspiration. thanks again, frankit. :3

      Comment


        #4
        No worries Crow! I love UDK, but I wish both UDK and UE4 had procedural design tools to help out Indie game builders... It just takes too long to create a good looking map and then ultimately it remains static.. I know side-scrollers and fixed view camera games can be built using procedural elements, but I'm talking about something on a par with 'No Mans Sky' and its procedural universe / galaxy view / fully-dynamic planetary terrain!

        Comment

        Working...
        X