ART Mapping
  Your Logo Here 

 {A}bort, {R}etry, {T}hrow computer out the door.. 

    

 
 

Home | Lesson Index | Lessons 1-5 | Forum


 

 
Leson 1: NPC Spawning and NPC Routing.
   

So you wanne learn NPC spawning.
first step, transfer 50$ to  this bank acount 1234567, oke forget this step.
We do however expect that you know the basics of making a map/room.
You need to know terms like: Caulk, Brushes, Detail, lightning etc.
If you dont know what those words mean i suggest that you read the richdiesal tutorial site,
http://richdiesal.jedioutcastmaps.com/tutorials/ and follow the 101, and 102 lessons, if you do know the basics, then you may continue.


First,we have to do something critical for SP mapping.We have to put the editor on SP_enteties.To do this go to file,then project settings.And in a window you'll see MP_entities.Just change the MP to SP,then shut yer editor down and restart it to see the changes.

In most SP levels, you will want to have lots of NPC's for the player to fight, thats cool.
you place a lot of NPC's in your map, you compile the map, you open the map and your map shocks like hell.... WTF!  whats happening?
well, if you place all the NPC's in the map, the game-engine needs to calculate AI information for every single one of them until you kill them.

Instead, you need to trigger NPCs to spawn as a person progresses through the level. If you have a room with only 1 door or hallway leading to it,  you could place a trigger to make the NPC in the next room spawn, you should use a Trigger_once for this.

Example, place a large Trigger_once before the door leading to the next room.
Then place some NPC's in the room behind the door. then target the trigger_once at the  NPC(s).   So when you enter the game, there will be no enemys on the map, but as soon as you open the door (therfor hitting the trigger in front of the door) the NPC's will spawn and you can fight them.

So you place a lot of triggered NPC's, you load the map, you trigger a group of NPC's. but all they do is stand still and shoot. that might be fine for snipers, but you want the rest to move around when they see you, wel em its time to create a waypoint and a pont_combat for them.

first, place the NPC were you want him to start moving when he sees you.   second, place a point_combat were you want the NPC to fight.
Then make a series of waypoints for the NPC to follow to get to its point combat.  Then target the NPC at its closest waypoint.  Target that waypoint at the next closest waypoint, and so on, down the line, until you get to the point_combat.

Thus if you choose a NPC_stormtrooper, the stormtrooper will just stand still, until he sees you, at which point he will run along his waypoints until he reaches his Point_combat - were he will stand untill you kill him.

Note: Saber-wielding NPC' ignore any pathing you give them and will instead run their own AI scripts.


example map,  in the first room you see a wall behind the player start position. behind that wall you see 2 stormtroopers, with there way point(s) and a point combat.
between the 2 rooms you se the corridor with a trigger_once and a door, and the trigger is connected to the Stormtroopers....


If you want more complex behavior from NPCs, you'll need to read Lesson 2:Spawning NPC's after another.

Enjoy!

 


 


____________________________________________________


Lesson2:Spawning NPC's after another.
   

 

So you’ve done the first class?How was it?Failed eh…?Hahah losers!

If you don’t get the first lesson,don’t bother beginning here =)

Please first learn and know lesson 1,then come here for the cooler part(cuz its written by Deso,not by Storm.).

 

Today,thou shall learn about making a Sp map much like the ladder series.That is the first ladder,because the second ladder contains some scripting,which will be reserved for another lesson.

 

So off we go…First,as usual,make a basic room.Then,inside the room,rightclick on the viewpoint window,and a menu will pop up.There,choose NPC,because we want to place an NPC in the room.For those who don’t know what an NPC is,an NPC is a player that is controlled by the computer,artificial intelligence.If ye still don’t get it,ye have 2 choices,”ART” or go hire the movie A.I.

 

Now,another menu pops up.So now you see a whole list of NPC,and yes,you can place them all in your little room if you like =p

But for this example,we’re gone place a reborn there.So choose NPC>NPC_reborn.

Now a little red box should pop up in your room.This is the source where the reborn will spawn from.

If you just leave it there like that,and add your “info>playerstart” ,he’ll just stand there from in the beginning.

Since that is the intention,leave him like that.Never forget you playerstart if you want your map to be playable,I know you know,but I’ve had it before,making a whole map,compile for an hour,and then realising I forgot a playerstart…

 

So what we want to happen now is,after the reborn dies horribly,we want 4 other reborns to spawn and confront you!!!!Scary aint it?..i know it isn’t =)

 

Just follow the next steps very carefully,its quiete simple,but you have to realise it very carefully.

Select the first reborn,that is already just standing in your map.Open up the properties lenu with selecting him and pushing “n” on your keyboard.

There you see a the properties of your selected entity,which now is the reborn.

If you want a reborn to activate something when he dies(Very important!!Read this part several times.) here’s what you have to do:

Type in the KEY window  :  NPC_target

And in the value window  :  secondwave

 

 

All these things are case sensitive,which means it does make a difference if you work with capitals or not.

 

So what we’ve done now is basically tell the reborn to activate all things that are called “secondwave” after he dies.

 

Now the next step,create the 4 other reborns.Again,rightclick the viewports window and choose NPC_reborn.After you’ve done that,you can simply copy him by pushing space.We need 4 of these reborns,so place them around your room,or put them together,same for me.

Select one of the 4 reborns,and type…

KEY  :  targetname

Value  :  secondwave

 

