
İndie inkişaf etdiricilərinə tez-tez bir neçə rolu bir araya gətirmək lazım gəlir: oyun dizayneri, proqramçı, kompozitor, rəssam. Vizuallaşdırma məsələsi gəldikdə, bir çoxları piksel-art seçir — ilk baxışda sadə görünür. Amma gözəl etmək üçün çox təcrübə və müəyyən bacarıqlar lazımdır. Bu üslubun əsasslarını mənimsəməyə yeni başlayanlar üçün xüsusi proqram və çəkmə texnikalarını izah edən bir dərs tapdım: iki sprite nümunəsi ilə.
Fon
Piksel-art — piksel səviyyəsində dəyişikliklərin edildiyi rəqəmsal incəsənət formasıdır. Əsasən, 80-ci və 90-cı illərin video oyunlarının qrafikası ilə əlaqələndirilir. O zaman rəssamlar yaddaş məhdudiyyətlərini və aşağı təsvir keyfiyyətini nəzərə almağa məcbur idilər. İndi piksel-art hələ də oyunlarda populyardır və ümumiyyətlə bir sənət üslubu kimi, reallığa yaxın 3D qrafik yaradılmasına baxmayaraq. Niyə? Nostalgiyanı gözardı etməsək belə, belə sərt çərçivələrdə gözəl iş yaratmaq — xoş və dəyərli bir çağırışdır.
Piksel-artda giriş sərhədi ənənəvi sənət və 3D qrafika ilə müqayisədə nisbətən aşağıdır, bu da indie inkişaf etdiricilərini cəlb edir. Amma bu, işin asan olacağı demək deyil. tamamlayıb bu üslubda bir oyunu hazırlamaq. Mən bir çox indie inkişaf etdiricisini crowdfunding platformalarında piksel-art metroidvaniasları ilə gördüm. Onlar hər şeyi bir il ərzində başa çatdıracaqlarını düşündülər, amma əslində altı il daha lazım idi.

Metal Slug 3 (Arcade). SNK, 2000-ci il
Piksel-artın yaratmaq istədiyi səviyyədə, bu, çox vaxt alır və qısa dərsliklər çox azdır. 3D model ilə işlədikdə onu döndərə, deformasiyaya uğrada, ayrı-ayrı hissələrini hərəkət etdirə, bir modeldən digərinə animasiyaları köçürə bilirsiniz və s. Yüksək səviyyəli piksel-art demək olar ki, hər çərçivədə piksləri diqqətlə yerləşdirmək üçün çox enerji tələb edir.
Ümumiyyətlə, xəbərdar etdim.
İndi stilim haqqında bir az: əsasən video oyunlar üçün piksel sənəti çəkirəm və onlardan ilham alıram. Xüsusilə Famicom/NES, 16-bit konsolları və 90-cı illərin arcade oyunlarına pərəstiş edirəm. O dövrün sevdiyim oyunlarının piksel sənətini parlaq, əmin və təmiz (lakin çox yox) kimi təsvir edə bilərik, sərt və minimalistik deyil. Bu üslubda özüm çalışıram, ancaq bu dərsdəki fikirləri və texnikaları tamamilə fərqli şeylər yaratmaq üçün asanlıqla tətbiq edə bilərsiniz. Müxtəlif rəssamların işlərini öyrənərək, sizə uyğun olan piksel sənətini yaradın!
Proqram

Piksel sənəti üçün əsas rəqəmsal alətlər - Zoom (Zoom) və Pencil (Kahve) vasitəsilə piksel yerləşdirmək. Həmçinin Line (Xətt), Shape (Şəkil), Select (Seçmək), Move (Hərəkət) və Paint Bucket (Boyalı Buxar) alətləri də işinizə yarayar. Belə alətlər dəstinə sahib olan bir çox pulsuz və pullu proqram var. Mən ən populyarlarını və özümün istifadə etdiklərimi sizinlə bölüşəcəyəm.
Paint (pulsuz)
Əgər Windows-u istifadə edirsinizsə, sistemə daxil edilmiş Paint - sadə, lakin piksel sənəti üçün bütün alətləri verən bir proqramdır.
(pulsuz)
Gözlənilməz dərəcədə funksional bir piksel redaktoru olan bu proqram brauzer vasitəsilə işləyir. İşlərinizi PNG və ya animasiya GIF kimi ixrac edə bilərsiniz. Başlayanlar üçün mükəmməl bir seçimdir.
(pulsuz)
GraphicsGale - mənim eşitdiyim yeganə redaktordur ki, xüsusi olaraq piksel sənəti üçün hazırlanmışdır və animasiya alətləri də daxildir. Bu proqram Yapon şirkəti HUMANBALANCE tərəfindən hazırlanmışdır. 2017-ci ildən pulsuz yayılmaqdadır və Aseprite-in artan populyarlığına baxmayaraq hələ də tələbat görür. Təəssüf ki, yalnız Windows-da işləyir.
($)
Hazırda yəqin ki, ən populyar redaktordur. , bir çox imkan, aktiv dəstək, Windows, Mac və Linux versiyaları. Əgər piksel sənəti ilə ciddi şəkildə məşğulsunuzsa və hələ də lazım olan redaktoru tapmamısınızsa, bu, sizin üçün doğru seçim ola bilər.
($$+)
GameMaker Studio 2 - yaxşı bir sprite redaktoru olan mükəmməl bir 2D alətidir. Öz oyunlarınız üçün piksel sənəti yarada bilmək üçün hər şeyi bir proqramda etmək çox rahatdır. İndiki zamanda bu proqramı , 50 retro oyunun kolleksiyası: sprite və animasiyaları GameMaker-da yaradır, tile setləri isə Photoshoppedə edirəm.
($$$+)
Photoshop — bahalı bir proqramdır, abunə yolu ilə təqdim edilir ve piksel incəsənəti üçün təsirlənməyib. Əgər yüksək qətnaməli illüstrasiyalar çəkmirsinizsə, ya da mənim kimi mürəkkəb şəkil manipulyasiyaları etmirsinizsə, almanızı tövsiyə etmirəm. Burada statik spritelər və piksel işləri yaratmaq mümkündür, amma spesial proqramlarla müqayisədə olduqca çətindir (məsələn, GraphicsGale və ya Aseprite).
Digər

Piksel incəsənəti üçün dəstim. Hər şey qara, indi yalnız fərq etdim.
Qrafik tablet ($$+)
Dijital illüstrasiyalarla işləyərkən tunel sindromunun qarşısını almaq üçün qrafik tablet almanızı tövsiyə edirəm. Bunun qarşısını almaq, müalicə etməkdən daha asandır. Bir dəfə ağrı hiss edəcəksiniz, bu da yalnız artacaq — başlanğıcda özünüzü qoruyun. Bir zamanlar mən siçanla rəsm çəkdiyim üçün indi düymələrə basmağı tələb edən oyunlarda oynamaqda çətinlik çəkirəm. İndi Wacom Intuos Pro S modelindən istifadə edirəm.
Bilək dəstəyi ($)
Əgər tablet ala bilmirsinizsə, ən azı bilək dəstəyi alın. Mənim üçün ən çox bəyəndiyim Mueller Green Fitted Wrist Brace-dir. Digərləri ya çox sıxdır, ya da kifayət qədər dəstək vermir. Dəstəkləri onlayn asanlıqla sifariş edə bilərsiniz.
96×96 piksel

Final Fight. Capcom, 1989
Başlayaq! 96×96 piksel ölçüsündə bir xarakter spritini çəkərək başlayırıq. Nümunə üçün mən bir orq çəkdim və onu Final Fight-dan ekran görüntüsünə yerləşdirdim (yuxarıdakı şəkil), beləliklə ölçünü başa düşəsiniz. Bu böyük retro oyunların əksəriyyəti üçün spritdir, ekran görüntüsünün ölçüsü: 384×224 piksel.
Belə böyük bir spritdə, mənim izah etmək istədiyim texnikaları göstərmək daha asan olacaq. Həmçinin pikselə görə rəsm çəkmə ənənəvi incəsənət formalarına (məsələn, rəsm çəkmə və ya boya) daha çox bənzəyir, buna görə də tanış ola bilərsiniz. Əsas texnikaları öyrəndikdən sonra daha kiçik spritlərə keçəcəyik.
1. Palitranı seçirik

