Mapping - Vev

Mapping

Un article de Vev.

Jump to: navigation, search

Gay Star - membres - charte - bistro (forum) - matches - liGay - histoire - gay langage - photos - vidéos - FTP - IRC - liens - smiley

Cl@ Enola Fafal GuiGui Jù!i0 Itchy Kaero Vev ST@N


Sommaire

liens

Unreal Design

http://www.unreal-design.com/ (FR) - french mapping community with tons of tutorials. Titan Internet Forums

http://ut2004.titaninternet.co.uk/forums/ (UK) - best UT2004 onslaught community ever !!! Slaughter Place Forums

http://slaughtersplace.com/forums/forums/ (US) - another good onslaught community Atari Forums

http://www.ataricommunity.com/forums/forumdisplay.php?f=249 (US) - official forums of Atari. Mapraider

http://www.mapraider.com/ (US) - map hosting and more UnrealPlayground

http://www.unrealplayground.com/ (US) - map hosting and more Nali City

http://nalicity.beyondunreal.com/index.php (US) - map hosting and more Unreal FR

http://www.unreal.fr/ (FR) - first french unreal community Beyond Unreal

http://www.beyondunreal.com/ (US) - big unreal community Hazel H homepage http://www.hazelwhorley.com/ (UK) - If you are looking for awesome maps, skybox and tutorials !!! Angel Mapper http://www.angelmapper.com/ (US) - Very good mapper and alot of excellent mapping tutorials.


mes maps


création d'une map

U.fr : Pouvez-vous expliquer en quelques mots le processus de création d'une map chez Epic Games? Du concept art jusqu'à la version finale, combien de personnes ont travaillé dessus?

D.E. : Tout démarre avec une idée de gameplay général d'un Gameplay Level Designer. La map est ensuite esquissée (construites avec des formes géométriques simples, des BSP et très peu de static meshes) et subit les premiers tests de jeu. Beaucoup de changements de gameplay apparaissent à cette étape, si bien que quelquefois même l'idée initiale de gameplay qui avait lancé la création de la map est abandonnée ou transformée. A ce moment, la map ressemble plutôt aux cartes d'UT99 avec une mauvaise lumière. Une fois que l'équipe chargée du gameplay sent qu'on tient quelque chose, des screenshots sont envoyés à un Concept Artist. Il réalise un habillement général de la carte, lui donne un thème visuel et toute la cohérence pour aller de l'avant. Ensuite c'est au tour du Level Artist de s'immiscer dans le processus, tout simplement pour rendre l'ensemble beau! Ils vont réaliser les mesh et l'éclairage du niveau sur le modèle des concepts arts. Ils sont constamment en relation avec les testeurs du jeu pour s'assurer qu'aucun élément du gameplay n'a été sacrifié. Une fois cela terminé, il revient au Gameplay Level Designer d'effectuer le travail de collision et de rendre la map jouable. S'en suit des tests de jeu supplémentaires. La dernière étape est une phase de "livraison" où les collisions sont peaufinés sur tout le niveau, l'IA est complètement implémentée, les bugs sont traqués, etc. En général, le plus gros travail d'une map est effectué par deux designers, quelquefois un troisième ou quatrième viendra amener son aide pour tenir les délais.

projets

code d objets

weapon & ammo / object

link gum

Begin Map
Begin Actor Class=NewWeaponBase Name=NewWeaponBase13
    WeaponType=Class'XWeapons.LinkGun'
    myMarker=InventorySpot'myLevel.InventorySpot293'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=389,ZoneNumber=2)
    Tag="NewWeaponBase"
    Group="None,blue"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume6'
    Location=(X=338.498047,Y=850.771484,Z=-444.628601)
    Rotation=(Yaw=106488)
    StaticMeshInstance=StaticMeshInstance'myLevel.StaticMeshInstance1643'
    Skins(0)=None
    bSelected=True
End Actor
Begin Actor Class=LinkAmmoPickup Name=LinkAmmoPickup2
    myMarker=InventorySpot'myLevel.InventorySpot294'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=389,ZoneNumber=2)
    Tag="LinkAmmoPickup"
    Group="None,blue"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume6'
    Location=(X=279.039063,Y=877.145752,Z=-438.000000)
    Rotation=(Yaw=106816)
    ColLocation=(X=279.039063,Y=877.145752,Z=-438.000000)
    bSelected=True
