Tales from Aresera: Deep Silent Cave. Начало.

Да, не самое короткое название я выбрал, но тем, кто читал мой предыдущий пост, в принципе должна быть понятна мотивация. Поскольку сама «Аресера» — это мистический проект неопределённого будущего, я решил другие, простые игры, на создании которых я буду учиться, создавать так или иначе в мире «Аресеры».

Прошлая осень, ноябрь, кажется. Я увидел забавную инди-игру в Стиме, и в качестве тренировки своих кодерских (на тот момент нулевых) навыков, решил сделать её клон. Точнее, не клон (я не из тех, кто в свое время клепал клоны Flappy Bird — я так не могу), а вариацию на тему.

Началось все с простого — мне нужно было генерировать случайный мир состоящий из 100 ‘этажей’, на каждом их которых был ‘лестничный пролет’ и две 'комнаты’. Я совершенно не имел представления, как это надо делать, поэтому полез искать в гугле похожие на нужное мне решение. Long story short — Я смотрел, что советуют людям для решения их схожей проблемы и по аналогии делал что-то своё, ища в мануалах нужные мне функции. В итоге, когда при старте сцены у меня генерилась стоэтажная 'башенка’ со случайно расположеными комнатами, я был просто счастлив, ведь я что-то сам(!) написал!
Я так же был без понятия, что делать дальше — персонаж и его системы казались слишком сложной задачей, поэтому я начал через задницу (наверное, я не знаю, в каком порядке создают игры) — с интерфейса. Где-то за месяц (потому что получалось посидеть не каждый день, и то по паре часов) я наклепал отображение здоровья и прочих показателей, сделал окно инвентаря и характеристик персонажа — просто два окошка, которые открывались/закрывались по клику на соответствующую кнопку на экране или по нажатию клавиши — это был прогресс. Затем сделал бэкенд здоровья — совсем базовый код, который наполнял бар здоровья в зависимости от текущего его количества, в также метод, который позволял это здоровье отнимать. Также по какому-то туториалу получилось внедрить систему переводов (я надеюсь всё-таки доделать эту игру и выкинуть её, например, в тот же Стим), с помощью которой все надписи в игре переводятся с русского на английский и обратно по нажатию соответствующей кнопки в главном меню. Да, кстати — меню ещё сделал, но в нем даже до сих пор ничего, кроме названия и двух кнопок переключения языка нет.
Вообще, когда я говорю про свой код, не надо даже, наверное, делать ремарки, что он базовый или что-то такое — это должно быть понятно. Я более, чем уверен, что хорошие программисты от моего кода будут плеваться, там скорее всего куча ботлнеков, костылей и велосипедов. Но мне всё равно — это мой код, который я написал сам. Я почти ничего не читал обучающего из литературы — прочёл лишь основы с# для unity, чтобы разбираться в базовых вещах.
Потом на меня как всегда напала хандра, и я бросил это дело почти на два месяца. Взяться хотелось, но настроения и желания не было никакого.
И вот неделю или две назад я снова решил — нехрен филонить, надо делать! Следующим я решил запилить систему инвентаря. Нашел подходящий мне туториал, и по нему потихоньку начал её делать. Вот, буквально сегодня с утра закончил с туториалом, и наконец-то у меня есть базовая версия системы инвентаря, которую мне придётся серьёзно доработать самому.
Теперь моё окно инвентаря заполняется слотами, в которые (пока что только вызовом функции в Start()) добавляются предметы. Описания предметов содержатся в .json файлах — эдакая база данных, и есть конструктор базы данных — ещё один скрипт, который из набора букв в .json’ах создаёт объект с нужными свойствами. Все вещи в инвентаре можно перетаскивать туда-сюда и так далее — базовый функционал.
А о чём я хотел изначально написать — так это про пикрилейтед. Это кусочек моего инвентаря с выбранным итемом, над которым гордо реет тултип. Но суть не в этом, а в том, что справа от всего этого я сделал окошечко такое, в котором вместо (или вместе, на этой стадии трудно судить) тултипа будет отображаться информация о выбранном предмете. Пока что там только название — но это уже большой прогресс.
Просто дело в том, что пока я следовал туториалу — было очень, очень сложно, но в принципе довольно понятно, что из кода и что делает. А вот по завершении смотрю в код и думаю — что за хрень вообще и что она делает? х) Медленно, но верно, потихоньку разбирая написанный код, смог вывести название предмета в своё окошко :3 Вы скажете — хренота! А я скажу — мне пофигу. Для меня это крошечные, но шаги в верном направлении. Я нереально счастлив от того, что наконец-то потихоньку могу что-то сделать сам, пусть это даже будет вот такая фигня, как я описал выше.


Всё это я так же пишу в свой Tumblr (мне было реально влом что-то придумывать, поэтому взял самую простую блог-платформу с текстом+картинками). Также там будут более короткие посты, которых здесь не будет.
  • +2

Комментарии (0)

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.