Beta Testing Steam In-Home Streaming

Invite via Email

Valve has launched the initial phase of beta testing for their new Steam In-Home Streaming service. I have no clue how many people go into this first phase, but I was lucky enough to get invited. I was at work today and casually checked email from my phone. To my excitement, this popped up in my inbox.

InviteIf you got invited, then you will likely receive a similar email. It comes from the address “noreply@steampowered.com” if you’re curious. It doesn’t ask for any usernames, passwords, or any other Steam information, so don’t fall for any scams that people try to send you.

The email will have links to a Steam Support article with answers to some common questions, how to get setup, and how to get additional help. I highly suggest reading the support article and visiting the main streaming page.

The Gear

All my tests are going to be with mouse, keyboard, and touchpad (on the laptop). I don’t have a proper controller to test controller input.

Router: Linksys WRT54GL (10/100M ethernet / 54Mbps wireless)
Cables: CAT5e

Desktop (Host)Laptop (Client)
Model NumberCustomToshiba P755-S5215M
CPUIntel i5-2500K @ 3.3GHzIntel i3-2310M @ 2.1 GHz
GPUNVIDIA GTX 560 TiIntegrated Intel HD
MotherboardASRock Z68 Extreme3 Gen3Unknown
RAM8GB6GB
OSWindows 8.1 64-bitXubuntu 13.04 64-bit
Resolution1920×10801366×768

Getting Setup

Honestly, reading the support article linked above would probably suffice, but that’s so boring. Don’t you want to follow along with someone who is in the beta? Sure you do! Here’s what I did to get setup.

  1. Get two computers capable of launching the Steam client. In my case, I have a desktop which will host all of the games and a laptop which will connect to the host as a streaming client. The host and client operating system doesn’t seem to matter. My desktop is running Windows 8.1, but my laptop is running Xubuntu 13.04. The connections worked perfectly fine.
  2. Make sure both computers are on the same local network so they can see each other. I’m using a relatively dated router (see The Gear section above), so my latency results are going to be on the low end if I’m going up against people with gigabit networks. Both computers are connected to the router via CAT5e cable.
  3. Login to Steam on each computer, go to Steam –> Settings and opt-in to the Steam Beta Client. Restart Steam, and you should see the following pop-up in the lower right (once both of your computers are connected to Steam). ConnectedThe pop-up actually shows up on both computers indicating who it is connected to. In fact, there is a separate pop-up for disconnection as well.
  4. Confirm the connection by going to Steam –> Settings –> In-Home Streaming. You’ll see the devices that you can connect to along with a bunch of streaming settings (see below). Settings

Limit bandwidth: Auto/5/10/15/20/Unlimited Mbit/s

Limit framerate: Auto/30/60 FPS

Limit resolution: Desktop/1080p/720p

Disable hardware encoding: I’ve heard that the beta only uses software encoding, so I’m not sure if this option does anything.… Read more

Read about My Game: The Chains of Acadia

I have been developing software professionally for about 5 years now, and I have been playing video games nearly my entire life. The combination of the two is something that I decided to tackle back in July of this year. Having never programmed for anything other than enterprise software, I decided to ease my way into the scene via XNA. I was already familiar with C# through my work, so it was an obvious choice to learn the basics and dip my toes into the ocean of game design.

Since I am a full-time employee, I usually only get nights and weekends to work on this project. I would love to dedicate all my time to the development of my first game, but I am constantly reminded that something has to pay the bills. Anyway, you did not come here to read about my life; you came to read about my game! I have quickly learned that game development calls for many different talents. Some of the requirements include skills that I simply do not possess. Namely, I have trouble producing quality art, sound, and music. Since I am in this alone (for now), I have to rely on the wonderful open source community to fill this important gap. I can handle the technical side no problem, but when it comes to art, yikes. Without further ado, here is my game.

The Chains of Acadia is a story of a hero. Oh, wow, how original. The thing is though, Acadia (the hero), does not know that he is a hero. When he finds out the truth, he probably will not want the status bestowed upon him. I do not want to ruin the story, so I will stop there and simply explain the style of play involved. The best way to describe the style is to picture Smash TV mixed with a slight bit of Touhou and some minor RPG elements.

Take this image from my Twitter account for example. You can see that the player is constricted on four sides by the walls of the screen. Not every screen will have this type of layout, but it will be the most common. The player has to complete several waves and challenges to proceed to the next screen. Remember in Zelda dungeons when going through a door would slide the camera to the next screen? This is similar.

Screens (maps) will make up a larger “level” that the player can explore to complete challenges, events, and puzzles. Unlike Smash TV, I want the player to have to return to certain screens for one reason or another. Maybe to pick up an item that was not available the first time around. Maybe there is a locked door that can only be opened by pushing a button or retrieving a key in another map. In order to add some fun to the mix, I have implemented a system that generates bullet patterns reminiscent of the Touhou series of games. This allows me to create some really cool challenges that the player must navigate through while attempting to destroy waves of enemies, defeat boss battles, or complete puzzles.… Read more

On Game Input and Response (Mouse, Keyboard, and Controller)

The Importance of Input

One of the large distinctions between video games and other forms of entertainment is the ability for the user to provide input to directly affect the state of the system. In essence, the user is driving the medium and has direct leverage over the future of their character(s) within the rules of the system. This uniqueness places a large burden on the designers to provide a good system of input for the users. Such a system can be the difference between maintaining loyal users and being completed ignored or negatively criticized.

When users play games, not much is worse than delayed/confusing controls or input with very little visual or aural feedback to indicate action occurrence and consequence. Think about that for a second. Try to think about how we manipulate the world in our actual lives. When you lift a book, open a page, or slide something across a table, action and response is immediate. Unfortunately, manipulating in a game system is never 100% immediate because there are levels of abstraction between you and the electrons. However, a designer can certainly work around this annoyance to provide a smooth experience. There are several considerations to maintain in order to achieve good input and feedback, and it is slightly dependent on the control schema available. (mouse, controller, headset, etc…)

Mouse and Keyboard

On the PC, the mouse and keyboard are kings. There are other ways of controlling your computer through touch interfaces, headsets, speech, and USB controllers, but the majority of the time is spent using a mouse and keyboard. In my personal opinion two of the largest sins regarding mouse input is the application of mouse acceleration and the occurrence of “soupy” mouse movement. The former is a large point of debate and the latter is a consequence of bad design and possibly video settings.

Mouse acceleration is the acceleration of the mouse cursor as you move your mouse at variable velocities. Moving the mouse from one corner of your mouse pad to another at a crawl will move the cursor on the screen a smaller distance than if you jerked the mouse across the mouse pad. This is because the mouse acceleration is trying to help with precision pointing at small velocities and reduce physical movement at large velocities. Honestly, I can see where it  might be helpful for some scenarios, but when it comes to games, I hate the inconsistent mouse movement that is a result of the acceleration kicking in. When I play games like Counter-Strike, reliable mouse movement is huge. “Flickshotting” where the user jerks the mouse from one point to another for a quick AWP kill is more difficult to achieve when mouse acceleration is on due to the variable velocity. No one will move from point A to point B on their mouse pad with the exact same velocity every time. Because of that, the actual translation of the mouse on the screen will fluctuate. Maybe this is not as important for slower games, but I still want the translation of my physical mouse to match up with the translation of the cursor regardless of the speed at which I am operating.… Read more