Tank Masters - bu tanklar haqidagi mobil boshqotirma o'yini. Tank ustasi retseptlari SSSR - Tank ustalari retseptlari SSSR fotosurati - Har qanday lazzat va byudjet uchun retseptlar

Foydalanuvchi sharhlari

Andrucha kanali
13.01.2018 — 10:57

Ishonmaysiz, lekin men 14 yoshdaman)))

Tanklar haqida hamma narsa
14.01.2018 — 18:50

Valerdos Dray
17.01.2018 — 17:31

ikki mto oching

Minecraft Clashroyal
19.01.2018 — 18:50

Q1+Q2=qishki urush

O'yinlar kanali
21.01.2018 — 11:14

bt 2 va bt 5 ni ulang

QISHLOQDAGI MUSHUK MARKUS KOTOFEY
24.01.2018 — 09:14

O'yinlar kanali
23.01.2018 — 12:42

bt 2 va bt 5 ni ulang

Boris Lyaxov
26.01.2018 — 04:42

Maskva uchun Bt5 + bt 7 \u003d tok

nadka kisya kanal ala gubchak
27.01.2018 — 08:27

Vasya Suxumskiy
28.01.2018 — 16:10

majoziy ma'noda

Andrucha kanali
30.01.2018 — 10:53

Maks Bilinovich
31.01.2018 — 23:15

marsel oqimi
03.02.2018 — 00:19

SSSRdan qanday o'tishni ayting

alvamar.ru

Tank ustalari retseptlari SSSR - Barcha retseptlar

Foydalanuvchi sharhlari

Andrucha kanali
28.09.2018 — 07:11

Ishonmaysiz, lekin men 14 yoshdaman)))

Tanklar haqida hamma narsa
29.09.2018 — 20:03

Yoshingiz nechada 8.5 ayting iltimos

Valerdos Dray
01.10.2018 — 16:33

ikki mto oching

Minecraft Clashroyal
04.10.2018 — 15:42

Q1+Q2=qishki urush

O'yinlar kanali
05.10.2018 — 16:07

bt 2 va bt 5 ni ulang

QISHLOQDAGI MUSHUK MARKUS KOTOFEY
07.10.2018 — 10:44

Games Channel ATP Aya uzoq o'ylagan xaritasi bo'ladi

O'yinlar kanali
07.10.2018 — 21:32

bt 2 va bt 5 ni ulang

Boris Lyaxov
10.10.2018 — 20:27

Maskva uchun Bt5 + bt 7 \u003d tok

nadka kisya kanal ala gubchak
13.10.2018 — 10:55

Boris Lyaxov yozishni, keyin yozishni o'rganadi

Vasya Suxumskiy
12.10.2018 — 01:38

majoziy ma'noda

Andrucha kanali
13.10.2018 — 23:00

Lyudmila Bilinovich
15.10.2018 — 12:33

va men allaqachon Germaniyadaman va men SSSRni tugatganman

marsel oqimi
18.10.2018 — 06:14

SSSRdan qanday o'tishni ayting

alena-souveniry.ru

Tank ustalari - tanklar bilan alkimyo

Bugungi kunga kelib, tanklar o'yin sanoatining haqiqatan ham muhim qismiga aylandi. Ularning yordami bilan siz butun dunyo bo'ylab millionlab odamlarning qalbini zabt etgan buyuk janglarning ishtirokchisi bo'lishingiz mumkin. Shuni ham ta'kidlash joizki, ichida yaqin vaqtlar ustida mobil qurilmalar ushbu turdagi ko'proq original ishlanmalar chiqmoqda, ular albatta e'tiborga loyiqdir.

Bu holatda, biz qattiq janglarda qatnashishingiz kerak bo'lgan Timelines: Assault on America kabi o'yin haqida emas, balki butunlay boshqa o'yin dunyolari haqida gapiramiz.

O'yin jarayonining xususiyatlari

O'yin tank ustalari U yaqinda chiqarildi, ammo u allaqachon ko'plab muxlislarni to'plashga muvaffaq bo'ldi. Ushbu ishlanmada bizga zamonaviy va klassik tanklarning ba'zi tafsilotlari taklif etiladi. Ularning yordami bilan mutlaqo ajoyib jihozlarni to'plash mumkin bo'ladi, ularning imkoniyatlari faqat o'yindagi taktikamizga bog'liq. O'yinda ajoyib grafikalar, shuningdek, boshqa alkimyo o'yinlarida uchramaydigan juda ko'p xususiyatlar mavjud.

O'yin jarayoni haqida video

dan yuklab oling Google Play| Saytdan yuklab olish

samsung-galaxy.mobi



Berserk Online yaratuvchilari tanklarga qanday o'tishga qaror qilishganligi va undan nima kelgani haqidagi hikoya.

Ma'lumki, har qanday o'zini hurmat qilish o'yin kompaniyasi tanklar haqida o'yin qilish kerak. Biz bundan mustasno emasmiz - Baytex.

