Distributed Game Engine: Trend and Application Scenarios
written by Li, Xizhi
July 17th, 2005
First of all, ParaEngine is a fully functioning 3D computer game engine, with real time graphic rendering system, physics simulation engine and a user friendly 3D world authoring environment.
The demo shows various technologies in the game engine. A great deal of things can be shown about the specific functions of the game engine, but I will present next other ideas of the game engine. As the name implies, ParaEngine is not just a standalone graphics engine. It is based on a distributed game engine framework which allows the content and logics of a continuous and expandable 3D virtual world to be distributed on a large scale and extensible computer network, such as the Internet. Thus I am going to talk about benefits of distributed game engine as well as the tremendous amount of new applications. And from a technology point of view, I will talk a little bit about a new framework of computing which I have implemented in my game engine through a network transparent scripting system.
Click here to play Tech Demo Movie.
We are living among computer networks and we use Internet to publish information and get information or services we want. But that is not the full picture. There are at least two more trends of the Internet. (1) More and more embedded and mobile computers are joining the Internet, with increasing power of computing. (2) The Internet is transforming from 2D to 3D, which means that the present day hardware and software will enable people to make their own presence in the virtual world. And combining these two trends, what we will see soon is a rather dynamic virtual and mixed reality world on the Internet. Wherever a computer is, it is able to play its role in a dynamic virtual world. This is the same concept of distributed computer games. And I believe the game community is going to drive this process. In fact, our ParaEngine is such a solution on the software aspect.
I believe that games will give the Internet the third dimension, the mobility and the intelligence?
If one wants to attract millions of people to use a VR application, games might be the only viable way. This is because games can create and promote the needs of web applications at very low cost.
Besides, games spread faster than any other applications on the Internet. And it targets a user group which is most curious and willing to pay for innovative things. Game is born to be a platform to show off itself, which makes people to accept it in the shortest time.
Hence I believe games are the right product to introduce people to the technology. Besides, game technology and game engine not only reified the most advanced technologies in both computer software and hardware, but also has pushed the development of computer hardware.
Currently the Internet is largely 2D. In the future, we will need 3D Internet.
Present day game world has already transformed from 2D to 3D. However, 3D games have barriers when running on a distributed computer network, such as Internet. The barriers are caused by the clients / server (CS) architecture. The CS architecture makes an originally open Internet to many closed structures. Hence, there is no actual distributed 3D game on the Internet.
For games running on ParaEngine platform, (1) people can construct their own game worlds and merge them into the open 3D Internet. (2) wherever people travel, they can access the virtual environment for free. (3) people will be assisted or directed by agents and human avatars in the virtual environment. All these things can not be realized through traditional game engine framework.
NPL is a language system that I developed during my research on AI. I am planning to write a book on it within a year. NPL scripting system is an important component in ParaEngine. It describes the game world content and logics in a network transparent manner.
In NPL, logics are encoded in files, which I called Neuron files. These files may be deployed on an arbitrary computer network that the script writer may not know exactly. At runtime, one neuron file may activate other files, and thus forms many file activation chains. Files may also be stimulated by a predefined event in the game world. It is important to note that all file activations are one directional, which means that there is no return message of a file activation call. Yet instead, during the execution session of a file, the file may emit visualization commands. These commands are ensured by their NPL runtimes to be received automatically by the appropriate game engines on the network. This is a similar mechanism improvised by the functioning of the biological neuron networks, which works together to provide our internal visual perceptions as well as interaction with the outside world. The runtime logic of NPL is completely different from that of HTML and sever-side scripting such as ASP or PHP, etc. The tight integration of NPL and ParaEngine makes composing distributed 3D game world possible and very practical. And I believe NPL will eventually become a standard on Internet.
The benefit of encoding content and logics in files can be an advantage. E.g. files can be easily upgraded. And in fact it can be even more secure, since important logics can be separated in files to keep them away from other computers.
Within one year time, we plan to release our first distributed 3D Internet game which will define a new Internet gaming mode and culture. With the acknowledgement from the game community, our company will step into its second phase. By then, we plan to cooperate with the world's leading game companies to develop larger scale distributed games and more versatile peripheral products. Meanwhile, as our game product and technology matures, we will license our game engine according to the level of functionality and source code exposed, such as free to individual users, with minimum charges to small game companies and research institutes, and with full charge to large game corporations. As the company grows up, we will continue to explore the new profit modes that distributed game engine could bring us. Actually in our business plan, we have discussed a great deal of new profit modes on the game engine, and we believe these new profit modes will make great benefit.
So far, I have found the workplace for my team in this building. But I am still seeking investment at the moment.
I have spent several years on the distributed game engine framework. Previously I was also involved in Multi-agent systems and developed a web agent platform using web services. I have developed my own proprietary game engine for which I coded over half million lines of C++ code.
The following is a list of projects that I have done in the past years: [research gallery]