Lessons the easiest way to create a computer game. Project “Creating a computer game using Game Maker”

Harsh criticism immediately after release - such is the fate of many modern video games. Whether it's small but exciting online applications or global projects with a budget of more than a million dollars, they all cause dissatisfaction with one category or another of users. That's just most of the criticism today, unfortunately, is not objective. People who are far from the basics of creating computer games scold what, even theoretically, cannot be presented differently than the developers did. We will try to correct this injustice today. So, let's begin.

Let's form a concept

The first step in creating any game is defining its concept. What will the project be about? What genre and theme will it belong to? What audience should be targeted? By answering these questions, you can set the direction for the development of your creation, understand what goals you want and can (with due diligence) achieve. So, focusing on fights or competitions guarantees increased interest among gamers, on learning or logic - the absence of serious competitors. The choice in favor of a fantasy or post-apocalyptic world will contribute to the comfort and quick adaptation of players (because these universes are familiar to them), comics or anime - a narrower (but also more devoted) audience that will not run away when a similar project is released.

Decide on the possibilities

The next step in creating a gaming masterpiece is to realize your own capabilities. As a rule, at this stage, developers determine the maximum allowable budget for the project, choose the engine on which development will be carried out, or select the most suitable programming language, and also evaluate the available resources (both technical and human). It is necessary to decide on all these nuances in advance. Otherwise, you may encounter a situation where, after developing, for example, a spectacular super-hit with an original eyeliner from a whole chain of quests, it turns out that there is no way to implement this brilliant idea within the framework of this project.

A variety of engines and platforms - there is something to think about

Let's calculate the mechanics

In-game mechanics is one of the most important components of any project. While the graphic component is designed to attract the attention of players, to interest in a new project, the task of the gameplay is to forever leave a mark in their hearts. A striking example of this is Stardew Valley, a pixel-art farming simulator that topped the top sellers on Steam from the first days of its release. It is necessary to understand that attention should be paid even to trifles. For example, if the game has a class division, a clear bias in favor of one or more factions is unacceptable, and the more opportunities the project provides to the player (quests, pumping, puzzles, etc.), the longer he will not want to leave the game world. Moreover, not only the character himself needs to be worked out, but also all the objects surrounding him, such as: NPCs and enemies (), scenery and objects (physics engine), levels and everything else.

Come up with a plot

If earlier the development of online and offline projects was approximately similar, now at this stage the first cardinal difference appears. Thinking through the plot of the game, you must be clearly aware of its time frame. While single-player titles rarely take more than 1-2 months to complete, online multiplayer games tend to have no end. Therefore, the plot here should not have a logical conclusion, but be served with an open ending, which can be delayed weekly / monthly by adding new quests, items, skills. In single-player games, the ending has been worked out almost from the first days of work on the plot. At the same time, it should not leave open questions (unless, of course, you plan to release a sequel to the game) and some omissions, although it can be alternative (as in Silent Hill 2).

Let's create a design

Having thought through all the nuances of the project frame, you can move on to its graphical component (interface, sound, backgrounds, art, special effects, animations, etc.). Particular attention should be paid to the direction of the game. If it is assumed that updates for it will be released quite often (for example, once a week), it makes no sense to create art with detailed elaboration and animation, numbering several tens (or even hundreds) of movements. The simpler the characters are designed, the less jambs you will get when introducing them and the less effort you will spend on regular releases. In the case of rarely updated or offline projects, as a rule, the opposite is true. The more developed the virtual world and the player's spectacular movements / skills, the more chances the game has to attract the attention of a wide audience.

We understand that the work has just begun

Do not think that work on the game is completed after its pre-release. On the contrary, from this moment on, the developer acquires additional responsibilities. He must test his product, detect and eradicate bugs in it, adequately advertise his creation and create a certain image in the minds of the players, start developing possible add-ons, DLCs and localizations, think over a sales and player support system.

As you can see, the work of creating a game requires a lot of effort. Therefore, before scolding the next release, think about whether it is really that bad, or you yourself endowed it with unrealizable features.

This article is the first in a series of materials for those who want to become a game creator. If you are young, ambitious and full of ideas, and your hands are itching to make a "GTA killer" or "MMORPG like WoW, but cooler", then you have found what you were looking for- beginner's guide to making games. My goal is to give the reader a general idea of ​​what the process of creating games looks like and dispel any illusions that may have developed in this regard, so that in the future you can avoid the mistakes made by many. As in any business, half the success is the right preparation, so the more fully you understand the whole picture from the very beginning, the more success you can achieve.