End Actor
Begin Actor Class=LinkAmmoPickup Name=LinkAmmoPickup3
    myMarker=InventorySpot'myLevel.InventorySpot295'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=389,ZoneNumber=2)
    Tag="LinkAmmoPickup"
    Group="None,blue"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume6'
    Location=(X=372.441895,Y=796.503052,Z=-438.000000)
    Rotation=(Yaw=96768)
    ColLocation=(X=372.441895,Y=796.503052,Z=-438.000000)
    bSelected=True
End Actor
Begin Surface
End Surface
End Map

shock riffle

Begin Map
Begin Actor Class=NewWeaponBase Name=NewWeaponBase9
    WeaponType=Class'XWeapons.ShockRifle'
    myMarker=InventorySpot'myLevel.InventorySpot276'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=35,ZoneNumber=1)
    Tag="NewWeaponBase"
    Group="None,blue"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume6'
    Location=(X=-1791.915283,Y=-127.645996,Z=-204.693649)
    Rotation=(Yaw=82056)
    StaticMeshInstance=StaticMeshInstance'myLevel.StaticMeshInstance1633'
    Skins(0)=None
    bSelected=True
End Actor
Begin Actor Class=ShockAmmoPickup Name=ShockAmmoPickup4
    myMarker=InventorySpot'myLevel.InventorySpot277'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=35,ZoneNumber=1)
    Tag="ShockAmmoPickup"
    Group="None,blue"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume6'
    Location=(X=-1717.972900,Y=-125.044312,Z=-175.877045)
    Rotation=(Yaw=49040)
    ColLocation=(X=-1717.972900,Y=-125.044312,Z=-175.877045)
    bSelected=True
End Actor
Begin Actor Class=ShockAmmoPickup Name=ShockAmmoPickup5
    myMarker=InventorySpot'myLevel.InventorySpot279'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=35,ZoneNumber=1)
    Tag="ShockAmmoPickup"
    Group="None,blue"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume6'
    Location=(X=-1864.605713,Y=-126.518921,Z=-175.877045)
    Rotation=(Yaw=49040)
    ColLocation=(X=-1864.605713,Y=-126.518921,Z=-175.877045)
    bSelected=True
End Actor
Begin Surface
End Surface
End Map

blue flag

Begin Map
Begin Actor Class=xBlueFlagBase Name=xBlueFlagBase0
    bPathsChanged=True
    Base=LevelInfo'myLevel.LevelInfo0'
    bLightChanged=True
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=213,ZoneNumber=1)
    Tag="xBlueFlagBase"
    Location=(X=-647.925354,Y=1578.322632,Z=87.137138)
    Rotation=(Yaw=14168)
    ColLocation=(X=-647.925354,Y=1578.322632,Z=87.137138)
    bSelected=True
End Actor
Begin Surface
End Surface
End Map

double damage

Begin Map
Begin Actor Class=UDamageCharger Name=UDamageCharger0
    myMarker=InventorySpot'myLevel.InventorySpot314'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=414,ZoneNumber=9)
    Tag="UDamageCharger"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume6'
    Location=(X=3455.994141,Y=1657.711060,Z=-637.000000)
    Rotation=(Yaw=224)
    StaticMeshInstance=StaticMeshInstance'myLevel.StaticMeshInstance1829'
    bSelected=True
End Actor
Begin Surface
End Surface
End Map

shield

Begin Map
Begin Actor Class=ShieldCharger Name=ShieldCharger1
    myMarker=InventorySpot'myLevel.InventorySpot306'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=406,ZoneNumber=9)
    Tag="ShieldCharger"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume6'
    Location=(X=3199.623535,Y=-261.523010,Z=196.000000)
    StaticMeshInstance=StaticMeshInstance'myLevel.StaticMeshInstance1827'
    bSelected=True
End Actor
Begin Surface
End Surface
End Map

rankin

dm-rankin-fe.gif

la planche de pour dodger

Begin Map
Begin Actor Class=StaticMeshActor Name=StaticMeshActor374
    StaticMesh=StaticMesh'myLevel.testsheet1'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=ZoneInfo'myLevel.ZoneInfo7',iLeaf=409,ZoneNumber=5)
    Tag="StaticMeshActor"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume0'
    Location=(X=1176.860718,Y=-2206.337646,Z=-508.815216)
    Rotation=(Pitch=432,Yaw=23720,Roll=3000)
    StaticMeshInstance=StaticMeshInstance'myLevel.StaticMeshInstance262'
    DrawScale3D=(Z=2.000000)
    SoundVolume=76
    ColLocation=(X=1176.860718,Y=-2206.337646,Z=-508.815216)
    bSelected=True
End Actor
Begin Surface
End Surface
End Map

2 planches du rocket + bruit