Tank Masters eski klassik DOS "Alchemy" o'yinining o'zgarishi, ammo tank qurilishining rivojlanish tarixi sozlamalaridan foydalanadi. O'yin juda oddiy, qoidalar elementar, shuning uchun elementlar ro'yxati va "retseptlar", o'ylangan o'yin, shuningdek, grafika va ovoz o'yinda asosiy ahamiyatga ega.

fikr

Umumiy g'oya juda tez shakllantirildi, ammo ishlab chiqarishdan oldingi bosqichda tafsilotlar qayta-qayta o'zgartirildi. Dastlab, barcha yirik tank davlatlari aralashgan bitta katta filial rejalashtirilgan edi. Ushbu g'oya interfeysda juda ko'p sonli elementlarni ko'rsatish zarurligini anglab, tezda tark etildi va boshqa variantga qaror qildi: bitta millat = o'yindagi bitta kampaniya. Natijada, ko'plab interfeys eskizlarini "belkurak" qilib, biz interfeysning qulayligi nuqtai nazaridan baho oldik - 10 ta elementdan iborat maksimal 12 ta guruh.

Asosiy o'yin ekrani variantlari:

Keyin o'yinga kirish uchun mo'ljallangan elementlarni tanlash kuzatildi.

Baytex rus o'yin kompaniyasi bo'lganligi sababli, eng yaqin va tanish bo'lgan SSSR tank qurish maktabidan boshlashga qaror qilindi. Asosiy guruhlarni, shu jumladan tanklarni tanlash qiyin emas edi. Bu darhol ko'pchilikka tanish bo'lgan mashinalarni o'z ichiga oladi onlayn o'yin World of Tanks. Afsonaviy "o'ttiz to'rtlik" va ISdan boshlab, seriyaga kirmagan A-20, A-44 va KV-13 prototiplari bilan yakunlanadi. Bundan tashqari, tanklar uchun kamroq aniq "ehtiyot qismlar" qo'shildi: shassisning turli elementlari, dvigatel bo'linmasi, qurol va boshqalar.




Tarixiy xilma-xillikni oshirish uchun taniqli dizaynerlar va tank qurilishi bilan bog'liq bo'lgan mashhur voqealar qo'shildi:


Boshlash

Eng qiyin va qiziqarli, albatta, reaktsiyalarni yig'ish jarayoni edi. Ko'proq mantiqiy aloqalarni o'rnatish uchun allaqachon rejalashtirilgan elementlarning ba'zilarini olib tashlash, boshqalarni almashtirish kerak edi. Bu g'alati tuyulgan, ammo juda mantiqiy reaktsiyalarsiz edi.

Reaksiyalar ro'yxatini yaratishda biz o'yinning o'ziga qaramlik xususiyati, o'yinchining ishtiroki va maslahatlardan foydalanish motivatsiyasini ham unutmadik. O'yin boshida mavjud bo'lgan reaktsiyalar soni doimiy ravishda o'sib bormoqda, shuning uchun o'yinchi jarayon bilan shug'ullanish uchun faqat dastlabki 10-15 elementni to'plashi kerak. Bu World of Tanks qonunlariga ko'ra MS-1 bo'lgan birinchi tank yaratilgunga qadar davom etadi. Keyin mumkin bo'lgan reaktsiyalar soni asta-sekin kamayadi, shuning uchun yangi kashf etilgandan keyin asosiy element yana ko'taring va o'yinchini harakatlari uchun o'yinda tez rivojlanish qobiliyati bilan mukofotlang. Bir nechta noma'lum elementlar qolsa, haqiqiy kombinatsiyalarni topish juda qiyin bo'ladi.

Elementlar ro'yxati dastlab qutidagi qog'oz varag'ida tuzilgan bo'lib, uni o'zgartirish va tekshirish juda noqulay edi. Shuning uchun to'plamlar va reaktsiyalarni vizual tahrirlash vositasi deyarli darhol amalga oshirildi.

Biz Grails kabi yirik kombaynni oddiy vazifa uchun olganimiz sababli, ramkaning imkoniyatlari ko'p jihatdan ishlatilganligini taxmin qilish oson. O'yin dizayneriga qulaylik yaratish uchun siz elementlarni AJAX yordamida tahrirlashingiz mumkin:

Biz tekshirish mexanizmlari yordamida backenddagi kelajakdagi xatolarga qarshi kurasha boshladik. Bundan tashqari, kelajakda muammolarni oldini olish uchun topishga yordam beradigan filtrlar yozilgan mumkin bo'lgan xatolar(buzilgan rasmlar, unutilgan tavsiflar); yoki hech qanday guruhlarga tegishli bo'lmagan narsalarni ko'rsatadigan filtr.

Asosan olish mumkin bo'lmagan elementlarni qidirish uchun skriptlarni yozish foydali bo'ldi. Bunday elementlarning mavjudligi juda katta xatodir. Dastlabki elementlar (boshqalardan ham olish mumkin emas) "asosiy" deb belgilandi.

Mobil ilova

