Tuesday, March 18, 2014

Assorted Things

I haven't posted here recently, I've been busy working on some various things. Here are just a few:


Earlier today I added a few Garry's Mod maps to our Team Fortress 2 sandbox server. Most players seem to like the Gmod maps, so more is usually better. It's fairly hard to find large maps, and most of the Gmod maps don't have dependent files packed into them, which makes it even harder. Luckily I was able to get some decent ones, like Flat Grass. They all have different themes, so it helps break up the monotony.

Freak Fortress 2:

EyeBot (Fallout) + indicator
I also developed a few Freak Fortress 2 bosses (we have over 50 now, pretty much all are custom), and rewrote a large amount of the mod, as well as all of the sub plugins. This was quite a bit of work, as Freak Fortress is pretty poorly coded. I also added in some indicator arrows that show where the boss is at all times, to help out players. I had to make them hide/show appropriately for spy bosses, or bosses with invisibility render modes. They also spawn when bosses make clones, or spawn with companions. While doing this, I also rewrote Brave Jump, Weigh Down, and Reload abilities to be much easier for players to execute during gameplay.

Some of the bosses are silly memes, but for some reason players enjoy them. I was able to save some time by using attachables. Luckily valve hasn't broken this completely so it is still possible. For mods such as this, it makes sense to use existing assets to add character rather than add even more downloads. Every custom model takes clients a little while to download, so when it's possible to avoid, it's best. They already have to download quite a bit of models and sounds to join. Luckily I have converted our music to use HTML5 so they no longer have to download mp3 files. This greatly reduced join time, as a single audio track can often be larger than all other assets required by a single boss. Anyhow... Players were asking for a Skyrim boss for quite some while, and it was pretty easy to just slap the already available Dragonborn helmet onto the medic model and program an ability for it. In the case of DovaShy, the rage grants a knock-back ability that ragdolls players and sends them flying across the map and off of cliffs which usually kills them with fall damage.

Magic + Engie migration :/
When Valve introduced spells, I added the ability to cast spells within a few days. However, for quite some while they had been fairly imbalanced as spells knock back the boss regardless of damage immunity or conditions like MegaHeal. The original system just gave players random spells on a timer after they consumed one. This was not only frustrating to players, but to hales as well, as spells would get spammed on them. So, I decided to do a few things to even spellcasting out. I created a system to allow players to cycle through all possible spells at will, so they could change up their play style. Additionally, I tweaked the knock-back and damage of most spells.

In an attempt to better organize our community, but not put the burden on players to sign up for forums, or navigate to another site, I redesigned our Message Of The Day page with the help of Master J, who helped create a lot of the CSS, layout, and java script, and aided me a good bit with some of the SQL queries. Building upon this I added in some RSS feeds, Leader boards, and statistics for Mann vs. Machine, Freak Fortress 2, and Dodge-ball game modes. This can be seen on our MOTD page here. Players have been using this to get information, as it is automatically presented to them on every map change. Although they can disable it, most do not because it allows them to be involved with the community, and use other services such as streamed music and help pages.

Dodge Ball:

Testing out some dodge-ball mod commissions
Some other projects I have worked on involve pyro tennis, or dodge-ball. Recently, I have worked on quite a few of these, one being bots. Normally, bots don't reflect rockets reliably, but these bots can be set to never miss a deflection, making them virtually impossible to defeat. I have seen them deflect rockets at over 20,000 hammer units (the engine default speed setting is 3500) .. however, rockets can collide with each-other and detonate if multiple are present. In addition to this, I have made some simple speed tracking printouts to the HUD, added the ability to spectate rockets, and created some simple SQL based statistics tracking that is displayed via in-game menu panels.

Tron Fortress:

Tron Badlands v2
Shortly after completing the first version of the Tron Badlands map, I ended up adding in some highlights and making it a bit more interesting. The white textures help break up some of the team colors a bit. I also wrote a Sourcemod to swap out building models, along with player models, so that there are no override files to interfere with client precaching.

No comments: