Gamin Bitsy Jam #1 - Результаты
Пора подвести итоги!
Третье место заняла игра Продавец книг от myHazards с результатом в 12 баллов
Второе место заняла 30В от Rs11_s21_n с результатом в 15 баллов
Первое место достается Бездна, которая вглядывается в тебя от alexsilent с результатом в 28 баллов
alexsilent достается титул Мастер Историй Gamin Bitsy Jam #1. Ура!
Поздравляем победителя и призёров!
Победитель, призёры и участники джема получат в профиль наградные значки (которые я постараюсь изготовить в ближайшее время! ТРЕУГОЛЬНИК, ГДЕ ЗНАЧКИ?!)
А теперь немного моих мыслей о состоявшемся джеме.
Если честно, то я слабо представлял, что в итоге выйдет — сколько будет работ, какого объема они будут. Получившийся результат я считаю более чем достойным — как по количеству, так и по качеству. Если на Bitsy-джемах на itch.io обычно по 20−40 участников, то для довольно небольшого Гамина получившиеся 8−9 игр — это очень даже солидно.
Радует, что все игры оригинальны и отличаются друг от друга. В рамках довольно узких ограничений каждому удалось сделать что-то, обладающее своим лицом. Это очень радует! И даже по жанрам разброс велик — от коротких чисто повествовательных новелл до почти что полноценных RPG. Сперва я переживал, что некоторые участники будто бы переоценили возможности Bitsy и столкнулись со сложностями, но в итоге большинство справилось. Мне кажется, что это был довольно интересный опыт творчества в рамках жестких ограничений — полезно иногда подумать о том, как делать что-то в ином, непривычном ключе.
Спасибо всем, кто принимал участие — делал игры, писал комментарии и отзывы, играл в игры, голосовал. Я очень рад, что всё состоялось! Спасибо всем, кто вносил какие-то замечания, пожелания и предложения по формату мероприятия. Специальные благодарности Chlora_Virgo и Kot211 c Luca_Nia за стримы — было интересно и весело. Замечательно, что ни одна работа не осталась обделенной вниманием, а авторы смогли получить самую живую обратную связь. Конечно же, спасибо Gyt за возможность провести джем на столь славной площадке — что бы мы все делали, иначе?
С моей стороны были некоторые шероховатости вроде изменения сроков и формата голосования — извините, если Вам это доставило неудобства:)
На этом Gamin Bitsy Jam #1 объявляю закрытым! Всем спасибо! Думаю, что как-нибудь поджемимся на этом поприще ещё ;)
А что думаете Вы о состоявшемся мероприятии?
- 01 апреля 2019, 00:09
- 016
А ведь так ... ДАЛЕКО!
Но всё равно приятно всем пасибо)
лаврушки победителям!
Спасибо всем участникам, вышло очень лампово. Все игры хорошие, все авторы молодцы.
НО! Есть несколько замечаний. Некоторые связаны непосредственно с ограничениями Битси, а некоторые нет. Буду немного занудой.
1. Спрайты ГГ и главных NPC лучше делать более заметными, чтобы они не сливался с окружением.
2. В играх, где есть переходы между комнатами, нужно делать их логичными - например, если выход из текущей комнаты находится сверху, то ГГ после выхода в новой комнате должен появиться снизу, а не сверху или сбоку, иначе игрок может запутаться.
3. Выход из локаций нужно обозначать более четко (можно даже диалогом), если нет возможности в них быстро вернуться. Игрок может огорчиться, если он случайно выйдет из локации, захочет в нее вернуться, а до нее нужно долго добираться пешком.
4. Вычитка текстов нужна. Понятно, что нанимать корректора никто не будет, но дайте хотя бы паре друзей почитать тексты перед релизом.
5. Тестирование. Оно должно быть. Обидно когда хорошая игра глючит.
обидно когда некому дать на вычитку и тесты...
В чатик Гамина кидай, там есть люди, которые могут помочь.
какой ещё чатик?
Ю А ВЭЛКАМ
https://t.me/gaminme
Не кидай ни в какой чатик, пусть сами вылазиют из своих чатиков сюда :P
Так мы все тут!
Но в луркательном режиме
Что это значит?
в режиме обозревателя-читателя (ваш кэп х))
Но ведь это далеко от правды!
Евгений, Панда, Аним86 активны здесь где-то раз в полгода, ДаркДес - на джемах, в основном. И ещё куча народа из чата, которых здесь давно не видно. Даже доктора Зло поглотили, по ходу, эти ваши чатики.
А теперь кто активен - Треугольник да Антонка (триггерится про Годот).
Вот так и знал, что обязательно припомнят мне за Годот.
Я не специально Игорь, так уж получается, просто очень много и долго я искал подходящий движок, а сейчас так воодушевлен его удобством и простотой, что иногда не могу удержаться, да ты сам, как я посмотрю сидишь на нем довольно давно и плотно...
Это была проверка триггеряемости (она удалась) :'D Просто забавно получается, что ни твой коммент, так про движок.
Да, у меня на Godot инди-игра и на HaxeFlixel - игра на работе.
Мне он тоже понемногу начинает больше нравится. Уже даже настроил шрифт как надо (pixel perfect), в Defold, я например, не смог настроить шрифт. И нашёл функцию кастомного рисования в Годот, через _draw, жаль зеркально нельзя рисовать, чтоб зеркалить по вертикали кастомно нарисованный спрайт (смотреть в другую сторону), а так бы мог через один Node, большой толпой управлять, не создавая дополнительные Node и объекты, как в Tic80 или Pico-8.
То есть оно игнорирует трансформации? Если задать масштаб по оси "минус один", то всё равно не зеркалится?
Не пробовал, но если нод отзеркалить, возможно кастомная картинка тоже отзеркалится. Но иногда хочется отзеркалить без нодов. В общем у меня есть идея, что для тех объектов, которые надо зеркалить, я добавлю отдельные ноды и потестирую.
Я вручную рисовал в других движках, про Годот не знаю, но теоретически ты же указываешь, куда ты хочешь рисовать, через матрицу преобразования координат (или там можно только x и y указать?). Вот я предложил в матрице поменять не только позицию, но и масштаб (-1).
А если с нодами, то там вообще есть специальное свойство для зеркалирования.
Через draw примитивы удобно рисовать: линии, полуоси, круги и т.п. Шрифт уже хорошо настраивается (создаем tres и делаем его кастомным, для всего проекта - удобно), там проблема в правильном подборе параметра scale (у объекта) и zoom (у камеры) для получения pixel perfect.
Динамически создавай дубликат? Не? Там это одной строкой, а вообще есть параметр "flip_h/v" для зеркального поворота объекта.
А что за проблема?
примитивы меня мало интересуют, а вот спрайты рисовать, очень полезно, я люблю управлять отрисовкой через коды, так точнее для меня, потому мне бы такую функцию, чтоб спрайты зеркально прям в коде рисовать, не создавая ноды), я просто сейчас в Tic80 кастомизированного перса пилю, и понял что с юнити забыл как это круто, когда отрисовка точно в цифрах выражается, без долгой возни в виде размещения в префабах.

