Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - tsharky87

Pages: [1] 2
1
Wish list / Re: Decentralizing the Server
« on: August 29, 2009, 06:10:45 am »
Quote
I also don't believe PlaneShift's problem is bandwith, we could easily serve much more players with the current infrastructure. PlaneShift's problem is developers, we need more. Always more.

But this is exactly what I mean though. I agree PlaneShift needs way more developers, but I believe having a richer and growing infrastructure is exactly what will draw in more players, and in turn more developers. The list of reasons why we may not be getting more developers is long and varied, but I believe the entire list is a very indirect consequence of a stagnant server situation. The main reason why I believe that bandwidth is limiting us is because Keith Fulton said so in http://www.youtube.com/watch?v=tKSYJYV_RGs.

Thinking in a very broad and long-term sense, consider this: Can you conceive of any point in the future when the PlaneShift server will be somehow magically granted funding and more bandwidth just from pure donation? I cannot. So when I say that bandwidth is limiting PlaneShift, I don't really just mean now on the day-to-day basis in which playing is slightly slower, I'm talking about the future. The fact that our server cannot grow is why I think PlaneShift cannot grow. Perhaps our current infrastructure could manage more players. But can it do it well? And think of the fact that there were probably some times when enough players showed up so that the actual current bandwidth was the primary limiting factor. I'm sure that caused almost all of the players involved to get fed up and leave. If that situation occurred under the supervision of the infrastructure I am suggesting, many less people would have left because the game would have performed better as a result of the increase in players.

And by the way, yes I suppose I am rather enthusiastic.   :whistling:

P.S. I apologize for the length of the original post, but I believe most of it is worth reading.

2
Wish list / Decentralizing the Server
« on: August 27, 2009, 10:36:51 am »
Greetings!

I have been an enthusiastic supporter of PlaneShift for many years for several reasons (great story, great role playing, open source, etc), but I have never been able to really fully get into it. I have had many frustrations with PlaneShift that, despite the good things, have set me back from it time and again whenever I try to get back to it. Some of these frustrations are a result of game policies (e.g. the endurance factor when trying to travel places by running but have to stop every few minutes to "rest") but many others are a result of technical problems (e.g. my quest logs are completely gone when I uninstall and reinstall the game, rendering me completely unable to complete quests).

Sometimes I ponder as to why the game doesn't catch on more and grow in players and developers over time. It seems to be at a standstill in that regard, and I keep thinking about why that is and what can be done to improve that. It seems that new players who actually stick around a long time are rare; there are only a select few long-term committed members. When I say that the game has come to a standstill, I don't mean that I think there is something very wrong with the game, on the contrary I think you guys have done a great job so far.

It took me quite a long time to realize this, but I truly believe that, behind all of the small technical problems that plague the game consistently, there is a much bigger problem looming that is holding the entire game back from ever growing beyond what it is right now: BANDWIDTH. When I realized this, I then realized that because of free and open source nature of PlaneShift, the bandwidth problem is one that will never go away. Your server hosting was donated by somebody, and because you don't have any income to make the server or its bandwidth grow, it never will. This means that the game is stuck right now, and if you don't change anything, it will stay that way.



And now on to my point: Taking a big tip from extremely successful P2P networks like BitTorrent, the only way to get great and growing bandwidth is to decentralize. If you ever want PlaneShift to grow beyond what it is today without the aid of huge amounts of cashflow, the only way to do it is by decentralizing the game away from just the one server. In other words, every player's client has to act as both a client and a server to other clients. Also following the lead of BitTorrent, you would need to reward the players who give more upload bandwidth by giving them more download bandwidth.

I know this is a huge undertaking, as it will require a complete overhaul of the structure of the game. But once it is complete the game will take on a life of its own and grow beyond anything we've ever seen. To my knowledge this kind of project has never been done before. The closest thing I could find is this http://isotope.sourceforge.net/  but this game seems to have separate worlds for every player who offers themselves as a server. What you would need to accomplish is to somehow make everyone a server of the same world. This definitely seems to be a very tricky task, admittedly, but I truly believe it is possible.

