Create a game for Android without programming. How to create a game yourself? Stages of creating a game. We draw up a development plan

This article is the first in a whole 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 type WoW, but cooler", then you found what you were looking for - Beginner's Guide to Game Creation. My goal is to give the reader a general idea of ​​what the process of creating games looks like and to dispel any illusions that may have developed in this regard, so that later 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.

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

1. Making games for beginners






Beginning Game Developer - In Common People "Kettle"

So, after another evening 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 complicated about this, but you are mistaken... seriously mistaken. This is where we will probably start.

In fact, even if we do not touch upon the issue of the complexity of developing any game (and we will definitely touch on it a little lower), then all the advantages and positive sides“game making” is more than balanced by the negative aspects that all developers, especially beginners, face one way or another.

It just so happens 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 spend hours circling the room, imagining how great everything should turn out and what kind of recognition you can achieve if you bring a new idea to life. Admiration for one’s creative genius can overflow the vessel, and in this case it will require an outlet - most often, an immature idea spills out on one of the thematic forums, in a topic with a title like “I’m assembling a team to develop a game, we need everyone.” Where he is successfully ridiculed by more experienced comrades in the shop, and, we must admit, sometimes quite rightly.

Making Games - Fun?

Unfortunately, this is far from the case. Even if we don’t touch upon professional work in the game production industry, an amateur project is not entertainment in the truest sense of the word. Of course, the process of working on the embodiment of one’s ideas brings a certain satisfaction and is convenient as a means of self-realization, but... As already said, the most pleasant thing is the moment of the birth of an idea and its elaboration, but then "workdays" inevitably come with their repetitive actions, tedious painstaking work and things that you really don’t want to do (and since creating games is a fairly diverse job, such things will probably happen, especially if you work alone). As a result, motivation drowns in such a swamp, and along with it, the desire to work on your project.

Be prepared for the fact that even a relatively small game project can take you months to complete. Think about it - do you have enough motivation to continue working on implementing your idea even after the initial excitement fades away?.. I probably won’t be mistaken if I say that the proportion of projects that are not completed and abandoned at various stages of development tend to to 99%... You don't want to add to this number with your idea, right?

Typical Portrait of a Beginner Developer

May those who recognize themselves in this description forgive me; I urge you not to be offended, but to continue reading. Now we will try to draw a typical portrait of a beginning game developer in order to better understand what we have to deal with. So, a beginning “game maker” is most often a school student aged 12-18 years old, who suddenly got excited about the idea of ​​​​creating games. An idea comes spontaneously or after some kind of inspiration, like a new film or popular game. As a rule, he himself does not know how to do anything due to age, lack of experience and other reasons, so he wants to act as " head" 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”, which 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 exactly one wants and how to organize productive work, everyone or almost everyone is invited to join 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 waste, the team members have urgent matters/session/lessons/grandmother gets sick and the whole idea happily crumbles like a house of cards. Is this a familiar picture?..

Game Development - Profession or Hobby?

Game development is just a hobby for many, but some people pursue a career in the game development industry and become professional developers. Naturally, there is no question about whether there is a difference between an amateur and a professional; it exists and is quite significant. At the same time, some amateurs have a much higher level than some “professionals,” so the very fact of belonging to one of these two groups is not decisive. Nevertheless, it still leaves some imprint.

Amateur, as a rule, has a different source of income (if he is already old enough), so the question of the commercial success of his project does not hang over him. Likewise 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 acquiring new skills, so in the ever-changing world of games they are always seriously behind technologically and qualitatively.

Professional- He’s 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 - master new technologies, programs, techniques, techniques, etc. He can afford to attend seminars, advanced training courses, spend enough time on books and video tutorials - in a word, be in a constant race for the right to be considered a specialist in his field.

