Plan for Entr0py
by Entr0py · 08/16/2005 (2:56 am) · 2 comments
In the last year I have pretty much gotten the scripting down, with a few things here and there I missed along the way that I am still picking up.
I have learned how scripting interfaces with the c++ code, mostly from looking at the GUI objects, which I believe to be an excellent example of this.
I have learned all about the NetConnection class and what happens between client and server during the entire game. At first I was using John Vanderbecks MinApp tutorial, but then just decided to delete all the demo scripting and start from scratch. I referred to the demo, going through each function, and what it does in the c++ source, and created my own version of script from there.
I have learned a LOT about C++ itself, having mostly a C background coding on diku/circle-based muds there was not a lot I was really familiar with. It seemed like a completely foreign language at first (I suppose it is, literally.).
Having that under my belt, I began scripting a server cluster. Each server in the server cluster runs from the same executable, but spawns as a mod depending on it's main function. In this way I am creating a game which may be spread out over an entire network (sharing a drive array for the database), or playable on a single machine. I have yet to test the player loads, but I am quite sure it will handle a lot more players (all playing in the same mission instance) than a single dedicated server would.
As it stands now, I estimate about 1000 players can play on a single player server (I can run as many player servers as I want, but I am unsure how many players the supporting servers will choke on). The player server is still handling most of the actual game functions that I have yet to delegate to a cluster server so hopefully I can get this a lot higher, to maybe 10,000 once the load is fully distributed across the cluster. I have begun implementing a process which allows a function server to request help when its load has become too demanding on RAM/CPU/bandwidth. Hopefully this will further distrubute the player load allowing for a single game world rather than multiple worlds. If the load needs further balancing I will probably look into zone instancing such as that of guildwars and/or other options.
Adding the scripting (and quite a bit of the c++ functionality) to what I already know about TGE art assets (I am primarily a 3D artist), I think I have a pretty good handle on this engine, and I am now ready to proceed with the building of my game. It will always be a learning process though, with a piece of software this huge, and I am not even remotely close to mastering TGE.
My next steps will be completing the supporting servers, modification of the maya exporter and engine to allow for sectioned player models with swappable parts and a few other things on my maya wishlist. After that it is all bells, whistles, chrome and content (the fun stuff), and then........... BETA
I have learned how scripting interfaces with the c++ code, mostly from looking at the GUI objects, which I believe to be an excellent example of this.
I have learned all about the NetConnection class and what happens between client and server during the entire game. At first I was using John Vanderbecks MinApp tutorial, but then just decided to delete all the demo scripting and start from scratch. I referred to the demo, going through each function, and what it does in the c++ source, and created my own version of script from there.
I have learned a LOT about C++ itself, having mostly a C background coding on diku/circle-based muds there was not a lot I was really familiar with. It seemed like a completely foreign language at first (I suppose it is, literally.).
Having that under my belt, I began scripting a server cluster. Each server in the server cluster runs from the same executable, but spawns as a mod depending on it's main function. In this way I am creating a game which may be spread out over an entire network (sharing a drive array for the database), or playable on a single machine. I have yet to test the player loads, but I am quite sure it will handle a lot more players (all playing in the same mission instance) than a single dedicated server would.
As it stands now, I estimate about 1000 players can play on a single player server (I can run as many player servers as I want, but I am unsure how many players the supporting servers will choke on). The player server is still handling most of the actual game functions that I have yet to delegate to a cluster server so hopefully I can get this a lot higher, to maybe 10,000 once the load is fully distributed across the cluster. I have begun implementing a process which allows a function server to request help when its load has become too demanding on RAM/CPU/bandwidth. Hopefully this will further distrubute the player load allowing for a single game world rather than multiple worlds. If the load needs further balancing I will probably look into zone instancing such as that of guildwars and/or other options.
Adding the scripting (and quite a bit of the c++ functionality) to what I already know about TGE art assets (I am primarily a 3D artist), I think I have a pretty good handle on this engine, and I am now ready to proceed with the building of my game. It will always be a learning process though, with a piece of software this huge, and I am not even remotely close to mastering TGE.
My next steps will be completing the supporting servers, modification of the maya exporter and engine to allow for sectioned player models with swappable parts and a few other things on my maya wishlist. After that it is all bells, whistles, chrome and content (the fun stuff), and then........... BETA
About the author
Torque Owner James Laker (BurNinG)