Piksel, piksel incəsənətində digər dijital sahələrdə olduğundan daha dərin bir anlayışdır. Piksel incəsənətinin məhdudiyyətlərini, məsələn, rəngləri ilə müəyyən edilir. Doğru palitrayı seçmək vacibdir, bu sizin üslubunuzu müəyyən etməyə kömək edəcək. Amma başlayanda, palitralar barədə düşünməməyi təklif edirəm və mövcud olanlardan birini (ya da sadəcə bir neçə təsadüfi rəng) seçin — istənilən mərhələdə asanlıqla dəyişə bilərsiniz.
Bu dərs üçün 32 rəqəmdən ibarət palitralardan istifadə edəcəyəm ki, onu biz yaratmışıq . Piksel sənətində bunlar adətən 32 və ya 16 rəngdən ibarət olur. Bizim palitramız hayali bir konsol üçün hazırlanmışdır ki, bu da Famicom və PC Engine arasında bir yerdə ola bilər. Onu götürə bilərsiniz, ya da başqa birini — dərs seçilmiş palitranın heç birindən asılı deyil.
2. Qabaqcıl konturlar

İşə Qələmlə başlayan konturların çəkilməsiylə başlayırıq. Eskiz çəkirik, tıpkı adi qələm və kağızla etdiyimiz kimi. Əlbəttə, piksel sənəti ilə ənənəvi incəsənət bir-birini kəsir, xüsusən də iri sprytlar söz mövzusudur. Mənim müşahidələrim göstərir ki, güclü piksel sənətçiləri əksərən yaxşı əl yazır və əksinə. Ona görə də, çəkim bacarıqlarını inkişaf etdirmək həmişə faydalıdır.
3. Konturların işlənməsi

Konturları daha da işləyirik: əlavə pikseləri aradan qaldırır və hər bir xətti bir pikselə qədər incəldirik. Bəs nəyi əlavə saymaq lazımdır? Bu sualı cavablandırmaq üçün piksel xətləri və qeyri-bərabərliklərə başa düşmək lazımdır.
Qeyri-bərabərliklər
Piksel sənətində iki əsas xətti çəkməyi öyrənmək lazımdır: düz və əyri. Qələmlə və kağızla bu, əzələ nəzarətinə bağlıdır, amma biz kiçik rəngli bloklarla işləyirik.
Düzgün piksel xətləri çəkməyin açarı — qeyri-bərabərliklərdir. Bu, xətlərin düzliyini pozan tək piksel və ya kiçik seqmentlərdir. Daha əvvəl də dediyim kimi, ayrı bir piksel piksel sənətində çox önəmlidir, buna görə də qeyri-bərabərliklər bütün estetikayı pozurlar. Kağızda bir düz xətt çəkdiyinizi təsəvvür edin və birdən kiminsə masanı sarsıtdığını eşidirsiniz: piksel sənətində qeyri-bərabərliklər ani bir qırış belə görünür.
Nümunələr:

Düzlər

Əyrilər
Qeyri-bərabərliklər əyrilərdə görünür, xəttin seqmentlərinin uzunluğu tədricən artırılmadığı və ya azaldılmadığı zaman.
Qeyri-bərabərliklərdən tamamilə qaçmaq mümkün deyil — sevdiyiniz retro oyunların hamısında bunlar var (əgər, əlbəttə, piksel sənəti yalnız sadə formalardan ibarət deyilsə). Məqsəd: qeyri-bərabərlikləri minimuma endirmək, eyni zamanda lazım olan hər şeyi göstərməkdir.
4. İlk rəngləri tətbiq edirik

Karakterinizi dolgu və ya digər müvafiq alətlərlə rəngləndirin. Palitr bu işi asanlaşdıracaq. Əgər proqram palitr istifadəsini dəstəkləmirsə, onu yuxarıdakı nümunəyə bənzər şəkildə şəkilin içərisinə yerləşdirə bilərsiniz və rəngləri pipetlə seçə bilərsiniz.
Solda, aşağı küncdə, dostumuzu təsvir etdim, tanış olun, bu - Şar. Onunla hər mərhələdə nələrin baş verdiyini anlamaq daha asan olacaq.
5. Kölgələmə

Kölgələri göstərmək vaxtıdır - sprite daha tünd rənglər əlavə edirik. Beləliklə, görüntü dərinlik qazanacaq. Gəlin, işıq mənbəyimizin üstdə orkdan sol tərəfdə yerləşdiyini düşünək. Demək, qəhrəmanımızın üstündə və önündə olan hər şey işıqlandırılacaq. Aşağı sağ tərəfdə kölgələri əlavə edirik.
Forma və dərinlik