There is a third option - this independent developers (indie). In my opinion, this is the most attractive path for those who have sufficient talent and abilities to develop games “from start to finish” independently or in a small team. There are obvious advantages of this approach - you can work on implementing your ideas and at the same time make money from 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 your business will most likely not be enough.
  • Secondly, you will have to independently do many specific things that in a large company would be performed by individual specialists, but in an amateur project you could do without them. Thirdly, since there are probably only a few jack-of-all-trades who can handle all aspects of game development (graphics-design-music-software) all over the world, some of the work will need to be transferred to execution to freelancers or look for like-minded people who are ready to work with you.
  • And thirdly, when you bet on your project, you invest time and money into 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 is what you earn. A project can be both successful and unsuccessful.

Price Game Ideas


We often encounter 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 this because... ideas are unique and can be stolen. Of course, some ideas can be very successful, and it is quite reasonable to keep them secret, but...

Don't faint, but an idea in itself has no value. Zero. Even the most brilliant idea is worthless. There are a great many ideas, and some of them are very, very successful. However, an idea has no practical meaning until it is implemented in something less abstract.

Think about it: when was the last time you saw a truly original idea? "Avatar"? No - if you break down the idea to the level of 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 becomes imbued with sympathy for the aborigines, becomes part of their people and leads the fight against the invaders. Simple, isn't it? Crisis? A classic shooter about an elite special forces soldier with super powers that his 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 for the plot component, diverse complex player interactions and a powerful economic system.

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

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, since 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 very large and even huge (China) - but this does not change the fact that development tools, educational materials and documentation almost always uses English.

I am convinced that knowledge of English is a critical factor, which has a huge impact on the path you have to 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 for Russian development companies, then in 90% of them you will find such a clause 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 a very small part are truly professional and relevant things. In other words, all this is a drop in the ocean of knowledge.

The question arises: 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 accessing which will give you a ten-point head start. Digital Tutors and Gnomon Workshop have thousands of hours of training videos covering all areas of popular 3D packages such as Maya or 3DS Max. English-language sites are teeming with articles about game development, and on forums they can suggest solutions to complex problems - simply because the number of people THERE is disproportionately higher than the number of people HERE. Get the best of both worlds!

What to do? Learning languages ​​is worth it, even if you give up game development in a year. How? Don’t sleep during school lessons, sign up for courses, use tutorials—there are many ways, if you want. Special attention It’s worth paying attention to vocabulary - you don’t have to be able to speak this language, the main thing is to be able to read and understand what you read. After this, you can begin to develop the skill of listening to English speech - and video lessons on 3D graphics, if you are an artist, or audio lessons in English can help with this. 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 studying from a draft when there is a library nearby.

You don't need to have programming skills to write your first simple toy in just 5 minutes!

Let's not pull the cat by the tail, let's get down to business creating your own new text game!

Developer's comment.

The structure of the language is very similar to URQL, which means that for those who are familiar with the "lesson" it will be easier to understand. But the syntax of the language is designed in such a way that all symbols of basic structures can be typed without changing the keyboard layout in Russian. This is very convenient when, as they say, inspiration has found, and there is no time to stumble over English-speaking operators.

Lesson 1. Create an online text game from scratch.

So, from simplest to simplest.

Writing an Apero game means writing “code” that the Apero platform understands.

What is the “code” for Apero?

Don't be afraid of the word code, there won't be any "010010" from the matrix here.

Apero code is plain text marked up in a special way.

During the learning process, immediately try to perform the examples that we will analyze.

To do this, create a test online game for training, for example, name it “Training” and a description, for example: “This is my game, in it I will learn how to create my own text games online on the Apero platform.” (Available to users only)

Click the “Create!” button, and the game will appear in your development list. After this, a block for editing the source code will appear, where you will enter your code. There is already a basic source code for the example, but it can be removed.

After that, you can click the “Test run the game!” button, and the page of your just created new online text game will open, where you can see what the game will look like for the player.

This is how a text game is created right here on the online site. Now go back to code editing and delete all the base source code for the example, now we will create an online text game from scratch.

Text output

