Історія розробки Tower Defense для ВК і Android

Привіт Хабр, хочу поділитися моїм досвідом розробки спочатку ВК а потім Android ігри.
Геймдевом ніколи раніше не займався, але невеликий надлишок часу, а так само бажання розширити область професійних умінь, послужило поштовхом для початку розробки.

Після недовгих роздумів вирішив робити гру в жанрі Tower Defense, здебільшого тому, що мені самому подобається цей жанр. Перший прототип гри був набросан в той же день, квадратики веж стріляють кружечками по квадратикам ворогів. Ну все, гра майже готова, подумав я, залишилося прикрутити графіком, GUI і понаробляти рівні, вороги і башти, але до цього потрібно було вибрати платформу.

Додаток для ВК
Було вирішено робити ВК додаток, напевно тому що я сам в той час грав в одну популярну ВК гру і бачачи цифри в овер 5 млн. учасників вважав що ВК додаток це дуже популярно. А так само розробка ВК додатки для мене означала вивчення одразу двох нових областей, PHP для серверної частини та ActionScript (Flash) для клієнтської. Скачав книжку Колін Мук — ActionScript 3 і взявся за вивчення. ActionScript виявився досить простим для вивчення, єдине що мене це напружувало відсутність сліпа, але до цього швидко звикаєш. PHP ж і без книги йшов чудово, напевно через його популярності, будь-яка дрібниця гуглится на ура відразу з прикладами. з mySQL взагалі не виникло проблем т. к. я з ним вже був знайомий. У всіх своїх проектах намагаюся дотримуватися парадигми ООП, це в подальшому сильно полегшило життя т. к. проект виявився багаторазово більш об'ємним, ніж я припускав спочатку.

Основна структура класів та структура БД була зроблена швидко, тут я був в своєму середовищі. Потім були придумані типи веж (кожна зі своїми особливостями) і прямо в ексель були спроектовані схеми рівнів. Дуже швидко я вперся в те що потрібна графіка, а саме GUI, карти рівнів, а так само спрайт веж і ворогів. Перший варіант GUI був знайдений швидко, для рівнів відмінно підійшов всім відомий Tiled, але ось що робити з рештою я не знав, де взяти спрайт для веж і ворогів. У зв'язку з умінням малювати і відсутністю почуття смаку, про те щоб самому не було й мови. В кінцевому підсумку одну вежу мені намалювала дружина, ще пару я десь скопіпастив трохи підправивши під себе, і ще одну отрендерил в 3dmax з безкоштовною моделі яка мені підійшла. Я так стомився з цими статичними спрайтами веж, що при думці про спрайтах ворогів (які повинні бути анімовані) у мене просто опускалися руки. На щастя я натрапив на невелику програмку CharCreator, вона містила величезну кількість елементів для створення анімованих персонажів.

image
Коли питання з графікою було вирішено я досить довго прововтузився з балансом. Коли вже по балансу практично все зробив на хабре була опублікована стаття як раз на цю тему, якби вона вийшла раніше це сильно б зекономило час. Взагалі розробка тривала вже більше року. Це було хобі і займався я їм тоді коли було відповідне настрій і час, а було його все менше. Але незважаючи на це маленькими кроками гра все ж була доведена до першого релізу і відправлена на перевірку.

image
Зараз нажаль не можу знайти той варіант щоб показати, але очевидно, що мова йшла про GUI, він був жахливий. Знадобилося більше місяця, щоб переробити GUI і додати навчання (без нього теж не стали публікувати). І в кінці 2014 року гра була додана в каталог ВК. За наступний рік у грі було зроблено багато поліпшень і фіксів, новий рівні, система скілів об " та інше. Я не робив своєю метою заробити на цьому додатку, але напевно кожному у кого є хобі хочеться щоб воно крім морального задоволення приносило ще й дохід. Придбання ігрової валюти я робити не став, але рекламу все ж таки прикрутив, доходів з реклами ледве вистачало на хостинг, але хороші відгуки про гру були мені набагато важливіше й дорожче.
Посилання на додаток

Перенесення на Unity
В кінці 2015 я задумався про портировании на Android. Досить швидко освоїв основи unity3d по урокам в якійсь статті, з# в той час у мене вже на високому рівні, так що справа пішла. Код переніс швидко, спасибі ООП. З графікою довелося складніше, адже раніше я використовував кошти анимирования Flash. Багато речей у unity, дуже зручні, але я по суті не користувався багатьма фішками які у мене вже були реалізовані власноруч в коді. Якби я вів розробку на unity спочатку то це було б швидше ніж ActionScript, але не думаю що на багато, адже основний час як я вже згадував пішло на пошуки спрайтів.

Портування на unity сильно затягнувся, як з'ясовувалося за 2 роки розробки (хоч і млявою) проект став досить великим, але ось рівно рік я виклав мобільну версію для Android. Але якщо в ВК додатків цього жанру не так вже й багато то в Google play воно просто потонуло в інших подібних і що не маловажно більш якісних додатках. Його просто не знаходять, а ті хто знаходять розпещені бестселерами цього жанру і звичайно конкурувати з ними складно. Запостив на 4pda і trashbox, а так само розмістив посилання з ВК програми, але ефект досить слабкий.

Посилання на маркет

Висновки
Підводячи підсумки розробки хочу зазначити що мета, заради якої все і почалося досягнута в повному обсязі. Вивчена нова для мене область, освоєний ActionScript, PHP і Unity3d.

Основні висновки які я зробив:

  • Розробка гри це цікаво, і відмінно підходить для освоєння нових середовищ і мов;
  • Те що в твоє додаток грають мотивує на його поліпшення, але зворотний процес теж є;
  • Щоб зробити стоїть гру в команді повинен бути художник/дизайнер;
  • Щоб заробляти на грі цьому треба приділяти по справжньому багато часу, повинна бути або оригінальна ідея або відмінне виконання;
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.