І нехай весь світ оживе

95

Почалося все з того, що два роки тому я влаштувався програмістом в нову перспективну контору, що робить ігри для мобільних платформ. На початку роботи я був недосвідченим випускником вузу, мало що розуміють в програмуванні, але час не щадить нікого. Кожен день я читав статейки, вивчав мануали і вчився чому-небудь новому. Минув час, але нічого не змінилося. Задолбали!

Навіщо все писати повільно, продумуючи логіку кожного функціонального елемента, адже все можна зробити «швиденько», вставляючи подекуди-куди милиці! Часто буває, що при старті проекту, коли пишеш демо-гру, з неї відразу ж намагаються зробити готовий ігровий продукт, всі тези про те, що продукт потрібно оптимізувати, розбиваються об стіну нерозуміння: «Коли на айпад буде гальмувати, тоді і оптимізуємо».

Навіщо писати концепти для майбутніх ігор? Адже найкраще їх переробляти по п’ять разів на дню і передавати концепт з уст в уста. Починаєш писати код нормально, потім приходять правки, потім ще правки, потім ще… В результаті код виглядає як жирний монстр з тентаклями, без кісток і зі згорнутої шиєю, на якій вгадується подоба обличчя з виразом «пристреліть мене». Пояснюємо ситуацію, просимо час на переробку — нам його не дають, кажуть, що треба швидше випустити гру в обіг, і тут же просять зробити ще кілька особливостей, на які піде від пари зайвих днів до тижня.

Навіщо продумувати ігрову функціональність наперед, якщо можна її так само, як і графіку, міняти на льоту? Коли починаєш писати код, ніколи не знаєш, що банальна рядок коду «запустити анімацію» може надалі виявитися цілою анімаційної системою з різними параметрами, виходячи з ситуації. Буває, доводиться вворачивать функціональність двомісячної давності з елементами другої і фічами третьої, при цьому потрібно робити все «швиденько». Пояснював ситуацію, просив продумувати наперед, розповідав, що встройка раніше не передбаченої функціональності буває навіть дуже довгою, тому що необхідно внести зміни в багато модулі, але ми ж горді!

Навіщо малювати концепти, якщо всю графіку можна переробляти на льоту? І неважливо, як багато функціональності потрібно переписувати через раптово виникаючих нових предметів, які повинні красиво рухатися і анимироваться, виходячи з ситуації. Частенько просять зрушити кнопки на 5-10 пікселів (приблизно міліметр на екрані айпада), тому що здається, що кнопка залипла. Пояснювали ситуацію, просили малювати так, щоб все було на своїх місцях, але віз і нині там.

Оптимізація? Давай, до побачення! Іноді на сцену малюють просто тонни графіки, і часом ця мильна бульбашка лопається (пристрій вилітає по пам’яті). Пояснювали, просили не робити так багато або оптимізувати графіку, але практично всі доводи успішно ігноруються зі словами: «Як почне вилітати, так і оптимізуємо». Частенько доводиться нишком жати незначні текстури, сподіваючись, що художники не помітять, з успіхом приблизно 50/50. Одного разу поставив у популярність художника, що я знизав текстури, і звільнилося приблизно 20 МБ пам’яті, так він з радісними очима вручив ще пак текстур, які необхідно внести на сцену. Зробив так, щоб не вилітало і мало-мальськи працювало — у підсумку десь через місяць додав рекламні сервіси, які кешируют рекламу в пам’ять з відомим кінцем… Пояснювали, просили відразу думати про оптимізацію, але безрезультатно.

Продумування ефектів? Не, не чули. Частенько просять підібрати ефект для ігрового події (вибух, іскри, хмара пилу). На мої доводи про те, що я програміст, а не дизайнер, що відчуття прекрасного у мене кінчається на формулі E = mc2, просто розводять руками. У підсумку витрачаю майже цілий день на перегляд, відсіювання і калібрування ефектів, які, що очікувано, не подобаються керівництву. Частенько після цього художник підходить, сідає поруч і пробує встановити ефект за образом і подобою того, що у нього знаходиться в голові. В підсумку є два варіанти розвитку поЕкшн : або він домагається початкових результатів і каже, що ефект потрібно використовувати, або передає завдання іншому програмісту з повторенням циклу. Пояснювали, говорили, що ми не дизайнери і не телепати, та наша думка нікого не цікавить.

Одного разу запрошували з північної столиці людини, який хотів організувати робочий процес. Він провів з нами одну зустріч, записав всі наші задолбашки — і був такий…

Працюю я до сих пір, але альтернатив в нашій області немає. Буду і далі працювати і задалбываться.