At the moment, the series of articles includes the following materials, which will be supplemented over time:

1. Making games for beginners






Beginner Game Developer - In common people "Teapot"

So, after another evening for you thought - why am I worse? .. We thought and decided that here it is, a chance for universal recognition - it's time to create the games of your dreams! It seems that there is nothing difficult in this, but you are mistaken ... seriously mistaken. With this, perhaps, we will begin.

In fact, even if we do not touch on the issue of the complexity of developing any game (and we will definitely touch on it below), then all the pluses and positive aspects of "game making" are more than balanced by the negative sides that all developers, in one way or another, face, especially beginners.

It so happened that the very first stage is also the most attractive - this is the moment of the birth of an idea, its superficial elaboration, a moment of creativity. At such moments, you can cut circles around the room for hours, imagining how cool everything should turn out and what recognition you can achieve if you bring a new idea to life. Admiration for one's creative genius can overwhelm the vessel, in which case it will require an outlet - most often an immature idea spills out on one of the thematic forums, in a thread with a heading like "Assembling a team to develop a game, everyone is needed." Where it is successfully ridiculed by more experienced comrades in the shop, and, admittedly, sometimes quite rightly.

Making Games - Entertainment?

Unfortunately, this is far from the case. Even if you do not touch on professional work in the game production industry, then an amateur project is not entertainment in the truest sense of the word. Of course, the process of working on the embodiment of your ideas brings a certain satisfaction and is convenient as a means of self-realization, but... As already mentioned, the most enjoyable moment is the birth of an idea and its development, but then inevitable "work days" with their repetitive actions, tedious painstaking work and what you don’t want to do at all (and since the creation of games is quite a diverse job, there will certainly be such things, especially if you work alone). As a result, motivation drowns in such a swamp, and with it, the desire to engage in your project.

Be prepared for the fact that even a relatively small game project can take you more than one month of time to complete it. Think about it - do you have enough motivation to continue working on the implementation of your idea even after the initial excitement fades? to 99%... You don't want to add your idea to that number, do you?

Typical Portrait of a Beginning Developer

Forgive me those who recognize themselves in this description - I urge you not to be offended, but to continue reading. Now we will try to draw a typical portrait of a novice game developer in order to better understand what we have to deal with. So, a beginner "game maker" is most often a school student aged 12-18 years old, suddenly set on fire with the idea of ​​\u200b\u200bcreating games. The idea comes spontaneously or after some kind of inspiration, like a new movie or a popular game. As a rule, he himself does not know how due to age, lack of experience and other reasons, therefore he wants to act as " leader"and/or" screenwriter", "author of ideas". Accordingly, since it is impossible to do anything even remotely resembling a game on your own with such skills, you need a "team" that this generator of brilliant ideas is trying to assemble on one of the thematic forums.

Upon closer examination, the idea turns out to be a clone of something popular and well-known, "but better". Since there is no idea of ​​what, in fact, you want and how to organize productive work, everyone or almost everyone is invited to the team. As a result, such a "team" consists of random people who, for a week or two, create the appearance of a heated discussion of the "project", sometimes even trying to do something (like a 3D model from a set of primitives), but after about the same time, the former enthusiasm goes to "no", the team members have urgent business / session / lessons / grandmother got sick and the whole idea crumbles safely like a house of cards. A familiar picture?

Is Game Development a Profession or a Hobby?

Game development is just a hobby for many people, but some people link their careers with the game development industry and become professional developers. Naturally, the question of whether there is a difference between an amateur and a professional is not worth it - it is and is very significant. At the same time, some amateurs have a much higher level than individual "professionals", so the mere fact of belonging to one of these two groups is not decisive. However, it still leaves some imprint.

amateur, as a rule, has a different source of income (if he is already quite an adult), so the question of the commercial success of his project does not hang over him. Similarly, for those who study at school / vocational school / university - they can work on the game for their own pleasure, quit at any time, implement any ideas and generally experience much more freedom in their actions. On the other hand, they cannot devote enough time to learning tools and gaining new skills, so in the ever-changing world of games, they are always seriously lagging behind in technology and quality.