Ilova C# tilida Unity3D yordamida amalga oshiriladi. 3D qo'shimchasining mavjudligiga qaramay, Unity 2D o'yinlarini ishlab chiqish uchun juda mos keladi. Eng muhimi, agar Unity tizimida ba'zi funksiyalar etishmayotgan bo'lsa, plaginni Unity Asset Store do'konida topishingiz mumkin. Ko'pgina plaginlar bepul.

O'yin arxitekturasini tanlash quyidagilardan biridir asosiy qarorlar, bu rivojlanish boshlanishidan oldin qabul qilinadi. Biz shunga o'xshash mavzudagi ko'plab o'yinlarni o'rganib chiqdik va turli xil sahnalarda turli xil ekranlarni yaratish varianti bizga mos kelmasligiga qaror qildik. Bu ekranlar o'rtasida almashinishning kerakli silliqligiga erishishga imkon bermaydi va ular o'zgarganda o'tishlarni qo'shishni sezilarli darajada murakkablashtiradi.

Biz sahnalarga o'xshash narsani amalga oshirdik, lekin o'zimiz bilan. Bizda ekranlar o'rtasida almashishga qodir bo'lgan o'z davlat mashinasiga ega ekran menejeri bor. Har bir ekran Hide, Show usullari bilan interfeysni amalga oshiradi va bir nechta turdagi hodisalarga ega: OnShow, OnHide. Bu bizga Mecanim-dan ekranga o'tish animatsiyalarini yaratish uchun foydalanish imkoniyatini berdi va ular bilan ishlashni osonlashtirdi.

Rivojlanishning boshida biz qiyin tanlovga duch keldik: 2D ishlab chiqishni soddalashtiradigan taniqli kutubxonalardan foydalaning (masalan, ngui) yoki imkoniyatdan foydalaning va yangi paydo bo'lgan Unity UI tizimi yordamida hamma narsani amalga oshirishga harakat qiling. Biz ikkinchisini tanladik va deyarli afsuslanmadik, garchi oxir-oqibat o'yin sprayt aralashmasi bilan yakunlandi (o'yinda ishlatilgan). o'yin) va tuval (menyuda, sarlavhada, asboblar maslahatlarida ishlatiladi).

Ilova juda oddiy. Hammasi bo'lib 7 ta o'yin ekrani mavjud bo'lib, ular 7 ta kontrollerga mos keladi - MonoBehaviour. Bir tomondan, ular ko'rinmas narsalardan voqealarga, masalan, o'yin do'konidagi voqealarga obuna bo'lishadi. Boshqa tomondan, agar kerak bo'lsa, ular qalqib chiquvchi oynalar va dialoglarni yaratadilar, tovushlar va musiqalarni nazorat qiladilar.

Foydalanilgan kutubxonalar haqida bir oz. Biz plaginlarni quyidagi xususiyatlar asosida tanladik:

● plagin rivojlanmoqda, hamjamiyat mavjud - Birlik to'xtamaydi, men mos kelmaslik muammosiga duch kelishni xohlamayman eski versiya yangi Unity bilan plagin va ishlab chiquvchilarning plaginni yangilash istagi yo'qligi;

● plagin bepul yoki sinov uchun "bepul" (shareware) versiyasi mavjud - plaginni faqat bizga mos kelmasligini tushunish uchun sotib olish bizga mos kelmadi;

● ochiq manba - yo'q majburiy shart lekin juda orzu qilingan. Ba'zan topilgan xatolarni zudlik bilan tuzatishingiz kerak bo'ladi va ishlab chiquvchilardan o'zgarishlarni kutish uchun bir hafta vaqt sarflash har doim ham imkoniyat emas.

Ma'lumotlarni saqlash uchun biz JSON-dan foydalanamiz, uni ko'z bilan ko'rish va reaktsiya muharriridan eksport qilish oson. Unity ichida JSON bilan ishlash uchun bizning tanlovimiz JSONObject-ga to'g'ri keldi - u sizga kerak bo'lgan hamma narsaga ega va juda yuqori tezlikka ega, u bir soniyadan kamroq vaqt ichida 2-3 ming elementdan iborat reaktsiyalar tarixiga ega ro'yxatni avtomatik ravishda qayta ishlaydi.

Android immersiv rejimi- bu o'yinchining o'yinga sho'ng'ishini oshiradigan juda kichik, ammo juda muhim plagin; shunga ko'ra, o'yinda o'tkaziladigan vaqt ham ortadi. Bu Android uchun zarur plagin, shuning uchun men manbalarni biroz o'rganishim kerak edi, "#if UNITY_ANDROID" qo'shishim kerak edi: ularsiz plagin iOS uchun loyihani yaratishga xalaqit berdi. Immersiv rejim - bu sizning dasturingiz foydalanuvchiga to'liq ekranda ko'rsatiladigan rejim bo'lib, tizim paneli, jumladan, navigatsiya paneli ko'rinmaydi.