Let's write the text. Just enter any word or sentence into the form to enter the source code. You can do it in a few lines (via enter). For example like this:

This is my game, in it I learn to create my own text games on the Apero platform. I'm good at it.

After that, click the “Test run the game!” button. and find out what the player would see after starting this text game.

As you can see, exactly the same text appears in the right block.

The platform works like this: Starting from the first line, it goes through everything in turn and displays them to the user.

\STOP

But we don't write books, we study create text games, and therefore we don’t want to show all the text to the player at once.

To stop the platform you need to write this:

\STOP

Pay attention to the first character in the line "\" - it is a forward slash. It is also called "backslash".

This is a special character for the platform so that it understands that this is a command and not regular text. If the word "STOP" was written in the code without a backslash, then the platform would simply display it to the user as plain text.

To understand how the stop command works, let's run the following example:

This text will be shown to the player. \STOP But the text after the stop command is not.

After that, click the “Test run the game!” button. and look at the execution result.

The platform shows the player the first line, then encounters the STOP command and stops execution. It's simple.

The word "STOP" itself will also not be visible to the user during the game; this is proprietary information.

\Locations

Now we need to learn how to move from executing one piece of code to another. To do this, you need to break the code into separate sections, or “locations” in other words.

To distinguish locations from each other, they must have their own names. Moreover, they are unique, that is, the names of the locations should not be repeated.

If you want to be sure that the location name is specified correctly, use only lowercase Cyrillic and Latin characters and the "_" sign to separate words in the variable name.

The names of the locations will not be visible to the user during the game; this is proprietary information for the author.

Don't forget to write a line with the command at the end of each location \STOP.

Let's write a couple of locations:

\First location This text is from the first location. \STOP \Second location This text is from the second location. \STOP

In the code above there are two locations named "First Location" and "Second Location".

First the code is executed starting from \First location and up to the team \STOP

After launch, we will make sure that only the code of the first location is executed. How can the player get to the second location? For this there is buttons.

\BUTTON

The button is created like this:

\BUTTON(Second location,Go to second location)

What happens after the launch? A button with the text " Go to second location", which will be visible to the player. And if he clicks on it, he will be taken to a location with the name " Second location", which should be declared below.

Add at least one button at each location. Please note that if the location with the name specified in the button is not declared in the source code, an error will appear. Therefore, for each button there must be a location to which this button leads.

Now let's remember what we learned in this lesson and consolidate it all in the next example.

\First location This text is from the first location. \BUTTON(Second location,Go to second location) \STOP \Second location And this is text from another location - “Second location”. \BUTTON(First location, Return back to 1st location) \STOP

Let's run it and see what happens!

The buttons work, when pressed we can move around the locations.

Even this is enough to create your own simple online text games! Now try it yourself! Practice, create several locations, create several buttons in them, not just one! This concludes the first lesson, thank you! In the next lesson we will learn how to create variables and conditions for forks! [Lesson 2. Creating forks in text games in developing]

Who doesn't like to play on a computer or smartphone? There are probably only a few such people.

For some gamers, their love for games goes so far that they begin to understand the entertainment itself and dream of creating games themselves. Well, today there are many opportunities to make this cherished dream come true!

If you want to create your own toy at your leisure, check out the list of special free programs for this.

Blender



Free professional software package for creating interactive games and three-dimensional computer graphics.

There are enough tools for work for both beginners and professionals. Blender contains tools for modeling, animation, video and sound processing.

The program is a full-fledged editor, which already contains the main textures, event handlers and models. If you need additional features, you can download plugins: they are created by both official developers and users.

But you will find lessons on working in this program.

Go ahead, create new universes!

Unity 3D


This is a powerful environment for developing applications and games, including mobile devices. Games created with Unity 3D run on Windows, iOS, Android, Playstation 3, Xbox 360 and Wii. You can create games of any genre; Textures and models are easily imported, and all popular image formats are supported.

Scripts are primarily written in JavaScript, but code can also be written in C#.

