About teaching programming and New Year's Eve troubles of the "robloxer" grandfather

Recently I read that many famous and wealthy people at the end of their life regretted only one thing - that they did not devote enough time and attention to their children. The Kommersant edition quotes: "Nothing brings greater satisfaction than participation in processes that exceed the duration of your own life." That's right! I'm almost 70. And I'm a happy grandfather! I have a grandson - the only one and so wonderful! It gives me great pleasure to be with him and help him in some way. I’ll tell you, if interested, about teaching my grandson programming and about my pre-New Year’s chores. There will be something to see, there will be interesting links.







The grandson's first tablet appeared when he was 3 years old - along with the Lego sets. With the tablet, Angry Birds appeared, then a game in which a pig mechanic had to invent a variety of self-propelled carts in order to be able to go through difficult tracks one after another and collect all the cakes and treasures. At the age of five, the grandson surprised by the presence of architectural talents - he built houses and railways in Minecraft, where self-propelled carts, having driven "over mountains - along valleys", unexpectedly jumped off a high mountain, but again fell onto the rails laid below and could continue their journey. And having arrived from a vacation in Turkey, he built an airplane in Minecraft, in which everything was like in life: you could walk through the cabin, just like a real airplane, enter the cockpit and even get out on the wing. At the same time, the plane was hanging in the air - "flying"! Of course,he got to Minecraft and to the "survival" mode. But, I convinced and convinced him (giving a variety of arguments) that this is a stupid game mode - not teaching anything, not giving any additional knowledge and skills. The grandson built both tanks and "walking" robots from Star Wars. But, they did not know how to move! He built quests where the player had to collect all (previously hidden) stars. But this has become boring over time. Something else was needed! And now, a month before 2017, his dad installed Scratch (ver.1.4) on his grandson's laptop.where the player had to collect all the (previously hidden) stars. But this has become boring over time. Something else was needed! And now, a month before 2017, his dad installed Scratch (ver.1.4) on his grandson's laptop.where the player had to collect all the (previously hidden) stars. But this has become boring over time. Something else was needed! And now, a month before 2017, his dad installed Scratch (ver.1.4) on his grandson's laptop.



Before that, my participation in my grandson's computer lessons was only for spectators. Scratch turned me into an active assistant in teaching programming. I had programming experience. From 1974 to 1988 I worked in the design bureau of a defense plant, where I participated in the development of the Tunguska air defense system and in solving numerous issues (“support”) of the serial production of the Buk and Kupol air defense systems. He developed (on "Elektronika-60"), and then "translated" into the code of domestic microprocessor sets the program of the rangefinder "Tunguska" and debugged its work on the models. Further - prototypes of equipment, type tests and trips to ranges - for shooting. Then - serial production. In 1988, he left the plant and became the head of one of the laboratories of the Research Institute for Complex Miniaturization of the Office Equipment of the Ulyanovsk Center for Microelectronics.By 1993, we had designed and manufactured a batch of 11-bit ADC / DAC embedded in IBM-PC. Tried to start implementing these modules bundled with a large open source package (Turbo Pascal). But, during the "perestroika", no one had the money for such acquisitions, although our development was at the level of very good foreign ones and had a 10-fold lower cost.



In short, Happy New Year 2017, the grandson congratulated his parents with his first program. The sprites of the heroes of the program (Santa Claus, deer, etc.), of course, had to be created by me (at the age of 7, not yet before Photoshop). But the grandson made the codes for the movements of the sprites and the codes for the notes of the New Year's song Jingle bells himself. He also liked to do the "voice acting", imitating the low voice of Santa Claus (they used the Audacity program).



Before that, I had no thoughts about teaching my grandson programming. But after reading an interview with Scratch developer Mitch Resnick, I literally saw the light: It's the 4th technological revolution! At the same time, it turned out that Russia has the smallest number of children-programmers. And in all (well, well, in 30) developed countries, programming is already taught from the first grades of school (despite the fact that in England, children begin to study from the age of 5, and in China, they teach programming from the age of 3 and from the 5th class, they study artificial intelligence and not only in theory, but also in laboratory classes). I began to support my grandson's motivation to develop programs in every possible way.







