Download exampleLet's start with the
monster_generic entity. To tell you the truth, this entity is not very hard to use. However, I've only seen it being used in very advanced levels made by very proficient level designers. There's no reason that the average Jose can't use this, and in this tutorial, I'll explain how to take advantage of
monster_generic without too much hassle. What does it do? Good question: this entity will put a monster in your level which you designate by entering its file path from the pak0.pak file into the entity's attributes. "Uh, Vlad," you might say, "this is exactly the same as putting a
monster_zombie in the level, only with more trouble!" This is part right and part wrong. Yes, you could put a
monster_zombie into your level using a monster_generic entity, but its main use isn't for that.
It's ok if you're getting a little confused by me saying that
monster_generic is used to place monsters into a level, an then I tell you that you mainly use it for something else. You see, there are some monsters in
pak0.pak which did not appear in the game itself! Do you remember that yellow machine that would move crates? Here's a reminder.
Try as you might, you can't put this guy into your level using normal Worldcraft methods. This is where the
monster_generic comes to your rescue. This model, although not implemented in Worldcraft's entity list, exists in the
pak0.pak file in your \valve directory. With two excellent utilities,
PakExplorer and
MdlViewer (check our files section), you can view all the models that came in
pak0.pak file. With PakExplorer, I extracted all the model files from the \models directory in pak0.pak to c:\worldcraft\models\ Then with MdlViewer, you can view them all including all their animation sequences and different bodies (like scientist heads). By doing this, you will find certain models that you have never seen before, since they were not implemented in Worldcraft. However, Valve wouldn't leave out something this juicy, so with the
monster_generic entity, we can still put these monsters into our levels.
Let's begin, place a
monster_generic entity into your level, position it where you would like your monster to be. Now go into its properties. Do the properties remind you of anything? They should, they are pretty much the same properties as for any other monster. Let's leave most of them alone for now, since you should already know what they do from working with normal monsters, and scroll down to the
model attribute. Now you should go into MdlViewer, and pick out which monster you'd like to put into your level. For this example, I'll use the kingpin.mdl monster. There's a picture of him.
We know from viewing him in MdlViewer that his name is kingpin.mdl, but we can't just enter that into Worldcraft. The
model attribute wants a special syntax, and it will look like this:
"models\!kingpin.mdl" without the quotes of course.
Make sure that you have that exclamation point. It is absolutely crucial, and the model will not load into your level without it. Now, from playing with MdlViewer, we know that this model only has 1 body, and 3 animated sequences. What!? Only 3 animated sequences!? Well yeah, I mentioned before that the monsters we'll be using are ones that didn't make it into Half-Life, or didn't make it completely. Most of the models that you haven't seen in the game but saw in MdlViewer by extracting them from pak0.pak have
no A.I. So they will just sit there in their idle position, without really reacting to the player. Also, most of these - like our buddy the kingpin - won't be totally solid! You'll be able to shoot and walk right through them. HOWEVER! In MdlViewer, as you browse the different models, you will see that some of these unused models have
LOTS of animation sequences. These sequences, you can use to your advantage. If you haven't guessed yet, it's using
scripted_sequence and
aiscripted_sequence entities! Please note that using
aiscripted_sequence with monsters that have no A.I. is a bit....useless. You can see the names of the animation sequences in MdlViewer, and you can input these for the animation sequences in the
scripted_sequence entities. Therefore, an unused model with many animation sequences can be really entertaining despite having absolutely no A.I. All you have to do is take total control of it using
scripted_sequence entities and make it into your bitch, metaphorically speaking. Read our tutorials on the
scripted_sequence and
aiscripted_sequence entities to see how this is done.
There is a small problem that I mentioned earlier: you can walk and shoot right through some of these models! Plus, a few of them (like the kingpin) have no death position, so they won't die! You can still blow them up to see gibs though. This is why I strongly advise you to use these models where the player cannot touch, shoot, or interact with them. For example, like the big yellow loader during the introduction sequence: Valve didn't want you to just come up to it and see that it's actally non-solid! So, to summarize: put these models and their pathetic scripted lives behind glass, in aquariums, on steep hills, or in some place where the player can marvel at the beautiful models, but not interact with them.
Monster_Furniture
If you are like me, and I know I am, you browsed through every last model from the
pak0.pak file using MdlViewer. As I was doing this, I saw models that would be really useful in some levels, and would save a lot of time. For example, instead of building from brushes and texturing a book, you could just use this model:
And can you imagine trying to make a rock like this:
using Worldcraft? The rock is also a model from the pak file.
Monster_furniture is the key here. Why not just use the
monster_generic entity to put them into your level? The answer is simple: a
monster_generic model will bleed when shot and will throw bloody gibs everywhere if it's blown up. Do you really want your book or your rock to be throwing blood and bones and skulls everywhere if you accidentaly throw a contact grenade in its vicinity? Probably not, and by using
monster_furniture, you are doing the exact same thing as the
monster_generic, only without the blood and gore. Unfortunately, some models will still be non-solid, but for a book or a skull (model: bleachbones.mdl, body: 0), that's not really crucial.
If you've read through this tutorial attentively, you should now be a much more powerful level designer, with many more ways to beautify your level.
Here's an example map showing off just a couple of techniques that I described above.
chumtoad gonna eat ya!
do I set the monsterclip flag?