Begin Map
Begin Actor Class=StaticMeshActor Name=StaticMeshActor218
    StaticMesh=StaticMesh'myLevel.hourehouteplank'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=ZoneInfo'myLevel.ZoneInfo1',iLeaf=630,ZoneNumber=9)
    Tag="StaticMeshActor"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume0'
    Location=(X=-448.000000,Y=316.000000,Z=-476.000000)
    Rotation=(Pitch=-6324)
    StaticMeshInstance=StaticMeshInstance'myLevel.StaticMeshInstance133'
    DrawScale3D=(X=1.500000,Y=1.250000,Z=1.250000)
    SoundVolume=76
    ColLocation=(X=-448.000000,Y=316.000000,Z=-476.000000)
    bSelected=True
End Actor
Begin Actor Class=StaticMeshActor Name=StaticMeshActor219
    StaticMesh=StaticMesh'myLevel.hourehouteplank'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=ZoneInfo'myLevel.ZoneInfo1',iLeaf=630,ZoneNumber=9)
    Tag="StaticMeshActor"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume0'
    Location=(X=-464.000000,Y=252.000000,Z=-480.000000)
    Rotation=(Pitch=-6820,Yaw=-612)
    StaticMeshInstance=StaticMeshInstance'myLevel.StaticMeshInstance134'
    DrawScale3D=(X=1.400000,Y=1.250000,Z=1.250000)
    SoundVolume=76
    ColLocation=(X=-464.000000,Y=252.000000,Z=-480.000000)
    bSelected=True
End Actor
Begin Actor Class=Trigger Name=Trigger18
    ReTriggerDelay=6.000000
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=ZoneInfo'myLevel.ZoneInfo1',iLeaf=633,ZoneNumber=9)
    Tag="Trigger"
    Event="55555555555555"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume0'
    Location=(X=-485.675903,Y=298.502472,Z=-427.000000)
    SoundVolume=76
    CollisionRadius=64.000000
    CollisionHeight=32.000000
    ColLocation=(X=-485.675903,Y=298.502472,Z=-427.000000)
    bSelected=True
End Actor
Begin Surface
End Surface
End Map


texture plancher

Begin Map
Begin Surface
   TEXTURE=myLevel.hourewooood
   BASE      -00784.000000,-00479.500000,+00000.000000
   TEXTUREU  +00000.000000,+00002.000000,+00000.000000
   TEXTUREV  -00002.000000,+00000.000000,+00000.000000
   NORMAL    +00000.000000,+00000.000000,+00001.000000
   POLYFLAGS=33554432
End Surface
End Map


flaque d eau et son trigger

Begin Map
Begin Actor Class=StaticMeshActor Name=StaticMeshActor444
    StaticMesh=StaticMesh'myLevel.hourewatersheet'
    bHighDetail=True
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=ZoneInfo'myLevel.ZoneInfo3',iLeaf=363,ZoneNumber=4)
    Tag="StaticMeshActor"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume0'
    Location=(X=2836.000000,Y=-852.000000,Z=-510.000000)
    Rotation=(Yaw=-33792)
    StaticMeshInstance=StaticMeshInstance'myLevel.StaticMeshInstance327'
    DrawScale3D=(X=2.000000,Y=2.000000,Z=1.500000)
    bShadowCast=False
    SoundVolume=76
    bCollideActors=False
    bBlockActors=False
    bBlockZeroExtentTraces=False
    bBlockNonZeroExtentTraces=False
    bBlockKarma=False
    ColLocation=(X=608.000000,Y=32.000000,Z=-608.000000)
    bSelected=True
End Actor
Begin Actor Class=Trigger Name=Trigger14
    ReTriggerDelay=6.000000
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=ZoneInfo'myLevel.ZoneInfo3',iLeaf=363,ZoneNumber=4)
    Tag="Trigger"
    Event="hhhhhhhhhhh"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume0'
    Location=(X=2818.324219,Y=-887.497559,Z=-505.000000)
    SoundVolume=76
    CollisionRadius=128.000000
    CollisionHeight=8.000000
    ColLocation=(X=2818.324219,Y=-887.497559,Z=-505.000000)
    bSelected=True
End Actor
Begin Surface
End Surface
End Map

roue (mover) (RotationRate pour faire tourner)

