Teach and learn Unity3D in Kaliningrad

the Black box. This for me was the process of creating games until until I downloaded Unity3D. The black box was mysterious, attractive and alluring, I really wanted to try, but on the inside pop up annoying thoughts: it's hard, you can't, the game the pros do, you need a big budget, it is long, it is expensive, you do not understand, you can't, you..., And so on, you probably remember what I mean. But still had doubts, it seemed to me that the situation is slightly simpler, and this was to say the increasing number of so-called indie games.

Unity School

About three years ago somewhere on the Internet I clicked on a banner, saying that's it, the tool you need for creating games. Opened the site, which for some reason liked it and forced to stay, and the word "free" caught my attention completely. It was the site of the company Unity Technologies, I went through the links and without looking I clicked on the fix. The program is downloaded, the installation was successful, the launch was also no problem and cheers! In front of me whether Photoshop, or 3D Max, and even programming can, and even games... Remember how I said, "Why are you doing that for "pukalki" why, why". But it was impossible to break away elegantly, quickly, beautifully, gracefully, you can make games, and flight of fancy is not limited to, the possibilities are many, the concept of logical three-dimensional space, the store is. Yes, and the documentation is great, I want to mention is the advantage of the company Unity Technologies, which, in my opinion, gave her a lot of points handicap compared to other developments: on the website of the company can be found and lessons and finished projects, and answers to questions, user guides, reference functions, community, question — answer etc. All with examples, clearly, is available.

I made a couple of games on the table: shooting a spaceship in the style galaxy and a simple arkanoid. Because all my life I was interested in the field of education (by the way, by education I am interested not only in theory, is constantly taught in various educational institutions long and short-term courses), I suddenly realized that this is what is missing in our region: Kaliningrad nothing and no one today teaches to make games. I mean in schools and VUZ Ah. And in commercial training centers too. Schools forgivable, but that's why colleges and universities still do not enter this course?

In this post I want to share with you the experience of learning the basics of creating computer games using Unity3D, to talk about the complexities of this process, why it should be done, how to do it better than we here, in Kaliningrad, engaged in this direction. Let see some videos, photos, thoughts, links, experience, plans, questions, advice, requests, recommendations. We really need your feedback!

Will start from afar. Remembering his training in the University in the distant ' 90s, can make only one conclusion: there were very few practices, tied to the real life of the future specialist. Studying the subjects (and it is a speciality 220200 – automated systems of information processing and management), I was already in a mild surprise: and as the whole mass of theoretical knowledge to practice? Where to apply? What we all learn, do coursework, write the diploma? Well aware that no theory anywhere, and thanks to our teachers for what don't kill us in the classroom for frequent idiocy and lack of understanding the obvious. But getting diplomas, we left the doors of the University at the end of June 2000, almost useless. We only had pride for five years and the piece of cardboard that we hold in our hands, but practical knowledge, would allow the rhinestone to integrate into the workflow in any organization – not one bit. Do so. Remember how I miraculously without experience get a job in the newly opened Bank, where I had to study the wisdom of the UNIX, servers, complex networks, not to mention software applications of which I had not even heard. Thank you to the chief accountant and the Manager that gave me a chance!
Constantly teaching various courses on multimedia technologies, I came to the conclusion that trainees are interested in doing something practical. Something real, something you can touch, see and use right away: movie, website, animation, program. Let the result be small, let it be unfinished, but it will be learning through the project. Plus the personalization of learning.

Project — based learning


The concept of project – based learning has been successfully applied in various educational institutions in Europe even at the school level. No need to copy, of course, but look, learn and take the best possible. In Russia traditionally was a great middle and high schools with their specifics associated with our language, history, geography and economic status. But times are changing. Experts really a little of knowledge are divorced from practice, teachers do not have time, the erosion of borders and language barriers.

John Dewey, American philosopher and educator, in his work, Dating back to 1897, first outlined the idea of learning by doing (training in the process). "D. Dewey put forward the idea of creating a "tool" of education, built on spontaneous interests and personal experiences of the child. According to this concept, training should be limited primarily to gaming and professional work, where every action of the child becomes a tool, his knowledge, his discoveries, a way of understanding the truth. This way of understanding the pragmatists seemed more appropriate to the nature of the child, than the usual communication of knowledge system". Read more with the work of Dewey, you can see from this articles where I took this passage of text.

