Vanilla Netrek Server Development Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[VANILLA-L:1071] Re: [VANILLA-L:1070] Clean room netrek?



Jesse,

The code as it stands now runs on any ANSI C platform, but has a
dependency on a feature of fork() that causes inheritance of open file
descriptors.  Recoding to avoid this feature would be about 10 hours
work for a competent C programmer, and would result in a single process
executing instead of multiple processes.  There would be an increased
risk of a coding fault affecting all players rather than just one
player.

The ANSI C platform is the most prevalent platform, and performs the
best for this sort of task when compared to other platforms.

I don't believe that Java would improve the performance or the usability
of the Netrek server.  Win32 is such a vague term that I can't comment
on what you mean by it.  But given an ANSI C compliant compiler,
anything will work.  We have had the server running here on Windows NT,
but it was faster (less CPU utilisation) on UNIX at the same clock
speed.

Threads?  You either implement multi-threading using an operating system
or a set of functions under POSIX.  It's simple if you use the operating
system, making a per-process thread.  The conversion of the code to
avoid fork() would NOT need threads.

Certainly, the network requirements could be reduced, but only by
removing features of the game.  The networking code has been optimised
so well that I don't believe it can be markedly improved.  Have you
reviewed this work?

Most of the people who suggest this sort of thing really just haven't
read the code yet.  Reading and understanding the code would take about
three to six hours.  If you invest that time now, you may change your
intentions and save yourself a bit of work.  Can you do that?

Instead, let's concentrate on writing a client that will create a three
dimensional view, inventing the Z dimension on the fly.  From someone I
speak to on IRC ... "I've been researching Microsoft's APIs and am
putting together a 'menu'. Remember the post about the 2d netrek with 3d
ships, light sources, etc? That seems to be fairly easy to implement
using the Visual C++ development environment and Microsoft APIs.  Light
sources - explosions glint off ship hulls, photons and phasers
illuminate objects in space"

-- 
James Cameron                                    (cameron@stl.dec.com)
Digital Equipment Corporation (Australia) Pty. Ltd. A.C.N. 000 446 800
+
++ Vanilla-l Mailing List ++
To unsubscribe: send "unsubscribe vanilla-l" to majordomo@real-time.com
For more information: http://archives.real-time.com


Follow-Ups: References: