Skill Editor – A Cancelled Project

29th December 2018

As the title says, this is a cancelled project. Well, it’s 80% cancelled. There is something that works and will be useful for you, but more on that a little later. Let me explain what I imagined the project would have looked like if it had been finished.

Let’s start with what CFG files are

Each Source game and mod has something called a “skill.cfg” file. CFG means configuration and it tells the game how difficult each and every element of the game is. It is a text file and can be edited in ANY text editor (NOT word processor!). The cfg files that are related to this project are found in a mod’s CFG folder.

Let’s look at a portion of of the HL2 one:

// Manhack
sk_manhack_health “25”
sk_manhack_melee_dmg “20”

This tells the game that the health of a manhack is 25 points and the damage it does to the player when it hits it, is 20 health points.

Here is the standard headcrab compared to the mechacrab:

// Headcrab
sk_headcrab_health “10”
sk_headcrab_melee_dmg “5”

//Mechacrab by RTSL
sk_mechacrab_health “30”
sk_mechacrab_melee_dmg “10”

As you can see, the MechaCrab has 30 health points compared to 10 of the standard, and does twice as much damage.

Now, the important thing about this, is that you can edit these values yourself!. You would do that to either make the game harder or easier. But it’s more nuanced than that. For example, imagine you hate Striders (me too!), you could simply reduce their health and/or damage so that the game or mod is more enjoyable for you.

Forgive me if i am telling you stuff you already know, but I honestly believe that most players don’t know about this.

The Map

The project was going to create a map and skill editor interface that allowed users to adjust the skill settings and test the variations. It was part of a larger project really, but that’s not important here.

The map was never created, but the we do have a skill editor working.

You would NOT have been able to edit the values within the map.

The map would have simply been a convenient place to test all the values.

The Editor

If you are dying to edit the files, here is the skill-editor.html page. It allows you to import a skill file , adjust the values and then save it as another file. The code was kindly written by SCell555. The format of this page is NOT what it would have eventually looked like. Here is a draft version of what I planned: Skill Editor. It is NOT working. It would have contained images for each section and explanation notes.

Now, before the purist say that you can simply edit the game’s or mod’s file directly, you are right, but I believe that core files should be left alone by novices.

The best way, in my opinion, is to create a new skill file and add it to a “skill_manifest.cfg” file. That way, the user can simply delete their file and the game or mod is back to normal.

Here is a skill_manifest.cfg file for you to use. It has three entries:
exec skill.cfg
exec skill_episodic.cfg
exec skill_1.cfg

“skill_1.cfg” would be your personalised one. Of course, you can name it anything you want.

You can even have multiple ones. For example, “skill_headcrabs.cfg”, “skill_striders.cfg” etc. that way you can easily pick and choose different combinations of personalised skill levels.

The actual skill.cfg files contains 256 lines and some of the settings are obscure.

Final Thoughts

Building the actual map wouldn’t have been hard and I suppose first versions would simply have been a large arena, dev textures and buttons to spawn each enemy etc, although I imagined something much more real than that.

I’m certainly not an expert, but if you have any questions about editing the skill.cfg file, please post them here as I am sure plenty of experts will be able to help.

1 Comment

  1. Thankyou, very informative.

Leave a Reply

Comment Formatting Guide

Well formatted comments are much easier to read. Please copy and paste the HTML Tags to use in your comment

  • HEADER: <div class="fix"></div><div class="sbe3">TEXT HERE</div>
  • BOLD: <strong>TEXT HERE</strong>
  • ITALIC: <em>TEXT HERE</em>
  • SPOILER: <span class="spoiler">TEXT HERE</span>