The next program was a fairy tale about his pet - a cat of the English breed Chaucer. And away we go: the grandson, one by one, came up with scenarios, I "sculpted" sprite pictures, when difficulties arose - he suggested how best to write the code. The grandson wrote program after program ... Congratulations: Happy Mother's Day of Jam, March 8, Defender of the Fatherland Day. Then (how can you do without it!) - a simple, but your own World of tanks! Then another one. Then we figured out together how their iRobot home vacuum cleaner and passenger elevator work. Then (during the summer holidays after the 1st grade) a multiplication table "training" appeared and (a simple one - just a few letters) a simulator of the well-known Baby Type keyboard trainer. Made your own Minecraft where you can build anything you want,and then a Minecraft robot capable of automatically building a medieval castle after pressing just one button. I started a studio on the Scratch website (see @JV_D).







More than robotics, the grandson was attracted by "stories" - I wanted to continue the story about Chaucer. There was "Area-51", where Chaucer meets face to face with "aliens". Then Chaucer tried on the role of a detective and took part in the investigation of the sensational disappearance of the Queen's beloved elephant. It was a 3-episode cartoon "Revenge of a Foreigner with a Stool" - based on the famous Soviet cartoon "The Koloboks are Investigating" and the foreign cartoon "Finis and Ferb". By the way, in 2019 “Revenge of a Foreigner with a Stool” took 2nd place in the international Scratch Olympiad - in its age category. Shortly before the competition, I showed my grandson a simulation program of the Soviet attraction "Sea Battle", which his mother loved to play. I liked the program and was implemented by my grandson in the Scratch version. But,before him, a few more young programmers had entered the competition for similar programs, and it was decided to apply for the "Revenge of a Foreigner" Olympiad.





Then the motivation for Scratch programming decreased a little. I wanted three-dimensionality! Back in 2017, inventive experience suggested a simple solution: you can create "quasi" -3D programs! We take any three-dimensional model, for example, a Lego soldier or a T-34 tank made from a chocolate egg. We put it under the camera on a turntable. Rotate and take 30 photos every 12 degrees. All! You can write code, and your "three-dimensional" tank will walk on the computer screen, turn in any direction and shoot. The grandson began to create quasi-three-dimensional buildings in his programs. The tank could pass "behind them" temporarily becoming invisible. He could run over and "break" these structures, turning them into heaps of rubble.



But, with the main thing happened "bummer"! The tank could only drive, rumble and show muzzle flashes when fired. And the grandson, naturally, wanted more: shells should fly and they should be able to hit targets! It would seem that there are no problems? But the grandson studied only in the 3rd grade, and they have not yet passed the trigonometric functions. Explaining "about sines and cosines" did not work out the first time - already in grade 4. As the saying goes: "it is not the gods who burn the pots" - figured it out. The shells flew! And for the next competition of the Scratch-Olympics in 2020, the grandson applied not in his own, but in the older age category "Games". It was a Duel of Tanks game. Two 3D tanks are walking around the battlefield: the Soviet T-34 and the German Tiger-2. Cool! But that's not all! If a T-34 tank is controlled by a gamer, then (you won't believe it!) "Tiger" is controlled by a bot - "artificial intelligence"!And it is quite difficult to beat the Tiger! I, no matter how much I tried, does not work! "Tiger" dashingly maneuvers on the battlefield and shoots very accurately. Very quickly, his point advantage exceeds 5 points, and the game ends. But the grandson usually wins! The project again took the honorable 2nd place in the Olympics. And in the "Battle of Kursk" which appeared after the "Duel" two gamers can fight each other.





For the 75th anniversary of the Great Victory, the grandson has developed a documentary project "Front Sisters". The idea was mine - to use the stories about the war veterans from the book "War has no woman's face". The grandson liked the idea. The projects were also evaluated at the regional competition of school programmers "Master-IT" 2020.





In the Russian elementary school, there is no programming yet. There was no place for elementary school students in the national digitalization program. One can only envy the first-graders English, each of whom the government gratis, that is, for nothing, issues a miniature controller Micro: bit. This small device the size of a matchbox includes a miniature display, an accelerometer (3-axis position sensor and shock sensor), a compass, an illumination meter and quite serious (before the speech processor) software. You plug it into your computer's USB port and voila! - learn either Python or Java Script. Or you can program it in Scratch environment. You can also buy additional components - and build robots. Active parents - "flag in hand"! Your child can easily turn Micro: bit into a calculator, music box, compass,wrist watch, security device, etc. It can be used to program interesting computer games, including "Tetris". The grandson did not reach Tetris, but a short Python course was completed: many scripts of subroutines for various purposes were developed and debugged, a 20-minute "reminder" that it was time to take a break from working with a computer, and two computer games.