Запилил принцессу Дыньку, у которой одежда снимается, как в Ghost n Goblins,
где одежда показывает, сколько осталось здоровья, но не буду тут это показывать,
ибо шок контент, лол) В коде тут всё отдельно, и тело, и волосы, и голова, корона, хвост
и прочее, в годот и юнити я б замучался расставлять эти объекты, а потом к этим объектам прикручивать сложные связи, как им вести при анимации или переодевании, но
если отрисовывать сразу, то проблема решается моментально, вот ищу решение в Годот такое
Но ведь можно создать динамически то, что ты делаешь в префабе. И кодом подвинуть координаты и скрывать/показывать. При этом с возможностью использовать локальные координаты игрока (одежда - дочерние объекты по отношению к игроку) - то есть 2 и 5 вместо x + 2, y + 5.
Тут намного больше кода.
1) Чтоб показать объект кастомным рисованием нужно просто дать команду отрисовки,
а чтобы скрыть - нужно просто отключить переменную show, то есть не рисовать:
if (show) {
//draw sprite
}
2) Чтобы показать объект и скрыть по методу Unity и Godot, через ноды/объекты:
во втором случае приходится держать дополнительную проверку в юнити, потому-что
sprite.GetActive() является функцией, на которую скорее всего расходуются дополнительные ресурсы, потому мне кажется, приходится создавать дополнительную переменную showOnce, но могу и ошибаться, не знаю жрёт ли GetActive ресурсы, но даже если нет, то код всё равно длинее:
Не знаю как дела обстоят в Годот с этим.
Плюс, вначале ещё будут строки по созданию этих всех спрайтов, а в первом варианте кода этих строк не будет) то есть способ Юнити/Годот заставляет больше писать лишнего кода.
То же самое можно переписать короче:
sprite.SetActive(show);
За исключением, что не делаются проверки GetActive(), но это можно исправить, написав свою функцию (при желании можно засунуть туда всякие showOnce тоже):
Но это только, как ты и сказал, если внутри движковой SetActive() нет этой же самой проверки.
Но ты же создаёшь какие-то указатели на картинки внутри текстур? Вот заодно и объекты создай там же
sprite.SetActive(show);
А разве такой код не будет сильно нагружать систему? Ибо каждый кадр спрайт либо будет исчезать, либо каждый кадр будет появляться? Или там есть внутренняя проверка не допускающая повторного исчезновения/появления, в той же Юньке или Годоте?По части второго кода прикольно, Спасибо! Такая оптимизация будет полезна, если конечно GetActive не жрёт ресурсы
В Юнити сложно сказать, а в Годоте можно глянуть в исходниках поточнее.
Это относительно. Спроси профилировщик, жрёт ли ресурсы относительно всей остальной игры или очень мало кушает.
Это не столько оптимизация, сколько твой же код, но короче. Просто развеял миф про то, что надо много кода писать. То, что ты его написал много - не значит, что так надо. :P
Точнее в аргументах не "sprite:Sprite, active:Bool", а "Sprite sprite, bool active", перепутал языки :'D
Ты просто не умеешь их правильно готовить: https://twitter.com/i/status/1097157116287041537
А теперь сделай паузу и вернись к игре через неделю, и попробуй внести изменения в одежде или теле игрока... я уверен, что ты не станешь этого делать, т.к. не вспомнишь за что отвечают все эти цифры... Блин, "x+7-6*dir+p.dir*17" - это же ужасно... я не хочу обидеть, ни в коем случае, но игры делаются, так чтобы можно было вернуться к ней через месяц и легко все менять, и при том кардинально... Хотя может я неправ и несу чушь.
Взрывчики прикольные, не спорю, но спрайтами всё равно красивее получатся)
Мне кажется, что речь скорее о проблеме "волшебных чисел" в коде. Для большей читабельности вместо чисел можно было бы использовать константы или переменные с осмысленным названием
Претензия была бы остра, если бы несостоящие в чате люди были активны, или же активные вне чата люди стали бы неактивны после вливания в него. И да - грубо говоря, больше половины участников джема состоят в чате. Ну если это не активность, то я хз)
Сейчас там всё же довольно много офтопа, что тоже неплохо. Гамин сам по себе - не место для фотографий шиншилл, о(б)суждения пива, закисленного "Агушей", а также всяких историй из жизни, кидания стикерами и не только. А в чате - почему бы и нет?
Но это всё ладно. Несколько печально, что по самому джему как таковому мало кто отписался тут. Ну, типа там понравилось/не понравилось, хотим ещё/ больше никогда не хотим, да и вообще всякого. Но ладно. Мало ли что.
Вечером выкачу варианты значков, кстати!
Когда я там сидел, там было много игровых обсуждений. А здесь мало. Вот, собственно, и всё, что я хотел сказать :D
Джем понравился тем, что низкий порог вхождения из-за движка, и ориентированностью на истории. Вот бы ещё что-то такое, где есть хорошая заготовка, и не надо одновременно быть программистом, художником и гейм-дизайнером, если надумаешь один поучаствовать.
Участвовать не стал, т.к. мне больше нравится в такие (очень стори-дривен) игры играть, чем делать.
Меня там уже нет. Давненько нигде не сижу. Только гамин...
Чатик Гамина в Телеграме, где общаются гаминцы. Нормальная ссылка https://t.me/gaminme не открывается, т.к. Роскомнадзор блокирует, можно открыть по альтернативной ссылке (откроется клиент Телеграма, который нужно установить заранее): https://tlgg.ru/gaminme
я не могу в телеграм к сожалению...
Что значит "некому"?
Есть такое дело!
Поздравляю всех, кто "зазвал" себе немного славы! А так спасибо большое всем участником за интересные игры, которые посмотрела на стриме. ;)))
Я считаю не очень правильным, что некоторые люди проголосовали только за одну или две игры. К ним самим претензий особых нет, была возможность, они ей воспользовались. Вопрос в том, зачем было оставлять такую возможность?
А чем плоха такая опция? Может понравилась человеку только одна игра.
Тем, что влияет на окончательное распределение? Если на конкурсе три призёра, то за троих и надо голосовать. Или давать меньше баллов, если голосуют за некомплект
Ну так голосование и нужно, чтобы влиять на окончательное распределение.
Если бы мне понравилась только одна игра - я бы за нее проголосовал. А за две другие не стал бы. Зачем, если мне они не нравятся? Рандомно ставить - ещё хуже. А так - больше возможностей выразить свое мнение.
Но при этом человек, которому понравились 4 игры, будет страдать муками выбора и отдавать места на откуп тому же рандому. Немножко шовинизм.
А кому-то понравилось вообще все, и он хочет дать всем максимальное количество баллов.
Любые правила ограничивают свободу, а какой-то выбор надо делать.
Я твою точку зрения понял и воспринял, но не считаю, что названная тобой проблема действительно является проблемой. На мой субъективный взгляд, конечно.
Не надо крайностей, поставь всех в равные условия просто.
С учётом отрывов между всеми, не считая Алекса, лишние шесть или сколько там не разыграли баллов могли бы изменить таблицу до неузнаваемости. Ты можешь сказать, что это неважно, но зачем тогда вообще конкурс с голосованием?
И да, ТРЕУГОЛЬНИК ГДЕ ИКОНКИ
😀
Но ведь у всех равные условия! Правила работают одинаково для всех!
А если бы те, кто голосовал - проголосовали иначе, то это бы тоже могло изменить таблицу до неузнаваемости) Ну и что с того? Повторюсь - принять один вариант правил или второй - свобода голосующих так и эдак будет ограничена. Иначе правила были бы не нужны. Я просто не понимаю - зачем лишать людей возможности выразить своё мнение на голосовании максимально гибким образом? Голосующие же знают что делают. А вот принуждать отдавать строго 3 голоса - это как раз уже "шовинизм"
Пара-тройка дней - и все будет. Полторы иконки уже есть)
Мне кажется в следующий раз нужно провести голосование так, как посоветовал товарищ выше. Ибо всё верно, три призёра - три голоса. Ну или лучше вообще отказаться от призовых мест, оставив только первое.