Я таки принял участие в Ludum DareLudum Dare.
Для тех кому любопытно - это что-то типа фик-феста, только для программистов. Голосованием выбирается тема, и в указанную дату оглашается какая из двух десятков предложенных таки является той самой. С этого момента у участников есть 48 часов, для того чтобы с нуля, не пользуясь скачиваемыми из интернета ресурсами, создать компьютерную игру на эту тему.
Немного историиВпервые об этом мероприятии я узнал больше года назад, просматривая видяшки на Ютуб-канале Quill18.
Собственно автор рассказывал о своей уже далеко не первой игре, которую он сделал для такого конкурса и я загорелся идеей тоже в этом поучаствовать. Но как-то так всегда получалось, что вспоминал об этом желании поучаствовать я только видя очередной отчет Квилла о том как было весело.
И вот пару недель назад, я узнал об очередной итерации не пост-фактум, а в виде анонса. И я подумал, что было не плохо, но как на беду именно эти две недели на работе выдались весьма напряженными и к заветным выходным я подошел настолько выжатым, что в пятницу вечером, я тупо срубился в постели, даже не вспоминая, что скоро должны огласить тему...
Однако, мирозданию, походу было угодно чтобы я не пробакланил эту итерацию. В полвторого ночи меня разбудил звонок в дверь. Я почти на ощупь натянул штаны, и доковылял до двери, там какой-то молодой человек
А вернувшись в кровать, я решил проверить свою ленту в ютубе и понял что время - 20 минут до объявления темы, и я не сплю... и в обще-то не очень-то и хочу. Так что, как говорится, нет повода не выпить!
ПроцессТема в этот раз выпала "Одна комната".
Первая задача была придумать собственно концепт, который бы в эту тему вписывался. В хоте обмена идеями в Ирой, родился общий концепт "космонавта, застрявшего в каюте". Закинув в мозг основные идеи на переваривание во сне, я лег досыпать.
Утром была готова черновая концепция: Каюта. Каюта на корабле. Корабль летит по маршруту, посещая в некоторой последовательности планеты. Через окошко в каюте можно посмотреть и сравнивая наблюдения с описанием планеты в сети, нужно попытаться угадать что это за планета. Идентифицировав несколько последовательных планет, можно поискать эту последовательность среди маршрутов, перечисленных в сети и соответственно понять, на борту какого же корабля ты находишься. Чтобы победить в игре нужно правильно угадать на каком же корабле ты летишь. А чтобы выигрышной стратегией не было просто попытаться "угадать" все маршруты по списку, дается всего 3 попытки после чего игра говорит "ойвсё" и засчитывает проигрыш.
Ну а чтобы жизнь совсем медом не казалась, персонажа нужно кормить, мыть и заставлять освежать постель, чтобы не запаршивел вконец... На все это тратится время, а время стоянки не бесконечно, и тратить его не на наблюдения за планетой, а на что-то другое хочется не всегда...
Первый день прошел в бодром программировании структуры данных, чтобы хранить маршруты, планеты, состояния игрока и Прочую логическую начинку игры. Прокрутив в уме что еще нужно для собственно игры, я решил что логика у меня уже можно сказать в кармане, и остается еще целый день на то чтобы нарисовать модельки для каюты, написать описания к планетам и прочего контента натворить... Поэтому с чувством выполненного долга я пошел спать. И спал вопреки своим намерениям долго и с удовольствием. Все-таки я реально вымотался за неделю.
Ну а на второй день начались проблемы. Я начал пытаться делать модельки для каюты... и скажем так, дело пошло сильно медленнее, чем мне бы того хотелось. Когда прошла половина дня, а у меня были готовы только черновые мешы объектов, я понял что текстурирование я просто уже не осилю... Поэтому все объекты на сцене - просто ровная заливка цветов... Все кроме одного - Подушка. Следы помятости на подушке сделаны с помощью "текстуры нормалей". Это был мой первый эксперимент с создание текстуры нормалей в блендере, и оно получилось легко и быстро... а не как все остальное.
В общем, единственная модель, которая у меня нормально получилась - кровать. Душевая кабина - так и не развилась дальше простого цилиндра - заготовки. Когда я таки импортировал модельки на сцену - какие были, день уже клонился к закату, а в описаниях планет у меня мягко говоря конь не валялся. Понимая отчаянность ситуации я воззвал к Ире, и моя любимая супруга смогла мне придумать 6 описаний для планет, пока я настраивал взаимодействие игрока с объектами, контроль камеры, и устранял тонну косяков в своем вчерашнем коде, который до этого просто никак не тестировал. В общем, за полчаса до закрытия времени размещения работ, игра была почти готова. 4 планеты, которые я успел в нее вкорячить было не достаточно для нормальной сложности, однако это было уже что-то что можно показать... Однако как оказалось на сайте конкурса... упала система размещения работ. Да и сам сайт прилег отдохнуть... не иначе как не выдержав напора желающих разместить свои Шедевры... так что я понял что не судьба. Дописал в игру две оставшиеся планеты и скомпилировал ее в exe-шник.
Если кому интересно потрогать сей "шедевр" руками, скачать можно вот тут:
yadi.sk/d/K___4GkO339FGh
Никакой установки не Требуется. Просто разархивировать и запустить. Не вирус. Честно.