Дневник разработки
13 постов
13 постов
Всем привет!
По идее, тут должно быть что-нибудь меткое, яркое, небольшая интрига, чтобы привлечь внимание, но я программист, делаю игру в одиночку и совсем разучился общаться в социуме) а, да, я из поколения, кто ставит ")))" - чем больше, тем лучше!
Источники вдохновения:
- книга "Одиссея капитана Блада" (Рафаэль Сабатини)
- серия игр "Корсары" начиная с третьей.
- игра "Besiege"
Очень хотелось объединить эпоху пиратов и возможность строить деревянные/каменные постройки, плюс верфь - построил корабль, и вперед, к приключениям.
Так как начинал на Unity с нуля, то процесс длится и по сей день. Изначально концепция была:
В первом релизе можно будет строить на земле разные постройки, форт, несколько миссий, чтобы научиться строить, защита острова от пиратского корабля, открытие верфи и постройка первого корабля. Что и было сделано к октябрю 2024-го:
Потом я планировал добавить мультиплеер и сделать онлайн битвы и регаты, возможность торговать своими постройками и судами и много других механик, вроде физики, возможности полетов и т.д.
Вышла Unity 6! Я попробовал Unity 6 URP и решил мигрировать туда. В итоге я изменил немного план и решил сначала в первом релизе выпустить мультиплеер с битвами, постройкой кораблей, прокачкой пушек, парусов, остовов судна, и уже потом добавить персонажа от третьего лица, постройки на земле и т.д.
В итоге получилось две игры. А недавно пришла идея все-таки выпустить ту часть, что была готова в прошлом году и назвать ее игрой-прологом. Ведь по сути, после завершения всех миссий на острове игрок должен будет построить свой первый корабль для выполнения последней миссии. В следующей же части игры идет продолжение: постройка кораблей и мультиплеер.
Так получились Leonardo's Island - Origins и просто Leonardo's Island.
Этот пост скорее про выходящую 19 сентября игру-пролог Leonardo's Island - Origins, что в ней есть:
Вид от третьего лица: бег, плавать, нырять (насколько легкие позволяют)
Можно рубить деревья и крошить камни - ресурсы для постройки
Разные виды строительства:
Ставить балки, доски в ручном режиме - полный контроль
Использовать помощники для постройки базы и лестниц
Можно нарисовать свой флаг и поставить куда угодно
Можно полетать с воздушным змеем
И, наконец, можно серфить!
Поплавать вокруг острова на катамаране (сначала его построив)
Стрелять из пушек по пиратам (так же можно и по своим постройкам)
Локализация на 30 языков.
(на видео и скриншотах можете увидеть надписи на английском, их я делал во время разработки, вся игра в стиме полностью на русском)
Стоимость поставил 3,99$, в рублях стим предложил 165 рублей, я не стал спорить:
Музыка!
Музыка в игре - это единственное, что сделано еще одним человеком. Лет 5 назад, когда я начал делать первые посты про разработку, мне написал один композитор и предложил свои услуги. В итоге, в игре есть своя музыка, чему, если честно, я рад. Потому что мелодии мы создавали вместе и их можно назвать еще одним вдохновением для меня, которое мотивировало делать какие-то вещи лучше.
Теперь для тех, кому интересно узнать про ту часть игры, над которой работаю с момента перехода на Unity 6. В моих предыдущих постах я показал механики строительства кораблей и навигации. Что было сделано с тех пор:
Модульность качества. Я разделил модели и текстуры. Теперь все подгружается отдельно. Прям, как в профессиональных играх с миллионными бюджетами. Скоростью загрузки сцен с тысячами объектов доволен, как слон)
Тестирование объектов без "правильных" материалов с "правильными" текстурами, которые подгружаются по мере возможности.
Добавлена боевка. Теперь в корабли можно палить из всех орудий и они получают урон, если корабль достаточно потрепан - тонет. Все с эффектами, звуками - тоже доволен.
Сейчас работаю над мультиплеером. Будут битвы и регаты в случайном формате с матчмэйкингом в зависимости от характеристик выбранного корабля, плюс, можно будет устраивать битвы или регаты со стимовскими друзьями.
Если кто-то задался вопросом, а можно ли таранить другой корабль или плыть назад - можно! Плыть назад вообще сделал интересно. Но не буду спойлерить)
Спасибо за внимание!
Всем привет!
Всем привет! Давно ничего не писал, не загружал обновлений, все потому, что работал над одним большим изменением, которое блокировало остальные задачи и улучшения. Накопилось много всего, наконец, залил новую версию.
В демо теперь есть все 30 языков.
В меню слева появилась новая кнопка: Журнал.
Внутри вы найдете подсказки:
Как строить
Навигация
Во время сражения
И еще)
Некоторые игроки прислали мне идею для автозакупки ядер, чтобы после каждого сражения не нужно было снова идти и вручную покупать все. Благодаря вам, теперь это есть!!
Пример: Перед отплытием у вас было:
120 пушечных ядер
50 книппелей
После боя или любого другого события будет автоматически докуплены недостающие боеприпасы, чтобы восстановить эти значения, если у вас достаточно золота.
Если золота недостаточно, вы получите уведомление.
Теперь начинается то большое, над чем работал последнее время, и что блокировало все остальное:
В левом меню появилась новая кнопка: Слава.
Там вы найдете:
Личную статистику
Ваш ранг и прогресс
Задания, необходимые для повышения ранга от Новичка до Посейдона
Глобальную таблицу лидеров с Топ-10 удачливых моряков и вашей глобальной позицией
Эта часть самая важная, сложная и ..волнуюсь, в общем)
Постарался сделать переход с локальных сохранений на облачные максимально незаметным. Если вы уже играли в игру, то ваш прогресс и корабли должны сохраниться :)
Также теперь в игре появилось 2 режима:
Онлайн
Слава
Статистика
Рейтинг
Мультиплеерные функции
Оффлайн
Игра с ботами
Без Славы
Без мультиплеера
Если нет интернета в какой-то момент, или открыли первый раз игру не через стим, то будут предложены варианты)
Теперь вы можете участвовать в случайных битвах и регатах против кораблей, созданных другими игроками.
Это промежуточный этап перед полноценным онлайн-мультиплеером.
Окно покупки/продажи имеет теперь 2 варианта интерфейса.
Оригинальный интерфейс остался доступен, а ниже появился более классический вариант логики покупки/продажи.
Вы можете выбрать тот вариант, который вам удобнее.
Эмблемы парусов теперь используют только одно свойство цвета с возможностью настройки силы свечения.
Траектория теперь стала более заметной.
Как и раньше, ее цвет можно изменить в настройках.
Ну, как-то так) Всем привет!) Пошел дальше работать)
Второй стрим, которым хочу поделиться: https://live.vkvideo.ru/dexstream/record/471f755e-3317-4aa2-...
В общем, два стрима, этот и из предыдущего поста, дали мне много идей для улучшений, чтобы игрок мог быстрее понять, что да как работает)
Хотя не знаю, чисто личное ощущение: испытываю какое-то мазохистское удовольствие, видя, как игрок вначале не понимает, что, да как, а через какое-то время такой "аааа, блин, круто!"
Всем привет, давно ничего не писал, почему - чуть ниже. А сейчас хочу поделиться тем, что меня нереально вдохновляет:
Shishki играет в мою игру на твиче!!!! (или вк) Вообще, не часто приходится видеть видео игроков, поэтому каждый раз для меня это праздник. Но это видео для меня особое. Видеть, как игрок потихоньку разбирается в игровых механиках. Не бросает, на пол пути, не закрывает игру, когда что-то не получается, или непонятно, а продолжает, потому что интересно (другого объяснения не нахожу, я ж не стою сзади с пистолетом) и в конце концов что-то да получается!!
В общем, кому интересно, приглашаю посмотреть, лично мне очень подняло настроение и реакции и юмор, и как "ботинки взрываются")
А теперь про то, что делаю уже больше месяца и все никак не показываю:
Судовой журнал: (прогресс готовности - 90%)
В нем собираю все подсказки по механикам игры (с записи с твича тоже уже добавил пару подсказок), так что теперь будут видны подсказки в загрузочном окне, плюс всегда можно открыть судовой журнал и почитать их все, они разделены на "битвы", "строительство", "навигация" и т.д., чтобы было понятно, что где, например, как работает урон - в битвах, как работает парус с ветром - навигация, вместимость судна - строительство.
Сохранения: (прогресс готовности - 100%)
Все сохранения перейдут из локальных в облачные. Можно будет играть с разных компьютеров, главное, чтобы открытие игры было через Стим. Так же на одном и том же компьютере можно будет играть разным игрокам с разными Стим аккаунтами.
Есть еще оффлайн режим, но в нем не будет прогресса статистики, и много всего, но это на тот случай, если интернет недоступен, а ботов хочется покрошить. Прогресс в оффлайне для открытия судов, парусов и их улучшений - работает.
Статистика игроков и ранг игрока: (прогресс готовности - 20%)
Здесь у игрока появляется ранг, это будет долгий путь от сухопутной крысы до Посейдона. Если с первыми рангами все просто, то с эпичными рангами хочется сделать, чтобы это было нечто уникальное для игроков, например, Посейдоном может быть только один игрок из всех.
За достижение очередного ранга-звания - награды, вплоть до легендарных судов.
Оффлайн мультиплеер: (прогресс готовности - 40%)
Это когда в сражениях и регатах все еще боты, но они на кораблях, созданных другими игроками.
Плюс, каждый раз, когда вы заходите в игру, если ваши корабли участвовали в сражениях или регатах - награда!
Изменить окошко покупки-продажи.(прогресс готовности - 0%)
Добавить возможность автоматической покупки боеприпасов.(прогресс готовности - 0%)
Вот это все я хочу я хочу разом залить в новую версию демки. Поэтому больше месяца ни сном ни духом) Но это видео меня просто, ну просто супер порадовало - делюсь)
После выпуска этой версии, наконец, допилю полноценный мультиплеер. И еще не решил, выпустить игру с оффлайн мультиплеером, или все-таки с допиленным онлайном.
А, пусть будет опрос:
Всем привет!
пошел дальше на галеры)
Всем привет, на связи Данилец (когда пришла пора писать псевдоним разработчика в Стиме, вспомнил свою детскую кликуху "Данилец всем **ец", но по причине не особой грамотности в забугорной лингвистике написал Danilec, так что теперь я Данилек)
Добавил в игре возможность полетать на ядре. Скоро загружу обновление в демо.
Попутно для возможности клепать видео для конкурсов/событий сделал себе возможность замедления времени и убирать интерфейс. И здесь пришла мысль, а интересна ли такая фишка игрокам? В онлайне замедлять время нельзя, конечно, но в режиме pve, почему нет?
Пусть будет немножко морской эротики.
Делаю игру - Leonardo's Island. Сейчас участвую в Steam Next Fest - Играм быть!
Можно попробовать демку)
На видео есть три малых типа судна, которые можно открыть в демке, и два средних типа судна, которые будут доступны в первом релизе.
пы.сы. Если попробуете демку - буду рад любой обратной связи: плюсы, минусы, баги, идеи.
Недавно пришла идея, хочу поделиться:
Пушки имеют время перезарядки, например: вертлюжная пушка, если проапргрейдить по максимуму, время перезарядки становится 3,8 секунды. Если поставить много таких пушек на корабле, то можно стрелять практически непрерывно.
Идея: если время между двумя кликами мыши для выстрела меньше 1,5 секунды - делать залп из всех пушек, которые могут выстрелить согласно их углу поворота по направлению прицела и состоянию перезарядки. Как вам?
Сегодняшняя нарезка из тестов. Каждый день что-то меняю и обновляю демо в Стиме. (обновил прицел и стрельбу в целом) Хорошо, что модераторская проверка проходится один раз, иначе было бы тяжко.
Нарезка из моей игры. Первая версия ботов была в бета-тестировании. Вторая версия достаточно сильно была переработана: добавлена физика, улучшено обхождение препятствий, доработаны разные виды урона, плюс, улучшена прогрессивная результативность (настолько, что пришлось снизить максималку, иначе это были просто терминаторы на воде, 3 секунды в бою и меня топили).
Вообще, в игроделании до сих пор считаю, что самое сложное, это качественные боты. Так как идея игры все-таки мультиплеер, а боты нужны для начала, то ну очень не хотел их делать, потому, если честно, понятия не имел, как их делать.
Дальше, наверное, будет интересно игроделам:
В итоге, нашел интересные материалы:
https://code.tutsplus.com/series/understanding-steering-beha...
https://edirlei.com/aulas/game-ai-2020/GAME_AI_Lecture_07_St...
Сделал тесты с шариками, прямоугольниками, вроде все красиво двигалось, но как только начал переносить все на корабли - жутко не понравилось. Изначально корабли двигались по времени, без физики. Добавив избегание столкновений, столкнулся с довольно некрасивым, неплавным движением. Да, можно было бы все это подогнать под размеры корабля, его характеристики и т.д., но мне не давали покоя две вещи. Я хочу, чтобы можно было сталкиваться с ботами, и: УЖЕ ведь есть красивое движение корабля с учетом волн и с физикой. Но это движение сделано для управления ИГРОКОМ!!
В итоге, меня вдохновили роботы, которые могут управлять самолетом или машиной вместо человека. Они так же нажимают на кнопки и двигают штурвал/руль, а не делают это через внутреннюю логику подключения.
Так я просто удалил всю предыдущую логику и начал сначала.
На корабле уже было все готово, есть "физический мотор", чтобы слушать команды игрока - поднять/опустить паруса, поворот вправо/влево. Просто нужно как-то сделать систему, чтобы сама "нажимала на WASD", к примеру.
Поднятые паруса дают силу, движущую вперед. Это одинаково работает, если игрок нажмет на W, или кодом поднять паруса. Хорошо, движение вперед есть. И что главное - уже с физикой.
Теперь повороты. Зачем и когда нужно поворачивать? Допустим, у нас есть зона патрулирования - треугольник. И мы хотим, чтобы корабль плыл от первой, ко второй и т.д. Здесь уже попотел, потому что если решать это просто через вращение судна в пространстве, как это было в первой версии, то можно сделать плавное вращение и все легко. Но у меня есть только одна переменная, которая 1 - поворот направо, -1 - налево и 0 - нет поворота. Все, как при управлении игроком. Сам поворот осуществляется логикой "физического мотора". Поэтому тут надо было забыть инстинктивное желание полностью контролировать поворот, а представить, что у меня есть только штурвал, и ему я должен говорить 1, -1 и 0.
Так пришла логика сравнения текущего направления судна с желанным и "допустимый угол". Допустим, точка, куда я должен плыть находится спереди справа от корабля. Значит, от корабля до точки - один вектор. Текущее движение корабля "вперед" - второй вектор. Вот, уже есть угол, угол А. Если угол А, например, равен 45 градусам, то значение штурвала становится 1. И дальше просто сравниваем текущий угол с "допустимым углом" - углом В. Если "допустимый угол" равен 10 градусам, то, когда угол А уменьшится с 45 и станет меньше или равен 10, то можно штурвал ставить на 0.
С поворотами разобрались.
Теперь препятствия.
Здесь уже с райкастами, без них никуда. Грубо говоря, смотрим вперед по центру и по бокам судна на определенные расстояния, если расстояние справа меньше определенного значения - поворот налево и наоборот. Если же расстояние между носом и препятствием меньше другого определенного значения - плыть назад с разворотом 5 секунд, например, чтобы после этого времени снова проверить на препятствия.
И бонус. Что делать во время режима битвы.
Здесь режим "патрулирования" переключается на новые точки. Вокруг противника есть 6 возможных точек на определенном расстоянии - 50 метров, например, и вокруг бота есть 6 таких точек. Каждая следующая точка выбирается случайным образом с приоритетом у точек корабля противника. Если ни к одной точке доплыть без препятствий нельзя (простой райкаст от бота до точки), то выбирается любая точка вокруг бота, тоже с учетом возможности доплыть.
Когда противник рядом потоплен, а других нет рядом, то возврат к точкам обычного "патрулирования".
В итоге, в который раз убедился, что если делать все через небольшие независимые модули, а потом просто соединять их в определенную логику, можно получить интересные "случайные" поведения ботов, да и в принципе, чего угодно)
Всем привет!
Видел несколько комментариев людей, которые попробовали игру, что можно все уставить малыми пушками и все становится легко. Решил попробовать.
Действительно, после полной прокачки вместимости судна и веса пушек - можно впихнуть 11 вертлюжек (это с учетом 4 парусов, можно меньше парусов, и больше пушек, но мне нравится маневренность)
Подписчики, сегодня вас стало больше 200!! Спасибо за поддержку и за интерес!! Отдельное спасибо всем, кто писал свои впечатления, идеи для улучшений и баги игры!!
Демо открыта, в ней есть 3 типа легких судов, 5 парусов, 2 типа пушек и 2 типа амуниции. Так же в древе элементов видны заблокированные пока элементы, все они пойдут в первый релиз. Среди них - 2 типа средних судов.
Плавучие крепости: линейные суда, бриги, мановары - несколько палуб для пушек и амуниции, мощные мачты с возможностью ставить добавочные паруса во время движения - для всего этого у меня есть крутая идея по строительству, но она займет время. Поэтому в первый релиз не войдет. Надеюсь, получится сколотить команду и вместе сделать все быстрее. Пока же продолжаю осваивать геймдев в одиночку)
Всем привет!
