OnLive – Future or Pipe Dream?
Posted by Mike | Filed under Computers, Games, Servers
Ever since OnLive was demoed at GDC as a new technology, there has been quite a buzz about the internet about it. I have been doing some research and looking into it, because I think it is an interesting possibility. The only problem that I have is that, given the current state of the internet, I do not think that it is really a big possibility for most people.
First things first. When OnLive launches, they have said that it will only be available in the United States. If you want to do your gaming in full HD, you will need at least a 5MBps conneciton to the internet. I know that 5MBps is not a big deal in larger cities, but in more rural areas it isn’t always possible. Don’t forget the fact that internet service providers don’t like providing large bandwidth to customers for free, and many have started putting download caps and charging extra for overages. For many of the people who would want the true HD experience, they would be downloading 5MBps – if you played for an hour, you would download aroung 2GB an hour. If you were to play an hour a day, all month that would be ~60GB just for your gaming. And if you have VoIP, Skype, MSN, want to check your emails, even download something – you are going to have problems.
There was someone who brought up the fact that it would take enormous processing power to encode a 1920 by 1080 image 60 times a second (which they are aiming for) and send it to the web.
And what about the cost? Servers do not come cheap because they are built to run 24/7 and for years, they are more reliable than desktop computers but come at a price. They are talking about running everything with top of the line hardware, which is definitely not cheap. Graphics cards alone cost $300-$600 per card, not to mention the processor ($200), memory($50), motherboard ($100), and hard drive($100), server case($200). Even using very conservative pricing, the cost for one system would be ~$1000/system. Unless they have this really amazing deal with Dell or HP or someone, the start up investment alone would be massive! Also, lets not forget the bandwith costs either. It is common to see in data centers the cost for bandwith to be as low as $5/MBps. If they wanted to support 100 people playing at any given time, playing in full HD, they would need to have 500 Mbps connection for everything (without any overhead), which would cost $25/month. Granted its not a lot, but you just keep adding the number of people that want to play at any given time, its going to be a lot of money for an extremely fast internet connection.
They haven’t even specified how much this service is going to cost per month. I don’t know about you, but if I’m paying lots of money I want to at least have something to show for it at the end of it all. Say it was priced for a mere $29.99/month. After 12 months you would have paid $360 and have nothing to point to after a year. For the amount that you’re paying for OnLive you could’ve almost gone and bought yourself a PS3 (and you would have a great Blu-ray player on top of everything) a cheap XBox360, or even a Wii and you wouldn’t have to tie up your internet connection just to play a game.
Don’t forget the state of the internet, because it is such that I just do not believe that it can support the same immersive experience that having a console at home can. On any given day, a good response time (that is the time it takes for one round trip of data from your computer to another) with Google is ~30ms. 30ms is about the length of 1frame, when running at 30fps. It wouldn’t be so bad for a game like The Sims, but what about a game that is all based upon timing and reflexes, like FEAR or any other First Person Shooter.
Games would be 100% digitally distributed. That would mean that there would be no lending your copy of GTA4 to your friend to play. I am for digital distribution to a certain point, because I still rather have a box for a game that I paid $60 for. The little games like Flock, Counter Strike, Team Fortess 2, and others like that I’m okay not having a box.
The retail marketplace would change in a very drastic way. I’m not saying that this would happen, but imagine if a lot of people adopted OnLive as their primary (if not only) method of playing games. Well then what would be the need for Gamestop? I don’t think that there would be enough adopters to actually threaten the giant Gamestop, but its just a thought.
One happy note is that I think that OnLive would make piracy near, if not completely, impossible. Because you have no copy of the game local to you, how would you circumvent the security features?
OnLive seems very interesting, but I don’t really think that it will work 100% as advertised. But here’s hoping that maybe I’m wrong on this matter.
Tags: Computers, Games, internet
File Replication
Posted by Mike | Filed under Computers, Programming, Projects, Servers
Recently I have been searching around on the internet to find a solution to a recent problem. I need to be able to have two copies of a particular folder (and all the subdirectories and files contained within) on two different servers. The reason being, in the world of web servers and hosting, you need to have redundancy for times of peril. I recently experienced an outage, not on a mission critical server, but on a server nonetheless.
So I did some searching on the internet and kept having the same response, use the Distributed File System built into Win2K3. So I tried that out, and well that didn’t yield any results (I had tried using the DFS before, but to no avail). The problem is that it is simply way too difficult to use. Links, roots, and targets and what they all did were just not worth it. So I decided that maybe I wanted to write my own software to do it, but that rarely works out because I usually get half way through a project and then dump it (or simply not finish it). So it took a Google search, and a hop over to freshmeat.net and Sourceforge until I found the perfect fit. At first I didn’t even know that I had found what I needed. The program I found was FreeFileSync. It has an attractive user interface, and is written in C++ (found plenty of programs written in java, but real programs are written in C++). So I installed it tried it out, and it turns out that it has advanced scripting features (aka it can function as a command line tool for sysadmins). The only thing that it lacked was the ability to watch specific folders and propogate changes to mirrored folders. So I decided that I would use C# (I know, Microsoft lacky) to make a little daemon that’ll sit in my system tray and will monitor certain folders and copy them over when needed. I also had to add the program to the Windows startup list (using regedit) so that I don’t need to manually start it every time I shut down a server (which is rare, but happens).
What happened is that I only had to spend an hour fiddling around with some of the most basic code I’ve written in a while and the way that I can watch several folders and then propagate the changes to other folders.
I have included this little project, but I do not warrant that this will work. All you have to do is enter the directory to watch and the script to execute when the directory changes in some way – it looks like this:
C:\Test|C:\scripts\sync.cmd
sync.cmd being the script generated by FreeFileSync. And that’s it, and its pretty easy. So if you want, download the file here
Please note that you need to download and install FreeFileSync to have everything work.
There are some bugs that I am aware of, but if you have any comments or suggestions please let me know.
Tags: file replication, hosting, Servers
Automated Build Server
Posted by Mike | Filed under Computers, Programming, Servers
An automated build server. Whats this you ask? An automated build server is an extremely useful tool to use in development. This type of server is dedicated specifically to running building scripts when you want. Most automated build servers come with at least one SCM plugin, usually for the ever popular open source CVS and SVN. A third, more restrictively licensed, popular SCM is Perforce (mostly commercial, however is available for small teams for free). These servers can build on schedules, or watch a SCM server and build whenever there is a commit. This means that you could do many great things, submit them to your SCM server, and be informed when something breaks, meaning hindering the development of other team members because you forgot to submit the changes to one of your files.
There are several automated build servers out there, such as Apache Ant, and NAnt (there are more, but I’m just listing two to keep the list short). There are some others, and there are two of my favourites.
The first hails from a group called Zutubi and they have a product called Pulse. Bascially, it runs as a java binary on your system (and because it is java it supports many different operating systems) and has a great web interface. Top notch product that you can’t go wrong with. Has everything that you need.
The second one is from a company called Atlassian. This one is called Bamboo. Just as great as Pulse, but also has some additional features such as Build Metrics and integration with other Atlassian products. Has a really awesome web interface to the java binary running on your system.
The really great things about the two that I’ve mentioned is the fact that they are from companies trying to make money, but they are really good in the fact that they support open source software development. Meaning that if you’ve got an open source software project, you may be able to get some free dev tools. Zutubi also offers small licenses for free to projects without a large dev team. Either one of these companies is a sure win because they aren’t out there just trying to make a buck, they are out there trying to be part of the solution and the community.
Tags: auto build server, automated build server, c++, Programming
RSS Feed