Мої враження від GGJ23 і як це все відбувалося

·

10 min read

Знайомство з командою і плани

Недавно закінчилася основна подія GGJ23, де мене вперше запросили взяти участь в джемі разом у команді Tobi Torba Games. Загалом в команді було 4 розробники, де 2 програмісти, включаючи мене, художниця і аніматор. Це був шикарний досвід і нові знайомства. Мені дуже сподобалося працювати з ними. Сильно покращив софт скіли, так як навчився комунікувати з людьми краще і без великих конфліктів працювати разом. На початку досить складно так як не знаємо одне одного, кожного досвід і вміння. Тому точно треба перед джемом зробити простий шаблонний проект чи просто реалізувати дещо схоже до простенького тімбилдингу. Це однозначно допоможе потім не витрачати час на організаційні питання під час джему, а на таких подіях найбільша проблема це час, який не резиновий 🙃

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

Пошуки і презентація ідеї

Настав день брейнштормингу і це були важкі відчуття. Я до того десь рік нічого не робив з розробкою ігор, навіть не грав достатньо, і зараз повернутися в цю сферу було досить важко. Ідеї взагалі не зʼявлялися. Було таке відчуття, що в голові капуста або картон, щоб хоча б форму не зіпсувати 😁

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

Після такого брейншторму моя голова нарешті почала включатися і щось генерувати і тільки на наступний день я зміг щось трішки запрезентувати, але ми вже почали прописувати обрану ідею детально і це вже більше виглядало як: чи можемо ми почерпнути щось з моєї. Хоч мало чого з неї взяли, але мене все одно після цього попустило, що я теж щось вигадав 😁 Але куди ж тут без стороньої допомоги mrgllory за що йому дуже вдячний.

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

Реалізація гри і проблеми з якими стикнувся

Почався напружений день, пора реалізації задуманого, кожному розподілили по задачам і пішла жарка робота з кучою правок. І тут знову відбувся в мене ступор. Відкрив Godot і все, не знаю що робити, що клацати, куди йти 🫣 Довга перерва дала себе в знаки. По-трохи тикав кожні кнопочки, дивився код, який вже написали тімейти і так трішки згадав, які шедеври робив рік тому і продовжив робити свої задачі. Мені сподобалася організація на GitHub, яку ми організували з командою. Це мінімізували конфлікти до мінімуму. Я пам‘ятаю лише паро, це десь не більше трьох, треба було вирішити. Але, на жаль, тут також вилізли не вирішенні питання по написанню коду це як патерни, які хто використовує і стиль коду. Через це виходила плутанина і код виглядав досить брудний. Була також прикра ситуація через що я відчув себе трішки зайвим, коли мою роботу переписують, щоб зрівняти до правильного використання патерну. Також цей той момент коли перфекціонізм більше шкодить ніж приносить користі, так як часу досить обмаль було. Для мене це виглядало досить не приємно, але також це моя біда, що я ще не освоїв усі алгоритми. Тому я це прийняв і навчився на майбутнє, щоб цієї ситуації не ставалося і також вивчив як можна писати код краще 🙃

Я планував весь час приділити джему, але так сталося, що до нього я не встиг закінчити минулу роботу і десь половину джему я приймав не досить активну участь і після вирішення всіх питань, я почав відчувати, що ми більшсть з запланованого не встигнемо і це досить сумно, але ми не опускали руки і продовжували робити стараючись пришвидшити темпи і мати хоч щось готове 😋 Були навіть такі моменти, де не знали яку задачу обрати, бо вони мали свої залежності, які краще робити одній людині. Але без задач сидіти в такий час не можна, тож проявляв ініціативу і шукав її як тільки можна. Мені вдалося знайти прогалину, тож вирішив зайнятися звуками до гри. Запитав в шикарної спільноти Ігровари в діскорді, які сервіси вони використовують і на них почав роздивлятися варіанти, щоб було не тільки приємно слухати, а і весело. Все ж таки в нас виходив такий тип гри, який не має чіткого жанру, але ми його назвали просто треш 😅 Тож потративши на це досить багато часу знайшов цікаві варіанти, які сподобалися більшість і почав додавати в гру. Були вже зручні заготовки для керування звуками і музики, які зробили ще до джему, і шикарні функція в аніматорі від Godot, який теж дозволяв легко додавати їх. Зі звуками грати в гру стало в 10 раз веселіше, а то коли повна тишина, то відчуття від гри досить пусте, коли не має жодного зворотнього зв'язку. Звісно ефекти було б ще краще, але на жаль на це часу не було, звуки і так редагували в останні дні джему.

Останні день до здачі проєкту

Настав останній день і це найважчий день для всіх, так як треба за паро годин зліпити всі куски докупи і постаратися не забути про послідовність 🙃 Але найважливіше в джемі це не перемога, а участь, тому ранок почався з оформлення сторінки і закидування хоч якогось билда проєкту, який був на той момент, бо потім може взагалі не бути можливості 🥲 В цей день ще й відгукнулася людина Arfilish допомогти з музикою і за паро год написала класну композицію, яку ми додали в гру за що вельми вдячний. Також знайшов ще паро варіантів звуків, щоб гра відчувалася більш наповненішою і було відчуття від того, що діється на екрані. В результаті у нас вийшла якась послідовність подій і щось схоже на сюжет, але, на жаль, досить короткий і більшу частину гра робить за гравця. Але найважливіше у любій грі є те, щоб гравець міг вийти з гри без Alt + F4 😆 Тож за 2 год до кінця джему я ще скліпав кнопку для виходу. Після цього ще була досить цікава задача з зібранням все до купи по структурі, яку надали в інструкції GGJ. В інструкції це виглядало досить страшно, але насправді це не є важко і виглядає логічно, але займає також час, якого на той момент було ой як мало 😁

