TBH almost all the work that would be needed to introduce this is already done. I already have a field in the DB - both in the team table and the character table - for 'subfaction', the function which displays a faction symbol already has a parameter for 'subfaction', the SQL statements which pull the characters' data out of the DB also pull out their 'subfaction' field (which is 'G1' for everyone atm - I think I took out all the places I was passing a default NULL to the faction symbol function and replaced it with the actual subfaction field from the character's data). Only thing I can't remember off the top of my head is whether the code expects the
character to be tagged to a subfaction, or a
team. I originally set it up on the expectation that it would be per-character, but then thought it would work better per-team.
In other words, this could pretty much be activated tomorrow. The main reasons it hasn't been are that it's always been some way down the priority list, that I plan to update the profile page anyway at some point so it makes sense to do all the additions at once, and that I have plans for it to work differently in V2 (for example: when you buy a 'Maximal upgrade' for your bot, you lose access to the vehicle modes [unless you buy the Transmetal upgrade as well!] and gain access to organic-looking beast modes, and your faction symbol changes to the appropriate BW symbol) and making it work one way now and changing it later would just be confusing.
OTOH, I could just throw it in there as a five-minute feature addition.
On team icons - very much in favour, and I was thinking 50x50 icons in the style of deviantart avatars. That's slated as a future team option, when I get around to redoing the character profile page to include a space to upload a picture of the character (because I can then reuse the code for the team icon).
--EDIT--
Testing subfactions with
Gnarl - setting character subfaction to Blendtron and team subfaction to G2 Autobot. If everything checks out, all I'd need to do is add an option box to the character profile page.
Character profile page...
CheckProfile page ranking box...
FailTeam profile...
FailHigh score page...
FailGame page header...
CheckArena queue display...
FailArena log...
FailMission log...
FailBBG...
FailOK, so not nearly as much as I thought works quite right yet. Looks like I'm still passing NULL to the function in several key places (because the subfaction thing wasn't active when I wrote it, natch). None of the items above are more than a two-line fix, though.