SURPRISE!... another MMO...
Posted 03 June 2009 - 05:09 PM
1. I am not not a zitty pre-teen dreamer with no actual skills, I am an adult with close to 10 years programming experience in VB, Python, SQL, PHP, etc.
2. This MMO is not "vaporware". I have already coded a good portion of the client and server side and IT WORKS!
3. My goals (initial goals at least) are quite realistic for this game. I am hoping to have a server set up and build a player base of <= 100 people within the next 1-2 years.
So, that said, let me tell you a little about the project:
1. This is a 3dish "sandbox" type top down view sci-fi space combat/exploration/colonization game. The player will have his/her choice of starships to fly, and will be able to explore an ever-expanding universe (the universe will be procedurally generated as it is explored by players), collect resources (minerals,lifeforms,special items, etc), build and defend planetary colonies and space-stations, design and build new items for use on spacecraft or elsewhere, PvP with other players and invade other players colonies/stations, and just generally do whatever the h*ll they want (within the bounds of the game, of course).
2. I am using the Blender game engine for my 3d rendering needs but I am not using any of its physics options (i.e. vector/distance calculations, collisions, forces, etc). All of the actual physics are controlled by the server (basically I am using blender as a glorified dumb terminal, and none of the graphics I am using should pose a challenge to any modern machine).
3. Both the client and the server are coded in Python (yes Python!). The client because it has to be (Blender scripts can only use Python) and the server because Python is the language that I am most familiar with and I didn't feel like spending 6 mos to a year learning C++ before I could start working on it. I may rewrite the server in C++ some day if I start having speed issues, but so far everything is working OK.
4. All data is being stored in and accessed from flat files (i.e. text files) for a few reasons: 1. because there is less overhead that way, 2. because I think the way I am organizing the files will make data access a lot faster than if I were to use MySQL or some other database and 3. because it will be more difficult to hack that way (b/c the hacker would have to know the layout of the file in order to manipulate its contents in any meaningful way).
So, now that you know a little about my project, lets get to my questions:
1. What sort of features should I be looking for in a server (in terms of CPU speed, RAM, etc.) given the goals I outlined above? I should mention that I am coding this game on an HP Pavilion dv2000 laptop (Intel T1350 CPU @ 1.86 GHz, 1 gig of ram) and I am able to run both the server and 5 instances of the client on this machine without any noticeable slowdown. To me this indicates that I probably don't need a super-powerful server machine to support 100 users, but I am not very experienced in this area.
2. Where is a good place to shop for such a server, and how much can I expect to pay for it?
3. Where is a good place to find information about setting up such a server (i.e. operating system, etc)?
I know this post is getting really long, but I also wanted to inject a comment about some of the opinions I've seen posted on this board. There seems to be a general consensus that, unless your game has the sexiest, cutting-edge, state-of-the-art graphics that it is possible to create at the moment, no one will want to play it. I must tell you that this is NOT the case. I myself play many free-to-play indie MMO's that have what would be considered by a lot of people to be pretty crappy graphics, but also have player communities numbering in the thousands. I believe that game content is what matters to most people, not sexy graphics. So, for those of you who are just starting out and have been discouraged by people telling you that no one will play your game because you don't have thousands of dollars to spend on professional 3d modeling/rendering software: DON'T BELIEVE IT! And, most importantly, don't give up on your vision!
Posted 03 June 2009 - 05:50 PM
First, no one but you will be able to determine relatively exact server specs. You need to setup measurable testing clients and bang away at some servers with your app. Get a few alpha testers to install something that will generate real loads on your server. To test more than just the server you have, try "renting" short-term servers from hosting companies with more power and try them out.
BTW your guess that you "don't need a super-powerful server machine to support 100 users" is a dangerous one. Sometimes, as you scale the amount of users linearly, you find performance drops exponentially. So what looks great at 10 users, and is guessed to probably be fine at 1000 users, actually will fail at 100 users.
Or, you can ignore the above, get an average dedicated server or VPS, and hope that you can scale up/out as you get members.
Second, I think most people in this community would not agree with your "sexy" statement. What most people on this board would say is that if you don't have a robust, scalable and secure MMO (forget "sexyness"), then you are in for a world of hurt if you game picks up speed. Sexiness a factor that really only affects growth rate, not the total amount of people you can attract.
Posted 03 June 2009 - 06:38 PM
Thanks for the reply. Any suggestions on which hosting companies to try? I have some experience with HostRocket (had a website hosted there for a few years) and I was always happy with their service/performance, but I'm not sure what they offer in the way of MMO hosting.
As I said, I'm not very experienced in these matters, so you may well be correct. I definitely need to do as you suggest and test the game on servers of different capabilities.
Well, perhaps I have just been reading the wrong threads, but I have seen a lot of posts of the "it is impossible to create an independent MMO" and "nobody will care about your MMO if it uses old technology" sort here. I just wanted to share my experience in the hopes that it might provide some encouragement for folks like me who are just starting out.
Posted 03 June 2009 - 07:13 PM
There really isn't such a thing as "MMO hosting". If you are happy with HostRocket, investigate their offerings.
The best thing for you is a dedicated server from a good provider, or a virtual server (think VMWare, hardware-based), or a VPS (think OpenVZ, software-based), in that order of preference.
Dedicated server means you know exactly what you are getting and there will be no dips in service due to other loads. Virtual servers are very much like dedicated servers, but a bad hosting company may put more virtual machines on a server than they should and your performance may suffer for it. Lastly, a VPS is very similar to a virtual server, but there is potentially more sharing of resources and more possibility of being over-subscribed. Also, usually it's Linux VPS and you didn't say much on your MMO platform thereof.
Of course, the expense is greater with the former and less with the latter.
One interesting approach would be to use some of these newer hosting platforms that scale dynamically with load. Something like Gigaspaces. Otherwise, I've used Pair Networks, Westhost and Dreamhost.
BTW, you need to test more than the server. How much bandwidth does one client consume at "idle" or at "max"? Do you know? Bandwidth is usually more a problem in MMOs than CPU/server usage.
Posted 03 June 2009 - 10:40 PM
Actually, I have no idea lol. I'm not even sure I know how to figure this out given my current setup. Any suggestions?
Also, I am thinking I may post an AVI or something showing some screenshots of my game in its current state. Admittedly, it is not terribly impressive right now. Basically, all the player can do at this point is register, logon/logoff, use a very basic chat system (everything is a shout at this point), and fly around and look at some (sort of) pretty planets (no interaction with planets yet). Anyway, if you are interested in having a look, stay tuned....
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users