Hi and hello, my lovely readers. It is time for another one of those dev logues. Not much this month! The busy busy end-of-year, and work on the website's translation are the reasons why i only implemented a couple of things since the last devvy logy. But is the old year's last day not the perfect time to ruminate on the pace of things? Today we'll see if i really can keep up the lax approach to my little gamedev hobby and still hope to release the game in reasonable time. But first, this month's additions to the project!
Room generation! Room generation! YES~! Look at my beautiful home that my sons builder.gd and patterns.gd have built for me :3
И снова привет, дорогие читатели. Пришло время вновь окунуться в мир видеоигр. Этот месяц для игры был не самым продуктивным из-за естественной для декабря занятости и из-за работы над переводом сайта на русский. Но разве новый год -- не прекрасное время для того, чтобы порассуждать о темпе делания дел? Сегодня мы разберёмся, могу ли я и дальше относиться к этому проекту с некоторой долей несерьёзности, и придётся ли мне взять руки в ноги и ускориться, чтобы выпустить игру хоть когда-нибудь. Но перед тем, как подводить итоги года, мы всё-таки подведём итоги месяца.
Генерация комнат! Генерация комнат! ДА~! Мои сыновья по имени builder.gd и patterns.gd построили для меня прекрасное поместье :3
I love my sons so much. Okay, okay, this was attempt #1. Sweet memories! They have learned much since then. After attempt #200 or something, we have this:
Они у меня такие умные. Ладно, ладно, это была попытка №1. Тёплые воспоминания. После попытки №200 или около того, мы имеем это:
Yes, currently there's no furniture script, but i'm still busy adding furniture anyway. I'm hoping to add lots of different generation algorithms, and the general system i wrote after much vector maths problem-solving works fairly well and will probably be able to handle future expansion. I would have finished this system way faster, but i had NO idea that dictionaries in Godot are passed by reference, and it took me an embarassingly long amount of time to figure that out. For some reason i was so sure that all of godot's variables are passed by value...
Since then, furniture has been the main focus. The outside parts of dungeons will need lots of traps and obstacles, the insides -- lab equipment and storage options.
In the few last days of the year, during the holiday times devoid of daily toils, i've been giving shape to the examination system. Akin to Space Station 13, i want shift-clicking on anything to let you inspect it closely. I've been writing up witty descriptions for everything i've been adding, so now i just need to hook it all up to a smart window that will display relevant information. This will have more uses later, but for now the examination will just display descriptions of whatever you want to see. And check this! I added a few test corporate posters!
Yeeah, you see, i'm not actually making a fully fantasy game. It's more like, um, a high-tech world with a magical fantasy coat of paint? There's still magic and swords, but the main gimmick of the game will require a suitable setting. You know, i recently played Deadeye Deepfake Simulacrum, and it really feels like a distant cousin to what i'm trying to make here. And THAT game's setting is as high-tech as it gets. Go check it out, by the way! I'll add it to the faves section sometime later too, it's that good.
Now let's talk about the past and the future. I've started active work on this game in early August this year, so it's been five months now. I have enjoyed a fairly lax approach to making this funny videogame, and while developing solo is something that obviously takes lots of time -- can't fight that fact -- i'm still asking myself the question: am i going fast enough? I have a deadline, you know. I've promised myself that i have to make my dream game in 30 years. And for that, i'd need to make a few smaller games first. THIS is just the very first one out of them! So it's not like i have all time in the world. Just 30 years. I'll probably need way less, but that's the point of deadlines. To keep us humble. I'd recommend you to give yourself a preposterously long deadline too, it's fun.
Let's evaluate the pace of the game together. I'd say about half of main features are more or less complete at their barebones state. And the thing with these features is that they take a lot of initial setup, but adding more of the same later is pretty easy. My perfect scenario would be finishing all the systems by summertime and then getting to the fun part -- adding lots of enemies and items and spells. The good stuff! But how much of the game remains unimplemented, anyway? What's left?
Well:
-Basic furniture and traps
-Various room layouts for variety
-System that would place furniture and traps in generated rooms
-Enemy AI and basic enemy types (Might be the biggest task here?)
-Basic item code: potions, weapons, artifacts, funny clutter, books, armor
-~THE KILLER FEATURE~ (SECRET UNTIL THE TIME COMES)
-Loadout system and character-specific abilities. All thought up, just need to put them into code
-The hub location? I have some good ideas, but it'd sure take a lot of effort. It's a low-priority task...
Ough. That's kind of a lot, isn't it? It's not terrible, since i am not going to sell this game for money or anything, so i can always cut corners in funny places. But still, ooough. What a big heap of stuff...
And it's all just to get the game working! THEN i'll actually need to add variety to it. But assuming i'll do a good job with the setup, adding more things should be easy & peasy.
Да, пока что они ещё не умеют расставлять мебель, но это нестрашно, ведь мебели всё равно почти нет. Я надеюсь, что получится потом добавить кучу разных алгоритмов генерации подземелий, потому что текущая система, которую я написал для этого алгоритма, должна подойти и к любым другим. На самом деле, я смог бы закончить генератор уровней гораздо быстрее, но я СОВЕРШЕННО НЕ ЗНАЛ, что годотовские переменные типа Dictionary передаются по ссылке, и пока я пытался с этим разобраться, пролетело, наверное, недели полторы. Почему-то я был уверен, что в godot все переменные передаются по значению...
С тех пор, я был нацелен на добавление большего количества всякой мебели. Внешние части подземелий требуют придумывания ловушек и препятствий. Внутренние части, в свою очередь, должны состоять из всяких злых лабораторий, где злые учёные варят злые зелья и читают злые книги. А это значит что? Правильно, шкафы, столы, всякие там научные устройства и, возможно, торговые автоматы с закусками.
В эти последние, праздничные дни декабря у меня прибавилось свободного времени, и я взялся за систему осмотра. Я хочу, чтобы шифт + клик по любому игровому объекту выдавал подробную информацию, как в Space Station 13. Когда я добавлял предметы и объекты, я сразу прописывал им описания и названия, так что теперь всего-то остаётся, что научить окно определять, какую именно информацию выводить. Пока что это будут просто описания, но у этой системы будут и другие применения. Вот, зацените, если осмотреть постер, можно увидеть детальную картинку:
Да, постер. Если вы думали, что игра будет чисто фентезийная, то я вас благополучно обдурил. На самом деле сеттинг будет вполне технологичный, но подаваться будет с закосом под магию. Недавно я поиграл в Deadeye Deepfake Simulacrum, и в общем-то эта игра ощущается как далёкий родственник того, что я тут пытаюсь накодить. А deadeye deepfake simulacrum про дремучий киберпанк, так что думайте. И, кстати, зацените её сами, у неё в стиме демка есть бесплатная. Я её потом в изобранное на сайте тоже добавлю!
Теперь давайте поговорим о прошлом и будущем. Я начал работу над игрой в августе, так что нам уже исполнилось пять месяцев. Я занимаюсь разработкой в достаточно расслабленном темпе. Хотя разработка игр в одиночку всегда является медленным процессом и против этого факта не попрёшь, я всё равно задаюсь вопросом: не слишком ли медленно идут дела? У меня ведь, вообще-то, есть дедлайн. Я поставил себе цель создать личный магнум опус в ближайшие 30 лет. А перед магнум опусом надо набраться опыта, делая игры поменьше. И это всего лишь первая из них! Так что времени у меня не так уж и много. Всего-то 30 лет. Скорее всего, я успею и у меня ещё запас останется, но для этого и существуют дедлайны. Чтобы нависать над нами. Вообще, я бы всем рекомендовал поставить себе какой-нибудь уморительно длинный дедлайн, это довольно весело.
Давайте посмотрим, в каком состоянии сейчас игра. Я бы сказал, где-то половина всех основных механик кое-как, да работает. И по природе этих механик, развить их будет гораздо проще, чем было закладывать фундамент. Я очень хотел бы закончить все основные системы к лету, а там уже заняться самой веселой частью процесса -- добавлять всякие предметы, врагов, заклинания и прочую вкуснятину. Но как много перед этим ещё остаётся? Давайте пробежимся.
В списке дел маячат:
-Минимальная мебель и ловушки
-Варианты построения комнат для хоть какой-то разнообразности
-Система, расставляющая мебель и ловушки в комнатах
-ИИ врагов и типичные виды врагов (возможно, самая большая задача)
-Код для разных видов предметов: зелья, оружия, волшебные предметы, всякий смешной мусор, книги, броня
-~УНИКАЛЬНАЯ МЕХАНИКА ИГРЫ~(ЗАСЕКРЕЧЕНА, ПОКА ДО НЕЁ НЕ ДОБЕРУСЬ)
-Система выбора экипировки и способности разных персонажей. В голове всё продумано, надо просто перенести в движок
-Центральная локация, из которой можно отправляться в подземелья? У меня много хороших идей насчёт неё, но потребуется куча усилий. Так что эта задача полежит в долгом ящике...
М-да. Немало, правда? Не всё так плохо, ведь игру я делаю не на продажу, а значит, могу позволить себе делать смешные поблажки и срезать углы, чтобы экономить время. Но всё ещё, ЧЁРТ возьми. Целая куча дел...
И всё это -- только чтобы заставить игру работать! ПОТОМ я ещё буду долго добавлять в неё необходимое разнообразие, всё-таки у нас на руках рогалик, тут без разнообразия нельзя. Но если я хорошо пропишу все ключевые системы игры, добавлять всякие предметы и заклинания будет потом проще пареной репы, да и тем более, это весело. А когда весело, дела идут быстро.
~~~
Год вышел весьма изматывающим. Но время неизменно движется вперёд, и вот в этом мы всегда можем на него положиться. Дорогие читатели, я вообще без понятия, вас суммарно 0, или, может быть, целая дюжина, но для меня это в общем-то не так уж и важно. Я хотел бы, чтобы вы тоже воспользовались небольшой передышкой, которая появилась у нас с вами в эти новогодние праздники. Взгляните на уходящий год, вспомните ваши достижения и ваши же просчёты. А потом шагните вперёд, в новый виток этой огромной спирали существования, по которой мы все вместе скользим. Ну, а в следующем году я всё ещё буду тут, и продолжу писать мои смешные заметки. И я надеюсь, что вы тоже там будете ^_^
Oh, what a busy year. Still, the time moves on, and you can always rely on it moving ever onwards. Dear readers, how many of you there is I am not sure, perhaps zero or perhaps a whole dozen. No matter! I invite you, too, to make use of the brief reprieve provided by the new year's holidays to take stock of the past year, look at its achievements and shortcomings, and move onwards to the next loop of the big, big spiral of existence that we all share on this cool planet. And in the next year? I'll still be here, writing my funny little blog posts. I hope you'll be there too ^_^
-FEARLESSWITHFEATHERS