Now don't get me wrong. I don't think a complete decentralization is really necessary, and I also don't think it's possible. That is, I think having a central server that serves some small purposes is the only way to accomplish the issue of having everyone a server for the same virtual world. So I believe the best solution is actually partial decentralization. The central server needs to stick around to make sure everything is running smoothly and to remember everything about the world (e.g. where all of the items are), and could also act as a sort of "policeman" to make sure no hackers are exploiting the world. Also, I'm sure one or more "central" servers would be needed to run all of the game's NPC's. But the fact is, the bulk of the bandwidth burden that the server currently bears needs to be relieved and given to the players.

I can think of many ways this task can be tackled, but I'm sure you guys, who have built the game, would be much better suited to confront that challenge than I. Nevertheless, here are some vague possible plans:
- Make every player a server of the entire world, with the same information about the world present on every player's memory
- Have every player be given a designated area of the world to "serve" out, and then have all of the players who move or make changes to the world in that area send information to that serving player about player movements and items, who would then serve that information to all players in the area.
- Instead of arbitrarily dividing the world and giving plots of it for players to serve out, just have players serve the areas that they currently occupy, and then possibly leave the vacant parts of the world for the central server to serve to the next person who enters it, who then becomes that area's server.
- Instead of making players the server of the area which they occupy, make them only the server of areas they don't occupy.

These are only a few possible plans, but I'm sure there are more. It seems to me the main goal of figuring out how to distribute the server is to duplicate information as little as possible, because the more duplication, the more bandwidth is required to keep the same information on all servers. This is why the first possible plan listed is by far the worst idea. If every player had the entire world's information, it would have to constantly update this information to everyone! Obviously, this would make for a very slow game.

But some duplication of information might be good though, because many clients will have very unpredictable Internet connections. So if one person serving out information about an area suddenly becomes unresponsive, there are a few other players who share that information who could be immediately redirected to. Also, duplication of information can act as a great way of checking for hacking or tampering of data by one person trying to change the world in their favor.

The reason I think it would be better to divide the world systematically as opposed to arbitrarily is because it leaves less room for error. The reason I think it would be better to make people serve parts of the world that they don't occupy is because it immediately leaves less of a possibility of easy exploitation of players' role as server to change things in their favor. One argument against this method is that doing so would make crowded areas of the world not served enough because everybody is in one place and cannot serve there. Another point which both supports and opposes the idea of serving a player's current area is that it provides for some duplication in crowded areas. Once again, the duplication can both act as a check of tampering and as a source of slow-downs.



Anyway, the bottom line is that this undertaking would indeed be very tricky, but I believe it to be completely necessary for making the world of PlaneShift grow. PlaneShift would become a great and revolutionary example of a brand new kind of MMO, breaking new ground by being the first of it's kind. In a sense, it would become an experiment in real-time distributed computing. It could also be called some kind of "P2P" MMORPG. But whatever it is called, decentralizing PlaneShift would result in much more growth of players, and that growth would actually make the game run faster, and then result in more people jumping on, and so on. Also, with the game growing in players, it will also grow in volunteers to help improve the game with bugfixes, new features, new art, and so on. Why, in a few years, I really believe PlaneShift could give World of Warcraft a run for it's money and become the most widely played MMORPG in existance!

I really believe this task is possible, and I wish I had the experience with PlaneShift's code to generate a prototype example of the possibility.

Please respond with your questions or comments. Thank you for your time.

-Jeff

3
General Discussion / Re: PlaneShift 0.4.03 ChangeLog
« on: December 19, 2008, 05:01:54 am »
Cool it works, thank you. That is a nice feature  :)

4
I think it would really make the game more fun if there was a good built-in map that starts out completely dark and unshades itself as you explore the world. The map you buy at the library is alright, but its a real hassle to physically draw the whole thing on the computer. If I wanna draw my own, I'd much rather just do it on a piece of paper (and then it can't get deleted!). An automatic unshading map would not take away any of the fun of exploring, in fact I'd say it would enhance it! Drawing my own maps is just a huge pain and makes it a lot less fun.

5
PlaneShift Mods / Re: Tontow's MapMaker Tool 2.0
« on: December 19, 2008, 04:49:39 am »
 :oops: I can't figure out how to delete my own posts..

