📜 ⬆️ ⬇️

Escape from the office, or how we started developing our mobile game. Part 1

image

Preamble


At the moment I am a project manager in a small team of developers assembled from colleagues in my main job. We are engaged in the creation of games for mobile phones. From the moment our team began to form, and we began to meet more or less regularly, exchange ideas and take our first steps in mobile development, about a year passed.

Now we already have a little experience in this direction, the first game is undergoing beta testing, besides, some layer of thoughts and conclusions has accumulated in the course of the process, and not only that.

If there is time, I will try to keep a mini-blog of our successes and failures, express ideas that our team visited during the work. Many of them will seem controversial, and I would be glad to have a constructive discussion in the comments.
')
Next time I will talk about how we chose the engine for the game, what Unity is good for, and why the next project will be done with the help of LibGDX. And today I will describe briefly how the team was formed, and a vision of what it was worth doing was born in the discussions.

Why mobile development?


At the main place of work, my colleagues and I deal with automation systems in a fairly large and successful company. And, like many, at some point, we had a desire to try some new area, something small can build, but its own.

The first experience of mobile development, such a “shot at random” was the creation of a pair of simple reference books for the Android OS. Not the most competitive category was chosen - Medicine. Despite the fact that there were already several handbooks with similar content in the Market, the rate for a more attractive interface design and high-quality application icon was justified. This pair of unpretentious applications brought several tens of thousands of rubles of net profit, a lot of positive user feedback and the feeling that you can earn money in this market as a whole.

Selection of a specific work area


Next was the question: what to do specifically? For myself, I introduced the following simple software hierarchy:

Of course, the most tempting was to take on the grocery software. There, the scope for creativity is wider, and vaguely loomed a chance to pull out your golden ticket, and finally buy yourself a Ferrari / Lamborghini / <your own version>.

It seems to me, it’s already pointless to use useful software - apart from different services, and it is software that helps the user in some way and is not pure entertainment, but everything seems to be done for everyone here. Thus, it was decided to start developing games.

Software vs services


I will make a small remark. It seems to me that the market of grocery software is already exhausted. Of course, to write to order, meeting the specific needs of the current customer, it will be possible more than one thousand years. But try to make a new word processor or file manager - and without a huge investment, you are likely to fail.

Another thing is services. Here, too, there is room for programming, but all these web sites, databases and mobile clients are nothing more than an interface for contacting the service. The core of the service is a base of people and well thought out ways of their interaction. Well, the correct monetization scheme!

In general, I think we need more services, good and different, with convenient mobile interfaces, with a high degree of integration. It seems to me that this is a big market, and there is still a place to go for a walk. I personally begin to keep a closer look at him.

Team building


To be honest, working in a team made up of colleagues from the main work is not the best idea for creating a business. On the one hand, you already know who is capable of what, and feel some support from them.

On the other hand, really fresh ideas appear less often in such a tight circle. In addition, too strictly demanding from colleagues the fulfillment of their project responsibilities, it is possible to complicate their interaction with them in the framework of their main work.

Although of course, how else to assemble a team of good programmers, not to pay them a salary and at the same time get the desired result ??

In order to organize teamwork, you need to captivate people. It seems everyone knows that. But how to do that? In fact, everything is simple, here are three main factors:

Factor 1. Many of us cherish plans to create our own products.

Factor 2. For many, strong motivation is working with new technologies and environments. After all, a programmer is inconceivable without permanent education: you did not keep up with the latest trends - and that’s all, you are a dinosaur. Many understand this very well.

Factor 3. As for me, the best way to tell something and captivate people is a presentation. Yes, a banal thought. But this is exactly what you need. Do not rely on your eloquence and the ability to beautifully draw diagrams on a piece of paper. Open PowerPoint, write text, insert colorful illustrations, rehearse your speech

How to prepare a presentation is very well written in Guy Kawasaki’s Startup book. By the way, I realized that the main factor determining the quality of your performance is the amount of time spent at the rehearsal. Want to make the most impression on the audience? Put the laptop on the table at home, straighten your shoulders, introduce your listeners and tell what you have cooked. Then again, and more. Imagine what questions the audience will have. Come up with lokanichnye answers to them. Tell your presentation to your cat, girlfriend, friends who had the imprudence to come to your home. In the end, you will learn how to convey your ideas, how Madonna sings songs on stage, and with the same grace answer any questions from the audience

Factor 4. Another banal thought. To captivate people with an idea, you need to be passionate about it yourself. There are a lot of people in the world, smarter than you and me, and very ambitious plans, but nothing makes such a strong impression as someone's burning eyes

Teamwork


Here I will simply list my short experience and conclusions, which I drew from it:

Conclusion 1. Before starting the development of a new project, be sure to read Joel Spolsky “Joel about programming”, all parts

Conclusion 2. Remote work, when everyone kodit from home, at a convenient time, and does not communicate very well with other project participants, is evil. When a new project begins, a new technology is being studied, so it is impossible to work. Gather the whole team together, and as often as possible. Let even at home on weekends and in the corridors at work on weekdays. People should communicate, exchange thoughts, emotions, experiences. So work is much better and faster.

Conclusion 3. Do not put a cross on colleagues who initially make a small contribution to the project. But do not let idle. If a person says that he is determined to seriously participate in the project, but he doesn’t have enough time to work a lot now / something doesn’t work out / he didn’t understand the task completely - just arrange a small check. Let him choose the task and the deadline (reasonable, of course). If the selected task is solved within the set time frame, continue to work with it. If not, reduce the team by one person.

Conclusion 4. Hire a designer! Never rely on your knowledge of interface usability / knowledge of 2D-3D editors. Even if, as a result, with the help of five programmers, you create a sane design, the time spent on it will be prohibitively high.

Conclusion 5. Make sure that everyone can choose the work he likes. Pay attention to whom some areas of work are interesting. All people are different, someone wants to code a new visual effect, someone doesn’t mind digging into the depths of technology, someone can’t wait to make a business card site. It is very important. Distribute tasks without personal preferences - get extremely low efficiency

Find out preferences in different ways. For example, so. Touch on the general meeting of the team idea to make this or that area of ​​work. The one who starts to discuss the task with great zeal, offering his ideas on how to do it better, is most likely the most obvious candidate for execution.

Afterword


At the moment, all team members work almost every day. For an hour or two on weekdays, and all Sunday at my house, turned into a mini-office with a bunch of extension cords, A4 papers and handles on all the window sills and a vase of cookies. Work is now moving many times faster than at the beginning, we complete the beta-testing of the toy, bringing the last gloss. Soon release on all major mobile platforms. And, I hope, success!

Next time I will talk about how we chose the engine for the game, what Unity is good for, and why the next project will be done with the help of LibGDX. [I apologize for copy-paste from the first paragraph] That's all for today. Good luck in your endeavors!

Source: https://habr.com/ru/post/232609/


All Articles