Facebook bir martalik yechim sifatida foydalanish mumkin. O'yinchini Facebook akkaunti bilan bog'lash Graph API orqali yutuqlarni nashr qilish imkonini beradi. Bundan tashqari, ijtimoiy tarmoqlar o'yinchi bilan muloqot qilish uchun foydalanish mumkin. Pleyerda bir nechta qurilmalar (masalan, Windows noutbuki, Android plansheti va iOS telefoni) bo'lsa, ijtimoiy tarmoqlar orqali avtorizatsiya qilish eng qulaydir. FB jamoasi Unity uchun plaginni chiqarish orqali ishlab chiquvchilarning hayotini ancha osonlashtirdi. Avtorizatsiya/almashish - hamma narsa qutidan tashqarida ishlaydi.

DOTween- ilova ichidagi barcha animatsiyalar yordamida amalga oshiriladi standart vositalar Unity, Mecanim va vaqti-vaqti bilan eski animatsiyalar, ammo uchinchi tomon plaginlari bilan reaktsiyalar o'tkazishda elementlarni spiral shaklida harakatlantirish osonroq bo'ldi, buning uchun harakat boshlanishidan oldin bir nechta nuqtalar yaratiladi, unga ko'ra DOTween yo'lni quradi. ob'ektning harakatlanishi uchun.

Soomla- "vitrin", bu dasturni bir vaqtning o'zida bir nechta "bozorlarga" ulash imkonini beradi: Google O'yin bozori, iTunes Uskunalar Do'koni, Amazon Appstore, Windows telefon do'kon. Bizning fikrimizcha, bu shunday ko'plab do'konlarni qo'llab-quvvatlashni birlashtirgan yagona plagin, yaxshi jamoaga ega, jadal rivojlanmoqda va hatto bepul.

Ilovani tarjima qilish uchun kutubxonadan foydalanilgan aqlli mahalliylashtirish. Github-da juda ko'p manbalar mavjud ijobiy fikr bildirish aktivlar do'konida. Csv-ga eksport/import mavjud, u deyarli izohsiz ishlaydi. Dastlab, elementlarni tarjima qilish element muharririda amalga oshirildi, ammo keyin u yoqildi shoshqaloqlik bilan SmartLocaliztion uchun tushunarli bo'lgan XML ga yozma eksport.

Response.addHeader("Content-Type", "text/xml; charset=utf-8") def xml = new MarkupBuilder(response.writer) xml.root() (uchun (def o: objects) ( data([" nom": o.key, "xml:space": "saqlash"]) (qiymat(o.value) ) ) ) respond.writer.flush()
Keyinchalik, tarjimalar Unity muhitiga import qilindi va joyida tahrir qilindi. Buning yordamida tarjima qilingan matnning biron bir joyda chegaradan tashqarida ekanligini va oxir-oqibat hamma narsa qanday ko'rinishini ko'rish mumkin edi.

Badiiy uslub

O'yin elementlari ro'yxati ma'lum bo'lgach, bizning ikki rassomimiz grafik dizayn ustida ishlashni boshladilar.

Birinchi qadam qaror qabul qilish uchun o'yin oynalarining bir nechta eskizlarini chizish edi ko'rinish o'yinlar. Natijada, och kulrang ohanglar va xaki o'yin dizaynida asosiy ranglarga aylandi, shuning uchun kichik matnni o'qish oson, engil fondagi rasmlar aniq ko'rinadi va yashil soyalar o'yinchini tank mavzusi bilan bog'laydi. .

Tegishli vizual uslubni tanlab, biz interfeys oynalarining qolgan qismini chizishni va parallel ravishda ob'ektlarning rasmlari ustida ishlashni boshladik. Oddiy mexanika va o'yinning umumiy kayfiyatiga mos keladigan tanklar va boshqa narsalarni komikslar uslubida tasvirlashga qaror qilindi. Uchun tonal o'tishlar gradient o'rniga zarbalar ishlatilgan (biz bu texnikani eski texnik adabiyotlarning rasmlaridan olganmiz). Tankning kichik detallarini telefon ekranida ko'rinadigan qilish uchun biz ularni rasmlarda biroz kattalashtirdik, tanlangan uslub bunga zid emas edi.







Tayyor bo'lgach, grafik tarkib dasturchilarga o'tkazildi va mo''jizaviy tarzda o'yinda paydo bo'ldi. Kun sayin o'yindagi elementlar soni ortib bordi. Keyinchalik, har bir tank o'yin grafikasini diversifikatsiya qiladigan kamuflyajga ega bo'ldi.

O'yindagi barcha animatsiya dasturchilarga ham, rassomlarga ham mos keladigan Unity-da yaratilgan. Rassomlarga Adobe AfterEffects yoki Photoshop CS6 oynasiga o'xshash vaqt jadvali oynasi bilan ishlash qulayligi yoqdi, dasturchilar Unity-ga animatsiyani import qilish yo'llarini izlamasliklari kerak edi.

ovozli aktyorlik