Begin Map
Begin Actor Class=Mover Name=Mover1
    bDynamicLightMover=True
    BasePos=(X=-2321.359375,Y=-1556.498535,Z=-83.131165)
    BaseRot=(Yaw=32768)
    bNoAIRelevance=True
    DrawType=DT_StaticMesh
    StaticMesh=StaticMesh'myLevel.houremachinewheelFF'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=6,ZoneNumber=1)
    Tag="Mover"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume225'
    Location=(X=-2321.359375,Y=-1556.498535,Z=-83.131165)
    Rotation=(Yaw=32768)
    DrawScale3D=(X=1.500000,Y=1.500000,Z=1.500000)
    SoundVolume=136
    bCollideActors=False
    bBlockActors=False
    bBlockZeroExtentTraces=False
    bBlockNonZeroExtentTraces=False
    bFixedRotationDir=True
    RotationRate=(Roll=5000)
    ColLocation=(X=720.000000,Y=1024.000000,Z=-528.000000)
    bSelected=True
    bPathColliding=False
End Actor
Begin Surface
End Surface
End Map

rosace(mover)

Begin Map
Begin Actor Class=Mover Name=Mover0
    KeyRot(1)=(Yaw=58932)
    BasePos=(X=-1211.000000,Y=-2019.000000,Z=662.000000)
    BaseRot=(Yaw=-23124)
    DrawType=DT_StaticMesh
    StaticMesh=StaticMesh'myLevel.rosacetable'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=6,ZoneNumber=1)
    Tag="Mover"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume225'
    Location=(X=-2321.359375,Y=-1556.498535,Z=-83.131165)
    Rotation=(Yaw=32768)
    DrawScale3D=(X=1.500000,Y=1.500000,Z=1.500000)
    SoundVolume=136
    bCollideActors=False
    bBlockActors=False
    bBlockZeroExtentTraces=False
    bBlockNonZeroExtentTraces=False
    bFixedRotationDir=True
    RotationRate=(Roll=5000)
    ColLocation=(X=720.000000,Y=1024.000000,Z=-528.000000)
    bSelected=True
    bPathColliding=False
End Actor
Begin Surface
End Surface
End Map

campgrounds

dm-campgrounds2004-g1e.gif

jumpad complet

Begin Map
Begin Actor Class=UTJumppad Name=UTJumppad1
    JumpVelocity=(X=-178.472183,Y=-66.348160,Z=1150.749390)
    JumpTarget=PathNode'myLevel.PathNode0'
    JumpSound=Sound'2K4MenuSounds.Generic.msfxDown'
    bPathsChanged=True
    PathList(0)=ReachSpec'myLevel.ReachSpec21'
    ForcedPaths(0)="PathNode0"
    nextNavigationPoint=PlayerStart'myLevel.PlayerStart3'
    Base=LevelInfo'myLevel.LevelInfo0'
    bLightChanged=True
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=4,ZoneNumber=1)
    Tag="UTJumppad"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume225'
    Location=(X=502.083954,Y=382.835938,Z=47.000000)
    ColLocation=(X=502.083954,Y=382.835938,Z=47.000000)
    bSelected=True
End Actor
Begin Actor Class=PathNode Name=PathNode0
    bPathsChanged=True
    nextNavigationPoint=UTJumppad'myLevel.UTJumppad1'
    Base=LevelInfo'myLevel.LevelInfo0'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=1,ZoneNumber=1)
    Tag="PathNode"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume225'
    Location=(X=174.529343,Y=263.065430,Z=559.000061)
    bSelected=True