I am very impressed with this concept. Let's analyze this: you must learn a programming language. You can do it on the basis of theoretical tasks: sorting arrays, computing equations, matrices, task graphs, etc. of Tasks, which displays a numerical result on the screen. But to learn the language and fundamentals of programming is possible in other examples: register on the website, rotating by pressing buttons on the keyboard the cube, the robot's behavior. Moreover, I believe that the same theoretical problems of the classical approach to learning can be effectively studied as a result of performing such practical tasks. To register on the site to make a program with a call to the database, to display a rotating cube will need to work with arrays, and the behavior of the robot would have to describe by mathematical equations. Mission accomplished, but in a more playful, productive form, which can show you can boast, you can "feel" and see. Moreover, in this approach it is possible to clearly carry out the personalization of learning, as someone interested in working with graphics, and someone with microcontrollers.

A little carried away, sorry. My task is not to radically change the education system or to criticize the existing methods. Approaches to learning a lot today, and middle and high school cope with their tasks and categorically impossible to say that everything must change, no. I'm just trying to show you your mind and to bring to computer games.

Computer games


Games play: for school and University students, young professionals and elderly retirees. But computer games, do not you tell me, is a complex fusion of different technologies in one product. Three-dimensional modeling, texturing, design, animation, physics, mathematics, programming, psychology. And to study these complex sphere of activity of humanity is much more interesting, in my opinion, it is based on the creation of simple computer games, as is the end result that is understandable to young people, interesting young man, and the idea that "I made the game" will allow to continue the further training, covering more complex concepts. And with the increasing complexity of the project, interest will not be extinguished, as the result will be understandable and clear, the result will be in play.
Unity3D seemed like the perfect environment for this. Perfect in every way:
the
    the
  • the Threshold input this software into the educational process is extremely low: the program is free. Plus you can install free SketсhUp and Gimp and you're ready to start learning the basics of creating computer games. The rest is just a matter of personnel, i.e. the person who is going to teach that his knowledge must be vast;
  • the
  • Unity3D environment for designing three-dimensional games. Today any student of knowledge affects the characters three-dimensional games of different genres, proven. I.e. the three-dimensionality of computer games today is a given. Unity3D allows you to explore the concept of three-dimensional graphics, supporting native file formats of the respective programmes. Plus, when you use scenes of three-dimensional objects, in my opinion, actively develops the imagination and laid the skills that can be extremely useful in the design of objects in the architecture, automotive, industrial design, etc.;
  • the
  • Physics in Unity3D fascinating and entertaining at the same time, you can achieve great results. Oleg Member, Unity3D Evangelist, told me that their software is certified by many agencies (particularly NASA) and used in various simulations. About our personal meeting with Oleg, I will talk about below;
  • the
  • as originally the program was created by the developers of the game GooBall, the Unity3D interface is easy to learn and convenient to use;
  • the
  • Programming in Unity3D leads to visible events, what I said above, that removes the "boring" component: all of my students hard to Wade through the jungle of code, as we expected the result of their own aircraft to shoot their own bullets with their own special effects. You should have seen these gleaming eyes of students;
  • the
  • Excellent examples, documentation, and ready-to-play projects allow to study complex concepts;
  • the
  • Large community will not allow the learner to remain one, you can always ask the question, plus to improve your English.


This is only part of the benefits. All the rest can be assessed, probably at the level of subjective feelings: learning Unity3D alone, I just didn't notice how I was very fascinated by the process of the creation of game scenes and started to solve difficult problems. Tasks, solution of which, as I previously thought, I can find only professionals, large studios and big budgets. Black box gradually started to become translucent.

With whom to engage, that is the question


Having developed two learning the basics of creating computer games using Unity3D, for pupils and for students, two years ago, I visited, respectively, in several regional schools and two in local University. From schools I haven't received feedback at all, and with the Dean of the faculty at one of the universities I was able to talk personally on the phone, then he sent me to his Deputy, who in turn, sunk into oblivion: no letters, no phone calls there was no answer. The Department from other universities in General, all very sad. I deliberately don't call names and passwords, as in this article it does not matter. The situation is understandable, you just have to slowly change. By the way, article here, on habrahabr, the topic of education, which appeared just in the process of writing this opus.