Тестування і завантаження гри на GGJ23

Які то були полегшення, коли усвідомив, що гра готова і побіг скидати билд на тест команді, щоб хоча б запускалася. Добре, що я зранку ще тестував на минулій версіі гри чи в браузері буде працювати, тож наступну версію було в рази легше перевірити. Вже не тратилося час на налаштування експорту і сторінки на itch. Було б круто ще зробити під MacOS, але на той час я не знав як це зробити. Тепер відповідальний момент завантажити це вчасно 🙈 Побіг на сайт і ще треба зрозуміти що куди кидати 😄 Файл ніби не великий до 100мб, але завантажуввся він досить повільно, а до кінця десь 40хв 😬 Це був дуже хвилюючий момент, що я можу не встигнути, а прогрес бар повільно заповнявся. Але тут виник цікавий момент, що прогрес бар насправді є не на весь екран, тож чекати довелося не настільки довго. Як добре, що тратити час на оформлення вже не потрібно було, так як підготував зранку. Натискаю save і тут страшний червоний екран, що цю сторінку було змінено другим учасником… Це мене налякало до мурашок, так як залишилося 20хв, а все що я закидав втрачено 😥 Я не знав що коли додавати члени команди до сайту гри, то вони також мають доступ до редагування, тож не забудьте попередити команду, щоб одночасно не редагували сторінку. Краще це довірити одній людині. Отож прийшлося мені цю всю операцію робити заново і о чудо, завантаження відбулося в 5 раз швидше. Я потратив на це лише паро хвилин і за 15 хв до здачі встигли заповнити повністю всю сторінку з необхідними файлами і лінками. Це був важкий видих з полегшенням і можна розслабитися.

Думки про реліз і вирізану функцію

Коли сторінка була оформлена і всі пішли відпочивати, неодноразово промайнули думки, що треба гру випустити обов‘язково в реліз і гребсти гроші лопатою 😂 Звісно це все так не працює, але реально якби гру доробити, то це вийшла б хороша імплементація трешу, а ще якщо додати досягнення, то вони були б як цілі… Так це та сумна історія, це ті цілі, які мали б попасти в фінальний версію, але так і не встиглося наповнити контентом, хоча сама система досягнень вже була реалізована і працювала шикарно. Це реально дуже сумно, але вона порівняно з іншими, не була у вищому пріоритеті. Тож ці зміни досі висять на GitHub як merge request 🙃 Цікаво чи суттєво досягнення б змінили погляд на гру і її суть? Чи гравці б більше зрозуміли ціль гри? Хотілося було б почути вашу думку в коментарях. Лінк на гру ви зможете знайти в кінці поста 🙃

Як була реалізована організація роботи

Тепер хотів би поділитися більш технічним питанням, як ми організували роботу в команді. Ми використовували ось такі програми:

  • FigmaJam - хороший аналог Miro, для графічного відображення ідей і брейншторму. Додавали багато різних референсів, записували ідеї у вигляді нотаток і при потребі поєднювали ланцюжком. Бачити ідеї в такому візуальному стилі в рази легше. Такми методо можна зрозуміти, що є, який ланцюжок утворює або що краще прибрати.

  • Trello - простенька програма для реалізації Kanban методології, якої для джему вистачає з головою. Там записували основні задачі для командної роботи і також лінки на основну інформацію, де що знаходиться. Це досить зручно і гарно посортовано

  • Telegram - куди ж тут без платформи для спілкування?) В нашому випадку його вистачало з головою для всього. Там зручно переписуватися, ділитися файлами, прикріпляти важливі повідомлення, що вже не так швидко загубиться і перепитувати не варто, перевірте краще спочатку закріплені. Також можна створювати групові дзвінки з поширенням екрану і записом зустрічі, що тільки додає зручності, але ми для дзвінків використовували наступну програму

  • Google meet - зручна програма від гугл, яка робить описане вище про дзвінки, але реалізована більш професійно. Чесно я не знаю чому ми обрали користуватися саме нею, так як для наших потреб Телеграму мало б вистачати. Пам‘ятаю, що ми були домовилися про дзвінок і одразу хтось скинув лінк на цю програму і так цілий джем спілкувалися там, що я навіть забув про фічу Telegram

  • Google drive - куди ж без збереження файлів в хмарі?) Я не знаю поки що іншого методу швидкого поширення файлів з кимось чи просто для спільної роботи. Її в основному використовували художники і аніматори, хоча інколи скидувалося і одразу в чат, але відповідно могло швидко заплутати, яка з версій є останньою 🙃

  • Google office, в основному Google docs - це найкраща програма для колаборації з командою і написання документів в реальному часі. Дуже зручно описувати ідеї більш детальніше і з великою можливістю це відформатувати, щоб реалізувати в читабельному виді. Також ваші ідеї ніде не загубляться і будуть гарно відсортовані

Це дуже зручні утиліти, які спрощують і пришвидшують роботу. Раджу і вам спробувати зі своєю командою. Джем і є для того, щоб потратити час не лише на розробку самої гри, але і на різні експерименти. Він є місцем свободи і креативу 🥰 Я розказав в більшості про програми, якими ми користувалися всі разом, а що кожен використовував для своїх певних задач, то мені самому цікаво 😄

Надіюся поділився всіма враженнями і нічого не пропустив, але їх так багато, що не вдається тримати все в голові 🥲 Буду дуже радий чути ваші відгуки на гру Square root of the Universe, яка розроблена командою Tobi Torba Games. Ви можете зіграти її на itch.io і на сторінці GGJ23.

Також запрошую вас поділитися своїми враженнями і досвідом від перебування на джемі.