- 作者:xiaoxiao
- 发表时间:2020-12-23 11:02
- 来源:未知
Object Oriented Game Design Written by B.L. Hannah
Introduction
It is fairly common knowledge that producing computer games is somewhat time intensive. Normally, a high-quality computer game project involves a fairly large team of individuals. A list of such a team might include designers, programmers, animators, graphical artists, and sound effect artists, not to mention the business side of a project. The amount of work that it takes to bring this type of project to completion is spread fairly well throughout an entire team, yet most of the time involved is due to implementation of the software. The reasons for this are many. However, it is not impossible to reduce the time it takes to go from conception to completion of a game project.
I believe that utilizing a system developed with object oriented programming techniques, we can drastically improve the way we create computer games. Through the wise use of inheritance and over-ridden methods, and thoughtful, careful design of the implied base classes I believe key game components can be made extremely versatile and absolutely reusable. Reusable in such a way that two entities created oblivious to each other could, utilizing such a development system, work together with NO changes to their code, and work together so efficiently that there will be minimal impact on highly optimized, time-intensive rendering code. I believe that this type of system could cut substantial amounts of time from the implementation process by providing game implementers with flexible, re-configurable, and efficient, game objects.
Because of these beliefs, I have spent a great deal of time designing an object oriented game development system that can aid programmers do their jobs more efficiently. This system is currently in a prototype stage, yet it has the capacity to produce mid-range quality games in as little as three months. It has been implemented thus far using only C# and the .NET framework. I do not claim that it is the best way to approach game implementation, nor do I claim that it is completely flawless and fully functional, but the potential of a three-month turn around on game completion time can not be ignored. And, even in its current state, it stands, as my proof that an object oriented system is possible. At the very least, such a system can be used to prototype games extremely rapidly, which has its own benefits.
Game Development System Overview
The core of this system will not be unfamiliar to game programmers. In all, there are five software systems that must be utilized by any game development system. These are; display systems, audio systems, input systems, persistence systems, and communications systems. However, I have taken the approach of utilizing these systems as services to a game application rather than making them an integral part of the game itself. As services, these systems can be developed separately from a game, which allows them to be implemented in almost any way desired, and the game design system can set up access for these systems through interfaces, as Figure 1 suggests.