End Actor
Begin Actor Class=Emitter Name=Emitter26
    Begin Object Class=SpriteEmitter Name=SpriteEmitter52
        UseDirectionAs=PTDU_Normal
        UseColorScale=True
        FadeOut=True
        FadeIn=True
        Acceleration=(Z=50.000000)
        ColorScale(0)=(Color=(G=162,R=185,A=255))
        ColorScale(1)=(RelativeTime=1.000000,Color=(B=92,G=44,R=69,A=50))
        FadeOutStartTime=0.800000
        FadeInEndTime=0.100000
        MaxParticles=5
        StartSizeRange=(X=(Min=35.000000,Max=35.000000),Y=(Min=30.000000,Max=30.000000),Z=(Min=40.000000,Max=40.000000))
        Texture=Texture'EpicParticles.JumpPad.GridPlate'
        LifetimeRange=(Min=1.400000,Max=1.400000)
        WarmupTicksPerSecond=2.000000
        RelativeWarmupTime=2.000000
    End Object
    Emitters(0)=SpriteEmitter'myLevel.SpriteEmitter52'

    Begin Object Class=SpriteEmitter Name=SpriteEmitter53
        UseDirectionAs=PTDU_Right
        UseColorScale=True
        FadeOut=True
        FadeIn=True
        Acceleration=(Z=80.000000)
        ColorScale(0)=(Color=(B=27,G=95,R=124))
        ColorScale(1)=(RelativeTime=1.000000,Color=(B=82,G=123,R=169))
        FadeOutStartTime=0.750000
        FadeInEndTime=0.200000
        MaxParticles=100
        StartLocationRange=(X=(Min=-30.000000,Max=30.000000),Y=(Min=-24.000000,Max=24.000000))
        StartSpinRange=(X=(Min=-0.250000,Max=-0.250000))
        StartSizeRange=(X=(Min=6.000000,Max=6.000000),Y=(Min=4.000000,Max=4.000000))
        Texture=Texture'EpicParticles.Beams.WhiteStreak01aw'
        LifetimeRange=(Min=1.250000,Max=1.500000)
        StartVelocityRange=(Z=(Max=20.000000))
        WarmupTicksPerSecond=2.000000
        RelativeWarmupTime=2.000000
    End Object
    Emitters(1)=SpriteEmitter'myLevel.SpriteEmitter53'

    bLightChanged=True
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=4,ZoneNumber=1)
    Tag="Emitter"
    Group="None,PadEmitters"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume225'
    Location=(X=497.287262,Y=390.518555,Z=16.832764)
    Rotation=(Yaw=-18432)
    CollisionRadius=16.500000
    CollisionHeight=16.500000
    bSelected=True
End Actor
Begin Actor Class=Light Name=Light52
    LightHue=42
    LightSaturation=127
    LightBrightness=48.000000
    LightRadius=48.000000
    bLightChanged=True
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=4,ZoneNumber=1)
    Tag="Light"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume225'
    Location=(X=497.761139,Y=388.652344,Z=62.454590)
    Rotation=(Yaw=-16384)
    CollisionRadius=18.000000
    CollisionHeight=18.000000
    bSelected=True
End Actor
Begin Actor Class=StaticMeshActor Name=StaticMeshActor167
    StaticMesh=StaticMesh'XGame_rc.AmmoChargerMesh'
    bLightChanged=True
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=4,ZoneNumber=1)
    Tag="StaticMeshActor"
    Group="None,TopBuilding"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume225'
    Location=(X=497.981720,Y=390.366211,Z=5.545410)
    bBlockNonZeroExtentTraces=False
    ColLocation=(X=497.981720,Y=390.366211,Z=5.545410)
    bSelected=True
End Actor
Begin Surface
End Surface
End Map

CTF gaystar

albatross

Begin Map
Begin Actor Class=StaticMeshActor Name=StaticMeshActor0
    StaticMesh=StaticMesh'Albatross_architecture.Deco.Alb_albatross'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=903,ZoneNumber=16)
    Tag="StaticMeshActor"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume6'
    Location=(X=5072.000000,Y=1663.647949,Z=-128.000000)
    Rotation=(Yaw=16384)
    StaticMeshInstance=StaticMeshInstance'myLevel.StaticMeshInstance381'
    DrawScale3D=(X=2.000000,Y=2.000000,Z=2.000000)
    Skins(0)=Texture'myLevel.Lila'
    AmbientGlow=33
    ColLocation=(X=5072.000000,Y=1663.647949,Z=-128.000000)
    bSelected=True
End Actor
Begin Surface
End Surface
End Map

lampe a l huile plus light

Begin Map
Begin Actor Class=Light Name=Light87
    LightHue=29
    LightSaturation=114
    LightBrightness=128.000000
    LightRadius=32.000000
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=871,ZoneNumber=13)
    Tag="Light"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume6'
    Location=(X=6590.176758,Y=1860.076538,Z=-213.000000)
    bSelected=True
End Actor
Begin Actor Class=Emitter Name=Emitter9
    Begin Object Class=SpriteEmitter Name=SpriteEmitter9
        FadeOut=True
        FadeIn=True
        UniformSize=True
        FadeOutStartTime=0.400000
        FadeInEndTime=0.100000
        StartLocationRange=(X=(Min=-5.000000,Max=5.000000),Y=(Min=-5.000000,Max=5.000000))
        StartSizeRange=(X=(Min=5.000000,Max=10.000000),Y=(Min=5.000000,Max=10.000000))
        Texture=Texture'SC_Volcano_T.Particles.SC_Flame1_T'
        LifetimeRange=(Min=2.000000,Max=2.000000)
        StartVelocityRange=(Z=(Min=20.000000,Max=20.000000))
    End Object
    Emitters(0)=SpriteEmitter'myLevel.SpriteEmitter9'

    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=871,ZoneNumber=13)
    Tag="Emitter"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume6'
    Location=(X=6591.529785,Y=1907.977295,Z=-219.000000)
    Rotation=(Yaw=32768)
    SoundVolume=76
    bSelected=True
