Code: Select all
Been working on this for a while, and i decided to post a part of it. I'm not finished yet, but i have about half of it done. I'll post small parts as i go, so if anything is to happen and i can't write it, i'll still be able to release some every now and then. I'm thinking about updating it every 3 or 4 days, but who knows, i might be slower or faster. Also, sorry if i got anything wrong, cuz i know i'm not the greatest modder out there, if you would tell me what i got wrong, i'd be happy to fix it. thx.
You know, i've been thinking, if noobs keep asking question and never experiment.. is it really all their fault? We, as modders, keep posting tuts on how to do certain things, and too little about why we do something. And i thought: hey, if the noobs can understand how halo really works, they might actually know where to start, and where, and how, to experiment. When you tell somebody to experiment, how do you expect them to, when they don't know a single thing to start with?
So why not make a really wide-ranged lecture to explain how halo works, instead of little tutorials.
A very complete yet basic lecture about weapons, and how to mess with them. (Projectile and effect editing not included)
For this tutorial we shall use eschaton. And i assume that you know how to basically operate eschaton.
The basic concept here: A weapon is a wieldable object that spawns projectiles. It references some other tags, while processing meta data of it's own. Both affects how it performs.
Ok first we need to understand what's a weapon. In eschaton, when you open your bloodgulch.map and there shall be a WEAP folder, inside there are multiple WEAP tags. As you can see beside the folder, WEAP means weapons.
• A weapon is an object that you can wield and shoot with. A weapon also references some other tags. There are a lot of tags in halo, and they would have to be referenced before they are put into effect. These tags are what makes the weapon look like what it is now, the model tag gives it a shape, and the bitmap tags gives it color. Of course there are also tags like effects and HUD (heads up display) that makes the weapon look better. Referenced tags can be swapped using the d-swapper, or, if you wanna do it the awesome way, you can always double click the tag and edit the tag itself, and of course, the referenced tags will often have even more referenced tags itself. All of those are edit-able.
• A weapon also has it's own meta data in it, and the meta data directly affect how the weapon act. The meta defines how much bullet the weapon loads, the firing speed, the spread of the bullets, the overheat rate and etc. The meta can be changed by using the meta-editor, and some plugins that come with eschaton.
Both referenced tags and meta data is important. Without the referenced tags, the weapon would just be a lump of raw data, you can't see it, you can't use it, and you can't do anything with it. Without meta, the weapon would just be an object that you cannot interact with. So both meta and the tags referenced in the weapon tag is very important. They both edit-able, and a good modder will often change a fair amount of things in both to make weapons look good.
Now, the basic concept is that a weapon spawns a projectile (PROJ) into the world every-time you click on fire. The weapon don't actually push the projectile forward, it just spawns the proj. The weapon will often have a firing effect referenced in it's tag. So it looks like it's actually shooting like real life. But if you null out the effect and the animations, all you will see is the weapon, spawning projectiles in front of it, and the projectile moving forward. We need to realize that halo is different that real life. There are no physics, no rules, no 'Newton's laws'. So we pretty much have to make our own physics, and put them in the form of meta and tags. Just to show you to picture, i'm going to list more examples: Halo, unlike in real life, has no gravity. When you fall, it's not because you have to, it's because there's a meta tag in the masterchief that says 'weight'. Also, an explosion will have a lot of particles and dirt flying everywhere. But that's not because of the force of the explosion, it's just another effect that the producers made to make explosions look better. And also, the weapon is unable to propel the bullet. It is the bullet who has speed meta, and it is the bullet that moves forward.
Now we shall take a closer look at how it works. Open a weap in eschaton, we'll use the pistol. Go to the dependancy swapper, scroll down, and you shall see a PROJ tag. The PROJ tag is a referenced tag. That PROJ tag is what the pistol will spawn when it fires. Now, you can switch the PROJ to any item you want. But it must be an actual item, something you can see and touch. Something such as another type of bullet, or a vehicle, or a scenery (rocks). But switching it with something like an effect or sound shall crash halo. Just imagine, you can shoot rocks and vehicles out of guns, sure. But can you shoot a sound? an effect? That will surely crash it.
As you can see, there are a lot of other tags in the pistol tag, some include damages (JPT!) models (MOD2) bitmaps (BITM) effects (EFFE) and etc. Those are all referenced tags. We'll cover more on these tags one by one later. And if you click meta-editor, you will see a lot of edit-able data there, venture and experiment, and you will find things such as weapon ammo, weapon reload time, weapon trigger and etc.
So again, the main concept is: A weapon is a wieldable object that spawns projectiles. It references some other tags, while processing meta data of it's own. Both affects how it performs.
So how do projectiles go forward? if the weapon didn't propel it.... If you open a PROJ tag, select a PROJ and choose HMT plug in, you shall easily see the initial speed and final speed. Change those will change the speed of the projectile. By changing that, you can make different weapons, like a slow sniper, or a fast plasma rifle, even make a grenade launcher! Also in the same place, is arc, that is how much the proj is angled. Ever noticed how some projectiles, like the fuel rod and the grenade, always travel at an arc? That's not because of some physics rule or gravity, it's because there's an arc meta in the PROJ.
The projectile is the object the weapon spawns, it usually has effects that are activated when it hits something. And there's always the damage tag referenced. Projectile can be said to be 50% of weapon modding, as so much depend on the projectile, and not the weapon itself. But since i'm only talking about weapons, we'll cover the projectile tag later on, in another talk.
Now, when the proj hits a target, it damages it. Let's go to the damaging effects folder (JPT!). Here you can see a list of tags, they all all damage tags, used in different situations. When the JPT! tag is activated, the target is damaged. Meaning, if you edit the tag, or take it away, how much damage dealt will be changed too.
But there are lots of different kinds of damaging effects.
• Impact damage: Some are just damage cause by bullets or bolts. These are the most simple damages, damage like this are attached to the bullet, and when it touches you, you are damaged.
• Explosion damage: An explosion JPT! is a damage tag that's attached to the explosion effect. There damaging effects are usually quite powerful, and a explosion JPT! always has a meta value in it that says 'range'. Meaning that all objects within range when the JPT! tag is activated will get damaged. Impact damage has 0 range, as they only damage when touching.
• Melee damage: A melee is when you use your weapon to smack the opponent. A melee damage is much like the impact damage, only melee damage is found in the weapon tag, as there are no projectile when you melee.
• Trigger: A trigger JPT! is the damage done to yourself when you attack. These are found in the weapon tag. Ever noticed how your screen shakes a little when you fire rockets? That's trigger damage in work right there.
• Shock-wave damage: A shock-wave JPT! is what makes your screen shake when a rocket hits the ground beside you. A shock-wave JPT! always has a bigger range than the explosion damage. The shock-wave JPT! is found where the explosion damage can be found.
There isn't any tags referenced to the JPT! tag, except the occasional sound tag that lets you hear a sound when damaged. Most JPT! edits are quite straight forward and easy to do. Meta editor and a few good plugins are all you need. To edit the dealt damage, simply alter the numbers for 'Damage'.
For casual, fast damage editing, i recommend using the HMT plugins. In the HMT plugins, you can simple, essential things such as the damage, and also the shake duration and shake rotation/movement, the stun, the force. The shake is how much your screen shakes when you are damaged. Stun is the when you are unable to move when shot, forced to slow down or stop moving. The force is how much you are pushed away by the damage. Force is different from damage. A damage could do no damage to you, but could send you flying across the map if it has a high force.
For more advanced editing, i use the starter plugins. Using it, i can edit the effectiveness of the damage to a particular type of armor. An example is: a bullet could be very effective to your armor, but it's not as effective to the shield. More complicated things like color, characteristics, angle can be edited using the starter plugins.
EFFE is the effect tag. Effect are the things that make makes halo look interesting. Effects are literally everywhere, and there's a lot of different types of effects. When an assault rifle is fired, you might see bullet shells coming out, with a little gas coming out, and the sound of cracking bullets. That's the assault rifle 'fire' effect. When a rocket hits the ground, you can see an explosion, and the fire, and the dirt with the sound and everything. That explosion is an effect. When a bullet hits the ground, you can see some dirt being kicked up, and then a bullet hole. That, is the bullet impact dirt effect. And when you hit people in the face, you'll see his shield shimmer, that be the shield shimmering effect, and then you might see blood coming out: the blood ou human effect.
Effects can be edited using meta editing to change the color, the amount of particles, the particle size and etc. While in the d-swapper, you can swap for other effects, or other particles. This can usually result in creative mixes of color and particles, a beautiful sight. The good modder will often include some effects to weapons, personalizing it further, while making it less boring and more colorful.
In a weapon, there will most likely be impact effects attached to the projectile, while there are usually firing or overheating effects in the weapon tag itself. Or course, if the projectile explodes, there are also the whole explosion effect. All edit-able to a certain extent.
I wanna spend some time talking about this, WPHI tag, because it's found no where else. It stands for Weapon HUD interface. For people that don't know, HUD stands for 'Heads up display', that means the things that appear on your screen, like that health bar, the shield bar, the grenade counter. All those are HUDs. And a weapon HUD is just the HUDs of a weapon, like the reticule (aiming thing) the bullet counter, and everything that has to do with the weapon. This can be swapped using the d-swapper, to make a certain weapon's HUDs look like something else. For making custom HUDs, go to the bitmaps file of the WPHIs, those usually start with 'ui\hud\bitmaps'. Or, even easier, just double click the WPHI tag, and you often will have to go d-swapper and double click the /master WPHI again. After you're there, in the d-swapper you should be seeing a whole lot of bitmaps, all for you to edit.