James Snydstrup shows us that Acknex isn't only a gaming tool; let's find out more about his ingenious multiplayer project.
Q: Are you an older Acknex user?
A: I have been using 3DGS since version 3.8 that was some 4 years ago.
Q: Have you used other engines before Acknex?
A: I have researched several other software packages over the years that allow for the creation of 3D content. I continue to do so on a regular basis. I have a particular interest in those that allow for content to be delivered via web browsers and have native industry standard database support. However, through the years A5 has remained my development tool of choice. One big reason for this is the ease of use and flexibility of C-script.

Q: Can you tell us a few words about your "game"?
A: I have worked on several hobby 'game' projects through the years. However, my current project 'Digizens' is not a game at all but a subscription based online chat community. A customer will pay a yearly subscription to maintain an account. Each account will come with a virtual house and car in a virtual neighborhood. Subscribers can interact with other Digizens in many different areas using a variety of avatars. There will be parks, restaurants, nightclubs, churches, and just about anywhere else you would normally go in your real life.

Q: Are we talking about a unique "game" concept here?
A: No, it is not a unique game concept as it is not a game but I guess it could be considered a unique way to use a state of the art game engine. I use to play online with a Quake clan way back when and every now and then we would just stop playing and start chatting. That is where I first got the idea of developing a 3D chat community using gaming client/server technology. I then discovered Activeworlds, Blaxxun, and a few other companies in the business of virtual chat worlds. That is how the idea of Digizens was born.

Q: How big (in quants) are the levels in Digizens?
A: The largest the levels can get is 50000 square quants. Anything bigger then this and I run into Z buffer limitations of various video cards that I want to support.

Q: I'm sure that you have tested the game over a network; are you happy with the results you've got so far?
A: Yes, I am very happy with the amount of control I have on the byte traffic to and from the server. Also, using the DX7, and soon to be DX8, Microsoft standard means A5 has a very robust industry standard multi-user network capability. My only outstanding issue is the fact the server currently controls entity animations.

Q: Can you estimate the number of players that will be able to connect to a session?
A: I haven't entered beta testing yet but I don't see a problem with a minimum of 50 client connections to any given server.

Q: What kind of PC will be needed in order to play Digizens?
A: My minimum spec test computer I am using now is a PII 600MHZ, 128MB RAM, 16MB Voodoo 3000, Win98. Knock off 64MB RAM and 100MHZ on the cpu and that will be about the minimum spec machine.

Q: What problems did you run into during the development?
A: I had some issues with bandwidth usage between the client and server. Part of the problem was my lack of understanding of multi-user coding and part of the problem was the way the A5 multi-user protocol works. I have since become much more proficient in coding multi-user applications. The excellent technical support provided by Conitec and JCL has addressed some issues regarding the multi-user protocol.

Q: What features would you like to see implemented in the near future?
A: True native industry standard database support. I know the SDK is available to do this type of implementation but I generally work in the world of C-Script and would find it highly beneficial to be able to tie into a SQL database via a DAO/ODBC data source. Honestly I think this is a must have if 3DGS is going to be marketed as a solution for persistent online worlds. Hint, hint....

Q: Do you have a few multiplayer - related tips for us?
A: The way I learned to code multi-user applications is by examining the template scripts. I ripped through them step by step in order to figure out how to do things. Keep an open mind though since multi-user coding is very different than single user coding.

OK, a few tips; It is very important to know if a script is running on the server or the client since a script can be made to run on either one. Also, be very careful when running the server in client/server mode. Since scripts can be set to run on either the client or the server things may appear to be working when the server is also acting like a client. It is best to test using a dedicated server every now and then.

Thank you a lot, James.