Friends 3.0 Pre-beta Interview
Friends 3.0 will enter public beta in a few hours, so it’s just about time to give you all a preview of what to expect. I’ve been speaking with the Steam developer leading the Friends 3.0 project, John Cook, about what the new version provides, what drove and still drives its production, and how it now works.
The beta is is feature-light, focusing on stabilising the backend. Expect that to change with the release of the SDK.
- Let’s start with the overview. Has Friends 3.0 gained any new features or lost any old ones?
- This release concentrates on getting the core features stable – adding friends, sending chat messages, and seeing when your friends are playing a game. The underlying architecture of the new Friends on Steam 3 will allow us to add many new features in the not-too-distant future.
- Do you have any plans to implement Friends into a wider community bracket than single, one-off conversations?
- Yes, having an IRC-like Chat room system is on the short list of new Steam features to build. Another avenue we’re looking at is tightening the integration between Friends and the games, letting you see how your friend does in Counter-Strike, or letting users customize how they are seen in the game via Friends.
- Some interesting ideas there, can you expand on any of them?
- Sorry, no details yet.
- Would Friends work with any game on Steam, or does it require Source and/or VGUI?
- A Friends SDK will be added to the Source SDK and be available to Steam licensees after the beta is over, which will allow any developer to hook into the system. It doesn’t require Source to access friends inside a game, but if they’re using the Source engine it’s a lot easier because they can reuse the existing code.
- So the community will be able to add new parlour games and other features to Friends?
- That’s part of the long term plan.
- Has anything been done to prevent people ghosting?
- We are looking at ways of temporarily disabling chat between certain users for a certain time period. In Counter-Strike, spectating players would be told that their messages will be delayed until the end of the round. That’s not in the beta yet; we still need to do some experiments with the interface to make it clear what’s going on.
- Does Friends show when someone is playing a single-player game now?
- No, we don’t currently track [that].
- Steam 3.0 is based on the TCP connection model, a change that came about at least partly due to Friends’ instability. Does the re-release of Friends mean that Steam itself will switch to the new connection setup too?
- Steam 3.0 is actually based on a combination of UDP and TCP connections. UDP is a great lightweight protocol, which we currently use to maintain a constant connection between clients and the Steam servers for things like authentication, VAC, and the server browser. TCP is used mostly for the heavier high-throughput actions, like downloading content.
- Friends runs over the UDP channel, to make the bandwidth usage essentially negligible for clients. We may at some point use TCP as a fallback for it if the client is having trouble making its way through a firewall or router.
- One for privacy worriers: is chat data passed peer-to-peer or though a Valve server?
- Chat messages go through the Steam servers. The proliferation of NATs and firewalls has made it very difficult to reliably make direct connections between users. We have the work mostly done to encrypt the data stream, although that may not make it into the beta.
- How many people have been involved in the redevelopment?
- Everyone on the Steam team is involved to some extent, typically around 10 people. Not everyone is working directly on Friends, but much of the work is shared between us.
- Any final thoughts?
- We all really believe in the importance of a system like Friends as a way to strengthen the community around Steam and our games, so we’re looking forward to this release. Hope to see you (and your readers) on the beta, and please feel free to let us know via the VDC page about any issues you run into.
Thanks to John for giving the interview, and of course for putting so much time into Friends 3.0 itself. Stay tuned for the beta’s release later today!