Professional- He is a professional in Africa too. He does his job and gets paid for it. As a rule, you have to work on other people's ideas, and it's good if they seem interesting - but sometimes you still have to work on what you don't like. Since the level of skill is decisive in professional activity, such a person has to keep up with the times - to master new technologies, programs, techniques, techniques, etc. He can afford to attend seminars, refresher courses, spend enough time on books and video tutorials - in a word, be in a constant race for the right to be considered an expert in his field.

There is also a third option - independent developers (indie). In my opinion, this is the most attractive path for those who have enough talent and ability to develop games "from and to" on their own or in a small team. There are obvious advantages of this approach - you can work on the implementation of your ideas and at the same time make money on it.

Having absorbed the advantages of a professional and hobby approach, indie development is not free from fly in the ointment.

  • Firstly, to be a successful indie developer, you still need to regularly improve your abilities and improve your skills, devoting enough time to self-education - two days off a week that you can devote yourself to a cause will most likely not be enough.
  • Secondly, you will have to deal with many specific things on your own, which in a large company would be performed by individual specialists, and in an amateur project you could do without them. Thirdly, since there are probably only a few masters of all-hands who can equally well handle all aspects of game development (graphics-design-music-programming) all over the world, then part of the work will need to be transferred to performance by freelancers or look for like-minded people who are ready to work with you.
  • And thirdly, by placing a bet on your project, you invest time and money in it (although initially you can do without significant investments) and expect to get some kind of return. And here it all depends on you - what you earn, you will earn. A project can be both successful and unsuccessful.

Price Ideas for the Game


We often come across a situation where a topic appears on a game development forum in which the author presents his project, but avoids any details, limiting himself to only the most general information. In response to requests for details, the author claims that he will not do so because ideas are unique and can be stolen. Undoubtedly, some ideas can be very successful, and it is quite reasonable to keep them secret, but ...

Do not faint, but the idea itself has no value. Zero. Even the most brilliant idea is worthless. There are a lot of ideas, and some of them are very, very successful. However, an idea has no practical value until it is implemented in the form of something less abstract.

Think about it: when was the last time you saw a really original idea? "Avatar"? No - if you decompose the idea to the level of a concept, then everything is simple: earthlings from the future extract resources on an alien planet, ignoring the interests of the local population. One of the earthlings is imbued with sympathy for the natives, becomes part of their people and leads the fight against the invaders. Simple, isn't it? Crisis? A classic shooter about an elite commando with super-powers that a suit gives him and aliens from outer space. World of Warcraft? A game that takes place in a universe rich in events and backstory, with a high role of the story component, versatile complex player interactions and a powerful economic system.

In all these ideas, the most valuable thing is HOW they were implemented. Even the simplest idea, being brought to life at a high quality level, with deep elaboration, can "shoot" and become a hit game/movie.

Thus, we come to the conclusion that for a novice developer, the question "how" is much more important than the question "what". Obviously, the idea of ​​creating a new generation MMORPG (the so-called next-gen) is absolutely useless for most developers, because for objective reasons they simply cannot implement it in any form.

English Language for Game Developer

The issue of learning English deserves special mention. It is obvious that the gaming industry overwhelmingly uses English as the language of international communication. Of course, there are national markets and their developers who speak their own language (for example, Russia and Japan), some of them can be quite large and even huge (China) - but this does not change the fact that development tools, training materials and documentation is almost always in English.

I am convinced that English proficiency is a critical factor, which has a huge impact on the path you take to become a game developer. Even from a purely practical point of view, the ability to read and understand English texts is a huge trump card in the struggle for a place in the sun. If you open vacancies in Russian development companies, then in 90% of them you will find such an item as "technical English at the level of reading and understanding."

Let's take a specific example -  3D graphics. Text and video tutorials on 3D graphics in Russian are mostly made by amateurs for amateurs, only a few of them teach something that can be called an average level, and an extremely small part are really professional and relevant things. In other words, all this is a drop in the ocean of knowledge.

The question is, why settle for a drop when you can drink the sea? Knowledge and understanding of English is your key to a huge array of useful and relevant information, the very fact of access to which will give you ten points of a head start. Digital Tutors and Gnomon Workshop have thousands of hours of instructional videos covering all areas of popular 3D packages such as Maya or 3DS Max. English-language sites are full of articles about game development, and forums can suggest solutions to complex problems - simply because the number of people THERE is disproportionately higher than the number of people HERE. Take the best of both worlds!

