[Alephmodular-devel] Re: networking, everything over christmas ;-)
Status: Pre-Alpha
Brought to you by:
brefin
From: Chris B. <zzk...@uq...> - 2002-12-26 05:17:30
|
> As I stated to the AlephModular development list: "Yes we have a dated > 2.5D engine, gosh darn it, but we're going to try and make it the best > it can be" Agree and disagree :-) Yes, Marathon is a 2.5D engine. It is fairly limited in extensibility because of this ('fact', not insult ;-) and because of this it's my opinion that the project could achieve more if it allows for growth into a full 3D engine. I guess I could ask - list your reasons for and against allowing support for 3D rendering? List your reasons for the project as a whole? If your focus is purely to bring marathon (with modern SW/HW support) to those of the mac gaming community who grew up on the game, fair enough. If you're trying to pull new users, you'll need to do a little more than just an updated version of the same-old-game. That's not to say the gameplay needs to change much. (sorry if you've explained this elsewhere, quite possibly i've missed it.) Woody - no insult taken, my original message was posted with exactly the idea of bringing argument (and hopefully constructive discussion from that.) Perhaps my outline of the basic networking was poorly explained. I'm not opposing (or supporting) the idea of a central server, but rather trying to point out the links between physics, animation, and networking. They aren't three separate beasts, as much as that would simplify life. They need some fairly close ties and if we are to make a generic set of systems which can cover different game technologies (as suggested by the Modular name) then they will have to communicate to a significant degree. One thing that is required is that local animation and physics simulations must be present. They may not be an authority on the game state, however they are needed to smooth out the gameplay between updates, hide latency, etc. As was mentioned, animation currently provides the events on which the physics system is driven. I'm not at all opposed to this mechanism as it simplifies the creation of new (different) models. This doesn't even require the animation system to be tied to the physics frame rate, as long as it's being simulated (eg.) at some reasonable minimum (maybe 10-15 fps) frame rate in those situations where the real frame rate drops below this. > What's the problem with larger LANs? Packet loss, and significantly higher latencies with a ring network. a 60 player game is going to have > 10x the latency of a 6 player game. I can't remember offhand whether marathon uses a ring or not, but even if it doesn't, any packet loss / moderately increase latencies is going to hurt badly. Even over appletalk it was never the most reliable of beasts. > I am not too big on this idea because of the possibility that the user > experience could easily become unpleasant. Yes, but there is a significant advantage to the developer. It would work well on most OSes, the exception probably being macos 9 although really that could be done as well with a little IPC. The advantage i see is that it splits the project in two definite parts, which is a considerable bonus considering the distributed development nature of the project. If coded sensibly it could be re-integrated at a later date when everything is stable and fairly clean. Again, I think either way would work fine, this one just has the advantage of not tying the game executable to the (current) limitations of the game interface - eg. we could start by simply having it parse a text config (~ 30 lines of code) and load the appropriate files and level and settings. Certainly not ideal for end users, but then, are we expecting end users to be able to sit down with the AM code any time soon and start playing with it? As soon as people get serious about the development, it's probably going to be 6 months before it's any good to anyone.. Again this is just my thoughts, and jeremy gets to make the decisions on this, but i think it makes more sense (for now) to have it working well for the developers than it does to try and make it polished for the end users. I guess it depends if the project #1 priority is (1) making marathon work as-is, quickly, or (2) developing the code-base and making it modular. thoughts? chris ps. Merry Christmas, everyone. |