Announcement

Collapse
No announcement yet.

How to create an AlienSwarm menu map

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

  • How to create an AlienSwarm menu map

    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.
    Attached Files
    Last edited by lightfoot; 8 Feb 2010, 06:54 AM.

  • #2
    Dude this is a really good tutorial, I'll definately be taking a crack at this. Thanks a lot LF
    Johnathan, the archetype Front Line Medic

    Comment


    • #3
      Originally posted by lightfoot View Post
      Here is the map I did: http://www.1webspace.biz/Lightfoot/A...armStartUp.ut2
      And a new Screenie.
      Error:

      File not Found

      Anything for a change, anyone care to make a pack? They only need to be small parts of other maps, random start up would rock - like halflife 2
      Alien Swarm Map List

      Comment


      • #4
        I replaced that two non-functional links with one that works, hopefully.

        Sorry.

        PLEASE HAVE PATIENCE WHILE WE UPGRADE OUR FACILITIES.


        By longer staring at it I found some things I don't like in that attempt, so there will be another version soon. (EDIT: done, read on below)
        But I do already enjoy having it installed nevertheless. Especially the changed background music...
        Last edited by lightfoot; 8 Feb 2010, 06:56 AM.

        Comment


        • #5
          Zen and the art of spaceship maintenance

          "Hark, dudes! Mother has put up some make-up, 'cause she is going out tonight."

          USS Conrad stabilised at low planetary orbit. Team standing by, awaiting mission orders.
          Attached Files

          Comment


          • #6
            I made another small map with a camera slide. It mainly shows the APC mesh I got from X-Newbie. Thanks again for that.
            [ATTACH]1596[/ATTACH]
            With the original one, the Sigma/Telic lobby maps, and my two small attempts there were 5 working menu maps now.


            So I read some things about batch scripting, and tried some things out. Then I read and googled some more.


            - To make a long story short, I finally devised a small batch script that randomly chooses one of these five maps as a menu background when I start AlienSwarm.

            Here it is. A very basic version, but it works.
            Code:
            @echo off
            setLocal EnableDelayedExpansion
            set number=5
            set /a target=!random!%%number+1
            del AlienSwarmStartup.ut2
            copy MenuMaps\%target%.ut2
            ren %target%.ut2 AlienSwarmStartUp.ut2
            set number=
            set target=
            cd..
            AlienSwarm.exe
            Then I tried to make it look better, added a loading screen (tchatzi's idea -thanks!) and some comments.
            Code:
            @echo off
            
            : IMPORTANT This launcher will only work when it is 
            : in your UT2004\AlienSwarm\maps\ folder.
            : It further assumes that there is a folder called
            : 'AlienSwarm\Maps\MenuMaps',
            : which contains 5 (yes, the 'number' variable)
            : actual menu maps, named '1', '2', '3', '4' and '5'.
            
            
            : give our window a name and make sure it's got the right size
            title Hit a key to proceed to Alien Swarm.
            mode con: cols=80 lines=29
            
            : the following seems to be needed for randomness
            setLocal EnableDelayedExpansion
            
            : we have 'number' menu maps to choose from
            : (TODO: the script should rather make a head count of the files
            :             in the MenuMaps folder, instead of primitively setting it here!)
            set number=5
            
            : so randomly find a target between 1 and number
            :
            set /a target=!random!%%number+1
            
            : get the respective map description from a 'subroutine'. brr, clumsy.
            :
            if %target%==1 goto Original 
            if %target%==2 goto Sigma 
            if %target%==3 goto Telic 
            if %target%==4 goto Conrad 
            if %target%==5 goto APC
            
            :hell
            : display my awesome ASCII-art, now feat. the targetted Map's descrip.
            :
            echo.
            echo  (NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)
            echo  (NNNNNNNNNNNNNN"NN4NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)
            echo  (NNNNNNNNNNNNNN  ` 4NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)
            echo  (NNNNNNNNNNNNF      ´NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN                        NN)
            echo  (NNNNNNNNNNF`         NNNNNNNNNNNNNNNNNNNNNNNNNNNNN      ALIEN SWARM       NN)
            echo  (NNNNNNNNN_           ´NNNNNNNNNNNNNNNNNNNNNNNNNNNN Just another bug hunt. NN)
            echo  (NNNNNNNNNL            NNNNNNNNNNNNNNNNNNNNNNNNNNNN   by Black Cat Games   NN)
            echo  (NNNNNNNNNNNN. .        4NNNNNNNNNNNNNNNNNNNNNNNNNN                        NN)
            echo  (NNNNNNNNNNNNNJ"  ,      ´NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)
            echo  (NNNNNNNNNNNNF`,´          4NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)
            echo  (NNNNNNNNNNNN\´,´           ´4NNNNNNNNNNNNNNN                              NN)
            echo  (NNNNNNNNNNNNF                ´NNNNNNNNNNNNNN This launcher was batched by NN)
            echo  (NNNNNNNNNNNL_´       .,        "NNNNNNNNNNNN the Lightfoot, SpaceEngineer NN)
            echo  (NNNNNNNNNNNN)       _´`          4NNNNNNNNNN                              NN)
            echo  (NNNNNNNNNNNNL.       _            ´NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)
            echo  (NNNNNNNNNNNNNL´                    "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)
            echo  (NNNNNNNNNNNNNN)                     (NNNNNNNNN                            NN)
            echo  (NNNNNNNNNNNNNNLJ      _."            4NNNNNNNN Today's menu map is nr.%Target%:  NN)
            echo  (NNNNNNNNNNNNNNN`      L              (NNNNNNNN %descrip% NN)
            echo  (NNNNNNNNNNNNNNL                       NNNNNNNN                            NN)
            echo  (NNNNNNNNNNNNNNL                       NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)
            echo  (NNNNNNNNNNNNNN)`   ,                  NNNNNNNNNNNNNNNNNN 4NNNNNNNNNNNNNNNNNN)
            echo  (NNNNNNNNNNNNNN/`,. (L                ´F"4NNNNNNNNNNNNNNN",NNNNNNNNNNNNNNNNNN)
            echo  (NNNNNNNNNNNNF`  ´  (F`                  ` ""N4FNNNFF"" ` JNNNNNNNNNNNNNNNNNN)
            echo  (NNNNNNNNNNNL   ,___L_ __.,_      ,.                    JN"LNNNNNNNNNNNNNNNNN)
            echo  (NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNLN_JNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)
            echo  (NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN_LF_NOV_07)
            
            : (silently) wait for keypress, before actually doing stuff.
            pause >nul
            
            : now do stuff.  ONE: delete old menu map.
            del alienswarmstartup.ut2
            
            : do stuff          TWO: copy target into this directory.
            copy menumaps\%target%.ut2
            
            : do stuff          THREE: rename target into what the game expects.
            ren %target%.ut2 AlienSwarmStartUp.ut2
            
            : clear variables
            set number=
            set target=
            set descrip=
            
            : ...and now, gear up! For just another bug hunt...
            cd..
            AlienSwarm.exe
            : (this would be the place to set ?mutator=... or other options)
            
            : ...but first, quit this. See you, and watch your reload!
            exit
            
            
            : the following are subroutines for setting the map description
            :
            : in case there is more menu maps to include: they could be added
            : here, provided that you also add another if-condition up there.
            : also, increment 'number' then, and see that the descripts have proper
            : string length. has to be exactly 26 digits for the ASCII-art to work... 
            :
            :Original
            set descrip=The original menu map.    
            goto hell
            :Sigma
            set descrip=The Sigma campaign lobby. 
            goto hell
            :Telic
            set descrip=The Telic campaign lobby. 
            goto hell
            :Conrad
            set descrip=The mothership USS Conrad.
            goto hell
            :APC
            set descrip=The APC at a close view.  
            goto hell
            Here is a screenshot:[ATTACH]1597[/ATTACH]

            Due to the comments this version contains, I hope it to be pretty self-explanatory.

            You can download this two scripts, the maps, and a more detailed Readme here. It is all insinde a zip package called 'Maps.zip', to be found there. You have three guesses where to extract it to...

            Comment


            • #7
              You're a credit to you society.

              Comment


              • #8
                Hey guys,

                I'd really like to know how you would make a menu map outside of Alien Swarm just using my own mod.

                Cheers

                Comment


                • #9
                  I can't say for sure, but I think you might need to make a custom game type. You might try looking at the Alien Swarm menu map or its game type in the editor to see how BCG did it.
                  Based on a true story.
                  The prequel.

                  Comment


                  • #10
                    With 'outside of Alienswarm' you probably mean UT2K4? Let's hope you do.

                    As already said, to be able to play any matinee at all, the map would need to be of a certain defaultgametype.

                    But, does vanilla Unreal work like this at all? I mean, use a certain map file as menu background? I don't know, and its yours to find out.

                    Comment


                    • #11
                      Originally posted by lightfoot View Post
                      With 'outside of Alienswarm' you probably mean UT2K4? Let's hope you do.

                      As already said, to be able to play any matinee at all, the map would need to be of a certain defaultgametype.

                      But, does vanilla Unreal work like this at all? I mean, use a certain map file as menu background? I don't know, and its yours to find out.
                      Quit mapping and come play a bit, missed u

                      Comment


                      • #12
                        I have not mapped much lately, but I did another version of the launcher.

                        launcher.bat:
                        Code:
                        @echo off
                        
                        : IMPORTANT This launcher will only work when it is 
                        : in your UT2004\AlienSwarm\maps\ folder.
                        : It further assumes that there is a folder called
                        : 'AlienSwarm\Maps\MenuMaps',
                        : which contains 5 (yes, the 'number' variable)
                        : actual menu maps, named '1', '2', '3', '4' and '5'.
                        
                        
                        : resize our window. title will come as soon as we know it.
                        mode con: cols=97 lines=38
                        
                        : the following seems to be needed for randomness
                        setLocal EnableDelayedExpansion
                        
                        : we have 'number' menu maps to choose from
                        : (TODO: the script should rather make a head count of the files
                        :             in the MenuMaps folder, instead of primitively setting it here!)
                        set number=5
                        
                        : so randomly find a target between 1 and number
                        :
                        set /a target=!random!%%number+1
                        
                        : get the respective map description from a 'subroutine'. brr, clumsy.
                        :
                        if %target%==1 goto Original 
                        if %target%==2 goto Sigma 
                        if %target%==3 goto Telic 
                        if %target%==4 goto Conrad 
                        if %target%==5 goto APC
                        
                        :hell
                        
                        :rename title bar
                        title Todays menu flavour will be: %descrip%   - Hit any key to proceed to the game. -
                        
                        : display the ASCII table, now feat. the targetted Map's description (in the title bar!)
                        
                        echo.
                        echo.
                        echo.
                        echo.
                        echo.
                        echo  NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
                        echo  NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
                        echo  NNNNNNNNNNNNNNNNNNNN`     4NNNNN)     NNNNNNN)     N)           NF      'NNNNN) (NNNNNNNNNNNNNN
                        echo  NNNNNNNNNNNNNNNNNNN)       4NNNN)     NNNNNNN)     N)    (NNNNNNN)       'NNNN) (NNNNNNNNNNNNNN
                        echo  NNNNNNNNNNNNNNNNNN) ,N     'NNNN)     NNNNNNN)     N)    (NNNNNNN)  L     'NNN) (NNNNNNNNNNNNNN
                        echo  NNNNNNNNNNNNNNNNNF  JNL     'NNN)     NNNNNNN)     N)          'N)  NL     'NN) (NNNNNNNNNNNNNN
                        echo  NNNNNNNNNNNNNNNNF  '"""`     NNN)     NNNNNNN)     N)    ,______N)  NN)     4N) (NNNNNNNNNNNNNN
                        echo  NNNNNNNNNNNNNNNN`            'NN)     NNNNNNN)     N)    (NNNNNNN)  NNN.     4) (NNNNNNNNNNNNNN
                        echo  NNNNNNNNNNNNNNNF ,NNNNNNL     4N)     """"""N)     N)    '""""""4)  NNNN.     ` (NNNNNNNNNNNNNN
                        echo  NNNNNNNNNNNNNNF_,NNNNNNNN)_____N)___________N)_____N)___________(L__NNNNN.______(NNNNNNNNNNNNNN
                        echo  NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
                        echo  NNNNF""""""""""NF""""4NNNF"""""NNNN""4NNNNN""""""NNNNNNF"""""""""""""NNNN""""""4NNNNN""""""4NNN
                        echo  NNN`           N)    'NNN)     4NNF  JNNNN`      'NNNNN)              NNN       4NNN)      (NNN
                        echo  NNN    4NNNNNNNNN     (NF       NN`  NNNN)  .     (NNNN)     (NNN     NNN       'NNF       (NNN
                        echo  NNN            4N.    'N)       4F  (NNNF  JN      4NNN)     '"""     NNN  (.    (N  ,)    (NNN
                        echo  NNN             N)     N  ,)    `'  NNNN` (NNL     'NNN)             ,NNN  (L     `  J)    (NNN
                        echo  NNN_            NN        JN       ,NNN`            'NN)     (L     "NNNN  (N.      (N)    (NNN
                        echo  NNNNNNNNNN)     NN)      (NN)      JNN)  ______      4N)     (NL     4NNN  (NN      NN)    (NNN
                        echo  NNN`           JNNN.     JNNL     ,NN)  JNNNNNNL      N)     (NNL     4NN  (NNL    JNN)    (NNN
                        echo  NNN___________JNNNNL_____NNNN_____JNN__JNNNNNNNN______NL_____JNNNL____JNN__JNNN___JNNNL____JNNN
                        echo  NNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNF"NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
                        echo  NNN`(F4) NN`_ '   '4NNNN"4N"NF4N"'"NL   '`4 4"  "N` '"NNNN    "N"N"NF  NNNN'N"N") 4NFNNN)   "NN
                        echo  NNN.') ) () NL_N ,JNNNN) (F `)() _ 4N) JN"( ( ___N.,  NNNN)'N  ) ) F JF4NNN N N L (F 'N N) JNNN
                        echo  NNNL ) N (N. 'NN (NNNNF .(`  `( (N. N) NN ' ( `"(N)' ,NNNN`   () ) ) ` _NNN " ) N ()  N N`(NNNN
                        echo  N) N ` N ("N` (F NNNNN _ ( ,  J NN) N`.NN , ( """4.  'NNNN. N  ` ) L " NNNN _ ) N ( , ",N NNNNN
                        echo  NN.  ) `,L   _N) NNNNLJNLJ_NN N  " _N JNN.J J.__JNL NL"4NN) " ,)  JNL,(NNNN J.L `,N_NL JN NNNNN
                        echo  NNNNNNLJNNNNNNNLJNNNNNNNNNNNNNNNNNNNN_NNNNNLNNNNNNNJNNNNNNL__NNNLJNNNNNNNNNNNNNLJNNNNNNNNJNNNNN
                        echo  NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
                        echo.
                        echo.
                        echo.
                        echo.
                        
                        
                        : wait for keypress, before actually doing stuff.
                        pause >nul
                        
                        : now do stuff.  ONE: delete old menu map.
                        del alienswarmstartup.ut2
                        
                        : do stuff          TWO: copy target into this directory.
                        copy menumaps\%target%.ut2
                        
                        : do stuff          THREE: rename target into what the game expects.
                        ren %target%.ut2 AlienSwarmStartUp.ut2
                        
                        : clear variables
                        set number=
                        set target=
                        set descrip=
                        
                        : ...and now, gear up! For "Just another bug hunt"
                        cd..
                        AlienSwarm.exe
                        : (this would be the place to set ?mutator=... or other options)
                        
                        : also, quit this ingenious piece of code. have fun, and watch your reload!
                        exit
                        
                        
                        : the following are subroutines for setting the map description
                        :
                        : in case there are more menu maps to include: they could be added
                        : here, provided that you also add another if-condition up there.
                        : also, raise 'number' then, of course. 
                        
                        
                        :Original
                        set descrip=The original menu map.    
                        goto hell
                        :Sigma
                        set descrip=The Sigma campaign lobby. 
                        goto hell
                        :Telic
                        set descrip=The Telic campaign lobby. 
                        goto hell
                        :Conrad
                        set descrip=The mothership USS Conrad.
                        goto hell
                        :APC
                        set descrip=The APC at a close view.  
                        goto hell
                        Does the same, just looks different. A screenshot is here:

                        Someone up for making a mac or linux version?
                        Last edited by lightfoot; 27 May 2008, 12:19 PM.

                        Comment


                        • #13
                          And yet another version. Displaying the asciified "Chat noir". A screenshot is in my "Stuff" album.

                          lnch.bat:
                          Code:
                          @echo off
                          
                          : IMPORTANT This launcher will only work when it is 
                          : in your UT2004\AlienSwarm\maps\ folder.
                          : It further assumes that there is a folder called
                          : 'AlienSwarm\Maps\MenuMaps',
                          : which contains 5 (yes, the 'number' variable)
                          : actual menu maps, named '1.ut2', '2.ut2', and so on up to '5.ut2'.
                          
                          
                          : resize our window. title will come as soon as we know it.
                          mode con: cols=79 lines=66
                          
                          : the following seems to be needed for randomness
                          setLocal EnableDelayedExpansion
                          
                          : we have 'number' menu maps to choose from
                          : (TODO: the script should rather make a head count of the files
                          :             in the MenuMaps folder, instead of primitively setting it here!)
                          set number=5
                          
                          : so randomly find a target between 1 and number
                          :
                          set /a target=!random!%%number+1
                          
                          : get the respective map description from a 'subroutine'. brr, clumsy.
                          :
                          if %target%==1 goto Original 
                          if %target%==2 goto Sigma 
                          if %target%==3 goto Telic 
                          if %target%==4 goto Conrad 
                          if %target%==5 goto APC
                          
                          :hell
                          
                          :rename title bar
                          title Today's menu map: %descrip%   - Hit a key to accept and proceed to the game. -
                          
                          : display the ASCII table, now feat. the targetted Map's description in the title bar
                          
                          echo.
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNcWMMMMMMMMMMMMMMMMMMMMMM#MMMMMMMMMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMHMMMMNJMMMMMMMMMMMMMMMMMHONNMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNg7MMeWMMMMMMMMMMMMMBJMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMeYMeMMMMMMMMMMM#jM#G+MMMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN?M`MMMMMMMMM3M5jMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNWFMMMMMMMMq5JMMMMMMMMMMMMMMMMMMMM
                          echo  [email protected]?TMMMMMMMpMJMMMMM#cjMMMMMM#YWMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMb` `.THMMMY```.7`  ?MMMMH=  `JMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMp   ` ``            `      .MMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN,     NJ._     _.JN    .dMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMHHHMMMMMM.   `7M_M#   dM_M=   MMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMM#Y+gMMMMMMMMMM#`                    dMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMagMMMMHWgggNNMM`                     ,NNNMagggVTHMMMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMMS8MMMMMMMMBH.                     .NNgyYMMMMMMNJTMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMNJMMMMMWXjgMMMMM`                 ..MNg7MMMMNgZWMMMMMMM
                          echo  [email protected]`                .MMMMMMMmfMMMMMmJWMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMM5dMMMMMMMMM` ``             `  `JMMMMMMMNJWMMMMN,MMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM``   ` ``          `   WMMMMMMMMN`MMMMMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMYMMMMMMMMMF`        `              MMMMMMMMMNMMMMMMMM
                          echo  MMMMMMMMMMMMMMMMMMMMMMB= ` ??T?TMM`                     `  JMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMMMMMM?751`      `   `` `                       MMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMMMMMMR``              ` `                    `.MMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMMMMM3`                  ``                    JMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMm,```                    `                   `dMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMMB`                       `                 `.gMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMMMF                                        `..MMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMM#1`              `                  `     .JMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMMp                 ```             `     JMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMM:                    `          ``    .MMMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMM                     `         .`   ..MMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMMF`                    .`      ```   ..MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMM`                      `     ` '`   :dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMMF.                      `    `.`     JMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMM:                      ``   ``.`   ``MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMM.                        `  ` .    ` dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMM1                          `` `     `.,MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMM'`        `                 ` ``  `  `.`MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMM3       `   `               `` `       `.MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMNb`                        `           .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMML`.                                   .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMF``                                  .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMMMF.                                   `WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMMM#1.                   ```               WMMY?WMMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMMF  `                          ```      .     ```dMMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMM                  `   ` ``   ``                 `HMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMF.               ``                . .```     `` ``JMMMMMMMMMMMMMMMMMMMMMMM
                          echo  MMMM           ..JNNNNNNNNNNNNNNNNNNJ,.JgJ`....... ..J......,..............WM
                          echo  MMMM`         .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMF.MM
                          echo  MMMM1`     `.JMMMMMMMMMMMMMMMMMMMMMMMMMMMM                             MMF#4M
                          echo  MMMM       `.JMMMMMMMMMMMMMMMMMMMMMMMMMMMM                             MM8#dM
                          echo  MMMM.      ``JMMMMMMMMMMMMMMM#=` `?TMMMMMM        /\ ^|_ ^| [- ^|\^|       MM:#qM
                          echo  MMMM.      ` .MMMMMMMMMMMMMMMNg,.   `.MMMM      _           _          MM:#dM
                          echo  MMMMM        .MMMMMMMMMMMMMMMMMMMa.   .MMM      \  \/\/ /\ ^|^< ^|\/^|     MMx#dM
                          echo  MMMMM `    ` ..MMMMMMMMMMMMMMMMMMMN.   TMM      ~                      M#tFWM
                          echo  MMMMMaJ`       .UMMMMMMMMMMMMMMMMMM`   `JM             by              M#:NdM
                          echo  MMMMMMM,        `.MMMMMMMMMMMMMMMMF`    JM                             MM1#WM
                          echo  MMMMMMMN.x        `.YMMMMMMMMMMMM9`    .MM       BLACK CAT GAMES       MM;#MM
                          echo  MMMMMMMMMMe`           ?7YYYMYY"`      JMM                             MbF#MM
                          echo  MMMMMMMMMMMe  .`          ``         .JMMM  Launcher and ascii proudly MNFMUM
                          echo  MMMMMMMMMMMMNMMNa,                  .MMMMM  presented by the Lightfoot [email protected]
                          echo  MMMMMMMMMMMMMMMMMMN,.,          ...gMMMMMM                             MMN#NM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMNNggg,.MMMMMMMMMMMM                             MM5#MM
                          echo  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMNgMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMNMNMM
                          
                          
                          : wait for keypress, before actually doing stuff.
                          pause >nul
                          
                          
                          : now do stuff.  ONE: delete old menu map.
                          del alienswarmstartup.ut2
                          
                          : do stuff          TWO: copy target into this directory.
                          copy menumaps\%target%.ut2
                          
                          : do stuff          THREE: rename target into what the game expects.
                          ren %target%.ut2 AlienSwarmStartUp.ut2
                          
                          
                          : clear variables
                          set number=
                          set target=
                          set descrip=
                          
                          cd..
                          AlienSwarm.exe
                          : (this would be the place to set ?mutator=... or other options)
                          
                          exit
                          
                          
                          : the following are subroutines for setting the map description
                          :
                          : in case there are more menu maps to include: they could be added
                          : here, provided that you also add another if-condition up there.
                          : also, raise 'number' then, of course. 
                          
                          
                          :Original
                          set descrip=The original menu map.    
                          goto hell
                          :Sigma
                          set descrip=The Sigma campaign lobby. 
                          goto hell
                          :Telic
                          set descrip=The Telic campaign lobby. 
                          goto hell
                          :Conrad
                          set descrip=The mothership USS Conrad.
                          goto hell
                          :APC
                          set descrip=The APC at a close view.  
                          goto hell
                          Last edited by lightfoot; 12 Nov 2008, 02:02 PM.

                          Comment


                          • #14
                            SwarmFuck!

                            This little app does the same thing as launcher.bat, but in exe form. It randomly chooses any file ending with ut2 in the maps/MenuMaps as the new menu map, loads swarm, and displays a little animated splash screen covering the normal swarm splash.. and all in 35K!

                            It has the outrageous minimum requirements of a direct X 9.0c card, and will most likely cause your computer to melt in fantastic new and original ways.

                            (if you want the blackcat games logo too, it will cost you 5K)

                            ..it's safer here.

                            Comment


                            • #15
                              Does it register as a trojan?

                              Comment

                              Working...
                              X