Training materials on working in the environment (on English language) you will find on the official website following the link.

Construct Classic

Open source 2D and 3D game builder. No programming knowledge is required to operate. All you have to do is add an object and turn on the animation.

There is no Russian-language version, but the interface is very clear, so you can work even with basic knowledge of English.

The designer is not only free - it is open source, and if you wish, you can customize it and edit it as you wish.

You can watch Construct Classic lessons.

Game Maker Lite



Free development software simple games, any genre: platform, puzzle, action and 3D games. Suitable for beginners. You can use your own images and effects, or built-in programs. To access more choice images and effects, you need to register.

No programming knowledge is required to work, but some scripts can be written independently, if desired. So this program can also be used to teach programming.

Lessons on working in the program for beginners are on this site.

Unreal Development Kit

Free engine for creating games. Very powerful, with tons of features and tools for advanced visualizations and detailed simulations. You can create games for many modern platforms.

The program already includes textures, models, sounds, sprites, and scripts. All that remains is to combine and create your own game.

Video tutorials and manuals for working with the program can be viewed.

Game Editor

An editor for creating simple 2D games OS Windows, iOS, Android, Linux.

There are built-in sets of animations that are responsible for appearance characters. You can use your own graphic elements. The program also provides a standard set of reactions that determine the character’s behavior in the game. But you can create your own, using a special script Game language Editor.

3D Rad



Free program for developing 3D games and interactive applications. There is no need to use code, so creating your own games is quite simple.

The game is created by selecting various objects and setting up the interactions between them. There is a function for importing models, a large number of examples and samples. You can distribute finished games as a full-fledged web application or program. It is possible to embed games on web pages.

Game Maker: Studio

Free Creation Toolkit mobile games. A simple, intuitive interface that makes developing games quite simple. No programming knowledge is needed, since you don't have to write code manually.

There is nothing superfluous in the working window of the program. Games developed with Game Maker: Studio are cross-platform, and ready-made applications can be integrated with Steam.

NeoAxis 3D Engine

A universal environment for developing 3D projects.
This is a ready-made engine with its own models, textures, physics, templates and graphics. There are even 24 ready-made, full-fledged cards!
It can be used to create not only games, but also single models and complex software visualizations.

All that remains is to turn on your imagination and create.

Are you itching to create your own game? No problem. Choose a program and go towards your dream!

If you came to this site, it means you like computer games. Today, there are thousands of games in different categories, from simple shooters and solitaire games to complex multiplayer online strategy games. And many companies continue to create others, delighting fans with exciting new products. A team of professionals, from programmers to designers, works on every game, even the smallest one. It is difficult to get into such teams, even if you have the appropriate profession. But you are invited and given the opportunity to create a game yourself.

How to play?

You don't need knowledge of programming languages. You will have to work with ready-made templates. They are located at the top of the screen. By clicking the mouse you can select objects and their future location. The game has only two characters, several types of bonuses, platforms and much more. Actions should take place against the backdrop of mountains. When you have selected everything you wanted to see in the game and found a place for each object, click on the “next” arrow. Now it appears on the screen ready game, which you can try first. Happened? If you see mistakes, you can go back.

Here you can play the online game "Create Your Own Game" for free.

What should future game developers consider? Which language should I start learning with? What to strive for? Who to look up to? And what needs to be done first?

Most rock music fans sooner or later pick up a guitar. Sports fans passionately dream of going to the football field, basketball court or tennis court. Well, those who have committed hundreds of thefts in GTA, spent dozens of hours in computer clubs playing Counter-Strike, or achieved considerable success in MMORPGs are probably thinking about a career as a game developer.

The problem is that this area is taught in only a few educational institutions. Therefore, most game developers are self-taught, having once compiled curriculum. But what nuances did they take into account? Where did you start and what did you strive for? What language did you learn first? We tried to answer these and other pressing questions.

What to strive for?