Əgər bu mərhələ sizdə çətinlik yaradırsa, rəsminizi sadəcə xətlərin və rənglərin olduğu bir şey kimi deyil, üçölçülü formalarda təsəvvür edin. Formalar üç ölçülü məkanda mövcuddur və kölgələrlə yaradılan dərinlikləri ola bilər. Bu, qəhrəmanı detalları olmadan vizuallaşdırmağa kömək edəcək və onu piksel deyil, gilin bir parçası kimi təsəvvür etməyə imkan verəcək. Kölgələmə sadəcə yeni rənglərin əlavə edilməsi deyil, formanın formalaşma prosesidir. Yaxşı işlənmiş bir qəhrəmanda detallar əsas formaları gizlətmir: əgər gözlərinizi qısarsanız, bir neçə böyük işıq və kölgə qruplarını görəcəksiniz.
Silmə (anti-aliasing, anti-aliasing)
Hər dəfə yeni rəng istifadə etdikdə, silmə (AA) tətbiq edirəm. Bu, xətlərin iki seqmentinin kəsişməsindəki bucaqlardakı aralıq rəngləri əlavə edərək pikseləri hamarlaşdırmağa kömək edir.

Boz piksel «xətlərin» «kəsilmələrini» yumşaldır. Xətt seqmenti nə qədər uzun olarsa, AA seqmenti də bir o qədər uzun olur.

Beləliklə, AA orkun çiynində belə görünür. O, əzələlərinin konturlarını göstərən xətləri hamarlaşdırmaq üçün lazımdır.
Silmə, oyunda və ya arxa fonunda istifadə olunacaq sprytlərin xaricində olmamalıdır, bu fonun rəngi məlum deyil. Məsələn, əgər siz açıq fon üçün AA tətbiq etsəniz, tünd fon üçün silmə gözəl görünməyəcək.
6. Seçici kontur

Əvvəllər konturlar tamamilə qara idi, bu da sprytin çox cizgi film noktasında görünməsinə səbəb olurdu. Şəkil sanki seqmentlərə bölünmüşdü. Məsələn, çiynindəki qara xətlərin əzəlilikləri çox kontrastlıdır və qəhrəman daha az bütövdür.
Sprite daha təbii görünərsə və seqmentləşmə bu qədər aydın olmazsa, personajın əsas formaları daha asan oxunacaq. Bunun üçün seçici konturdan istifadə etmək olar — qara konturu daha açıq birisi ilə qismən əvəz etmək. Sprite-ın işıq düşən hissəsində ən açıq rənglərdən istifadə edə bilərik, ya da sprite-in mənfi boşluqla təmas etdiyi yerlərdə konturu tamamilə aradan qaldıra bilərik. Qara yerinə kölgə üçün seçilmiş rəngdən istifadə etmək lazımdır — beləliklə seqmentləşmə qorunacaq (əzələ, tük və s. ayırma üçün).
Bu mərhələdə daha tünd kölgələr də əlavə etdim. Ork dərisində üç yaşıl ton alındı. Ən tünd yaşıl rəng seçici kontur və AA üçün istifadə oluna bilər.
7. Son düzəlişlər

Sonda parıltılar (sprite-dakı ən açıq ləkələr), detallar (sirgələr, qalaylar, yara izləri) və digər təkmilləşdirmələr əlavə etmək lazımdır, personaj hazır olana qədər ya da növbəti mərhələyə keçmək lazım gələnə qədər.
Bu mərhələdə tətbiq oluna biləcək bir neçə faydalı texnika var. Şəkli üfüqi çevirmək, tez-tez nisbət və kölgə xətalarını aşkar etməyə kömək edir. Həmçinin rəngi çıxarıb — doygunluqları sıfıra qoymaqla hansı kölgələri dəyişmək lazım olduğunu anlamaq mümkündür.
Səs yaratmaq (dithering)
Hələ ki, əsasən iri, bütöv kölgə sahələrini tətbiq etmişik. Amma başqa bir texnika da var — dithering, bu, bir rəngdən digərinə keçməyə imkan tanıyır, üçüncü bir rəng əlavə etmədən. Aşağıdakı nümunəyə baxın.