What to do? Learning languages ​​is worth it, even if you quit game development after a year. How? Do not sleep in the classroom at school, sign up for courses, use tutorials - there are many ways, if there is a desire. Particular attention should be paid to vocabulary - you do not need to be able to speak this language, the main thing is to be able to read and understand what you read. After that, it will be possible to begin to develop the skill of listening to English speech - and this can be helped by video tutorials on 3D graphics, if you are an artist, or audio lessons in English. I repeat once again - on the other side of the language barrier there is a huge world full of information. Not having the keys to it is like learning from a draft when there is a library nearby.

To begin with, we suggest that you familiarize yourself with several programs that will help answer this question.

At the moment, there are many paid and free programs on the Internet, with which you can create a game of any genre and any complexity. This article describes the most common free game creation programs and their features that you can download and start creating games. I suggest you take a look at them.

————————————-

Defold Game Engine

In this article, I want to introduce you to a very young and free game engine for creating AAA games - Defold Game Engine. This engine was developed by Ragnar Svensson and Christian Murray in 2014 and there are already over 20k users and over 30k projects on this engine.

Defold runs on MacOS/OS x, Windows and Linux (32bit and 64bit). With it, you can create a game for 6 well-known platforms iOS, Android, HTML5, as well as for MacOS / OS x, Windows and Linux.

Defold is a complete 3D engine, however the toolset is made for 2D, so you have to do a lot of hard work yourself to create 3D games. Improved tools for creating 3D, the developers are planning in the near future. All applications and game logic in Defold are implemented using lua scripts. Lua is a lightweight, dynamic language that is fast and very powerful.

————————————-

Amazon Lumberyard

The lumberyard game engine can be used to create high-quality AAA games for PC, Xbox One and PlayStation 4, support for iOS and Android devices will be announced soon, with deep integration in Amazon Web Services and fan engagement on Twitch, the Lumberyard engine can also be used and in making multi-platform games, as it now has its own network engine.

Lumberyard was not created from scratch, it is based on the code of the CryEngine engine, in the middle of summer 2015, Amazon acquired a broad license for the CryEngine engine, but according to the developers, many innovations and features were incorporated into the system, such as: a tool for creating plants, a tool for creating skeletal animations, a particle editor, physics-based shaders, modular gems that make it easy to work with natural effects, and much more.

————————————-

Cry Engine 5

CryEngine is a game engine created by the German private company Crytek in 2002 and originally used in a first-person shooter Far Cry. In mid-March, the company provided the world with a new, fifth CryEngine. The engine is absolutely free and anyone can use it, with which you can create a game of various genres and varying complexity.

  1. CryEngine Sandbox: A real-time game editor offering "What You See Is What You PLAY" feedback.
  2. Renderer: integrated open (eng. outdoor) and closed (eng. indoor) locations without seams. The renderer also supports OpenGL and DirectX 8/9, Xbox using the latest hardware features, PS2 and GameCube, and Xbox 360.
  3. Physics System: Supports character inverse kinematics, vehicles, rigid bodies, liquid, ragdolls. rag doll), fabric simulation and soft body effects. The system is integrated with the game and tools.
  4. Character Inverse Kinematics and Mixed Animation: Allows the model to have multiple animations for better realism.
  5. Game AI System: Includes Team Intelligence and Scripted Intelligence. Ability to create custom enemies and their behavior without touching C++ code.
  6. Interactive Dynamic Music System: Music tracks respond to player actions and situations and offer CD quality with full 5.1 surround sound.

————————————-

Construct Classic

Construct Classic is a small program whose main function is to create games, 2d animations and cartoons. This constructor was created according to the WYSIWYG principle. This means that you do not have to sit at programming tutorials for a long time to create your own animated video. Everything is much simpler - we add some object, turn on animation for it, and it starts moving.

The Construct Classic app is free. What's more, it's open source, so developers and programmers can customize it just the way they want.

Main features of Construct Classic:

  • A system for editing events and reacting to them via drag-n-drop.
  • The ability to use a huge number of plugins.
  • The program was created in python, but you can modify it in C ++.
  • It is possible to connect pixel shaders to HLSL.
  • You can connect ready-made source codes of games and applications in CAP format to the program.