End Actor
Begin Actor Class=StaticMeshActor Name=StaticMeshActor123
    StaticMesh=StaticMesh'AnubisStatic.All.EgyptSconce'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=871,ZoneNumber=13)
    Tag="StaticMeshActor"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume6'
    Location=(X=6592.000488,Y=1911.999634,Z=-232.000000)
    Rotation=(Yaw=65536)
    StaticMeshInstance=StaticMeshInstance'myLevel.StaticMeshInstance505'
    DrawScale3D=(X=0.500000,Y=0.500000,Z=0.500000)
    ColLocation=(X=6592.000488,Y=1911.999634,Z=-232.000000)
    bSelected=True
End Actor
Begin Surface
End Surface
End Map

crypt of fook

ascenceur

Begin Map
Begin Actor Class=Mover Name=Mover1
    MoveTime=0.650000
    StayOpenTime=1.000000
    MoveAmbientSound=Sound'AssaultSounds.HumanShip.HnShipFire01'
    KeyPos(1)=(Z=496.000000)
    BasePos=(X=-1168.000000,Y=-1232.000000,Z=-800.000000)
    SavedPos=(X=-12345.000000,Y=-12345.000000,Z=-12345.000000)
    SavedRot=(Pitch=123,Yaw=456,Roll=789)
    myMarker=LiftCenter'myLevel.LiftCenter1'
    DrawType=DT_StaticMesh
    StaticMesh=StaticMesh'myLevel.Fahrstuhl'
    bLightChanged=True
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=373,ZoneNumber=1)
    Tag="Mover3"
    InitialState="StandOpenTimed"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume0'
    Location=(X=-1168.000000,Y=-1232.000000,Z=-800.000000)
    Attached(0)=LiftCenter'myLevel.LiftCenter1'
    Attached(1)=LiftCenter'myLevel.LiftCenter0'
    StaticMeshInstance=StaticMeshInstance'myLevel.StaticMeshInstance234'
    Skins(0)=Texture'BarrensArchitecture.Base.Obsidian'
    Skins(1)=Texture'BarrensArchitecture.Base.Obsidian'
    Skins(2)=Texture'BarrensArchitecture.Base.Obsidian'
    ColLocation=(X=-1168.000000,Y=-1232.000000,Z=-800.000000)
    bSelected=True
End Actor
Begin Actor Class=LiftCenter Name=LiftCenter1
    LiftTag="Mover3"
    MyLift=Mover'myLevel.Mover1'
    LiftOffset=(X=-110.366943,Y=145.238281,Z=-161.000000)
    bPathsChanged=True
    PathList(0)=ReachSpec'myLevel.ReachSpec2125'
    PathList(1)=ReachSpec'myLevel.ReachSpec2127'
    nextNavigationPoint=LiftCenter'myLevel.LiftCenter5'
    Base=Mover'myLevel.Mover1'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=349,ZoneNumber=3)
    Tag="LiftCenter"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume0'
    Location=(X=-1278.366943,Y=-1086.761719,Z=-961.000000)
    Rotation=(Yaw=16640)
    RelativeLocation=(X=-110.366943,Y=145.238281,Z=-180.000000)
    RelativeRotation=(Yaw=16640)
    bSelected=True
End Actor
Begin Actor Class=LiftExit Name=LiftExit1
    LiftTag="Mover3"
    MyLift=Mover'myLevel.Mover1'
    SuggestedKeyFrame=0
    bPathsChanged=True
    PathList(0)=ReachSpec'myLevel.ReachSpec2115'
    PathList(1)=ReachSpec'myLevel.ReachSpec2122'
    PathList(2)=ReachSpec'myLevel.ReachSpec2113'
    PathList(3)=ReachSpec'myLevel.ReachSpec2092'
    PathList(4)=ReachSpec'myLevel.ReachSpec2112'
    PathList(5)=ReachSpec'myLevel.ReachSpec2118'
    PathList(6)=ReachSpec'myLevel.ReachSpec2126'
    nextNavigationPoint=LiftCenter'myLevel.LiftCenter1'
    Base=LevelInfo'myLevel.LevelInfo0'
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=373,ZoneNumber=1)
    Tag="LiftExit"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume0'
    Location=(X=-1272.846558,Y=-1201.158081,Z=-977.000000)
    Rotation=(Yaw=16640)
    bSelected=True
