Stuff

A quick update on what has been going on over the last few days.

First off as many of you may have noticed, I rolled out support for previewing applied decals initially on item summary pages, with backpack view following on later. This new feature is brought to you in part thanks to CouchDB as mentioned in a previous post – so the API to resolve decal IDs to Steam Community CDN urls is only called once.

More recently I improved the context-aware profile input box in the backpack view, so you can now once again enter full Steam Community profile urls.

On the topic of the new homepage, work continues in making the page more intuitive, so if you have a suggestion in that regard; please let me know. In a similar vein, if you’re a webmaster of a popular community site in one of the supported categories and wish to exchange links, contact me via the comments below or via Steam and we can work something out!

New homepage rollout.

As mentioned in the last blogpost, today I’ve rolled out the brand new cross-game homepage for TF2B.

The page is currently a work in process, so may still have bugs. If you encounter an issue, please let us know ASAP. In the same vein, if you have a gripe about the design, let us know too.

Regarding CS:GO: This tab was included for potential future-proofing reasons, there is no confirmation if items will be present in this game or not – and said tab will be removed if items are not included.

 

What I’m Working on

It’s that time again! Here’s a summary of a few of the things being worked on in the TF2B labs.

  • New Homepage
    • Continuing on plans to support all the item economy-enabled games in Valve’s lineup both present and future, a new homepage to fairly cater to all communities rather than one is being worked on. The plan is in addition to offering easy selection of the game you wish to view, to offer interesting contextual headlines and other data. ETA: When it’s done.
  • CouchDB
    • I’m currently evaluating the use of CouchDB to store various bits of cachable data. If all goes well, expect to see modest first-request load time improvements.
  • Markup Overhaul
    • More of a heads up than anything else, I’m going to be testing some changes to backpack markup in the future – so if you have any fancy userscripts in place, make sure they can fail gracefully.
  • Improved support for Dota 2.
    • As more information becomes available, I’m hoping to expand the support for Dota 2′s upcoming item system. If you encounter any bug or other issues relating to Dota 2 – please let me know via the comments below, on twitter or our forums.

New Look

You might be wondering why all of a sudden TF2B looks totally different.

With the advent of Dota 2 and CS:GO, the prospect of supporting multiple large item economies necessitates a single integrated approach rather than a series of separate self-contained webapps. (P2B, Dota2B, CSB etc)

As such, today “TF2B” took its first steps towards this new approach with a new, more neutral style (Still WIP) and full integration of Portal 2 and TF2 Beta backpacks (Yes, that means beta weapons will now show up)

You can currently access these alternative backpacks via the in-profile Menu system or with one of the below short URLs:

http://tf2b.com/dota/yourprofile

http://tf2b.com/csgo/yourprofile

http://tf2b.com/p2/yourprofile

http://tf2b.com/tf2b/yourprofile

Progress update on 2.6

Due to recent inquiries I thought it would be helpful to give everyone an update of 2.6′s development progress so far. The good news is all the nagging concerns have now been more or less rectified, with the various issues remaining are now just a matter of code cleanliness.

To recap, TF2B 2.6 has two significant features over 2.5, being the addition of the item attribute/stat system and the new parallel API request code. The first concern being the ability of said attribute system to display all appropriate strings correctly in all supported languages, and finding a better solution to the busy-wait loop in the new API request code.

The busy-wait loop was especially a big problem due to the excessive CPU utilisation generated, and hacky use of usleep() was not a valid solution.

As always, the release date for 2.6 is “when it’s done”, but hopefully the process of cleaning up the code to a respectable, releasable state should not take long.

P.S. Reminder to 3rd-party server hosts: PHP’s APC module is now a requirement for TF2B to function, and will not work without the module installed and active.

Iconset Updated 1/21/11

Sorry about the lack of updates recently, school hasn’t been kind to my free time.

ICONS MODIFIED:
Mann Co. Cap
Fists of Steel
Coupe D’Isaster
Purity Fist
One-Man Army
Lumberjack
Benefactor’s Kanmuri
Maganimous Monarch
Gentleman’s Gatsby
Mining Light
Stahlhelm
Sergeant’s Drill Hat

ICONS ADDED:
“Reckoning” Hat
Holiday Punch
Surgeon’s Stethoscope
Garlic Flank Stake
Silver Bullets
Ol’ Geezer
Prairie Heel Biters
Spirit of Giving
All of the Festive weapons
Holiday Headcase
Ebenezer
Outback Intellectual

What I’ve been up to + New Year

As is usual for the time of the year, work has been progressing slowly but surely.

I’ve spent the last month or so polishing up TF2B’s implementation of the item attribute system, I’m fairly confident all the display bugs are fixed now thanks to me finally getting off my ass and learning how to write my own RegEx patterns. As an extra little bonus the schema compiler has been totally refactored and improved to cull out item attributes that do not otherwise appear.

In addition to this, I’ve reimplemented the MotD system to pull text from a textfile rather than be defined in-file. This makes things much more convenient and allows for the new rotating messages that are live right now. So expect to see lots of new and interesting notes instead of the same line of text constantly for 2 months straight.

So to wrap up, I hope you all had a good time over the holidays and new year. I look forward to seeing what new projects and features come up in this second year of TF2B’s life!

Iconset Updated 12/16/11

No smarmy comments this week. Sorry.

ICONS MODIFIED:
- Ellis’ Cap
- Blighted Beak
- Anger
- Frenchman’s Beret
- Charmer’s Chapeau

ICONS ADDED:
- Manmelter
- Phlogistinator
- Third Degree
- Unarmed Combat
- Voodoo Pin
- Cold Shoulder
- Wrap Assassin
- Braniac Goggles
- Dr. G Bubble Helmet
- Grimm Hatte
- Fallen Angel
- Tail from the Crypt
- Brown Bomber
- The All-Father
- Jingle Hell (pyro bells)
- Santa Hat
- Scout Elf Hat
- Scout Elf Sneakers
- Winter Coat
- Ornament Armament
- Head of Full Steam

Asynchronous API Requests & Icons

As a nice little conclusion to the last few blogposts on vanity IDs and etc, Valve recently have added a new API specifically for looking up SteamID64 values with vanity IDs. With the addition of this new API, I’ve been able to make a few new significant changes.

Firstly, Vanity ID lookups are now indefinitely stored in a volatile cache provided by APC. However the API request for a lookup is very cheap to perform, so initial requests on a profile do not incur a significant penalty.

Edit: As a quick heads up to anyone who runs an install of TF2B on their own webserver, 2.6 now lists APC as a requirement instead of an option.

Part of this change means that profile data is again uncached and is live. I’ll be keeping an eye on this feature’s feasibility, so if necessary a cache will be instituted.

One of the biggest results of the introduction of this new API is the ability to perform the API requests for a user’s backpack and profile data asynchronously, this greatly reduces the time spent waiting for API requests to complete.

In ending I’d like to make a quick note regarding the TF2B iconset. I can confirm we do plan on releasing a pack for in-game use, however the release of said pack is dependant on actually having a solid set of icons to use. As it requires additional steps to produce a pack for TF2 itself, we’re waiting on having all the nagging issues with the icons currently (such as scaling) sorted out before we release anything.

Once we have something that is respectable, we will happily make it available for use. Half-assing it benefits no one.