Changes in the latest version

  • Physics: Fixed a bug in r1 where physics objects created after launch could fly off screen at high speed.
  • Behavior: Fixed a bug. when you couldn't jump off the platform. Caused by fixing the "landing in the air" bug in version r1. Both fixes are now working.
  • Installer: Fixed problem with installation in version r1.

————————————-

GameMaker Studio

GameMaker: Studio is a free version of the popular professional toolbox for creating small mobile multi-platform games. Thanks to the user-friendly intuitive interface of the program, game developers can develop their creations more quickly and efficiently. All this because they do not have to deal with manual coding, spending a lot of time on this process.

The distribution of GameMaker: Studio contains ready-made templates for sprites, rooms and individual objects. All of them can be dragged with a few mouse movements to the future playing field, while indicating the conditions for their interaction with each other.

Main features of GameMaker: Studio:

  • Cross-platform. Without much difficulty, you can create games for Windows, Android, Linux.
  • Convenient working window of the program, where there is nothing superfluous.
  • Ability to create small 2D games in a matter of hours.
  • Ready applications can be integrated with Steam.
  • You can connect ready-made templates to the application, change paths, objects, sounds, backgrounds, scripts step by step and make interesting and unusual games out of this.
  • GameMaker is great for developing games and applications on mobile platforms.

————————————-

game editor

Game Editor is a free designer for creating simple 2D games for Windows, Mac, Linux, IOS, Android operating systems. Created games are a set of game objects, each of which is given a reaction to a certain event, which determines their behavior in the game.

Built-in sets of animations are responsible for the appearance of objects. It is possible to use your own graphic and audio elements. In addition to the standard reactions of objects, you can use your own, written in a special scripting language Game Editor.

Main features of Game Editor:

  • Simple and easy to understand interface.
  • The finished application can be exported to Windows, Linux, Android, IOS.
  • The created game can be tested immediately, at any time you can stop it and start editing again.
  • Ability to use graphic files in JPEG, GIF, PNG, BMP, PCX, TGA, XPM, XCF and TIF formats.
  • Ability to use audio files in Ogg Vordis, MID, MOD, S3M, IT and XM formats.

————————————-

3D Rad

3D Rad is a free program for easily creating (no code required) various 3D games, interactive applications and physics simulations. Creating applications in 3D Rad is based on combining components (objects) in various combinations and setting up interaction between them. Physics is based on taking into account the interaction between objects.

3D Rad has the function of importing models into the created project, a large number of examples and samples of three-dimensional objects, as well as the ability to add sound effects in WAV or OGG format. Works made with 3D Rad can be distributed as separate programs or web applications.

Main features of 3D Rad:

  • Creation of high-quality 3D games.
  • Realistic physics of object interaction.
  • Ability to import models.
  • High-quality graphics processing.
  • The possibility of using artificial intelligence.
  • Ability to use multiplayer.
  • High quality audio effects and music
  • Ability to embed games on web pages.

————————————-

Unreal Development Kit

The Unreal Development Kit (UDK) is a powerful free engine and development environment with great capabilities for creating games for a large number of platforms and operating systems. It contains all the tools for creating 3D games, advanced visualizations and detailed simulations.

The Unreal Development Kit includes the fully integrated Unreal Editor, as well as pre-built scripts, sprites, textures, and sounds. They can be combined with each other, prescribe the conditions for their interaction, while creating new games.

Main features of Unreal Development Kit:

  • Ability to create games for Windows, Mac OS, Xbox, PlayStation 3, Wii, Android.
  • Simple and convenient high-level programming language UnrealScript.
  • Realistic light, shadows and effects.
  • Advanced physics of behavior and interaction of objects.
  • Support LAN and direct connection to IP.
  • Ability to test the created application at any stage of its design.
  • Multi-threaded rendering of created games.
  • Ready game templates.

————————————-

NeoAxis 3D Engine

NeoAxis 3D Engine Non-Commercial SDK is a free version of a powerful and quality application for creating 3D games. In fact, it is a ready-made engine with its own models, physics, graphics and templates. Based on NeoAxis, you can make various 3D single models, as well as complex software visualizations, or even create full-featured 3D games. It all depends on the talent and goals of the developer.

NeoAxis 3D Engine consists of a whole set of necessary tools to implement any developer's idea. It already has 24 full-fledged maps in its finished form, some of which are already good shooters where you need to shoot at aliens, run through dark corridors in search of a way out and fight monsters in the village.