End Actor
Begin Actor Class=LiftExit Name=LiftExit0
    LiftTag="Mover3"
    MyLift=Mover'myLevel.Mover1'
    SuggestedKeyFrame=1
    KeyFrame=1
    bPathsChanged=True
    PathList(0)=ReachSpec'myLevel.ReachSpec2097'
    PathList(1)=ReachSpec'myLevel.ReachSpec2109'
    PathList(2)=ReachSpec'myLevel.ReachSpec2098'
    PathList(3)=ReachSpec'myLevel.ReachSpec2094'
    PathList(4)=ReachSpec'myLevel.ReachSpec2102'
    PathList(5)=ReachSpec'myLevel.ReachSpec2100'
    PathList(6)=ReachSpec'myLevel.ReachSpec2099'
    PathList(7)=ReachSpec'myLevel.ReachSpec2128'
    nextNavigationPoint=LiftExit'myLevel.LiftExit1'
    Base=LevelInfo'myLevel.LevelInfo0'
    bLightChanged=True
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=289,ZoneNumber=3)
    Tag="LiftExit"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume0'
    Location=(X=-1282.756348,Y=-979.142700,Z=-457.000000)
    Rotation=(Yaw=16640)
    bSelected=True
End Actor
Begin Actor Class=LiftCenter Name=LiftCenter0
    LiftTag="Mover3"
    MyLift=Mover'myLevel.Mover1'
    LiftOffset=(X=-113.647705,Y=153.593384,Z=358.764404)
    bPathsChanged=True
    PathList(0)=ReachSpec'myLevel.ReachSpec2091'
    PathList(1)=ReachSpec'myLevel.ReachSpec2093'
    nextNavigationPoint=LiftExit'myLevel.LiftExit0'
    Base=Mover'myLevel.Mover1'
    bLightChanged=True
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=LevelInfo'myLevel.LevelInfo0',iLeaf=288,ZoneNumber=3)
    Tag="LiftCenter"
    PhysicsVolume=DefaultPhysicsVolume'myLevel.DefaultPhysicsVolume0'
    Location=(X=-1280.647705,Y=-1078.406616,Z=-441.235596)
    Rotation=(Yaw=16640)
    RelativeLocation=(X=-110.830200,Y=153.593384,Z=325.042603)
    RelativeRotation=(Yaw=16640)
    bSelected=True
End Actor
Begin Surface
End Surface
End Map

waisten-fix

plexiglass (surface)

Begin Map
Begin Surface
   TEXTURE=myLevel.Glass.glassshader2
   BASE      -02020.000000,+01272.000000,+00156.000000
   TEXTUREU  -00000.707107,+00000.707107,+00000.000000
   TEXTUREV  +00000.707107,+00000.707107,+00000.000000
   NORMAL    +00000.000000,+00000.000000,-00001.000000
   POLYFLAGS=37749000
End Surface
End Map


Level design or game mapping is the creation of levels—locales, stages, or missions—for a video game (such as a console game or computer game). This is done using level design tools, special software usually developed just for the purpose of building levels.

Level design is a process used in the majority of video games in a variety of genres, such as platform games, puzzle games, adventure games, computer role-playing games and even driving games. Most of the coverage of the discipline in widely available media such as the Internet relates solely to level creation for first person shooter (FPS) or real time strategy (RTS) games. Only in the last ten years or so has the actual separation of labor occurred that has allowed the job of level designer to come into being, and in the last three or four years the job of level designer itself has often been subdivided into level artist, level designer and scripter.

Image:UnrealEd.jpg
a FPS level editor
Image:MD Lemmings.png
Level layout is crucial in puzzle games
Image:Metroidprimepinball-01.jpg
Pinball games have tightly-packed entities and a death zone
Image:Doom Level.jpg
Ammo and door entities in a FPS
Image:Red Alert level.jpg
Cliffs, bridges, and water are important in RTS maps
Image:Zork screenshot.png
Level design techniques are used for non-graphical games too
Image:The Secret of Monkey Island.PNG
Storyline expressed through level layout in adventure games

Process

There are several steps involved in laying out a map, not necessarily performed in a specific linear order. Different game genres may have very different steps, according to the different game features available. General steps include:

  • laying out the larger design of the map by sculpting out hills, rooms, tunnels, etc. for players and enemies to move around in
  • specifying certain regions where specific activities or behaviors occur (resource harvesting, base building, water regions, etc)
  • specifying other entities in the map (such as enemies, soldiers, monster spawn points, ladders, coins, resource nodes, ammo and health, weapons, save points, etc)
  • specifying which part of levels move, locations of doors, keys/buttons and associated locked doors, teleporters, and hidden passageways
  • specifying the start and exit locations for one or more players
  • adding realism by filling in with details such as level-specific graphic textures, sounds, animation, lighting and music
  • often advanced techniques are required, such as scripting, where certain actions by the player trigger specified events
  • the path that non-player characters take as they walk around, the actions they will take in response to specific triggers, and any dialog they might have with the player

