Продолжаю попытки сделать свою игру
Всем привет, продолжаю выкладывать новости о работе над своим проектом.
Из самого интересного, наверное, я только недавно осознал, что игра будет намного лучше смотреться в изометрии (или как это называется) и стал переделывать первую локацию игры (квартиру главного героя).
Квартира перенесена не полностью, многих предметов или комнат еще нет. Пример старого "ракурса" камеры можно увидеть в моем прошлом посте (ссылка на него будет снизу). Ну и начал пытаться в визуализацию безумия главного героя. В данной локации стены будут прогнивать, оголяя текстуру на подобии червей, в других локациях эффекты будут иными. Ну и текстуры стен конечно будут не единственными изменениями мира в этом вопросе.
В сравнении с прошлым "ракурсом" камеры, чуть поинтереснее, в плане быдлокода, было прописывать отображение стен (перед или за актером на сцене). Сейчас будет немного скучной и запутанной информации, т.е. пару слов про цветные буковки, числа и как раз отображение стен. Как это безобразие закончится, будет фото котика, после которого можно продолжить чтение :>
Если раньше это выглядело как то так:
То есть Y-координата со знаком минус = глубине отображения на экране/сцене и так же со стенами (плюс небольшое колдунство с коллизией). Определение глубины происходило при создании объекта или если он движется, как актер, то та же строчка в событии "step"(код внутри которого крутится по кругу 30 или 60 раз в секунду, это вроде настраивается). Сейчас же, для их корректного отображения нам нужно:
1 Иметь координаты всех углов помещения, чтобы отслеживать координаты актера. Это желтенькие кружочки, для меня удобнее было наплодить таких и вручную их расставить, чем "угадывать" точные координаты по x,y этих углов.
Сверху вкладочка такая некрасивая - это самоляпное подобие консоли, ибо количество переменных, которые надо менять или отслеживать для теста быдлокода, немаленькое. Так тем более комфортнее, чем каждый раз выключать игру и лазить в код. Изменение кода во время запуска проекта не работает :< , как и нет встроенной строки для команд (ну или я ее не нашел).
2 куча быдлокода на сотню или около строк
При том, что не все стены и объекты сейчас в комнате. И да, либо я дурак, либо в gml коде нет функции по поиску точки в многоугольнике, поэтому для отслеживания указывал область как два треугольника.
Из новых проблем - это передвижение по 8 осям (раньше рассчитывал игру на 4 оси, но с такой перспективой это не удобно). В светлом будущем надо дорисовывать еще 4 направления хотьбы. Хз кстати, как сделать скорость перемещения по диагоналям такой же, как и при хотьбе по четырем стандартным осям.
Ну и если пошла речь за умение ставить костыли, то только недавно избавился от объектов, имеющих по 10 и больше клонов. К примеру, такие костыли стояли здесь, для рисования штрафов (такие кружки вокруг кружков, ну вы поняли) к проверкам атрибутов (я около года назад не понимал как можно обратиться к конкретному экземпляру объекта, а не ко всем им).
Обращение к объекту по его id волшебная тема, как и отсутствие надобности изменять код внутри 20, а не 1 объекта.
Так же переносил кучу других кусков кода на вызов по id, это сократило код и сделало его менее страшным. Заняло немало времени, но работать по принципу "работает - не тронь!" не особо хотелось.
Все, самая скучная часть закончена, продолжаем показывать картиночки:
Так я сделал скрытие и появление стен\предметов на сцене, вроде выглядит классно.
Изменение окружающего мира решил сделать через моргание. Глаза персонажа так же моргают в такт затемнению экрана. С гифками не умею ковыряться, поэтому плохо видно :<
Разлагающиеся стены или прочие элементы мира буду пытаться по мере сил анимировать, чтобы выглядели живее.
Еще начал заниматься вступлением в игру, а именно выбором первоначальной прокачки персонажа.
Накалякал пока что только прокачку через ручной ввод(то есть нажатие плюсиков и минусов под иконками навыков/атрибутов) и одну готовую карьеру (она уже имеет прокачку, позже так же добавлю еще и определенные таланты со старта). Готовых карьер/листов персонажа будет три: упор на социальное взаимодействие, грубую силу(обожаю бить людей) и смесь интеллекта с волей (думать иногда бывает полезно). Для любителей создать свой лист персонажа будет вариант через ручной ввод, либо тестированием (по смыслу как КОЗА из третьего фоллаута).
Начал работать над задниками для диалогов (я все-таки верю что когда-нибудь научусь рисовать):
Начал заниматься прописыванием диалогов и более детальной проработкой пролога игры в плане сюжета. Ну и вроде все. Хочется снова сказать Большое спасибо Сане (за помощь со звуками, в проработке логики механик игры и помощи с сюжетом, ну и нытье мое терпит<3) и этому джентльмену с кайфовой аватаркой:
И большое спасибо всем, кто поддерживает добрым словом (прям собственную психику поднимает что пиздец) или советами. Совет Andrei2140 по использованию новых кистей на сцене очень сильно изменил картинку в лучшую сторону, как и совет отзеркаливать изображение в поиске "дефектов". Спасибо за посоветованную литературу на подобии Джесси Шелла "как создать игру..." или "человек играющий". Видосы на тему геймдизайна тоже были классные. скрины там старые, но в ближайшее время обновлю.