Main features of NeoAxis 3D Engine:

  • The installed program consists of a number of separate applications - a configurator, demo features of the program, a map editor and a main code editor.
  • Applications developed using the NeoAxis environment can be run on Windows and Mac OS X
  • The full range of features of the built-in NVIDIA PhysX. Support for ragdolls and vehicles.
  • Built-in support for synchronization over LAN and the Internet.
  • The application supports a huge list of languages, English, Ukrainian, Russian are available.
  • The editor is built very conveniently - all program resources are clearly structured into separate thematic folders.
  • The program consists of ready-made sets of objects, maps and models, so any student can understand it.

————————————-

Game Maker Lite

Game Maker is one of the most famous game makers focused on creating 2D games of almost any genre and difficulty level. The program has built-in editors for sprites, objects, scenarios and rooms, and also allows you to set a sequence of actions with reference to time and route of movement.

Game Maker differs in that it does not require knowledge of any programming languages ​​to create games, although the ability to use scripts is also present.

Main features of Game Maker:

  • Simple and intuitive program interface.
  • Built-in lessons for creating the first games.
  • Programming with drag-n-drop.
  • Free collection of free images and sounds for games.
  • Ability to create simple 3D games.
  • Built-in Game Maker Language (GML) programming language, allowing you to develop more functional and interesting games.

Attention:

The free version of Game Maker is limited in functionality, and when you start the games created in it, the program logo is displayed.

————————————-

Unity 3D

Unity 3D is a powerful development environment that makes it easy to create a game. 3D games and applications created with Unity work on Windows, OS X, Android operating systems. iOS, Linux, Blackberry, and Wii, PlayStation 3, and Xbox 360 game consoles. Applications built with Unity support DirectX and OpenGL.

With Unity 3D, you can create video games of any genre. The developer can easily import textures, models and sounds. All popular image formats are supported for textures. Scripting is done primarily with JavaScript, although code can also be written in C#.

Main features of Unity 3D:

  • Wide customization options.
  • Accessible and understandable interface.
  • Scripts in C#. JavaScript and Boo.
  • Full integration of the game engine with the development environment.
  • Support for dragging objects in the editor.
  • Support for importing a large number of formats.
  • Built-in network support.
  • Support for tissue physics (PhysX Cloth).
  • Ability to add functionality.
  • Tools for collaborative development.
  • Blender is a free 3D computer graphics creation package containing modeling, animation, rendering, video post-processing, and game creation tools. The functions of Blender are quite enough for both ordinary users and professionals to work. The program has all the basic tools used in professional 3D editors.

    A full-fledged editor with all the main functions and a set of textures, models and event handlers is placed in a relatively small amount of Blender. Additional features in Blender are implemented by connecting plug-ins - both official, created by the authors of the editor, and developed by users.

    Key features of Blender:

    • Support for a variety of geometric primitives (including polygonal models, SubSurf fast modeling system, Bezier curves, NURBS surfaces, metaspheres, sculpting and vector fonts).
    • Versatile built-in rendering engines and integration with an external YafRay renderer.
    • Animation tools including inverse kinematics, skeletal animation and mesh deformation, keyframe animation, non-linear animation, vertex weight editing, constraints, soft body dynamics, rigid body dynamics, particle-based hair system, and collision-enabled particle system
    • Python is used as a means of creating tools and prototypes, logic systems in games, as a means of importing and exporting files, and automating tasks.
    • Basic functions of non-linear editing and video combining.
    • Game Blender is a subproject of Blender that provides interactive features such as collision detection, dynamics engine, and programmable logic.

    ————————————-

    Stencyl

    Another environment for developing simple computer games that does not require the user to know codes and programming languages. You will have to work with diagrams and scripts presented as blocks. At the same time, it is allowed to drag objects and characteristics with the mouse. Despite the fact that the blocks provide dozens of options, the authors of Stencyl took care of those who may not have enough of this. So, it is allowed to prescribe your code in blocks. True, for this you need to understand programming.

    Users who have worked in Photoshop will love the Scene Designer graphics editor designed for drawing game worlds. Its toolkit is strikingly similar to the menu of a popular photo editor.

    ————————————-

    CraftStudio

    Add and modify objects in 3D space, write scripts and rules, draw animations and effects. The authors of CraftStudio thought of everything to make creating PC games from scratch in real time clear and fun. At the same time, all tools for modeling and animations are built into the program and are clearly marked. The same can be said about the visual script editor. What is most interesting is that you will not find any problems with format compatibility or conversion. For more advanced users, a Lua Scripting text editor is provided.