Before going to the store, you make a shopping list (at least in your head). Before traveling to the other end of the city, plan your route. Well, before learning how to develop games, it is advisable to ask yourself: what exactly do you want to do? Create mobile applications or browser games? Work in a large company or a small one? Should I develop games professionally or devote my free time to it? And if the first, then what interests you more: creating an interface, polishing the gameplay, or writing scripts?

Correct goal setting will help save a lot of time and effort. In addition, it will allow you to reach your final destination by the shortest route. Without the risk of leaving the road or falling into a swamp.

What language should I learn?

In addition, the answer to the burning question depends on the goal: what programming language should you start with?

So, future developers of games like Minecraft and mobile applications For Android, you should pay close attention to Java. To begin with, we recommend taking an intensive course, especially since it is free. For those who are looking towards iOS - Objective-C. For browser games, sometimes knowledge of Ruby-On-Rails is enough. For very small and simple ones, HTML is sometimes enough. Flash game production uses ActionScript, and to write scripts of any complexity you will need JavaScript or perhaps the less common Lua. To create small console games C# knowledge required.

As for the most large-budget games (the so-called AAA class), most of them are equipped with their own engine or one borrowed from their colleagues. Often, however, the entire “engine” or most of it is written in C++. It was this language that was used to create many famous “toys” - from Doom 3 and Call Of Duty to FIFA and The Sims. While classics like Quake were written in C.

However, there is a catch in mastering C++ - excessive complexity. It’s not for nothing that they say that taking on C++ without knowing other languages ​​is the same as starting to study mathematics with linear equations.

Is one language enough?

One of the beauties of programming is the opportunity for constant self-development. In the development of games (especially large ones), self-improvement, including learning as many languages ​​as possible, is not a whim, but a vital necessity. So, experienced developers working for the benefit of giants gaming industry, are often faced with the need to write alternately in 7-8 languages. At the same time, in addition to the above languages, they have to learn, for example, Python or even SQL (as you understand, to create databases).

Therefore, if you decide to throw in your lot with production big games, be prepared to become a "polyglot". In addition, the more languages ​​you master, the more interesting and varied tasks you will be given. And, of course, your chances of getting your dream job will increase significantly.

WHERE TO BEGIN?

Before you commit trip around the world, you need to learn to walk. Well, before a serious game project, you need to try your hand at something less significant.

Almost all experienced developers, regardless of credentials and talent, started with small applications: board games, variations of well-known “toys”, simple “flash drives”. Then they did not think about large exhibitions like E3, but accumulated invaluable experience. Why not follow their example? It is not necessary to write extremely complex code. For a debut, it is enough to use special programs for creating games (for example, Game Maker). After all, even with simple tools you will make your life much easier. Firstly, you will understand in miniature the logic and structure of almost any gaming application. Secondly, you will get bumps that will heal during the transition to serious projects. Finally, thirdly, enrich your portfolio. After all, even a simple “toy” requires a lot of time, patience and creativity to come up with a concept, write code and fix bugs. In addition, it shows that you are familiar with game production not only in dry theory.

What to take as a guideline?

Anyone who dreams of becoming a writer will read hundreds of books before writing a single word. Piano masters know the best works of Strauss, Chopin and Beethoven by heart. Famous artists memorized art history before major exhibitions.

The same principle applies to game development. You can't develop in a vacuum. Therefore, play, be inspired by the masters and, like a sponge, absorb the best. At the same time, try to look at applications not through the eyes of a “gamer”, but through the eyes of a developer. In other words: transpose the game. Think about why at this moment in time the “bot” ran to the left and not back? What factors change the strength and accuracy of a strike? sports simulator? How to create a “fatigue effect” when a character runs for a long time? How to make sure that when it rains, the player hears the sound of drops, and not the squeal of a pig? In general, get to the point. Try to recreate in your head the algorithms you encounter during the game. Believe me, such a constructive approach will help you in your future difficult, but damn exciting career as a game developer.