I decided to apply to commercial structures. A long-standing acquaintance with Oleg Vidyakin led to the fact that we had organized the training course on creating computer games based on its center. Oleg responded quickly to my offer, three student studied Unity3D in the past academic year.

Think sometimes it is more difficult than to make


The first thing I asked the guys to figure out simple game. It was difficult, none of my first three trainees failed to perform this seemingly simple task. And here are a few sessions we addressed issues associated with the creation of the concept of computer games: story, characters, appearance, environment. And, for guys (and for myself too) I have developed the following strategy for "inventing" game:
the
  • Create the plot according to the classical scheme "the plot – the main action – climax – denouement". With one of the students we started as a dispute of whether there are games with no story. He proved, done that happen. But, in my opinion, the story brings into play an even greater meaning than simply a pastime. The plot allows to keep the player in front of your product opens up all new facets of your game that stirs interest. Also at this stage are defined with the main idea of the game and genre: run, shoot, jump, swim, put, first or third person, etc. still appear the name of the game and character names;
  • the
  • Define the purpose and features of the game, identify its main differentiator against existing competitors. At this stage we consider similar developments, identify their strengths and weaknesses. The goal is extremely important, as it helps to immediately prioritize the development: whether we want to earn money, whether to surprise the world, whether to learn, or all together;
  • the
  • At this stage developed characters: the chief, enemies, minor characters;
  • the
  • Technical specification – here you specify with platform selection, select the engine, is determined by additional external modules;
  • the
  • record Everything. A very important step, record every detail, every phrase, they can be very useful in a week, a month. And, rather to talk about permanent process records: at all stages of building the game throws all thoughts on paper. Building a playbook, draw units the relationships between the objects, create on paper the levels (at least approximately). Fix capabilities and skills of the character, the features of the environment and objects, and in object – oriented models: initially defined with properties and methods of each object, essence and character in the game;
  • the
  • Draw the sketches. This process can also be stretched and smeared in all previous stages;
  • the
  • And that's when all of the above ready – go directly to the construction of scenes in Unity3D.


  • Looking forward to your comments and absolutely do not claim perfection of the process described above. Certainly, it is possible to optimize and improve. But these points literally changed the guys: they are after the two began to think very differently and each game was already examined more closely and intently than before. It is the result, agree?

    We created a platformer called "Dvorak" ("Dworax" in English. version), story and interesting characters. Is there a website dedicated to this initiative, but I understand from the rules, what's not to love when they place links to their resources, right? So while I will not.

    Dworax

    For the academic year managed to do the first level, and then not until the end, the result is extremely low, but it is the objective, in my opinion, the reasons. First, Oleg Vidyakina that year were bad computers. And this is the first conclusion that can be drawn: learning Unity3D, you need to spend on "iron" well, at least slightly above average. Preferably widescreen monitors and high resolution, but preferably two, video card – more powerful, turning all the same three-dimensional space and objects, the memory also preferably more.

    The second reason – the classes were held once a week for half an hour. Still, this number of hours is very little for a successful study of even simple concepts. Therefore, another conclusion is to study and teach the creation of better games at least twice a week for two hours minimum with mandatory homework.

    Must have access to the Internet. It would seem that this is obvious, but when in the classroom it is not or the speed is extremely small – it is extremely annoying.

    Regardless of objective and subjective reasons, we graduated in may, addressing the following: the application interface, basic concepts of Unity3D, Javascript basics, moving, and placing objects in three-dimensional space, the interaction of objects, motion of objects, the use of the Asset store Unity Technologies company, the use of textures and particles. If interested, I'll post the results and I give you the link. Yes, a feature of these developments was the use of a two-dimensional sprite sheet for the animation of the main character, a dwarf, in a three-dimensional environment. Quite an interesting effect happened. Unfortunately, we had to use third party materials (models, textures), as the time and the lack of software is not allowed to consider three-dimensional modeling and texturing.
    Come summer 2013, and we with Oleg fled, and, on my initiative, of course. To my inquiries about upgrading equipment, I have not received a positive response, Oleg came up with another project for their courses – a creative Studio for computer games, what one of his teachers recently wrote here. I wish this project, of course, success and prosperity, but openly against the choice of platform and programming language, which we with Oleg have talked repeatedly. Sorry for the harshness, but I am entitled, I think, to Express their opinion and can, if necessary, confirm it by arguments.

    CAIRO


    During the last school year I applied to CAIRO (Kaliningrad Institute for educational development) proposals for conducting various short term courses for teachers: three-dimensional modeling using Autodesk 3D Studio Max, creation of interactive electronic books using Apple's Ibooks author, the creation of computer games using Unity3D, computer animation using Adobe Flash, creating websites using CMS "Wordpress". Too lazy to read the link above, CAIRO — state Autonomous educational institution of the Kaliningrad region of additional vocational training (improvement of professional skill) of experts "education development Institute", the structure, one of whose tasks is the training of school teachers.

    Sunny beach and gifted children


    We have been cooperating, and here in the summer from the organization received an unexpected offer: to make something creative and connected with information technologies for gifted children in the first shift camps "Solnechny Bereg" in the village of ushakovo near Kaliningrad, on the shore of the Kaliningrad Gulf. A little bit of information from the media: "...recall that the region has created a model of a network of educational institutions for the implementation of physical-mathematical education, which gives the opportunity to develop the most promising form of organization of education according to individual educational route, including using distance learning technologies. Growth of quality is expected, primarily due to commonality in training and use of the potential of network interaction within the network and beyond. From 1 September 2013 of profile physical and mathematical classes will run 20 basic schools in the region, linguistic – fifteen. Their main task is the identification of able children and their learning programs are promoted. And during extracurricular activities, students will undergo training in the "vacation schools" in ushakovo". More information about this summer held two sittings in the relevant camp in ushakovo can be found on the Internet upon request the benefit of its (information) a lot really, but below is a video created by the guys. Who cares — take your time and get a General idea of what is happening.



    The proposal was very unexpected, hard (five days to tell and to do with students real project), but I, as usual, is not refused, and the choice fell again on Unity3D. At camp the guys for five days (the entire change lasts for a week) are studying various courses in the first half of the day. Moreover, courses students choose themselves. The change opened. In my course called "Theory of games" (a bit unfortunate name, but the organizers later corrected himself) has recorded about 30 people, that's why became a little scary. We divided the speakers into two groups, and I spent the night before the first lesson I thought, how better to organize the educational process: time is extremely small, of the information necessary to give a lot, but it failed, honestly.
    We decided to do a project, and I chose to shoot the spaceship in the style of the galaxy, which he did. Of course, all the basic building blocks for the scene was scattered on the computers of the learners (models, textures and scripts), but another option is simply not there, to give five days that stored in the head and will at least learn something you can, in my opinion, the only way.

    The result was stunning: the guys were very interested in the process, enthusiastically studied the program, listened attentively and eagerly wrote down the main concepts. Below is a small montage of these classes.



    However, everyone in the camp was extremely motivated and serious, but it is not bad. In General, my overall impression of organized here in Kaliningrad, the center is extremely positive. When I first came to this enclosed area, I was reminded of the summer camp of our past breath of childhood, but in a modern way with computers, Internet, renovated buildings, interesting teachers, the General benevolent atmosphere.

    All successfully finished the project. Many did more than was planned. Most include imagination and creativity made in your scene: changed the spaceship, asteroids, particles. Please note in the video below: this is the Yang protects the project (at the end of shift were carried out so-called project fair, when the guys told their parents about what they were doing five days). Yang finished fourth grade, but he has not caused trouble almost none of my suggestions, and your project made it unique.



    But most importantly 12 people want to learn further. Can you imagine? Immediately, almost half, that is a lot. And so it was decided to open courses on Unity3D-based information center, which refers to CAIRO, which we continued with the trainees learn more advanced aspects of creating computer games. My friend proposed to call this initiative of Unity School, for which he thanks a lot, and a lot of pictures and information about pupils and the classroom is on the site of the same name, come!

    Unity Developer Day in Kaliningrad


    The course was opened on 7th July 2013, but before that, there was another loud for our region event – the Unity Developer Day conference. The report about this interesting event can be viewed at the link. Thanks to the organizers, namely Andrey Arutyunyan, which allowed to make a presentation, which caused an active discussion. I said, as you know, about learning Unity3D. There were many questions and opinions, and one of them astonished me: it is not necessary to teach basic programming skills on the example of Unity3D. Say, you have to give the "old school" programming, to start with the basics, etc. I do not agree with this opinion and believe that to show the student that such programming is much easier on the example of creating the game than in the example of programming access to databases in Visual Basic. And I actively supported Oleg Member, who was the keynote speaker at this conference and, of course, a representative of the company Unity Technologies. Oleg took the microphone and gave one interesting example: an artist, not a programmer, created one game on Unity3D with which he now earns serious money. And that, to forbid him to live in a new house and drive a new car just because he's not "old school" programmer? I think the answer is obvious. There is a place for discussion, but let us continue.

    Oleg Member left his card, after the conference, we talked a bit in an informal setting, and on the following day I was contacted by Joana Kodyte, the representative of the company Unity Technologies, who oversees the educational programs in Russia. We talked pleasantly for a long time, and the company gave courses 14 Pro license that I am extremely impressed and confirmed in the seriousness of their intentions. Licenses we have not yet used unnecessary, but especially those interested might want to learn about LOD, dynamic shadows, "zapekanie" textures, the use of the NavMesh and other features of the engine.

    Unity School


    The month with the guys, we did a simple scene: a flying machine, controlled by the player must fly through the rings above the landscape. The rings appear randomly, while flying through the ring generated special effects, the location of the next ring indicated by the arrow. The results of the activities can be found on our website, which also opened the voting for best game, and the winner will receive a prize. Enthusiasm should be encouraged and supported, so leave your vote, if you're interested, you will be able to influence our choice!

    image

    In August there was another shift camps "Sunny beach", where the guys again, along with other courses, immersed in the wisdom Unity3D. All went well, this time on the course enrolled about 50 people. The finish came not all, but starships were launched, and interest was awakened.

    At the same time I was contacted by someone from Moscow, who wished individually remotely Unity3D to teach my son who is doing a project for school. The project is very interesting, and if you have the time and the sponsors will want to share, I will make a description of the developments here, it is really worth attention.

    Today is the second course Unity School. In connection with the hustle and bustle of a new school year, we have extended the list of speakers. In the summer I contacted Valve, who launched the project Pipeline, the results will be discussed later... negotiations are Underway with several local studios and education centers in Ukraine and Belarus on short lectures, covering more complex aspects of "gamedev". In CAIRO have the equipment, allowing to conduct training remotely, and we negotiate with the information center of the Institute on the opening of courses for those who cannot visit in person to an audience. Since the end of September I open a constant number of webinars and invite all to join them. Our webinars cover everything animation system Mecanim, especially the import of three-dimensional models, preparing graphics for the game, creating a controllable character, shooting, GUI, save the results, store inside the game physics, Unity3D extension due to third party development, multiplayer, the sounds in the game, and much more.

    The purpose of this article, along of course with a kind and informative component, is also trying to attract the attention of different structures to what is happening in secondary and higher education, to real opportunities to increase the interest of young generation to creation, not consumption. We don't need a society of consumers. Let's nurture and bring out the best representatives of the generation that would bring yourself, us and our still small children to more serious results. To create the games interesting and exciting. To create games at the same time and, as I told the Deputy Chairman of the government of Kaliningrad region Alexey Nikolaevich Silanov: another aim of these courses is the desire to convey to young people that game development is not only fun, but work, daily hard work brings a profit, increasing the budget and well-being of the individual and the region, the country as a whole. I call for the cooperation of the company, developing games that appeal to teachers of schools and universities, to the students: let's be a little more agile, let's build practical skills, not just theory, divorced from reality, let's be creative and modern! Thanks to everyone who read to the end!
    Article based on information from habrahabr.ru

    Comments

    Popular posts from this blog

    Powershell and Cyrillic in the console (updated)

    Active/Passive PostgreSQL Cluster, using Pacemaker, Corosync

    Automatic deployment ElasticBeanstalk using Bitbucket Pipelines