Рецепты на инопланетной кухне. Как это было?
Стараюсь продолжить свою небольшую традицию — писать пост о разработке после конкурсов.
КОД и LD подходят под такой пост очень даже хорошо — забывается меньше, а писать не так много (2−3 дня всё же).
Начнём с самого начала
КОД14 анонсировался примерно за неделю до своего старта и объявления темы, поэтому этот джэм я ждал. Когда появился пост анонс, то конечно же принялся гадать и смотреть что другие гадают по поводу темы. Пришла в голову идея около «комбинации», поэтому я подметил это для себя. ОДНАКО, ещё до анонса анонсирующего поста начала КОД-а у меня начинало нарастать желание сделать что-то вроде ГТА1−2.
Можно сказать, что до объявления темы я стартанул конкурсный проект, но как раз в стиле ГТА1, конечно полную такую игру за 2−3 дня сделать … ну не знаю. В итоге захардкодил только 3д вид, немного передвижения и немного одну машину. Возможно сделал бы больше, если бы ВНЕЗАПНО не обнаружил, что ГМС2 больше не может в расширения как ГМС1, где можно было накидать свои скрипты и переносить из проекта в проект.
Тема объявлена
Рецепт. Очень близко к оригинальной идее, где нужно было собственно комбинировать всякое, но всё равно были мысли про ГТА, а затем появилась идея про инопланетную кухню.
А затем в голову ударил ПИСТОН. И мысли пошли по-пистоновски — когда я на одной бумажке набросал три варианта игры и внезапно они сливались в одну.
Там даже был сюжет! Ну вернее как. Было что-то вроде:
Есть игрок и живёт он в доме, работает на кухне, а ещё можно покататься на велосипеде, есть библиотека, где можно найти новый рецепт чего-либо (не обязательно еды), мог быть рынок, где покупать расходники\предметы и вообще по сути это был небольшой город. Цель была в том, чтобы синтезировать топливо для машины, а затем буквально уехать в закат. Собственно в доме нужно было бы комбинировать всякое, а на кухне должен был быть простой вариант того, что в итоге вышло на КОД.
И да, в первый день я реально думал, что такое возможно сделать.
День: суббота
За основу таки взялся тот «проект», где была ГТА1. Всё тешил себя мыслью, что НО ВДРУГ успею что-то сделать больше, чем режим «кухня».
Конечно затем я отчётливо понял, что ничего кроме кухни не успею реализовать, боялся даже, что и это не успеется. Вот например один из первых скриншотов этой «игры»:
В первый день скорее разрабатывалась структура. Конечно всё вышло криво, но под конец второго дня вышла чуть-чуть менее криво, когда я додумался к предмету сразу прописывать рецепт, а не отдельно (лол).
Вот так это было:
День воскресенье и технически понедельник
Этот день был скорее доводочным для «архитектуры» рецептов и добавления некоторой графики и прочих деталей. Но вот геймплей таки не добавил и баланс и ваще!
Думал, что можно детальнее описать этот день, но по факту — нет. Действительно увлёкся пикселями и какими-то мелкими деталями, пару звуков добавил, которые кстати прямо из Бумажного и один из Взертоса. А ещё практически в последний момент добавил таймер на одну секунду во время готовки — раньше она создавалась моментально. Но я не успел сделать баланс времени, чтобы на сложные блюда было N*M времени, а на простые N. Поэтому очень странная не-игра, где даже нет условий победы\поражения.
Итог: получилось, что получилось. Давно хотел попробовать механику крафта реализовать, но получилось ли у меня хотя бы капельку интересно это сделать? не знаю.
Если вдруг есть какой-то вопрос по игре или её исполнению — можете задать. Или не задать. Вопросы Шрёдингера!
- 06 августа 2019, 21:58
- 011
Прикольный постмортем, спасибо!
У меня основные нарекания в игре к управлению. Мне кажется, оно не способствует комфортному прохождению, особенно учитывая, что игра требовательна к скорости действий.
Согласен. Во время тестов мне постоянно казалось, что что-то в нём не то. Я бы не назвал его неудобным, но вот "не комфортное" отлично подходит.
Это связано с кнопками E и F или по всему управлению в целом?
С E и F особенно. Там ещё где-то и энтер вроде был замешан, надо перезапустить, вспомнить.
Вот в какой-то момент начал путаться сам с этими E и F, да. Энтер кажется продублирован с E, поэтому если удобнее энтером или внезапно бекспейсом - можно ими пользоваться.
Изначально было как - WASD для движения (вернее AD конечно), а стрелки и энтер управлялись в менюшках всяких и мне показалось такое управление сложнее.
Можно с этого места по подробнее?
В ГМС1 можно было сделать "расширение", в которое можно накидать скрипты, спрайты, объекты и прочее. Затем экспортируешь в формат экстеншона, подключаешь в другом проекте и берёшь нужные скрипты\объекты. Я это часто использовал для собирания набора своих скриптов\систем (для управления, например, или переводов или прочие вспомогательные скрипты).
В ГМС2 я понял ровно ничего. Кажется теперь экстеншоны это исключительно всякие dll и что-там на других платформах. Вероятно можно и скрипты как-то запихнуть, но вот внезапность - они должны быть в одном файле (для удобства), а то получится 1 файл = 1 скрипт.
Попытался найти решение - пишут, что теперь нужно через маркетплейс всё это делать. Но надо регистрироваться как "издатель", что-то там ещё, затем почему-то обязательно давать ссылку на свои прошлые ассеты\расширения, что это вообще такое?
Короче, как говорится, осадочек остался. Мне нужно было из ГМС2 проекта перекинуть систему управления в другой ГМС2 проект и как оказалось это та ещё дичь.
Ты не вот эти штуки имеешь ввиду?
Неа, именно расширения как бы, чтобы как раз руками каждый отдельно не добавлять.
В принципе, этим можно было бы пользоваться, если бы скрипты были все условно в одной папке, чтобы выделил все и загрузил в проект, но нет - они все раскиданы каждый в свою папку, а там точно больше 10+ штук и я не хотел тратить на это время в рамках кода.
По одному скрипту даже ок - перекинул в проект и всё готово, а там целый набор и забил на это дело короче.
Все ровно не понимаю. В восьмерке можно было делать экспорт ресурсов выборочно в один файл и затем экспортировать в проект, в студии я такого способа не нашел. На ГБР коттон добавлял свои объекты с префиксом, а я уже импортировал их из его копии проекта ориентируясь по префиксу, т.к. даже если ты сложил их в одну "группу" в иде, то в файлах проекта в системе, они все ровно будут лежать кучей в папке "объекты". Есть еще вариант закинуть скрипты в проект из системы как "прикрепленные файлы", а затем из прикрепленных экспортнуть в рабочие. Что за расширения? DLL?
В том числе, но в ГМС1 это могли быть и просто скрипты из проекта.
Фишка была в том, что создал проект в ГМС1, там куча объектов и скриптов, например. Создал "расширение", никакие длл туда не пихал - закинул из текущего проекта нужные скрипты.
Начал второй проект, добавляешь это расширение в этот новый проект и добавляешь скрипты из расширения (которые в первом проекте были).
Таким образом кодовая база из игры в игру всё нарастает и становится именно условной системой. Это просто тащить, когда у тебя скритов 5 например, но не 50 же.
Возможно снова непонятно выразился, могу попробовать завтра ещё более подробно на конкретных примерах и со скриншотами из ГМС1.
Было бы неплохо посмотреть в скриншотах на фишку из-за ненахождения которой я страдал
Сейчас постараюсь пояснить, примеры взяты ради примеров, поэтому не пугайтесь особо.
Закинул всё под спойлер, чтобы не пугать людей.
Вот в ГМС1 можно было экстеншон сделать \ экспортнуть:
Конкретный пример: metacore_ext, где много вспомогательных скриптов. Есть там и ConsoleV, где и скрипты и объект есть, а в WDX_GUI ещё и спрайты есть.
Т.е. вот такие экстеншоны\модули я делал для передачи от одного проекта к другому. Именно часть скриптов объектов.
А вот в ГМС2 оказалось этого нет, там экстеншоны другие. Сильно тему не копал, но кажется это именно что расширения.
Самое странное, что у ГМС2 есть легаси импорт экстеншенов из ГМС1. И вот он окей, всё как надо, все ресурсы:

Решил я значит сделать аналогичный "модуль" из того, что я написал в бумажном т.к. там новый модуль управления у меня и прочие улучшения и ...
не нашёл пункта с экспортом экстеншона и как туда добавить те же спрайты, скрипты или что-нибудь ещё.
Там где пункт с Resources: Files можно добавить плейсхолдер файлы и\или плейсхолдер GML файлы, но этого будет недостаточно - это не просто добавление из реальных ресурсов скриптов, тут нужно создать ФАЙЛ со скриптом, там функцию объявить и тогда кажись будет работать, но это не точно. Не стал это делать в рамках ограниченного времени КОД-а.
Добавлять каждый скрипт руками как файл - ну такое ваще, учитывая, что каждый ещё и в отдельной папке и прочее.
Это всё я не заметил при начале работы над Бумажным потому, что бумажное было начато как конвертация проекта ГМС1 в ГМС2. Даже не подумал, что они могут изменить экстеншоны.
Кажется какая-то штука с маркетплейсом теперь работает с простыми ассетами, но я не знаю, там надо регать паблишера, но чёт мне лень.
Теперь все понятно. ГМС2 в очередной раз пинает по рукам.
Вроде несложный способ:
http://docs2.yoyogames.com/source/_build/1_overview/2_quick_start/4_resources.html
RMB Menu
"Add Existing - Add existing resources from a different GameMaker Studio 2 project folder"
Так я про другое же. Ты помнишь как экстеншоны выглядят в ГМС1?
Я помню. В ГМС2 их действительно нет. Но ты можешь драг-н-дропнуть ресурсы в ГМС2, не надо добавлять всё поштучно.
Драг-н-дропнуть не получится. Когда дропаешь папку, то он добавляет их как include файлы. Я это знаю, потому что случайно так во время КОДа случалось. Если кинуть скажем scrip.gml, то да - всё хорошо, но проблема в том, что в ГМС2 теперь один скрипт хранится в условной папке script, а там ещё два файла - yy и gml. По идее нужен только gml конечно.
Вот из инклюдов можно их уже кинуть в рабочие ассеты
Что-то у меня так не работает. Это точно про ГМС2?
Это про ГМС1 100%.
Ну вот, а ДД про ГМС2.
Да бял, не уже ли там и эту тему убрали?