6
My client crashes when I enter the East Hydlaa area, but thankfully it seems to load correctly after I restart the client. I'm using an Intel 945 Express Chipset graphics card. This seems to be a very bad bug...

7
General Discussion / Re: PlaneShift 0.4.03 ChangeLog
« on: December 18, 2008, 09:41:13 am »
- You now enter a special NPC Camera Mode when talking to NPCs.

This doesn't seem to happen at all for me. Is this automatic?

8
Wish list / Re: Sounds from other players and NPC's
« on: November 14, 2008, 09:14:53 am »
Ok, so lets say I wanted to add a feature to the game of footstep sounds that change according to the terrain the player is on (could just be a new database connected to the existing graphical world database for simply what kind of terrain at a specific point in the world). Can someone who already has a lot of knowledge with the PS source give me a general idea of what I would need to change to accomplish that? Like, where are the relevant classes and roughly what would I need to do? I don't want to use up someone's time too much because I'd be doing this so they wouldn't have to, but it would save me a hell of a lot of time if someone took a moment to tell me this information. Thanks a lot!  :thumbup:

9
I've noticed that when the character is both walking and running, the animation sprite that moves his legs doesn't at all line up with how fast I'm going. That is, I'm constantly "moonwalking", and my feet don't stay planted where I put them. I'm assuming that changing the travel speed because of this is pretty much out of the question, so it seems the only option to fix this is to speed up the walking and running sprites to the correct amount so it fits. Has this ever been considered? It does not seem like the fix would be too difficult.

10
Wish list / Sounds from other players and NPC's
« on: November 06, 2008, 03:41:47 am »
How hard would it be to be able to hear the sounds (footsteps, combat, NPC monsters growling at you) from other players and NPC's? I'm sure all of the sound files would have to come with the client and not be streamed (because of bandwidth), but this could be part of the whole "proximity" idea. For example, you'd only be able to hear players and NPC's that were, say, 20m away, and only very faintly. Then simply based on your distance from them you could increase the dB level linearly from the distance until a minimum distance (like say 3m) where the dB level would max out. The only bandwidth you'd need really is for the server to relay to the correct nearby players what sound the other players and NPC's are making and when. This might only require a tiny bit more work on the server end, and a little more on the client end, it seems. Also, if you wanted to get even cooler, you could have the client play the sounds correctly in stereo based on the sounds' source. Whaddya think?  :woot:

11
Development Deliberation / Re: Planeshift API
« on: November 05, 2008, 08:28:11 am »
Why not just have this API available to download instead of going through all that hassle? I managed to make a copy, so I'd be perfectly willing to supply mine, if it is needed. Overall I'd say this project could use a lot better documentation...

12
Wish list / Re: walking not reducing stamina
« on: October 29, 2008, 09:42:38 am »
There are so many different opinions on this subject. How will such a decision be made in the long run for the final game; who gets the final word?

Personally, I think that walking draining stamina as fast as it does is quite annoying. If it didn't drain quite so fast, I could deal with it I think, at least until I level up.

But so many factors must come into play for such a decision: realism, gameplay appeal, annoyance, not scaring away newbies, etc. If this whole game were all about realism, our characters would be going to the bathroom every few hours and having to go to bed every night somewhere, not to mention we'd probably be "leveling up" slightly just from running around enough and working out. On the other hand, if the game were all about the ease of use, we could do whatever we want and kill things way stronger than ourselves to make it easy. Obviously, there must be some kind of balance between these two schools of thought. I'm just wondering who gets to actually make that decision.

13
Development Deliberation / Re: SVN Username and Password
« on: October 29, 2008, 07:39:25 am »
Ok thanks, it works. I knew it was something really stupid like that. Feel free to delete this topic now...  :-[

14
Development Deliberation / Re: SVN Username and Password
« on: October 29, 2008, 07:08:47 am »
No, both fields blank was the first thing I tried, and it doesn't work.

15
Development Deliberation / Re: SVN Username and Password
« on: October 29, 2008, 07:07:12 am »
Yes, I've tried anonymous and blank password, no luck.

Pages: [1] 2