Game development is afloat, it is promising and gaining popularity. We have prepared a detailed infographic about the path of learning game development.

There are many areas associated with game development, and each stage of learning builds on the previous stage. For example, you should not immediately jump to game engines. Start with software development, study mathematics with a sharpening for game programming, and only then move on to game development. Each of the steps presented is a step-by-step guide that includes books and other materials.

0. Development of games for children

Many books focus on the legendary and intuitive Scratch development environment for kids, including ScratchJr. After the basis comes information about Python Pygame. There is a book for five year olds, but most of the material is suitable for children aged 8 and over.

1. Computer science

Theoretical forging is a mandatory component, without which further study is meaningless. This selection of educational literature includes the basics, information about algorithms and mathematics in the context of studying computer science.

2. Programming languages

Speaking computer language is not easy, but it is possible. And there are a lot of such ways. For example, the C language has significantly influenced the software industry by sharing its syntax with the popular C#, C++, and Java. C++, in turn, is a powerful language for creating efficient programs and software packages. Many also write games in C#: the language is smart, convenient and allows you to start development faster.

But Lua adopted something from C ++. A scripting language is good for game logic. It will make it easier to initialize a level, bind tasks to objects, change NPC behavior interactively without having to recompile the project, and much more.

3. Create applications

And if computer science is a theoretical basis, then there is more practice here. Game development is a bumpy road, and apps are the best place to start. Books with practical tasks, as well as information about patterns and UML will help you figure out what's what.

4. Mathematics for game development

No, there will not be a school course in algebra and geometry. The selection is divided into the basics of mathematics in the field of game development and a more advanced level.

5. Game programming

Hardware platforms, operating systems, API sets, algorithms, cross-platform and other important aspects that will form the basis of the game being developed. The books are complemented by a number of gamedev articles that contain useful information on programming.

6. Game engine development

The engine is the heart of the game, which "uploads" the functionality and necessary tools. The first books will introduce you to architecture and design. Further, "game engines" are divided into tools, optimization, scripts and additional materials in the form of articles. During the acquaintance, patterns, algorithmic tricks, optimization in Unity and other nuances are affected.

7. Computer graphics

Yes, content is important, but it is computer graphics that are analogous to the application interface that users will see. Therefore, it should be given special attention.

No wonder this section is the largest. This includes the basics of programming with Real-Time 3D, DirectX and OpenGL. Everything is supplemented with information about rendering and technologies. Direct3D and OpenGL received special attention in the selection.



8. Game Audio

Game development is also about audio: these are sounds made by NPCs, the main character, phenomena or objects, as well as music. Audio programming cost only two books, but they provide the necessary information in an accessible way.

9. Game physics and animation

One of the most difficult stages. In addition to the software base and pictures, there must be laws by which all this interacts. Game physics and animation programming are covered in 17 books. Separately affected by the imitation of the liquid.

10. Game artificial intelligence

There are a lot of computer-controlled characters: they can be mobs, questgivers and even ordinary chess. The abundance of books will allow you to understand the principles of AI. Below is a list of thematic useful articles.

11. Multiplayer game programming

Single player game development is very different from multiplayer options. Here you need to take into account the connection, the work of threads and other nuances. The selection was divided into articles and books about server programming, network programming and network protocol.

Greetings. Do you want to learn how to create a game yourself and what are the stages of creating a game? Nowadays, in order to create a simple game on a PC or phone, it is not necessary to be a great specialist in this, there are special programs that allow you to create games from scratch alone.

In this article, all my personal experience

Of course, the quality of such a game, if you do not have experience and knowledge, can be very low, but everyone started somewhere. In this article, you will learn what you need to create a game and what are the main steps in creating a game.

Much more materials you can find on a special page in this blog:

I have identified 7 main stages of creating a game.

How to create a game yourself?

To create a game, you need to know the programming language, and now they are all in English, and they are complex, they have their own so-called syntax, which you also need to know. This is how you imagine making a game, right?

Not really.

Of course, almost all high-budget games are made using one of the key languages, but even this is not necessary for a beginner to know.

