Инди Sergey Pekar
587

Как выжить соло разработчику в Game Jam ах. Опыт участия и билд Complex Fracture (Beat Em Up)

Всем привет 👋 . Пишу данный пост так как хочу поделиться своим опытом участия в конкурсах и хакатонах, а также рассказать что стоит и не стоит делать в своем проекте если у вас нет никого, кто мог бы вам чем-нибудь помочь. Ну и показать свой проект, не буду же я тут просто так распинаться 😉.

В закладки

Этот пост также пишу к окончанию основных работ по своей игре для #индиджем или #dtfjam (как вам нравиться). TL;DR: В прошлый раз я обещал выложить первый билд и теперь я прикрепляю его к посту (естественно в самом низу, чтобы вы прочитали все, что я напишу).

Disclaimer!

Тут идет стандартный Disclaimer. Такой стандартный пристандартный про личный опыт про личное мнение. В общем даже писать его не хочется, вы и так все прекрасно знаете.

Итак поехали.

Вы решили участвовать в конкурсе или хакатоне и, как я, возможно, настолько круты, что вам никто не нужен 😎, хотя, скорее всего - все ваши знакомые: работают работу, растят детей, занимаются чем-то полезным (нужное подчеркнуть, недостающее дописать). В общем вот вы: давно закончили университет и не можете позвать сокурсников (потому, что нет их - сокурсников), и коллег тоже позвать не можете, потому, что например, работе дома (вообще я уже выше описал возможные причины отсутствия команды).

Вы, ну..., или я 😉

Но ныть мы тут не собираемся, верно? Поэтому настраиваемся на самоуверенность супергероев из комиксов и пафосно говорим на презентации своего проета (об этом чуть ниже ) "Я работаю один 😎" и думаем, что мы можем сделать без художников, геймдизайнеров, звуко-режиссеров или программистов.

Вообще-то хотябы один из навыков у вас должен быть 🧐, хотя для чего еще существуют конкурсы, чтобы на них не попробовать что-то новое?. Тем более, что на том же Ludum Dare даже написано - Programmer Art приветствуется, так же как и Artists Code (не дословно, немного от себя добавил, на там точно что-то на эту тему есть). Поэтому не стесняемся - как минимум половина участников будет примерно такого же уровня как и вы и вы с легкостью затеряетесь, если поставите перед собой такую задачу (хотя ни в коем случае не советую этого делать).

В общем - поехали (еще раз 😆).

Как советуют Extra credits(вообще это видео про то, как сделать свою первую игру, но для конкурсов тоже подходит) - определите в чем вы сильны то есть ваш самый сильный Skill.

Я крутой программист, художник, сценарист - пойду запилю сессионную MMO RPG 

Итак решили: художник - делайте упор на графику, сценарист - на сценарий, программист - сделайте Hyper Casual но качественный.

Но вообще можете забить на этот совет и запилить за весь конкурс одну две анимации или нарисовать одну две картинки (мы ведь ходим на них не только за призами, но и за экспериментами?). Главное - придумать как из того, что у нас есть сделать игру.

А что нужно чтобы сделать игру?

Конечно, воображение - это важно, но вообще я хотел поговорить про идею и про ее представление

Итак Идея (с большой буквы). Вы должны примерно (а лучше четко) представлять что вы хотите - так будет легче представить вашу идею коллегам. Желательно чтобы описание идеи формулировалось двумя-тремя словами например: Tycoon на кладбище (да я про Graveyard Keeper), также хорошо работают референсы (Darkest Dungeon в космосе - Deep Sky Derelicts).

Очень важно при обдумывании идеи - не складывать все в большую кучу (да я понимаю, что вы всегда хотели сделать MMO Battle Royale с супер Мега графикой и так далее и тому подобное, но вы просто не успеете).

Таким образом мы приходим ко второму пункту: Scope.

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