Cut scenes may be triggered by events in a level, but require distinctly different skills, and may be created by a different person or team.

History

MUDs were one of the first type of games that required significant amounts of time to design areas. Often, promoted users were assigned to create new paths, new rooms, new equipment, and new actions, often using the game interface itself. ZZT was another early game notable for its user-accessible mapping and event triggers/scripting, and it still is one of the gentlest ways to introduce a person to level layout.

Once game modding become popular, individuals became very interested in designing unique levels. Some of the best tools and most mapping expertise became associated with games that were designed to be easily modified. Doom and Doom II were two of the first games to attract focused modding activity, and many WAD files were made for it. Half-Life, Quake 3, and many other games have notable mapping tools and communities that formed around them.

In certain games, such as NetHack, some levels may be randomly-generated. In these cases, it is the original programmer who controls how the shapes of rooms and tunnels are formed, by tweaking the randomized algorithms.

Goals

Good level design strives to bring out the best gameplay in a game, provide an immersive experience, and sometimes to advance the storyline.

Good use of textures and sounds can go a long way towards convincing players they're walking through a lush tropical forest or crawling inside a wet gloomy cave.

Maps can impact gameplay to a certain extent. Maps are capable of turning many types of games into a platformer (by careful placement of platforms) or a puzzle game (by extensive use of buttons, keys, and doors). Some FPS maps may be designed to largely prevent sniping by not including any long hallways, while other maps may allow for a mix of sniping and closer combat. Most RTS maps give each player a starting base, but will have resources and terrain that are designed to draw players out of their base and actively encourage players to engage each other. Team game maps can give a noticeable advantage to one team over another, when designed poorly.

Gimmick maps are sometimes created to explore a specific narrow type of gameplay, such as sniping or fist fighting. While they are briefly interesting to level designers and experienced players alike, they are not usually included in final polished games because of their limited replay value.

Notable details

Some levels have features that the casual player will likely never see, but are interesting enough to be discovered and documented by dedicated gamers.

Level designers sometimes create hidden rooms and areas. These usually give some additional rewards, such as ammo or powerups, for players who figure out how to reach them. Sometimes, they serve as easter eggs, containing messages such as the level designers' names or pictures, or political or humorous messages. For example, Quake has many secret areas that reward the player with ammo, weapons, quad damage powerups, and like, and in one hard-to-reach secret area, Dopefish makes an appearance.

There are many map bugs that level designers try to avoid, but sometimes go unnoticed for some time. A player might be able to get stuck in a hole with no way out, or even a way to die. A player might be able to find a specific spot where they don't have to move to gain experience, because monsters are constantly spawned but can be easily killed in a single-file line. In multiplayer maps, it's problematic if a player is able to reach visible areas of the map that the level designer didn't expect them to go, for example, reaching a rooftop where players aren't usually able to go, and camping there (waiting for other players and killing them unexpectedly). In the worst case, a player might be able to drop "outside" of a map where other players can't reach them.

In some cases, specific mapping tools can be designed to automatically detect problems such as falling "outside" a level, and reaching "stuck" areas. Careful level designers run these tools as the last step before releasing a new version of their level.

In most cases, the best way to improve a map is by playtesting it with experienced players, and allowing them to try to exploit any problems.

Tools

A wide variety of specific tools may be used by someone designing a level. While it is sometimes faster to design shapes and textures with general multimedia creation tools, specific games usually require the data to be in a unique format. Because of this, many specific compilers, and converters of shape, texture, audio data may be required to lay out a level.

Some level editors for PC games include Valve's Hammer Editor, Epic's UnrealEd, Leadwerks 3D World Studio, BioWare's Aurora Toolset and id Software's Q3Radiant. Multi engine, multi game editors include id Software's GtkRadiant, based on Q3Radiant, and the open source QuArK. An example of a console game with a level editor is TimeSplitters, developed by Free Radical Design. Sometimes, professional 3D editing software, such as 3D Studio Max, Blender, AutoCAD, Lightwave, Maya or Softimage XSI is used, usually customised with a special plugin developed for the specific game.

Sources

See also

External links

Modèle:Vg-industryde:Level Editing fr:Level design sv:Leveldesign