There are special programs for creating games, one of which is Game Maker. They were created specifically for creating games (the program is called so - the creator of games). Personally, I work in Game Maker and it allows you to make quite high-quality games for any platform, from android to ios.

You can also advise Unity or Construct 2, as good alternatives.

In my personal opinion, Game Maker is one of the most user-friendly game creation programs for beginners, while Unity can take much longer to master from scratch.

If you choose Game Maker, then my blog and channel will help you a lot in mastering it, but if you choose Unity or something else, there is also a huge amount of free high quality training materials in Russian.

In any case, the first (zero:) stage is the choice of a program for creating games.

First stage - design document

Next, you need to create a design document for the new game. In other words, you need an idea for a game. What will the game be about? What will happen there? What genre will it be? How much time and money will development take? There are a lot of such questions, and before starting to create a game, it is very useful to draw up some kind of rough plan.

You can find the basics on how to write a design document for a game here:

Well, that's not exactly horror, is it? Bad of course, but not right here?

Well, I drew this with a computer mouse in a very simple graphic editor, and I learned to draw for 1-2 months, drawing 1 picture per week, maximum.

I think in a year you can reach a very good level if you allocate 1-3 hours a day for drawing and studying the theoretical base.

I have a video (16 minutes):


There I tell my thoughts about how to learn to draw and why you need it.

Fourth stage - sound

The sound and soundtrack in games is a very important part, which, however, is very often ignored by novice developers. Think, the player, like any person, has only a few basic senses, and the more senses are involved in the game, the better the player's immersion in the process.

How many sense organs does the player have?

Smell? No. Touch? Sometimes, which is related to some control systems in games. Vision? Everything is built on vision, this is the basis.

Therefore, such a high importance of graphics and visual elements. And in fact, in addition to vision in games, you can use only one more sense - hearing.

If you have played computer games before, then you probably have favorites, as well as some favorite OST (Music from games). And you could remember the game precisely due to the music. I wrote about my favorite OST here:

Sounds are another blow to the senses, the sound accompanying the action can, as it were, enhance the effect of this action. Just a shot and a bullet departure is boring. The correct sound of reloading, shooting, bullet collision with the surface (different for different surfaces), the case falling to the floor, and so on significantly increase the player's immersion in the process.

You know about all sorts of special sounds and phrases in games like Unreal Tournament and how much they increase the fun of the game.

In other words - the right sounds and music make the game atmospheric, emotional, humane and much more interesting.

I had a little experience when I made the Lonely Dude game.

Then my friend wrote a unique OST for this game, and I just took the rest of the sounds from free sources.

What do I want to say? For a simple game, it is not necessary to bother much with sound, it is enough just to put sounds into the game for basic actions (shooting, taking a bonus, completing a level, jumping, etc.) and this will already significantly enhance the overall impression of the game. Of course, writing music is much more difficult, but sometimes you can buy a track for some $ 1-5, or sit with programs like FL Studio in order to write a couple of simple tracks for your game.


The more you test (you and your friends if you're an indie developer), the better the game will be at release. Just one bug somewhere at the beginning of the gameplay can ruin the whole experience of the game, forcing players to write negative reviews.

Therefore, the game needs to be finished with a file as carefully as possible and this must be done before the release. How should the game be tested?

Just play it as much as possible and try different options. Think like a player would think, not like a developer who knows everything thinks. Put your girlfriend in the game and let her play, write down what problems she has and how she solves them, if at all. Where are the plugs, where is the imbalance and where are the bugs. Everything needs to be fixed.

Seventh stage - sale of the game and distribution

In any case, sooner or later, you will finish your game if you have enough strength and perseverance. Well, then you sell it, or distribute it for free, in any case, do you want people to play it?

How this can be done, I already wrote in my old article:

The general principles are the same for almost any game.

VK publics, your own YouTube channel, a trailer, a basic understanding of promotion and search engine optimization, and so on.

All this (Like every step here)- a completely separate and large topic, but the purpose of this article is to get acquainted with the process of creating games, nothing more.

That's all. I hope I answered your question - how to create a game yourself and highlighted the main stages of creating a game. Making games is a very exciting job (or hobby), as well as a real opportunity to earn money.

Good luck with this difficult task!

CATEGORIES

POPULAR ARTICLES

2023 "kingad.ru" - ultrasound examination of human organs