Rivojlanishning boshida biz boshqa loyihamizdan ovozli aktyorlik va musiqani oldik. Biz oxirgi versiyani frilanserga buyurtma qildik. U birinchi ovozli aktyorlik variantlarini taqdim etganida, tovushlar davomiyligi bo'yicha farqlanishi ma'lum bo'ldi. Va eng yomoni, ularning davomiyligi biz ishlatgan tovushlardan farq qildi va shunga mos ravishda animatsiyaga mos kelmadi. Ushbu bosqichda biz frilanserga taqdim etilgan tovushlar to'plamiga ega dasturni berdik. Keyinchalik, barcha tovushlar davomiyligi va hajmi bo'yicha normallashtirildi va bir nechta yangi ovozli aktyorlik g'oyalari taklif qilindi.

№1 tayyorlik va ozodlik

Natijada, ushbu qismlarning barchasini birlashtirib, biz o'z o'yinimizni oldik. Bundan tashqari, yig'ilgan dastur olov va suvdan o'tish uchun sinovdan o'tkazildi. Sinov 30 dan ortiq turli xil qurilmalarda o'tkazildi. Natijada, biz ba'zi rasmlarni siqib chiqarishga majbur bo'ldik, chunki baribir farqni faqat rassom ko'rishi mumkin edi - bu bizga 40 MB RAMni tejashga yordam berdi. Keyin biz elementli rasmlarni sprite varaqlari bilan birlashtirdik, bu esa o'yin qo'ng'iroqlari sonini ~ 430 dan ~ 80 gacha qisqartirdi. Voqea joyidan tashqaridagi ob'ektlarni olib tashlash qo'shildi, garchi ular ko'rinmasa ham, ularning har biri qo'shimcha chizish chaqiruvini qo'shdi. Hozirda o'yin iPhone 4 da yaxshi ko'rinadi va 512 MB operativ xotiraga ega Android tizimida ishlaydi.

Endi hushyor va sinchkov testerlar hamma narsadan mamnun bo'lib, dasturni turli savdo platformalariga yuklash va ishga tushirishning hayajonli daqiqasini kutish qoladi.

