All posts

Project archive

Небольшой отчёт о проделанном.

Небольшой отчёт о проделанном.

Многие механики из концептуального бардака, проверок идей и поисков путей реализации превратились в четкие блоки с описанием и распределением функций. Сегодня переводил часть функций в универсальные. Работа кропотливая и нудная. Но надо. Видимо завтра кораблики научиться не только летать в район цели, но и прецизионно точно к ней. Причем при любом раскладе и положении планеты. Это кстати довольно сложная задачка, ибо планеты не стоят на месте, а летят по своим орбитам. И поскольку у нас настоящая симуляция - летят они с постоянно меняющейся скоростью, по эллипсу с наклоном и т.д.

Несколько дней назад заработала механика стрельбы. Снаряды летят в цель, попадания фиксируются, эффекты появляются. В ходе теста подвешивал под 1200 снарядов одновременно. Все прошло хорошо. Это учитывая то, что на компе запущено 2 клиента и сервер одновременно. Если бы хотел, можно было бы начать считать хиты от попаданий и все такое...картофельное )))

Одно из незримых но очень важных изменений - создание единого класса корабля. До сих пор я использовал функциональных болванчиков в каждом отдельном уровне, а проще говоря режиме игры. Одни для боевики, другие для полетов по системе и т.д. Путь это был тупиковый и об этом было известно, однако на момент так было быстрее и проще. Сейчас это замененено единым кораблем, с четким распределением структур данных, с лёгкой внутренней логикой и целой структурой состояний, через которые обработчики на уровнях будут знать, что с ним делать, куда двигать и т.д. И они это уже делают. Как раз перелопачиваю обработчик на уровне планетарных систем.

Также ещё допилил алгоритм поиска возможных звездных прыжков на звёздной карте. На самом деле, в предыдущей версии, этих переходов рисовалось в 2 раза больше. Каждая пригодная пара звёзд соединялась 2 раза. Туда и обратно, что как-бы нехорошо. Теперь всё работает правильно. В зачаточном состоянии алгоритм поиска пути к цели. Также теперь можно смотреть переходы только в заданном радиусе, а не по всему кластеру.

Весь этот процесс, при кажущейся лёгкости, весьма трудоёмок, что и ожидалось. К сожалению продвижение замедляется тем, что я до сих пор изучаю движок. Например заставить вылетать снаряды с нужной скоростью в нужном направлении и регистрировать столкновения удалось за примерно полтора дня. Хотя идея и схема реализации была продумана заранее, мелкие ошибки, громадное количество опций в настройках, превратили задачку на пару часов, в задачку на почти 2 дня. Тесты, поиски косяков, чесание затылка...ведь должно работать! всеж правильно! : отьедают пока большую часть времени.

Хорошо то, что несмотря на более медленный темп, продвижение вперёд все равно есть и оно весьма существенно. В дальнейшем темп будет только увеличиваться, поскольку я не только все лучше узнаю систему разработки, но и все самое концептуальное и сложное делается именно сейчас. Сейчас задаётся вся архитектура, весь скелет игры, который потом надо будет обвесить мяском и покрасить. Сложные моменты ещё будут, но сейчас преодолены почти все места, где я не знал как, но надо сделать. Осталось реализовать инстансы процедурных уровней, гексагональную планету, причем самое сложное в ней уже сделано и работает, грамотное сетевое реплецирование. Ничего непреодолимого я не вижу, но попотеть придется.

Посмотрел сегодня на ютубчике обзор стратегий на 2021 год. Целых 2 игрухи, которые делают по одному человеку. И выглядит все достойно. Большим, да и средним студиям нужно покурить подумать, почему соло без бюджета пилит лучше чем их команды.... ))). Промотивировалься )))

Project Facebook profile