Imperceptibly, a hobby for Roblox games has sprung up. Dad installed Roblox-Studio on his computer at the beginning of 2019. But neither I nor my grandson took it seriously. It's like a Lego set! But, you must admit, the lack of three-dimensionality and the very low resolution of images in Scratch is not something that a modern 11-year-old teenager can show off in front of his peers. And the grandson began to "change" Scratch, almost clandestinely engaged in game development at Roblox Studio. When I saw his first game, it became clear what Roblox took. Naturally, it was just a workplace filled with toolbox models. But it was a REAL 3D world! And in this world, his avatar did whatever he wanted! Almost complete freedom! Plus the originally included "laws of physics"! Who can resist this? Again,architectural talents did not want to disappear "in the tun" - Newka Towns and bunkers with laboratories for the study of SCP-evil spirits were built with enthusiasm. The technology of creating and modifying landscapes was mastered very quickly. The grandson knows how to manipulate the weather and create areas with some special properties and mood - as on the canvases of the great impressionists.



What? We need help! I began to study "Roblox" myself. I must say this is not for a teenager. There seems to be an English-language tutorial - translate and that's it! There are no problems with translation! But in it, what is called "excerpts from scraps", and it turns out like in a song: "No, everything is clear, but what exactly?" Looked at "Liters" the content of several books on "Roblox" - not that! And the grandson has a problem! I prowled the English-speaking Internet - I found how to change maps with different terrain during the game. One less problem! The grandson immediately implemented the script and created a war game in which "Desert Storm" changes to "Special Forces Combat with Pirates", and then to "Reconnaissance by helicopter." We go further ... The grandson builds "parkour". Looks pretty, but few special effects! I study myself and suggesthow, using the concepts of Position and CFrame, you can use the if and while true loops already known from Scratch and Python, so that the platforms on which the players are jumping begin to rotate or make translational movements. Parkour has become more spectacular. I am glad that the grandson acts according to the principle: "I learned it myself - teach others!" Scratch programming videos, tips for developing programs for Micro: bit and Roblox programming lessons are regularly posted on Grandson's Youtube channel .





Next, the grandson built a cosmodrome and almost the entire solar system in the Roblox Studio. Impressive! There are "ready-made" flying saucers and spacecraft. True, multistage rockets can fly only in a certain initially given direction - that is, to nowhere! But, on the other hand, the radar at the space station is already rotating, and you can move around the cosmodrome in automatic trailers. The doors open automatically - when the astronaut approaches (the knowledge gained during the construction of the parkour was useful). We must help! We begin to study together the scripts that control the missiles and deal with the coordinates of the landing sites. Done! The rockets start and fly, landing where they need to! But every game has to have a goal! We arrange a "brainstorming". Have come up with!Space pirate Drake has stolen some important artifacts from the inhabitants of the powerful "Three Suns System" and they threaten to destroy the entire Earth. The Space Police chase after Drake, but his spaceship crashes and Drake is killed. And there are no artifacts in the pirate's spaceship! The Government of the Earth announces that it will pay a huge sum to those who find the artifacts ... We are urgently looking for how to add points for the artifacts found in the game, and the game is ready! Check out the promotional trailer, filmed by grandson at Bandicam and edited by him at Movavi. Agree - cool for 11 years! This is encouraging, because it gives hope that with this kind of knowledge and skills, it may be a little easier and more interesting for a grandson to live in the new world that is taking shape during the 4th technological revolution.but his spaceship crashes and Drake is killed. And there are no artifacts in the pirate's spaceship! The Government of the Earth announces that it will pay a huge sum to those who find the artifacts ... We are urgently looking for how to add points for the artifacts found in the game, and the game is ready! Check out the promotional trailer, filmed by grandson at Bandicam and edited by him at Movavi. Agree - cool for 11 years! This is encouraging, because it gives hope that with this kind of knowledge and skills, it may be a little easier and more interesting for a grandson to live in that new world that is taking shape during the 4th technological revolution.but his spaceship crashes and Drake is killed. And there are no artifacts in the pirate's spaceship! The Government of the Earth announces that it will pay a huge sum to those who find the artifacts ... We are urgently looking for how to add points for the artifacts found in the game, and the game is ready! Check out the promotional trailer, filmed by grandson at Bandicam and edited by him at Movavi. Agree - cool for 11 years! This is encouraging, because it gives hope that with this kind of knowledge and skills, it may be a little easier and more interesting for a grandson to live in the new world that is taking shape during the 4th technological revolution.filmed by his grandson in Bandicam and edited by him in Movavi. Agree - cool for 11 years! This is encouraging, because it gives hope that with this kind of knowledge and skills, it may be a little easier and more interesting for a grandson to live in the new world that is taking shape during the 4th technological revolution.filmed by his grandson in Bandicam and edited by him in Movavi. Agree - cool for 11 years! This is encouraging, because it gives hope that with this kind of knowledge and skills, it may be a little easier and more interesting for a grandson to live in that new world that is taking shape during the 4th technological revolution.





