Инди
Alexander Petrov
917

Начался джем js13kgames. Тема - "back". Накидал идей, помогите выбрать

В закладки

13 августа начался джем js13kgames. Срок джема - 1 месяц, ограничения - игра должна быть написана на javascript (+WASM/WebGL по желанию) и укладываться вместе с ассетами и библиотеками в 13,312 байт в архиве.

У меня, как любителя javascript и минимализма, выбора не остается - надо участвовать. Но хочу попробовать подойти к этому не совсем обычным для меня образом. Попробую, прежде чем бросаться кодить, накидать идей и собрать фидбек.

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

Тема игры - "back", что переводится как спина, спинка, задняя часть, задний, обратный, тыльный, назад, обратно, вспять, взад, сзади, возвращать, отступить, отступать.

Механика: Возвращение отправителю

Одна из древнейших видеоигровых механик, так как на ней основан сам Pong и целый жанр Арканоидов. В нас чем-то швыряют, мы это возвращаем назад (или почти назад).

Концепт: Змейка против Марсиан

Кто к нам с чем чего, тот от того и того.

Смесь элементов аж трех классических игр - Space Invaders, Snake и Arkanoid.

На город нападают инопланетяне. Мы отражаем их атаку с помощью экспериментального хвостоотражающего корабля.

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

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

Механика: Тылы

Кроме тех, кто стоит в первом ряду, есть ряд второй, и т.д. до последнего, есть обоз, тыл и все такое, которые этот первый ряд поддерживают. И эти "задние ряды" в хороших стратегиях, MMORPG и MOBAх вниманием разработчиков не обделены. Хотя фокусом игры им приходится быть не часто.

Концепт: Hard Support и Три Богатыря

Игра в жанре тайм менеджмент.

Три богатыря (вид сзади)

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

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

  • поднос стрел
  • ремонт (или замена) оружия и доспехов
  • перевязка и прочее лечение
  • мародерс... в смысле, сбор лута
  • продажа лута и покупка расходников
  • пресечение попыток неприятеля зайти с тыла
  • поение и кормление богатырей, если бой затягивается

и т.д. по обстоятельствам.

Механика: Движение задом наперед

Отстреливаться от противника, пятясь, или сидя сзади транспортного средства (спиной к направлению движения, соответственно) нам в FPS периодически приходится. Но вот как основную механику я этого не припомню.

Концепт: After the Space War

Spacewar - тоже одна из первых видеоигр.

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

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

Механика: Восстановление

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

Концепт: 11:59

Накануне

Комедийная игра.

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

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

Концепт: Городок

Похоже на предыдущий вариант, но меньше комедии и больше сказки.

Идея цельнотырена у одной известной одесской писательницы.

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

Механика: отступление

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

Концепт: Better Part of Valor

Отберем у игрока вообще все кнопки, кроме кнопки "back". Получится игра про соизмерение риска и награды.

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

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

Механика: Отодвигание/задержка противника

Кроме отбрасывания атак противника, можно отпихнуть и их самих. А что получается, если у нас игра про противников, которым мы не даем подходить ближе? Получается Tower Defence. Специфический.

Концепт: Закон Паркинсона

"1) чиновник множит подчиненных, но не соперников; 2) чиновники работают друг для друга." - цитата из книги "Закон Паркинсона"

Жил да был Бюрократ. И был у него Аппарат - тоже, разумеется, бюрократический. И шли к нему потоком люди за каким-то важным Разрешением. Но нельзя же прямо так вот сразу кому попало Разрешение давать, да? Во-первых, тогда Аппарату делать нечего будет, и тогда его и сократят, того гляди. А во-вторых, если всем за так Разрешение раздавать, то для друзей ничего не останется.

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

Следить надо за этим всем, и не забывать, что подчиненные наши - тоже люди, и у каждого свои особенности, у каждого свои достоинства и недостатки. Кто-то может посетителю ловко намекнуть, что надо бы ему к Вам с конвертиком придти и новым другом стать. А у кого-то почерк такой ужасный, что со следующей инстанции половину к нему назад заворачивают. И т.д.

Но у настоящего Бюрократа для каждого подчиненного место найдется. И Аппарат его растет быстро, и Бюрократ вместе с ним.

Механика: регресс протагониста

Обратная прогрессия, т.е. ослабление героя по мере игры вместо усиления, встречается редко. Но встречается. Например, на Свитче вышел соулслайк SINNER: Sacrifice for Redemption, где герой перманентно слабел после каждого боя.

Концепт: 12 друзей Орфея

Эффект ограничения зрения

Платформер.

12 друзей (и/или подруг) Орфея попали в Ад. Аид согласился их выпустить, но дорогой ценой

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

Механика: возвращение в прошлое

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

Концепт: Перекресток

Перекресток в Эфиопии.

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

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

Трафик генерируется рандомно и постепенно насыщается. Цель - продержаться как можно дольше предотвращая столкновения, пока не закончится мана.

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

Какой концепт реализовать?
Змейка против Марсиан
Hard Support и Три Богатыря
After the Space War
11:59
Городок
Better Part of Valor
Закон Паркинсона
12 друзей Орфея
Перекресток
Показать результаты
Переголосовать
Проголосовать

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

Написать
{ "author_name": "Alexander Petrov", "author_type": "self", "tags": ["\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u0438\u0437\u043c","javascript","gamejam"], "comments": 11, "likes": 11, "favorites": 7, "is_advertisement": false, "subsite_label": "indie", "id": 64002, "is_wide": false, "is_ugc": true, "date": "Thu, 15 Aug 2019 17:08:46 +0300", "is_special": false }
0
{ "id": 64002, "author_id": 26457, "diff_limit": 1000, "urls": {"diff":"\/comments\/64002\/get","add":"\/comments\/64002\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/64002"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64960, "last_count_and_date": null }
11 комментариев
Популярные
По порядку
Написать комментарий...
2

Дальше картинки не читал :P

Ответить
0

Картинка должна была иллюстрировать тему джема. Под ней как раз переводы слова "back". Но подпись под иллюстрацией, как оказалось, на ленту вместе с ней не выходит, так что впечатление несколько смазалось.

Ответить
1

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

Ответить
1

Вопрос в том, как это запихнуть в 13kb.

Ответить
0

Katana zero ? Можно все сделать на основе svg там и вес уменьшится и даст гибкость изменения.

Ответить
0

А ещё есть грязный хак. Index.html и assets.zip. При загрузке весь assets шлешь на сервер который его тебе распаковывает и возвращает.

Ответить
0

Размер и так считается в архиве. А сторонние сервера использовать нельзя.
Svg (и css), действительно, позволяет делать относительно компактную графику и анимацию. Но все равно, 13к - это мало.
Я не к тому, что то, что ты сказал невозможно в принципе. Но надо понять, как из этой идеи сделать очень простую игру.

Ответить
0

Кстати, "Перекресток", вообще говоря, подпадает под эту концепцию. Возвращаемся назад по времени, исправляем аварию и так много раз:)

Ответить
1

Хентай

Ответить
0

Тогда, однозначно, про богатырей!

Ответить
0

Богатырей рисовать надо. У меня получится примерно как на иллюстрации в статье. Или так и надо? :)

Ответить

Прямой эфир

[ { "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": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovz", "p2": "glug" } } }, { "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, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "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" } } } ]