Üst gradient tünddən açığa doğru yüzlərlə fərqli mavi ton istifadə edir.
Orta gradient sadəcə doqquz rəngdən istifadə edir, amma hələ də eyni rəngin çox tonudur. Beləliklə, beldəki (banding) meydana gəlir, bu da bir-birinə bitişik rənglərin qalın, homojen zolaqları sayəsində gözün bu rənglərin təmas nöqtələrinə fokuslanmasına səbəb olur.
Aşağı gradientdə banding-i qarşısını almağa imkan tanıyan dithering tətbiq olunub və yalnız iki rəng istifadə edilir. Biz rəngin tonlamasını təqlid etmək üçün müxtəlif intensivlikdə səs yaradırıq. Bu texnika çapda istifadə olunan halftone ilə; eləcə də illüstrasiyalarda və komikslərdə kullanılan stippling-ə çox oxşardır.
Orkda, tekstur ötürmək üçün diserinqi bir az tətbiq etdim. Bəzi piksel artistləri bunu istifadə etmir, digərləri isə əksinə, buna çox ustalıqla yanaşırlar. Məncə, diserinq ən yaxşı şəkildə bir rənglə örtülmüş geniş sahələrdə görünür (yuxarıda Metal Slug ekran görüntüsündəki göyə diqqət edin) və ya kobud və bərabərsizlik görünməsi lazım olan sahələrdə (məsələn, palçıq). İstifadə yolunu özünüz seçin.
Müxtəlif və keyfiyyətli diserinq nümunəsi görmək istəsəniz, 80-ci illərin britaniyalı studiyası The Bitmap Brothers-in oyunlarına və ya PC-98 kompüterindəki oyunlara baxın. Ancaq unutmamalısınız ki, onların hamısı - NSFW.

Kakyusei (PC-98). Elf, 1996-cı il
Bu görüntüdə yalnız 16 rəng var!
8. Son baxış

Piksel incəsənətinin təhlükələrindən biri odur ki, o, asan və sadə görünür (strukturuna və üslubunun məhdudiyyətlərinə görə). Amma sonunda spritlərinizi düzəltmək üçün çox vaxt sərf edirsiniz. Bu, həll etməli olduğunuz bir bulmacaya bənzəyir — buna görə piksel incəsənəti mükəmməlçilləri cəlb edir. Unutmayın ki, bir sprit çox vaxt aparmamalıdır — bu, son dərəcə mürəkkəb bir parça kolleksiyasının yalnız kiçik bir hissəsidir. Ümumi mənzərəni itirməmək vacibdir.
Sizin piksel incəsənətiniz oyunlar üçün olmasa belə, bəzən özünüzə demək faydalıdır: "Hər şey artıq kifayət qədər yaxşıdır!" və irəliləmək. Bacarıqlarınızı inkişaf etdirmək üçün ən yaxşı yol, mümkün qədər çox dəfə bütün prosesi başdan sona keçməkdir, mümkün qədər çox mövzuda.
Bəzən spriti bir müddətə unudub sonra ona təzə bir baxışla baxmaq faydalıdır.
32×32 piksel

İlk olaraq 96×96 piksel ölçüsündə böyük bir sprit yaratdıq, çünki bu ölçü daha çox rəsmləmə və ya rəsmə bənzəyir, amma yalnız piksel formasında. Sprit daha kiçik olduqca, göstərməli olduğu şeydən daha az bənzər olur və hər pikselin əhəmiyyəti artır.

