Данная тема сыровата для перемещения в раздел "игры в разработке", поэтому пока что оформлю её в стиле личного дневника.
Начну с того, что накануне нового года приобрёл ПК за 2к, который потянет разве что игры с sega, но вполне корректно на сегодняшний день в нём работает windows 10. Пробовал скачать и запустить какую-то из частей ассасина за 2008г. -- работало без зависаний, но терпения пройти уровень с обучением мне не хватило и я снёс игрушку.
Как-то я слишком сильно растягиваю предысторию. В общем, на таком ПК очень удобно смотреть, как сильно твой плохокод нагружает ПК и искать варианты решений с оптимизацией кода. На сегодняшний день я научился загружать спрайты из директории игры и работать с сеткой. Ну, не на 100 процентов, но какую-то часть принципа работы с сеткой стали яснее.
Сейчас я делаю игрушку, беря её как обучающий материал для себя. То есть, мне что-то нужно для игры, я ищу что мне надо, смотрю как это оптимизировать и ищу пути того, как написать код, чтобы ПК не взорвался к чертям.
Идея игрушки заключается в том, чтобы нарисовать всяких разных штук, игрок 1 будет расставлять эти штуки по игровому полю, а когда ему покажется, что его игровое поле достаточно обставлено, он сможет поставить на игровое поле персонажа, который будет ходить по игре и творить разные вещи. Плюс у игрока будет выбор, ставить персонажа в игровое поле и поигратьповзаимодействовать с игровым миром или сохранить поле, которое он обставил, и скинуть сохраненку игроку 2. Тогда игрок 2 сможет поиграть в мир, созданный игроком 1.
Мне хочется рисовать как штуки, знакомые глазу ( трава, деревья, вода ), так и использовать фантазию для животных( например ), чтобы нарисовать животных, которых в нашем мире не существует. Нарисовать что-нибудь из головы, выдумать, придумать.
В данный момент ведется видеодневник на ютьюбе и я хочу поделиться видеодневниками с описанием достижений здесь, в этой теме.
P.S. Сейчас понял, что забыл добавить, что всё вышесказанное не истина и по ходу разработки разные аспекты идеи могут поменяться. Вся игра программируется на ходу и цель проекта это закончить игру, сократить нагрузку ПК до возможного минимума и избавиться от багов. Ещё я хотел описать, как будут вести себя жители игрового мира, но эту инфу напишу, когда руки до реализации жителей в принципе дойдут.
Смотреть ролик 1. Введение. В видео показан скриншот с железом ПК. А далее идет склейка самых первых 4ех дней разработки:
--День 1: Рисование маны и расстановка объектов вместо сетки ( никогда так не делайте, это очень плохо для ПК );
--День 2: Нарисовал кролика и анимацию того, как он оглядывается по сторонам и грустит из-за того, что не видит рядом морковки( здесь было мало фантазии и кролик получился просто "стоячим" и это надо будет рисоваться заново и с включением мозгов с фантазией );
--День 3: Добавлен курсор для перемещения( камера, другими словами );
--День 4: Добавление норы для кролика;
Смотреть ролик 2. Смена конструктора, сетка и значения ячеек. На пятый день обучения было решено попробовать перейти в GMS, так как некоторые найденные в статьях коды ( например, где использовался код по типу
for (var i = 0; i < 3; i++) {
for (var j = 0; j < 3; j++) {
grid[# i, j] = i * 10 + j;
}
} )
GM8.0 отказывался понимать.
В этот день я научился с горем пополам разделять игровой экран на сетку с отображением значений ячеек сетки. Ну и так по мелочи, не давать объекту уходить за рамки игрового поля кодом. Тот я, что из 2016го, сделал бы это созданием и расстановкой твёрдых объектов по краям, которые бы были невидимы. Метод хоть и рабочий, но мне нужно добиться наименьшего кол-ва объектов в игровом поле.
Смотреть ролик 3. Мана, числовые значения, работа с draw. День 6.--Изменён цвет ячеек ( с чёрного на белый );
--Изменена прозрачность числовых значений внутри ячеек;
--Отрисовка анимированного спрайта маны, числового значения маны и прозрачной черной рамки для маны внутри одного объекта o_mana;
Смотреть ролик 4. Возвращение в гамак 8 и травка. День 7.--Загрузка спрайтов из директории игры( спрайты в видео пробные, чтобы сначала написать код. Затем код переписывается под загрузку спрайтов из директории игры, когда тестирование кода прошло успешно ( в 5ом ролике они уже будут загружаться из директории игры, а лишние спрайты будут удалены ) );
--Рассказываю о багах, с которыми пришлось столкнуться;
--Нарисовал черновой загрузочный экран:
--Проблемы с покупкой, расстановкой и глубиной травы;
--Вся купленная трава выполняется через draw_sprite вместо instance_create;
Смотреть ролик 5. Создан для опросника в вк + некоторые исправления багов. День 8.--Спрайты загружаются из директории игры;
--Решена проблема с глубиной при расстановке травы;
--Перерисовка спрайта травы;
А, блин, забыл добавить и объяснить, что спрайта травы будет два:
каёмчитая трава( для краёв обставленной области с обычной травой ) и
обычная трава( грубо говоря, просто кусок зеленого цвета для установки травы по центру ).
--Удаление расставленной травы правой кнопкой мыши;
--Добавлено уменьшение маны при покупке травы и
возврат маны при удалении расставленной травы( добавлено после записи ролика );
--Было сделано уже после записи ролика, но всё же: при клацанье в одну и ту же ячейку мана не убавляется, если в ячейке уже есть трава ( проверка установлена трава в ячейке или нет ). По опросу друзей в вк на предмет, какую бы они хотели нажимать кнопку при удалении спрайта травы над курсором ( когда нажал кнопку покупки травы ), люди проголосовали за среднее колёсико мыши, так как левая кнопка мыши спрайты краёмчитой травы расставляет, правая кнопка мыши расставленные спрайты краёмчитой травы удаляет и нужно было что-то решить со спрайтом над курсором. Скорее всего, позже я найду способ убирать спрайт над курсором мыши тоже правой кнопкой мыши.
Дальше мне нужно:
--Перепроверить все объекты в отладочном режиме на предмет багов ( например, по непонятным мне причинам, некоторые объекты без спрайта ( а они у меня все без спрайта

), начинают бесконечно повышать свой mage_index на +1. На сегодняшний день исправлено костылём в виде прописывания в step image_index = 0, но в отладочном режиме у них у всех mage_index равен 1. Хз что это такое, будем искать и выяснять причины );
--Нарисовать и закодить обычную траву;
--Нарисовать и закодить землю;
--Ну И кАроЧи РиСоваТь, кОдитЬ, мАтеРиЦа.
Добавлено: Январь 20, 2024, 17:19:28 Скачать Your Little World Ver_0008.exe:
https://drive.google.com/file/d/1ZyGKt1Z1aHz5LXI6GbEBqBhezJOWiNo9/view?usp=sharing
Добавлено: Январь 21, 2024, 10:03:27 День 9. Изменение логики расчёта маны до 1 млрд.
Добавлена обычная трава.
Следующие изображения уменьшены для демонстрации( оригинал 1280х1024 ):
Скачать Your Little World V_0009.exe:
https://drive.google.com/file/d/1yJWuQx-W5dotSJ_RZGOxIG_CzKyeVrGx/view?usp=sharing
Добавлено: Январь 21, 2024, 10:30:57 Демо на youtube:
https://youtu.be/KF1WukbZQIk
Добавлено: Январь 22, 2024, 04:22:03 День 10:
--Добавлена послойная расстановка спрайтов;
--Добавлена земля;
Смотреть демо( youtube )Скачать:
https://drive.google.com/file/d/1uq8Y95WAaBL4g7mUi_iaJR1rbaq9ut3R/view?usp=sharing
Добавлено: Январь 22, 2024, 23:37:10 День 11:
--Изменены спрайты земли, обычной и каёмчитой трав;
--Изменена логика расстановки спрайтов. Теперь каёмчитую траву можно ставить только на землю, а обычную траву -- только на каёмчитую;
--Добавлен нижний интерфейс для подсказок;
Смотреть демо( youtube ):
https://youtu.be/_CTDbawtRogPrintScreen:
Добавлено: Январь 27, 2024, 21:32:03 Your Little World. День 12. Непрограммист психанул и всё переделал методом костылей.
--Перестройка игры с 0;
--Изменение спрайтов;
--Переключение управление на клавиатуру вместо курсора.
Добавлено: Январь 29, 2024, 19:07:56 День программирования 13:
--Добавлена красная трава;
--Добавлена синяя вода;
Планы далее:
--добавить земли для склона;
--изменить воду;
--нарисовать дерево;
--исправить ошибки покупки товаров;
Добавлено: Февраль 02, 2024, 16:09:43 Было решено забросить проект в виду проблем с багами, которые я на сегодняшний день не способен решить.
Спрайты прикладываю к теме, можно использовать, если кому-то надо будет:
скачать спрайты ( .7z )скачать .7z файл