UnrealSP.org, now with 100% more Web 2.0!

Ending/Cutscene type of level and the sorts

For questions and discussion about UnrealEd, UnrealScript, and other aspects of Unreal Engine design.

Moderators: ividyon, Semfry, zYnthetic

User avatar UBerserker
Nali Priest Nali Priest
Posts: 7464
Joined: 11 Nov 2007, 21:00
Contact:

Subject: Ending/Cutscene type of level and the sorts

Post Posted: 28 Oct 2016, 00:35

Taking in consideration just UT.

1. What gametype should be used there? Note that this is after using a custom gametype.
2. How do "cutscenes" work - aka I see in some endings the camera teleports from one place to another and in some way it touches the ending.
3. Is it possible to dodge these ending maps in coop? Aka instead of going to the ending map coop players go back to level 1 instead. Maplist-related?
Image

User avatar zYnthetic
Trustee Member Trustee Member
Posts: 506
Joined: 12 Nov 2007, 00:10

Subject: Re: Ending/Cutscene type of level and the sorts

Post Posted: 28 Oct 2016, 16:45

3. Dual exit teleporters in the previous map with opposing bNet+bSinglelayer filters with each sending players to the appropriate map.

I've seen simple cutscenes use interpolating path cameras (like the Unreal flyby). More complex ones seem to always use UMS, which I think will work in a custom game type as long as it's a child of singlrplayer. Even then I'm not really sure if it has a gametype dependency.
Image

User avatar UBerserker
Nali Priest Nali Priest
Posts: 7464
Joined: 11 Nov 2007, 21:00
Contact:

Subject: Re: Ending/Cutscene type of level and the sorts

Post Posted: 29 Oct 2016, 01:31

I'm not sure if the teleport thing is good because from what I know, using filtering options on a navigation actor can fuck saves. Not sure if it happens for difficulty filters only but I don't want to risk.

I really have no idea how UMS works :< Once again, zero help material about another Unreal specific thing.
Image

gopostal
Skaarj Assassin Skaarj Assassin
Posts: 130
Joined: 01 Aug 2008, 06:35

Subject: Re: Ending/Cutscene type of level and the sorts

Post Posted: 29 Oct 2016, 15:06

You need some sort of trigger for the cutscene so they don't readily lend themselves to normal player versus player gametypes. It's certainly possible though. If you want to do this you could look at my code for the PostalBabes and see how I hooked into bGameEnded (you could use HandleEndGame, etc too). That mod spawns Postal Babe dancers around the match winner but you could tell it to run a cutscene instead. It will be a little trickier with deathmatch type games though, you'll need to pause the game ending code while your cutscene runs.

Also, remember some things don't replicate correctly so be sure to test it online to ensure any effects, etc you use will work. An example of this is adding smoke into a skybox. I built a smoking volcano into a skybox and had to make custom stuff to get it to properly work online.

Alucard was a really, really good mapper for monsterhunt and coop and he used cutscenes in several maps, both during and after play. If you look at his maps you'll see how he did it. The triggers can be complicated but the effects are worth it if you do it right. Just remember that a lot of players do not like them no matter what so keep them short and to the point.

User avatar UBerserker
Nali Priest Nali Priest
Posts: 7464
Joined: 11 Nov 2007, 21:00
Contact:

Subject: Re: Ending/Cutscene type of level and the sorts

Post Posted: 29 Oct 2016, 16:06

Thanks but I actually figured it out today lol. Turns out EXU2's gametype has a flag to turn off hud and weapons for ending-type map. I eventually managed to make interpolation points work.
Image

Masterkent
Skaarj Scout Skaarj Scout
Posts: 14
Joined: 08 Oct 2016, 19:26

Subject: Re: Ending/Cutscene type of level and the sorts

Post Posted: 02 Nov 2016, 15:59

UBerserker wrote:1. What gametype should be used there? Note that this is after using a custom gametype.

There is no reason to introduce a specific custom game type, unless you really need to override GameInfo functions.

In case of maps that are intended to be playable in Coop game, dependencies on a custom game type may become a headache for server admins who would like to use their favourite advanced Coop game type with rich functionality (such as enhanced kick-banning/penalty system, multiple admin groups with different subsets of available admin commands, support of voting rules for ending, optional saving inventory of died/left players, anti-flood protection, etc). Switching to other game type with UnrealShare.CoopGame-like minimalistic functionality (offered by authors of a map pack) isn't exactly what an experienced admin would want. Hacking/refactoring scripts of a map pack in order to adapt the implementation for a favourable game type can be a solution, but it requires knowledge of scripting and time.

I'm not sure if the teleport thing is good

Applying filters to Engine.Teleporter isn't good, indeed. You can make your own teleporter-like class with other base class (e.g. Engine.Triggers) and with the same implementation as Engine.Teleporter. Alternatively, it's possible to use a pair of initially disabled Engine.Teleporter actors with different tags and apply filtering to actors that would generate the corresponding events for them.

E.g.
Dispatcher1 -> 'exit_event' -> Counter1 (SP-only) -> 'exit_sp_event' -> Teleporter1
Dispatcher1 -> 'exit_event' -> Counter2 (Net-only) -> 'exit_coop_event' -> Teleporter2

When exit teleporters can be initially enabled by design, it may be possible to use more simple scheme:

Trigger1 (Net-only) -> 'exit_event' -> Teleporter1 (initially enabled)
Trigger1 (Net-only) -> 'exit_event' -> Teleporter2 (initially disabled)

Here Trigger1 is supposed to be removed in SP and toggle states of Teleporter1 and Teleporter2 in Coop.

Masterkent
Skaarj Scout Skaarj Scout
Posts: 14
Joined: 08 Oct 2016, 19:26

Subject: Re: Ending/Cutscene type of level and the sorts

Post Posted: 03 Nov 2016, 11:44

Masterkent wrote:You can make your own teleporter-like class with other base class (e.g. Engine.Triggers) and with the same implementation as Engine.Teleporter.

Deriving from a non-NavigationPoint class has a disadvantage though: some third-party mods can look up for Engine.Teleporter-based actors in order to handle exit teleporters. So, it may be better to derive a custom teleporter class from Engine.Teleporter and tweak the implementation of filtering:

Code: Select all

event PreBeginPlay()
{
   if (!bGameRelevant && !Level.Game.IsRelevant(self))
   {
      Tag = '';
      URL = "";
   }
}

For visible teleporters and teleporters with observable effects, such as lighting and ambient sound, more properties need to be changed:

Code: Select all

event PreBeginPlay()
{
   if (!bGameRelevant && !Level.Game.IsRelevant(self))
   {
      Tag = '';
      URL = "";
      DrawType = DT_None;
      LightType = LT_None;
      AmbientSound = none;
   }
}

defaultproperties
{
   bAlwaysRelevant=True
   bNoDelete=True
   bStatic=False
}


Who is online

Users browsing this forum: No registered users and 3 guests