Do this for every reborn,that means select each of the 4 reborns and type that.What you cant do,and would actually save us a lot of work,is selecting the 4 reborns and typing it in once.What would happen is one would be called secondwave,another secondwave1,the thired seconwave2 and the fourth secondwave3.

That is not the intention.What you Can do is select them anyway,type It once,and then selecting each reborn separately and removing the 1,2 and 3.

 

Look at this!Look at your 3d view!!You can see pointers emerge from that first reborn to the other 4!So if you’d test your map now,after slaying the first reborn,the other 4 would spawn outo thin air.

 

First try all this,and if you’ve got that working,move on to the next part of this lesson.

 

So it worked eh,jolly fun slicing those reborns up eh =p

The next step is ,after slaying the 4 reborns,you want another 4(for eample) to try to kill you.

This is a little more difficult.

But here goes nuttin’ =)

 

Select the 4 reborns(the secondwave ones)separately and type…

KEY  :  NPC_target    (since we want them to activate something after they die)

Value  : Thirdwavecounter

 

Now rightclick,and go under the target section,and choose target_counter.What a target_counter does is when he’s activated,he counts to 1,if hes activated again,he changes to 2.And you can enter how many time she has to count before he activates something.

So type,while havin the target_counter selected and the “n” window up…

KEY  : targetname

Value : Thirdwavecounter

 

Also

 

KEY : count

Value :4         (This will make him count 4 times before activating his targets.)

 

Also

 

KEY : target

Value  :Thirdwave.

 

After all this,make 4 reoborns and call them thirdwave by doing this:

Key : targetname

Value : Thirdwave

 

If ye have pointers going from the secondwavereborns to the counter,and pointers going from the counter to the thridwave,yer in the clear.

Never connect anything in SP with Control+K…Allways type,It’ll be safer and will avoid bugs.

 

So now you can repeat this process with any NPC…Gives you a big opertunity to do many things to make a cOOlness map.

 

 Things to remember:

  • Targetname is the REAL name of the entity
  • NPC_target is ONLY for NPC’s,and will activate its targets after the NPC dies.
  • Target is works for everything ecept NPC’s(look at the previous rememberpoint.)
  • A counter counts 2 times default.

 

Happy Spmapping! =)

 

 

 

 


____________________________________________________


Lesson 3:
   

Yet to come


____________________________________________________


Lesson 4:(De)Activated Func’s
   

 

so you wanne lock a door after you go through it? Wel lock it and throw away the key.
or you wanne open a closed door? Wel take 5 steps back, use speed and run through the door.
i can tell you, that doesnt work :)

in this example tutorial i will be closing a Func_Door, but you can use any Func_mover you like. 
First create the Func_Door were you want it, then place a Large Trigger_once on the other side of the door(after you walk through it). 
After that place a Target_Deactivate close to the trigger. 
Then Connect the Trigger_once to the Target_Deactivate and Connect the Target_Deactivate to the Func_Door.
If you did it right, the door will open, and when you walk through the trigger the door will close.


Its almost the same with Target_activate. Although you want the door to open after you completed a objective
in my Example i will make a room with 4 Reborns, and i want the door to open after i killed all 4 jedi’s.
Well first, you make a room with 4 NPC_reborn’s and a door leading to another room. 
Then create a Target_counter.

key:count
value:4 (press N to enter the entities menu).

 Also Create a Target_activate. Then target the NPC_Reborn’s at the Target_counter (with NPC_target). Then Target the Target_counter at the Target_activate. After that, Target the Target_activate  at the Func_door.


example map,  first area(top) shows you a trigger and a traget deactivate that deactivates the door. second area(bottom) shows you 4 NPC wich trigger the Target_counter wich Triggers the Target_activate that activates the door


 
Enjoy.  


____________________________________________________


Lesson 5: Adding custom textures and music.
   

Adding custom textures.

well first step offcourse is making the texture in photoshop, paint or a other program that lets you make textures.
keep in mind that the texture size should be equal to the radiant pixels. take a look at the following numbers wich you can use to make the custom texture> 1,2,4,8,16,32,64,128,256,512
you can use any of these numbers for heigth and lenght.

for example: 1x1, 32x32,  256x256,
but also: 8x64, 128x512,  256x32 and so on

when your done with the texture, make shure you save it as .jpg (example: if you named the texture wall5 save it as wall5.jpg) makes shure that the name is 1 word, so dont make it
wall 5.jpg cause you wil get a error in the jk2 radiant

now, go to your  jk2/gamedata/base/textures folder and create a new folder(best is to name it the same as your map name)
then place the texture you made in that folder.

next load up the radiant, go to textures and select your folder (the folder you had created)
and if you done it right, the texture will show up.



Adding music.

turn of the sound ingame and play some music form the comp and you have your own music...
but if you want everybody to hear the music youl have to add it to the map.

first load your map, then select a wall and press N, the entities menu will pop up.
now fill in the following.

Key: Music
Value: Music/filename.mp3 (make shure the music file is mp3)

save your map and compile it.   now all you have to do is add the music to your pk3 file, in the music folder. (if the music filder isnt there youl have to create 1)



now you know how to customize the music and texture to what you like best.

 


____________________________________________________

This Site has been designed for 800x600 resolution and Macromedia Flash Player 5. ________________________________________________________________________________ 

 
 © StormKiller & Desostros
 

 

 

Make a free website at Freewebs.com