This is a small HowTo. It is a bit bloggy, I admit, and maybe not as sophisticated as a tutorial should be, but granted that you have an intermediate knowledge of the UnrealEd, it will enable you to create an AlienSwarm Menu map.
While this HowTo relies on an external tutorial explaining how to build Matinee scenes for standard UT2K4, it features the things that are handled a bit different in Alien Swarm.
The "menu map" I am talking about is doing its job as the background for Alien Swarm's main menu screen. While standard UT2K4 maps (exception: Assault maps) and, likewise, the normal AlienSwarm maps do NOT support movie-like scenes, the menu map DOES. So, with some work and patience you can customize the main menu appearance to your liking. Or, with some more effort, you could even make a real movie-scene that gets played every time you start your game.
You maybe want to read the menu map thread. The idea for this comes from the FuzzyBunny. He and NoData pointed me to the fact that the Menu background is a map...
First thing I did was to start the Editor, and open that AlienSwarmStartup.ut2. Really interesting stuff, I had never thought about looking in there.
But of course: to have the 3D effects, and the Marine Pawn, which is even breathing, the Menu background has to be a map. And as such, it can be modded easily via the UnrealED, or exchanged with another one.
This kind of map seems to do its work purely client-wise, so whatever you do there, as long as it doesn't crash the game, everything else will be just like normal. So, in other words, there is no need to fear version mismatches or such. You could even use some dirty mapping tricks that never should be used in a map thought to be playable online (thinking of things like 'attaching stuff to movers').
The original startup map (to be found here: UT2004/AlienSwarm/Maps/AlienSwarmStartUp.ut2) is a nice piece of work. A very small place, yet packed with a dozen of actors that were more than cryptic to me at the first look.
But I found that most of that actors aren't crucial. I mean, you don't necessarily need them for your own Menu map. They are just there, in the original, to make everything look better. The possibilities to spice up such a menu map are manifold: movers, projectors, emitters etc. AmbientSounds. Maybe a skybox (a thing AS mappers normally don't need...) for the background. And: a careful choice of the music!
Speaking of which, you can adjust the volume and choose the song of your liking in the LevelProperties->Audio. You can pick any song that is in your UT2004/music folder. Can be an .ogg type file, but just enter the title, without the file extension.
But the most important here is a Matinee, another thing AS mappers normally don't have to use. I, at least, knew nothing about it. But of course, the UWiki was helpful again. Especially good was a link I found there, the link to AngelMappers nice Matinee Tutorial.
Further reading: http://udn.epicgames.com/Two/MatineeTutorial.html
That tutorials explain what a Matinee scene IS in the first place, and what actions can be performed in it, while a scene plays. You will find all the options explained.
Using that options, the Matinee can do a lot more than just move the camera through your map. You could, for example, script actors to do stuff, and have that actions triggered by the matinee scene when the camera looks at them.
Only some small details are to be added, and noted that they are handled slightly different in AlienSwarm. See below.
Given that you got your architecture prepared, make sure your map's GameType (to be found under View->LevelProperties->LevelInfo->DefaultGameType) is 'AoInterface.AoCinematicGame'. This is needed to make AlienSwarm recognize it as a Menu Map, and be able to play the Matinee. One of the effects of that special gametype is that it makes the game dive straight into the map itself, meaning there will be no roster and briefing state before that.
You hopefully read that Matinee tutorial, but I will duplicate the WARNING nevertheless: that Matinee Tool (like an inbuilt GUI for matinee actors) comes with the Ed for a reason, you really should use it! I mean, DON'T try to edit the matinee actors (Scenemanager, InterpolationPoints, LookTargets...) manually in the Ed, it WILL crash. (If you use the Matinee tool, it only MAY crash. But there is a measure you could take to be immune to the Goblin's mischief: save often! )
That tool will add and edit the Scenemanager actors for you. You just have to define some camera points and camera actions, using the Matinee tool's luxury.
I tested around quite some with these, resulting in interesting ways to crash the Ed.
But it seemed to me that you will need at least two scenes:
1. Unlike in normal Unreal, the first Scene will have to be named 'MainSlideInScene'. It will normally do just that, 'slide' the camera via a predefined way, up to its resting point. Thus, you will at least need two InterpolationPoints, as start and end points of your camera slide.
2. The 2nd Scene will have to be called 'LoopingScene'. Self-explanatory too. So you could make the camera run a loop, literally, or a sequence of moves, or just sit still.
(I guess this is it that does the trick of preventing the player from 'escaping' from the menu; as it loops, the scene just NEVER is at an end...)
It would be easily done to have the camera do nothing at all, in both of the scenes. (But why do that, if the Matinee allows for a universe of possibilities for striving movie directors...)
Last Step: As soon as your custom menu map works the way you want, 'install' it. Rename the original into, say, 'OLDAlienSwarmStartup.ut2' to have a Backup, then rename YOUR map into 'AlienSwarmStartup.ut2'.
Another - maybe more elegant - method to install your menu map: look up the 'LocalMap=AlienSwarmStartup.ut2' entry in your AlienSwarm.ini, and change that path to point to your own menu map instead.
Here is the map I did, as an example: http://hosted.filefront.com/humpelfuss
(EDIT: the link leads to the Zip with the last version. This screenie is from an older version. A newer shot is in post #5 below)
EDIT: I finally managed to batch a launcher starting a random menu map out of five possibilities. See below, in post #6 ff.
While this HowTo relies on an external tutorial explaining how to build Matinee scenes for standard UT2K4, it features the things that are handled a bit different in Alien Swarm.
The "menu map" I am talking about is doing its job as the background for Alien Swarm's main menu screen. While standard UT2K4 maps (exception: Assault maps) and, likewise, the normal AlienSwarm maps do NOT support movie-like scenes, the menu map DOES. So, with some work and patience you can customize the main menu appearance to your liking. Or, with some more effort, you could even make a real movie-scene that gets played every time you start your game.
You maybe want to read the menu map thread. The idea for this comes from the FuzzyBunny. He and NoData pointed me to the fact that the Menu background is a map...
First thing I did was to start the Editor, and open that AlienSwarmStartup.ut2. Really interesting stuff, I had never thought about looking in there.
But of course: to have the 3D effects, and the Marine Pawn, which is even breathing, the Menu background has to be a map. And as such, it can be modded easily via the UnrealED, or exchanged with another one.
This kind of map seems to do its work purely client-wise, so whatever you do there, as long as it doesn't crash the game, everything else will be just like normal. So, in other words, there is no need to fear version mismatches or such. You could even use some dirty mapping tricks that never should be used in a map thought to be playable online (thinking of things like 'attaching stuff to movers').
The original startup map (to be found here: UT2004/AlienSwarm/Maps/AlienSwarmStartUp.ut2) is a nice piece of work. A very small place, yet packed with a dozen of actors that were more than cryptic to me at the first look.
But I found that most of that actors aren't crucial. I mean, you don't necessarily need them for your own Menu map. They are just there, in the original, to make everything look better. The possibilities to spice up such a menu map are manifold: movers, projectors, emitters etc. AmbientSounds. Maybe a skybox (a thing AS mappers normally don't need...) for the background. And: a careful choice of the music!
Speaking of which, you can adjust the volume and choose the song of your liking in the LevelProperties->Audio. You can pick any song that is in your UT2004/music folder. Can be an .ogg type file, but just enter the title, without the file extension.
But the most important here is a Matinee, another thing AS mappers normally don't have to use. I, at least, knew nothing about it. But of course, the UWiki was helpful again. Especially good was a link I found there, the link to AngelMappers nice Matinee Tutorial.
Further reading: http://udn.epicgames.com/Two/MatineeTutorial.html
That tutorials explain what a Matinee scene IS in the first place, and what actions can be performed in it, while a scene plays. You will find all the options explained.
Using that options, the Matinee can do a lot more than just move the camera through your map. You could, for example, script actors to do stuff, and have that actions triggered by the matinee scene when the camera looks at them.
Only some small details are to be added, and noted that they are handled slightly different in AlienSwarm. See below.
Given that you got your architecture prepared, make sure your map's GameType (to be found under View->LevelProperties->LevelInfo->DefaultGameType) is 'AoInterface.AoCinematicGame'. This is needed to make AlienSwarm recognize it as a Menu Map, and be able to play the Matinee. One of the effects of that special gametype is that it makes the game dive straight into the map itself, meaning there will be no roster and briefing state before that.
You hopefully read that Matinee tutorial, but I will duplicate the WARNING nevertheless: that Matinee Tool (like an inbuilt GUI for matinee actors) comes with the Ed for a reason, you really should use it! I mean, DON'T try to edit the matinee actors (Scenemanager, InterpolationPoints, LookTargets...) manually in the Ed, it WILL crash. (If you use the Matinee tool, it only MAY crash. But there is a measure you could take to be immune to the Goblin's mischief: save often! )
That tool will add and edit the Scenemanager actors for you. You just have to define some camera points and camera actions, using the Matinee tool's luxury.
I tested around quite some with these, resulting in interesting ways to crash the Ed.
But it seemed to me that you will need at least two scenes:
1. Unlike in normal Unreal, the first Scene will have to be named 'MainSlideInScene'. It will normally do just that, 'slide' the camera via a predefined way, up to its resting point. Thus, you will at least need two InterpolationPoints, as start and end points of your camera slide.
2. The 2nd Scene will have to be called 'LoopingScene'. Self-explanatory too. So you could make the camera run a loop, literally, or a sequence of moves, or just sit still.
(I guess this is it that does the trick of preventing the player from 'escaping' from the menu; as it loops, the scene just NEVER is at an end...)
It would be easily done to have the camera do nothing at all, in both of the scenes. (But why do that, if the Matinee allows for a universe of possibilities for striving movie directors...)
Last Step: As soon as your custom menu map works the way you want, 'install' it. Rename the original into, say, 'OLDAlienSwarmStartup.ut2' to have a Backup, then rename YOUR map into 'AlienSwarmStartup.ut2'.
Another - maybe more elegant - method to install your menu map: look up the 'LocalMap=AlienSwarmStartup.ut2' entry in your AlienSwarm.ini, and change that path to point to your own menu map instead.
Here is the map I did, as an example: http://hosted.filefront.com/humpelfuss
(EDIT: the link leads to the Zip with the last version. This screenie is from an older version. A newer shot is in post #5 below)
EDIT: I finally managed to batch a launcher starting a random menu map out of five possibilities. See below, in post #6 ff.
Comment