Как я уже выше писал - вы можете пренебречь всеми вышеперечисленными советами (н может кроме идеи) и начать делать не то, что у вас получается лучше всего, а то, что больше всего хочется (я например очень хотел себе крутой арт, но как-то не сильно его умею делать, ну как минимум - не быстро). И вот для тех, кто пренебрег всеми мудростями спасательный круг в виде нескольких слов.

Не делайте ту работу, которую уже кто-то сделал за вас

О чем я? Правильно - о бесплатных ресурсах (кстати пост, что кто-то выложил огромную библиотеку звуков, я потерял и буду очень признателен тому, кто даст ссылку) и asset-сторах (тысячи их).

Да, нет ничего зазорного в том, чтобы использовать чужие наработки (особенно если вы за них заплатили). Во-первых: эти ссоры и существуют для того, чтобы делиться наработками, а во вторых: глупо тратить время на реализацию сложной фичи, которая просто нужна как фича (например механика стрельбы в FPS, когда у вас главное - сценарий), но не сильно влияет на творческий процесс.

Поэтому просматривайте

Тут иногда можно купить ассетов на 300$ заплатив всего 15$ (такая у них модель распространения). Также просматривайте Unity Asset Store и Unreal Marketplace (а те UE разработчики, которые каждый месяц не забирают бесплатные ассеты вообще странные люди, или, как минимум - не дальновидные). Я не хочу никого обидеть, потому, что действительно можно и хлама набрать, но просмотреть что можно ухватить полезного считаю надо.

Пример из личного опыта:

Нужно прислушиваться к пожеланиям потенциальной аудитории и asset сторы - замечательное место, где можно найти недостающие элементы

Представляем игру. Первые шаги

Тут все просто: нужно заявить о себе, не важно как - постом(если это интернет), выйти к стенду регистрации (или как там их называют). Это, конечно, мало что дает, но так люди хоть узнают о вашем существовании и, возможно, захотят к вам присоединиться или помочь советом, поддержать или потроллить.

Как только что-нибудь, что будет можно показать будет готово - сразу выкладывайте. Так вы соберете первый фидбек (и возможно кучу хейта, но об этом через предложение 😉). Фидбек поможет вам скорректировать планы.

Фидбек действительно очень полезен, например тут мне помогли придумать классное название, за что я действительно очень благодарен

Если вы наткнулись на токсичность - вежливо отвечайте или просто не обращаете внимание если не можете корректно ответить (мы же воспитанные люди, а силы нам еще понадобятся).

Все имеют право на свое мнение, но лучше отойти в сторонку и заняться проектом

Что сделал я

В общем я сделал свой Beat Em Up и теперь вы можете его потестировать, поиграть и поделиться впечатлениями. Это для меня очень важно; я конечно знаю о большинстве багов и о том, что билд весит 1.4 GB; и о том, что на многих компьютерах игра может притормаживать (графоний я все-таки завез 😆); но мне все равно - мне очень важно что вы думаете о задумке, о сеттинге, в общем - обо всем. Именно от вас зависит будет ли игра дорабатываться до полноценного релиза и выхода, например в Steam.

Для меня этот конкурс - в первую очередь, возможность протестировать жизнеспособность моей идеи и попробовать новую технологию (не устаю повторять, что Unreal Engine я открыл всего два месяца назад).

Поэтому делитесь впечатлениями (лучше всего в виде видео, чтобы я смог понять в чем основные проблемы), пишите ваши замечания и предложения, до конца джема еще два дня, вдруг успею что-нибудь поправить.

Еще один момент: игра, которая является не тем чем кажется - в моем случае - это сюжет, но раскрывается это только в конце. Поэтому надеюсь, что вы игру пройдете до конца (я пробегаю ее минут за 5, но это я, я ведь все в ней знаю).

А вот и долгожданные билды (хотя кому я вру, нафиг они кому-то здесь надо 😊):

Windows:

OS X:

И тоже самое в Dropbox:

Windows:

OS X:

Управление A - идти влево, B - идти вправо, 2 раза A - бег влево, 2 раза B - бег вправо, ПРОБЕЛ - прыжок, Enter - удар. (Решение сделать бег на двойное нажатие обусловлено тем, что удар с разбега в другом виде будет слишком простым и сильно упростит прохождение, кроме того - это напоминает мне игры на NES 😊).

В следующем посте я расскажу о том как создавалась игра, чем вдохновлялся, как пришел к этой идее, с какими проблемами столкнулся, по каким ресурсам учил UE, где взял ассеты 😉 (вообще я уже выше писал, но там я прямо ссылки дам👌).

На этом всем спасибо. Очень жду ваших комментариев, а еще лучше видео как вы играете или скриншотов, в общем всего.

А теперь я иду спать, устал, а ваши комментарии я обязательно прочитаю завтра утром, ... или вечером, ... или после завтра, но обязательно почитаю.

#разработкаснуля #gamedev #gamejam #indie #indiegamedev #indiedev #indiejam #разработка

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Sergey Pekar", "author_type": "self", "tags": ["indiejam","dtfjam","gamejam","\u0438\u043d\u0434\u0438\u0434\u0436\u0435\u043c","indiedev","\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0441\u043d\u0443\u043b\u044f","\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430","gamedev","indie","indiegamedev"], "comments": 17, "likes": 15, "favorites": 22, "is_advertisement": false, "subsite_label": "indie", "id": 57557, "is_wide": false, "is_ugc": true, "date": "Fri, 05 Jul 2019 23:23:30 +0300" }
{ "id": 57557, "author_id": 135462, "diff_limit": 1000, "urls": {"diff":"\/comments\/57557\/get","add":"\/comments\/57557\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/57557"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64960, "last_count_and_date": null }
17 комментариев

Популярные

По порядку

Написать комментарий...
2

Забавно.Физика и анимации доставляют.=) Но можно застрять в стене, или заблокировать дверь. Размер билда в гигабайт это явно перебор=)

Ответить
2

Просто тот бесплатный ассет для UE4 много весит, от этого и вес в гигабайт)))

Ответить
0

Все верно. Но вообще - это 2 ассета. первый - собирается. в гигабайт, второй дает еще 400 МБ. Первоначально собиралось вообще в 5GB, обязательно об этом напишу в отдельном посте.

Ответить
0

А зачем делать проект целиком на ассетах?

Ответить
0

Все просто - не успеваю их делать сам, а графику вроде хотели. Ну ещё конечно моей квалификации пока не хватит (я не художник, я только учусь) чтобы делать настолько качественно. Но музыка, кстати, на писана самостоятельно, моим знакомым.

Ответить
1

Благодарю. Рад, что вам понравилось.
Буду еще решать эту проблему с застреваем в геометрии и с застреваем дверей.

Ответить
0

А подскажите пожалуйста. На скриншоте - это вы просто геймплей демонстрируете или дверь заблокировалась?

Ответить
1

Дверь заблокировалась. Там рука противника застряла, и дверь не открылась до конца

Ответить
1

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

А вообще ваш скриншот навел на мысль, что было бы неплохо сделать, чтобы персонажа разрывало на части, когда он так попадает в какие-нибудь механизмы, чтобы его части потом тоже смешно катались по всему уровню 🙂 благодарю вас за вдохновение 🙏.

Ответить
2

Трейлер бы что ли выпустил?

Ответить
0

Обязательно, но трейлер - это работы на час-другой, а статью хотел запостить, даже на час раньше, поэтому в следующий раз, ну, то есть в воскресение.

Ответить
1

Сергей, есть может какая-то группа в ВК через которую проще контактировать и вообще наблюдать за процессом?

Ответить
0

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

Ответить
1

Ждём следующий пост! Очень полезная статейка для начинающих и ещё не начавших, вроде меня Х)

Ответить
0

Прямой эфир

{ "remaining": "WzAsMSwyLDMsNCw1LDYsNyw4LDld" } [ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
Невероятно! Skyrim портировали на...
Подписаться на push-уведомления