Yigirmanchi asrning birinchi yarmidagi ajoyib davrga kirishga harakat qiling ulkan yirtqich hayvonlar tanklar haqiqiy urush qahramonlariga aylandi.

  • Mobil ilovalarni ishlab chiqish
  • Berserk Online yaratuvchilari tanklarga qanday o'tishga qaror qilishganligi va undan nima kelgani haqidagi hikoya.

    Ma'lumki, har qanday o'zini hurmat qiladigan o'yin kompaniyasi tanklar haqida o'ynashi kerak. Biz bundan mustasno emasmiz - Baytex.

    Tank Masters eski klassik DOS "Alchemy" o'yinining o'zgarishi, ammo tank qurilishining rivojlanish tarixi sozlamalaridan foydalanadi. O'yin juda oddiy, qoidalar elementar, shuning uchun elementlar ro'yxati va "retseptlar", o'ylangan o'yin, shuningdek, grafika va ovoz o'yinda asosiy ahamiyatga ega.

    fikr

    Umumiy g'oya juda tez shakllantirildi, ammo ishlab chiqarishdan oldingi bosqichda tafsilotlar qayta-qayta o'zgartirildi. Dastlab, barcha yirik tank davlatlari aralashgan bitta katta filial rejalashtirilgan edi. Ushbu g'oya interfeysda juda ko'p sonli elementlarni ko'rsatish zarurligini anglab, tezda tark etildi va boshqa variantga qaror qildi: bitta millat = o'yindagi bitta kampaniya. Natijada, ko'plab interfeys eskizlarini "belkurak" qilib, biz interfeysning qulayligi nuqtai nazaridan baho oldik - 10 ta elementdan iborat maksimal 12 ta guruh.

    Asosiy o'yin ekrani variantlari:

    Keyin o'yinga kirish uchun mo'ljallangan elementlarni tanlash kuzatildi.

    Baytex rus o'yin kompaniyasi bo'lganligi sababli, eng yaqin va tanish bo'lgan SSSR tank qurish maktabidan boshlashga qaror qilindi. Asosiy guruhlarni, shu jumladan tanklarni tanlash qiyin emas edi. Bu darhol ko'pchilikka onlayn tanish bo'lgan mashinalarni o'z ichiga oladi o'yin dunyosi tanklar. Afsonaviy "o'ttiz to'rtlik" va ISdan boshlab, seriyaga kirmagan A-20, A-44 va KV-13 prototiplari bilan yakunlanadi. Bundan tashqari, tanklar uchun kamroq aniq "ehtiyot qismlar" qo'shildi: shassisning turli elementlari, dvigatel bo'linmasi, qurol va boshqalar.




    Tarixiy xilma-xillikni oshirish uchun taniqli dizaynerlar va tank qurilishi bilan bog'liq bo'lgan mashhur voqealar qo'shildi:


    Boshlash

    Eng qiyin va qiziqarli, albatta, reaktsiyalarni yig'ish jarayoni edi. Ko'proq mantiqiy aloqalarni o'rnatish uchun allaqachon rejalashtirilgan elementlarning ba'zilarini olib tashlash, boshqalarni almashtirish kerak edi. Bu g'alati tuyulgan, ammo juda mantiqiy reaktsiyalarsiz edi.

    Reaksiyalar ro'yxatini yaratishda biz o'yinning o'ziga qaramlik xususiyati, o'yinchining ishtiroki va maslahatlardan foydalanish motivatsiyasini ham unutmadik. O'yin boshida mavjud bo'lgan reaktsiyalar soni doimiy ravishda o'sib bormoqda, shuning uchun o'yinchi jarayon bilan shug'ullanish uchun faqat dastlabki 10-15 elementni to'plashi kerak. Bu World of Tanks qonunlariga ko'ra MS-1 bo'lgan birinchi tank yaratilgunga qadar davom etadi. Keyin mumkin bo'lgan reaktsiyalar soni asta-sekin kamayadi va yangi asosiy element topilgandan keyin yana ko'payadi va o'yinchini o'z harakatlari uchun o'yinda tezda o'sish imkoniyati bilan mukofotlaydi. Bir nechta noma'lum elementlar qolsa, haqiqiy kombinatsiyalarni topish juda qiyin bo'ladi.

    Elementlar ro'yxati dastlab qutidagi qog'oz varag'ida tuzilgan bo'lib, uni o'zgartirish va tekshirish juda noqulay edi. Shuning uchun to'plamlar va reaktsiyalarni vizual tahrirlash vositasi deyarli darhol amalga oshirildi.

    Biz Grails kabi yirik kombaynni oddiy vazifa uchun olganimiz sababli, ramkaning imkoniyatlari ko'p jihatdan ishlatilganligini taxmin qilish oson. O'yin dizayneriga qulaylik yaratish uchun siz elementlarni AJAX yordamida tahrirlashingiz mumkin:

    Biz tekshirish mexanizmlari yordamida backenddagi kelajakdagi xatolarga qarshi kurasha boshladik. Bundan tashqari, kelajakda muammolarni oldini olish uchun mumkin bo'lgan xatolarni topishga yordam beradigan filtrlar yozildi (buzilgan rasmlar, unutilgan tavsiflar); yoki hech qanday guruhlarga tegishli bo'lmagan narsalarni ko'rsatadigan filtr.

    Asosan olish mumkin bo'lmagan elementlarni qidirish uchun skriptlarni yozish foydali bo'ldi. Bunday elementlarning mavjudligi juda katta xatodir. Dastlabki elementlar (boshqalardan ham olish mumkin emas) "asosiy" deb belgilandi.

    Mobil ilova

    Ilova C# tilida Unity3D yordamida amalga oshiriladi. 3D qo'shimchasining mavjudligiga qaramay, Unity 2D o'yinlarini ishlab chiqish uchun juda mos keladi. Eng muhimi, agar Unity tizimida ba'zi funksiyalar etishmayotgan bo'lsa, plaginni Unity Asset Store do'konida topishingiz mumkin. Ko'pgina plaginlar bepul.

    O'yin arxitekturasini tanlash rivojlanish boshlanishidan oldin qabul qilinadigan eng muhim qarorlardan biridir. Biz shunga o'xshash mavzudagi ko'plab o'yinlarni o'rganib chiqdik va turli xil sahnalarda turli xil ekranlarni yaratish varianti bizga mos kelmasligiga qaror qildik. Bu ekranlar o'rtasida almashishning kerakli silliqligiga erishishga imkon bermaydi va ular o'zgarganda o'tishlarni qo'shishni sezilarli darajada murakkablashtiradi.

    Biz sahnalarga o'xshash narsani amalga oshirdik, lekin o'zimiz bilan. Bizda ekranlar o'rtasida almashishga qodir bo'lgan o'z davlat mashinasiga ega ekran menejeri bor. Har bir ekran Hide, Show usullari bilan interfeysni amalga oshiradi va bir nechta turdagi hodisalarga ega: OnShow, OnHide. Bu bizga Mecanim-dan ekranga o'tish animatsiyalarini yaratish uchun foydalanish imkoniyatini berdi va ular bilan ishlashni osonlashtirdi.

    Rivojlanishning boshida biz qiyin tanlovga duch keldik: 2D ishlab chiqishni soddalashtiradigan taniqli kutubxonalardan foydalaning (masalan, ngui) yoki imkoniyatdan foydalaning va yangi paydo bo'lgan Unity UI tizimi yordamida hamma narsani amalga oshirishga harakat qiling. Biz ikkinchisini tanladik va deyarli afsuslanmadik, garchi oxir-oqibat o'yin sprite (o'yinning o'zida ishlatiladi) va tuval (menyuda, sarlavhada, maslahatlarda ishlatiladi) aralashmasi bo'lib chiqdi.

    Ilova juda oddiy. Hammasi bo'lib 7 ta o'yin ekrani mavjud bo'lib, ular 7 ta kontrollerga mos keladi - MonoBehaviour. Bir tomondan, ular ko'rinmas narsalardan voqealarga, masalan, o'yin do'konidagi voqealarga obuna bo'lishadi. Boshqa tomondan, agar kerak bo'lsa, ular qalqib chiquvchi oynalar va dialoglarni yaratadilar, tovushlar va musiqalarni nazorat qiladilar.

    Foydalanilgan kutubxonalar haqida bir oz. Biz plaginlarni quyidagi xususiyatlar asosida tanladik:

    ● plagin rivojlanmoqda, hamjamiyat mavjud - Unity to'xtamaydi, men plaginning eski versiyasining yangi Unity bilan mos kelmasligi va ishlab chiquvchilarning plaginni yangilash istagi yo'qligi muammosiga duch kelishni xohlamayman. ;

    ● plagin bepul yoki sinov uchun "bepul" (shareware) versiyasi mavjud - plaginni faqat bizga mos kelmasligini tushunish uchun sotib olish bizga mos kelmadi;

    ● ochiq manba kodi - bu majburiy shart emas, lekin juda ma'qul. Ba'zan topilgan xatolarni zudlik bilan tuzatishingiz kerak bo'ladi va ishlab chiquvchilardan o'zgarishlarni kutish uchun bir hafta vaqt sarflash har doim ham imkoniyat emas.

    Ma'lumotlarni saqlash uchun biz JSON-dan foydalanamiz, uni ko'z bilan ko'rish va reaktsiya muharriridan eksport qilish oson. Unity ichida JSON bilan ishlash uchun bizning tanlovimiz JSONObject-ga to'g'ri keldi - u sizga kerak bo'lgan hamma narsaga ega va juda yuqori tezlikka ega, u bir soniyadan kamroq vaqt ichida 2-3 ming elementdan iborat reaktsiyalar tarixiga ega ro'yxatni avtomatik ravishda qayta ishlaydi.

    Android immersiv rejimi- bu o'yinchining o'yinga sho'ng'ishini oshiradigan juda kichik, ammo juda muhim plagin; shunga ko'ra, o'yinda o'tkaziladigan vaqt ham ortadi. Bu Android uchun zarur plagin, shuning uchun men manbalarni biroz o'rganishim kerak edi, "#if UNITY_ANDROID" qo'shishim kerak edi: ularsiz plagin iOS uchun loyihani yaratishga xalaqit berdi. Immersiv rejim - bu sizning dasturingiz foydalanuvchiga to'liq ekranda ko'rsatiladigan rejim bo'lib, tizim paneli, jumladan, navigatsiya paneli ko'rinmaydi.

    Facebook bir martalik yechim sifatida foydalanish mumkin. O'yinchini Facebook akkaunti bilan bog'lash Graph API orqali yutuqlarni nashr qilish imkonini beradi. Bundan tashqari, pleer bilan bog'lanish uchun ijtimoiy tarmoqlardan foydalanish mumkin. Pleyerda bir nechta qurilmalar (masalan, Windows noutbuki, Android plansheti va iOS telefoni) bo'lsa, ijtimoiy tarmoqlar orqali avtorizatsiya qilish eng qulaydir. FB jamoasi Unity uchun plaginni chiqarish orqali ishlab chiquvchilarning hayotini ancha osonlashtirdi. Avtorizatsiya/almashish - hamma narsa qutidan tashqarida ishlaydi.

    DOTween- ilova ichidagi barcha animatsiyalar Unity, Mecanim standart vositalari va vaqti-vaqti bilan eski animatsiyalar yordamida amalga oshiriladi, ammo uchinchi tomon plaginlari bilan reaktsiyalar o'tkazishda elementlarni spiral shaklida harakatlantirish osonroq bo'ldi, buning uchun bir nechta nuqtalar yaratildi. harakat boshlanishidan oldin, unga ko'ra DOTween ob'ekt harakati uchun yo'l quradi.

    Soomla- "vitrin", bu dasturni bir vaqtning o'zida bir nechta "bozorlarga" ulash imkonini beradi: Google Play Market, iTunes App Store, Amazon Appstore, Windows Phone Store. Bizning fikrimizcha, bu shunday ko'plab do'konlarni qo'llab-quvvatlashni birlashtirgan yagona plagin, yaxshi jamoaga ega, jadal rivojlanmoqda va hatto bepul.

    Ilovani tarjima qilish uchun kutubxonadan foydalanilgan aqlli mahalliylashtirish. Github-da manbalar, aktivlar do'konida ko'plab ijobiy sharhlar mavjud. Csv-ga eksport/import mavjud, u deyarli izohsiz ishlaydi. Dastlab, elementlarni tarjima qilish element muharririda amalga oshirildi, ammo keyin SmartLocaliztion XML ni tushunish uchun shoshilinch ravishda eksport yozildi.

    Response.addHeader("Content-Type", "text/xml; charset=utf-8") def xml = new MarkupBuilder(response.writer) xml.root() (uchun (def o: objects) ( data([" nom": o.key, "xml:space": "saqlash"]) (qiymat(o.value) ) ) ) respond.writer.flush()
    Keyinchalik, tarjimalar Unity muhitiga import qilindi va joyida tahrir qilindi. Buning yordamida tarjima qilingan matnning biron bir joyda chegaradan tashqarida ekanligini va oxir-oqibat hamma narsa qanday ko'rinishini ko'rish mumkin edi.

    Badiiy uslub

    O'yin elementlari ro'yxati ma'lum bo'lgach, bizning ikki rassomimiz grafik dizayn ustida ishlashni boshladilar.

    Avvalo, o'yinning ko'rinishini aniqlash uchun o'yin oynalarining bir nechta eskizlari chizilgan. Natijada, och kulrang ohanglar va xaki o'yin dizaynida asosiy ranglarga aylandi, shuning uchun kichik matnni o'qish oson, engil fondagi rasmlar aniq ko'rinadi va yashil soyalar o'yinchini tank mavzusi bilan bog'laydi. .

    Tegishli vizual uslubni tanlab, biz interfeys oynalarining qolgan qismini chizishni va parallel ravishda ob'ektlarning rasmlari ustida ishlashni boshladik. Oddiy mexanika va o'yinning umumiy kayfiyatiga mos keladigan tanklar va boshqa narsalarni komikslar uslubida tasvirlashga qaror qilindi. Tonal o'tishlar uchun gradient o'rniga zarbalar ishlatilgan (biz bu texnikani eski texnik adabiyotlarning rasmlaridan olganmiz). Tankning kichik detallarini telefon ekranida ko'rinadigan qilish uchun biz ularni rasmlarda biroz kattalashtirdik, tanlangan uslub bunga zid emas edi.







    Tayyor bo'lgach, grafik tarkib dasturchilarga o'tkazildi va mo''jizaviy tarzda o'yinda paydo bo'ldi. Kun sayin o'yindagi elementlar soni ortib bordi. Keyinchalik, har bir tank o'yin grafikasini diversifikatsiya qiladigan kamuflyajga ega bo'ldi.

    O'yindagi barcha animatsiya dasturchilarga ham, rassomlarga ham mos keladigan Unity-da yaratilgan. Rassomlarga Adobe AfterEffects yoki Photoshop CS6 oynasiga o'xshash vaqt jadvali oynasi bilan ishlash qulayligi yoqdi, dasturchilar Unity-ga animatsiyani import qilish yo'llarini izlamasliklari kerak edi.

    ovozli aktyorlik

    Rivojlanishning boshida biz boshqa loyihamizdan ovozli aktyorlik va musiqani oldik. Biz oxirgi versiyani frilanserga buyurtma qildik. U birinchi ovozli aktyorlik variantlarini taqdim etganida, tovushlar davomiyligi bo'yicha farqlanishi ma'lum bo'ldi. Va eng yomoni, ularning davomiyligi biz ishlatgan tovushlardan farq qildi va shunga mos ravishda animatsiyaga mos kelmadi. Ushbu bosqichda biz frilanserga taqdim etilgan tovushlar to'plamiga ega dasturni berdik. Keyinchalik, barcha tovushlar davomiyligi va hajmi bo'yicha normallashtirildi va bir nechta yangi ovozli aktyorlik g'oyalari taklif qilindi.

    №1 tayyorlik va ozodlik

    Natijada, ushbu qismlarning barchasini birlashtirib, biz o'z o'yinimizni oldik. Bundan tashqari, yig'ilgan dastur olov va suvdan o'tish uchun sinovdan o'tkazildi. Sinov 30 dan ortiq turli xil qurilmalarda o'tkazildi. Natijada, biz ba'zi rasmlarni siqib chiqarishga majbur bo'ldik, chunki baribir farqni faqat rassom ko'rishi mumkin edi - bu bizga 40 MB RAMni tejashga yordam berdi. Keyin biz elementli rasmlarni sprite varaqlari bilan birlashtirdik, bu esa o'yin qo'ng'iroqlari sonini ~ 430 dan ~ 80 gacha qisqartirdi. Voqea joyidan tashqaridagi ob'ektlarni olib tashlash qo'shildi, garchi ular ko'rinmasa ham, ularning har biri qo'shimcha chizish chaqiruvini qo'shdi. Hozirda o'yin iPhone 4 da yaxshi ko'rinadi va 512 MB operativ xotiraga ega Android tizimida ishlaydi.

    Endi hushyor va sinchkov testerlar hamma narsadan mamnun bo'lib, dasturni turli savdo platformalariga yuklash va ishga tushirishning hayajonli daqiqasini kutish qoladi.

    20-asrning birinchi yarmida tanklar ulkan yirtqich hayvonlardan haqiqiy urush qahramonlariga aylangan ajoyib davrga sho'ng'ishga harakat qiling.

    Savollaringiz bormi?

    Xato haqida xabar bering

    Tahririyatimizga yuboriladigan matn: