MODERN OF A COMPUTER GAME DEVELOPMENT
[1. Інформаційні системи і технології]
Автор: Kyryl Senko, Student, Taras Shevchenko National University of Kyiv, Kyiv; Anna Radoutska, Student, Kharkiv National University of Radio Electronics, Kharkiv
Today, the computer games industry is developing rapidly. This requires the improvement of technologies and directions for their development.
The development of computer games is the process of producing a software product for one or more target platforms, which can be both personal computers and game consoles, mobile phones, social networks, slot machines. Modern games, as before, are entertaining in nature, but they can also pursue additional goals, such as education, discussion of social and personal problems, and telling a story. Games have the property of interactivity.
The game development industry is not yet characterized by the principles of standardization, as well as generally accepted practices. Typically, development companies use internal developments specialized for specific types and genres of games.
Project development should include the following steps:
• pre-production stage;
• production stage;
• testing stage;
• support for the finished product.
Software design requires the development of system properties based on the analysis of the problem statement: domain models, software requirements, designer's experience. The domain model imposes restrictions on business logic and data structures.
Developers usually design:
• game design and game mechanics;
• software architecture;
• user interfaces.
When designing an architecture, it is important to take into account the capabilities of the programming language used, design paradigms (encapsulation, inheritance, polymorphism), design patterns - repeatable architectural structures that represent a solution to a design problem within a certain frequently occurring context. The most commonly used design patterns in game development are MVC, Object Factory, Singleton, Flyweight, Chain of Responsibility, Iterator, Observer, Command, Decorator, Facade, Mediator, State. Using these techniques allows you to create a flexible architectural solution for the project, which simplifies its support. Thus, by creating a flexible architectural solution, the programmer-developer reduces time, labor and financial costs for future modifications and additions to the project. The application of these practices significantly improves the quality of the product, which is especially important in the competition.
1. Gregory J. Game Engine Architecture. – USA: A K Peters/CRC Press, 2009. – 864 p
2. Manuel Saint-Victor, Deniz Opal. Professional Unity and C#: Multi-Platform 3D Game Development. Wrox Press, 2011 – 272 p.
3. Rollings A., Morris D. Game Architecture and Design: A New Edition, New Riders Games, 2006 – 436 p.