Super Mario Bros.-da Mario-nun gözü yalnız üst-üstə yerləşən iki pikselidir. Eyni şəkildə, qulağı da belədır. Xarakterin yaradıcısı Sigeru Miyamoto, bığların burnu və digər sima hissələrini ayırmaq üçün lazım olduğunu söylədi. Bu səbəbdən Mario-nun simasının əsas xüsusiyyətlərindən biri yalnız xarakter dizaynı deyil, həm də praktik bir hiylədir. Bu, qədim deyimi təsdiqləyir — "ehtiyac ixtiranın anasıdır."
32×32 piksel ölçüsündə sprite yaratmağın əsas mərhələləri artıq bizə tanışdır: eskiz, rəng, kölgələr, daha sonra işin yekunlaşdırılması. Ancaq bu cür şəraitdə başlanğıc eskizi üçün kontur çəkilişindən daha çox rəngli fiqurlar seçirəm, çünki ölçü çox kiçikdir. Rəng, personajın müəyyən edilməsində konturlardan daha mühüm rol oynayır. Mario'ya bir daha baxın, onun heç bir konturu yoxdur. Dişlərdən başqa, onun bürcləri qulaqların formasını müəyyən edir, ətəklər əlləri göstərir, ümumi forma isə bədənini nisbətən dəqiq əks etdirir.
Kiçik sprite'ların yaradılması daim kompromislər tələb edir. Əgər kontur əlavə etsəniz, kölgə üçün yer itirə bilərsiniz. Əgər personajınızın əlləri və ayaqları aydın şəkildə təsvir olunubsa, baş adətən çox böyük olmamalıdır. Rəngi səmərəli istifadə etsəniz, seçilmiş kontur və yumşaldılma ilə çəkilmiş obyekt gerçəkdən olduğundan daha böyük görünə bilər.
Kiçik sprite'lar üçün tibbi üslubu sevirəm: personajlar çox şirin görünür, onların böyük başları və gözləri var. Məhdud məkanda parlaq bir qəhrəman yaratmağın əla bir yolu, həm də ümumilikdə çox gözəl bir üslub. Ancaq bəlkə də siz personajın çevikliğini və ya gücünü göstərmək istəyirsinizsə, baş üçün daha az yer ayıra bilərsiniz ki, bədən daha güclü görünsün. Hər şey sizin zövqünüzdən və məqsədlərinizdən asılıdır.

Bütün komanda bir aradadır!
Fayl formatları

Belə bir nəticə hər hansı bir piksel sənətçisini narahat edə bilər
Gördüyünüz şəkil, rəsmin JPG formatında saxlanmasının nəticəsidir. Faylın sıxılma alqoritmləri səbəbindən bəzi məlumatlar itirilib. Keyfiyyətli piksel-art nəticədə pis görünəcək, onun başlanğıc palitrasını bərpa etmək çətin olacaq.
Statik şəkil keyfiyyətini itirmədən saxlanılması üçün PNG formatını istifadə edin. Animasiya üçün isə GIF.
Piksel-artı düzgün paylaşmanın yolları
Piksel-artı sosial şəbəkələrdə paylaşmaq, geribildirim almaq və eyni üslubda işləyən digər artistlərlə tanış olmaq üçün əla bir üsuldur. #pixelart hashtagını qoymağı unutmayın. Təəssüf ki, sosial şəbəkələr tez-tez PNG formatını icazəsiz JPG'ye çevirərək işinizi pisləşdirir. Niyə şəkilinizin çevrildiyi bəzən aydın olmur.
Müxtəlif sosial şəbəkələr üçün piksel-artın lazımi keyfiyyətdə saxlanmasına dair bir neçə məsləhət var.
PNG faylının Twitter'da dəyişməməsi üçün 256 rəngdən az istifadə edin və , faylınızın uzun tərəfi 900 pikseldən az olmamalıdır. Mən faylın ölçüsünü ən azı 512×512 pikselə qədər artırardım. Həmçinin, ölçmənin 100-ə tam bölünməsi (200%, 250% yox) və kəskin künclərin qorunması (Photoshop'da Nearest Neighbor) vacibdir.
Twitter-dəki postlar üçün animasiyalı GIF faylları 15 MB-dan artıq olmamalıdır. Şəkil ən azı 800×800 piksel olmalıdır, dövrü animasiya üç dəfədən az olmamalıdır, son kadrın zamanı isə digər bütün kadrların vaxtından yarıdan az olmalıdır — bu, ən məşhur nəzəriyyədir. Ancaq Twitter-in şəkil nümayişi alqoritmlərini davamlı dəyişdirdiyini nəzərə alaraq, bu tələbləri nə qədər yerinə yetirmənin lazım olduğu qeyri-müəyyəndir.
Ümid edirəm ki, bu ölkə haqqında düşüncələrimi və hekayələrimi oxumaq sizə maraqlı oldu. Yenə də,
Bildiyim qədər, Instagram-da şəkil paylaşmaq keyfiyyət itkisi olmadan mümkün deyil. Ancaq onu ən azı 512×512 pikselə qədər artırmaqla daha yaxşı görünəcək.
Mənbə: habr.com