I have already mentioned our general education school. I would like to note one more, in my opinion, "egregious" fact - the school project activity, which is unforgettable for many parents. Oddly enough, domestic academicians-teachers write articles with enthusiasm , in which it is stated that school teachers themselves do not understand the essence of project activity, but this does not go further. Who should finally teach the teachers interesting? Whatever one may say, officials from education "rule" it. And the result is approximately the same as with the "development" of entrepreneurship in the country. Both in the lyceum, where the grandson studied before the pandemic, and in the (out of town) distance learning school, where he is now studying, teachers suppress the slightest attempts to create school projects using programming and other information technologies. There are computers in each of the classes, but the student is not allowed to display his program on the screen of the school monitor (or in Skype chat). Even in the "iso" lessons you can't use Photoshop! Such is the "digitalization" ...



New game - new challenges! Role-playing games, such as these are now quite popular among grandson's peers, means that you need to be able to assign different tags to players. It is necessary that the bot soldiers shoot only at the "saboteur" players. We read the tutorial: seemingly the simplest script - put it and get the desired result! But it turns out - not a fact. The script doesn't work!



Another problem: the game of the grandson "Polygon" is a training ground where inexperienced recruits are made into real professionals of special forces and officers, and it would seem logical to be able to "send" (teleport) those trained in the game "pros" to the previously created "Zone of Combat action ". There is a section in the tutorial about teleportation. But, you guessed it - the script given there also does not work! Roblox also has a chat where people discuss their problems. I found messages in the chat that the teleport did not want to work, but there were no tips on how to solve the problem. Attempts to teleport lead to the issuance of an error code, but it is impossible to understand the reason from the decoding of the error codes. Contacting the technical support service did not help either - they sent a formal "reply" on a topic absolutely unrelated to the question.



In the "Polygon" grandson created an excellent obstacle course, where you can and should train the skills of driving the "Roblox" technique. It turns out it's not that easy. For example, when hitting a "normal" road curb, your tank or armored personnel carrier may turn over (in models it is difficult to set the centers of gravity correctly). Leaving a shallow body of water can also be a problem. But after all, we all see how smartly tanks go through such obstacles in tank biathlon! An obstacle course is a great way to teach a gamer how to drive combat vehicles. That's how it is! And everything is fine with that. But, what is tank biathlon without shooting? And I would like accurate shooting to be different from shooting “into milk”. That is, you need to teach tanks to assign points to their commanders for each well-aimed hit on a (mobile) target. I study the tank script. Everything seems to be clear:as soon as the (specially formed for this) "ray" rests against any Part, you need to understand whether this is a target and assign the player points in the same way as they were assigned in the game about the pirate Drake. I am writing one version of the code after another - "you fig = an Indian hut" ... And on the nose of the New Year and really want to help my grandson "finish off" the game for the holiday!



Bah! Yes, I completely forgot that freelance exists! I register as a Habr-Freelance customer.

No result: in three days 28 views of my application, and zero responses! Well, maybe this does not quite fit the specifics of the main contingent of Habr's visitors? I am looking for freelance elsewhere. I also found: "Kwork". I type Lua into the search, and immediately I find a proposal for hacking Roblox games. It is enough just to indicate to the performer which one! I don't need this, but if a person can hack any game, then three simple scripts are clearly not a problem! I am writing to the performer in the chat - no answer! The specialist is offline for 3 days. Then he appears, but does not give an answer. But my application is still in the public domain. In a day, there are already 128 views. But, the response is ONLY ONE! The person writes that he is ready to solve problems, but at the moment he is busy. A day later, taking care of the Customers, "Kwork" writes to me that you can look for specialists yourself,based on the professional resumes posted by them. I search, find those who are engaged in game development, write and get rejections - one after another. Finally, after three days, the one who was ready, but was busy, is released. And, hurray! He solves my problems with my grandson one by one! Have time! The game can be completed before the New Year!



It is not so easy, but the programmer grandfather managed to congratulate his grandson-"robloxer" on the New Year. Well, well, live and learn, grandfather!



All Articles