Дневник разработки
12 постов
12 постов
Всем привет!
По идее, тут должно быть что-нибудь меткое, яркое, небольшая интрига, чтобы привлечь внимание, но я программист, делаю игру в одиночку и совсем разучился общаться в социуме) а, да, я из поколения, кто ставит ")))" - чем больше, тем лучше!
Источники вдохновения:
- книга "Одиссея капитана Блада" (Рафаэль Сабатини)
- серия игр "Корсары" начиная с третьей.
- игра "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. В моих предыдущих постах я показал механики строительства кораблей и навигации. Что было сделано с тех пор:
Модульность качества. Я разделил модели и текстуры. Теперь все подгружается отдельно. Прям, как в профессиональных играх с миллионными бюджетами. Скоростью загрузки сцен с тысячами объектов доволен, как слон)
Тестирование объектов без "правильных" материалов с "правильными" текстурами, которые подгружаются по мере возможности.
Добавлена боевка. Теперь в корабли можно палить из всех орудий и они получают урон, если корабль достаточно потрепан - тонет. Все с эффектами, звуками - тоже доволен.
Сейчас работаю над мультиплеером. Будут битвы и регаты в случайном формате с матчмэйкингом в зависимости от характеристик выбранного корабля, плюс, можно будет устраивать битвы или регаты со стимовскими друзьями.
Если кто-то задался вопросом, а можно ли таранить другой корабль или плыть назад - можно! Плыть назад вообще сделал интересно. Но не буду спойлерить)
Спасибо за внимание!
Всем привет!
Всем привет, на связи Данилец (когда пришла пора писать псевдоним разработчика в Стиме, вспомнил свою детскую кликуху "Данилец всем **ец", но по причине не особой грамотности в забугорной лингвистике написал 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 типа средних судов.
Плавучие крепости: линейные суда, бриги, мановары - несколько палуб для пушек и амуниции, мощные мачты с возможностью ставить добавочные паруса во время движения - для всего этого у меня есть крутая идея по строительству, но она займет время. Поэтому в первый релиз не войдет. Надеюсь, получится сколотить команду и вместе сделать все быстрее. Пока же продолжаю осваивать геймдев в одиночку)
Всем привет!
Боты живенькими получились - доволен) думаю, в следующем посте сделаю видео чисто ботов, я как-то, после того, как меня потопили, залип, наблюдая сверху, как они сами без меня битву ведут)
А еще мне на форуме демки написали отзыв!! Лучше я уже сегодня все равно ничего не напишу, поэтому:
Впечатления от демо
Треш и угар. Ну нужно быть готовым к этому просто.
Основное за что можно простить много это достаточно сочные прилеты ядер, которые крайне активно ломают все на своем пути. Это красиво. Ну на самом деле желательно чтобы каждый компонент выдерживал хотя бы два попадания, а то уж больно активно все сносится с палубы.
Система парусов которые везут в одну сторону, это конечно специфично. Не знаю уж как люди будут готовы к такому. И как это будет играться в матчах по захвату точек и гонках, ведь ветер не туда то можно сказать пиши пропало - оно просто не плывет в нужную сторону ты чувствуешь себя тормозом.
Весла хотелось бы включать кнопкой, а не держать все время. Ну потому что лишняя половина узла в час это лишняя половина узла. Особенно на старте, когда паруса не прокачены и не поставлены. И ветер еще дует не в ту сторону. Ну или они не должны увеличивать скорость выше определенных значений, так наверное правильно.
На старте действительно хоть стреляйся с скоростью, все что можно нормально делать это спавниться у верфи и надеяться что кто-то будет рядом чтобы не плыть за ним, долго и мучительно, потопил/не потопил, перезапустил. Когда скорость выходит с тремя мачтами под 9 узлов это уже конечно совсем другое дело.
Корпус шлюпа, увеличенный до максимальных размеров чтобы наставить больше всего теряет грацию и становится карикатурным блюдцем. Ну и ладно на мореходных качествах это не сказывается.
Паруса при прицеливании откровенно раздражают. А целится надо тщательно, скорости кораблей большие и падение ядра тоже. Прозрачными бы их, паруса, а не дырочку в них светить. Зеленое дерево в которое можно вплыть в гротах полностью заслоняет обзор и порождает панику. Как в ядовитое зеленое облако попал. С учетом того что при этом наверняка еще застрянешь в скалах, то выбраться сложно.
Карты для сражений тоже далеко не одинаковы. Лучше те которые поменьше. Потому что плыть куда-то пять минут не очень хочется порой, потерять ветер обходя остров, в итоге какой-то свой бот приплывет на точку, захватит её, а команда ботов противника тоже не успеет к празднику. В итоге хоп, победа но выхлоп с нее в 25 очков.
До каких-то сложных конструкций и больших бортовых пушек я так и не добрался, борта обмазанные вертлюжными пушками после снижения их веса выглядят слишком хорошо и уползать с них особо причин нет.
Впечатления игроков, пожалуй, лучшая награда и мотивация)
Теперь у меня их два! Пока делал, все никак не мог найти место для одного отрезка, оставил бонусом в конце)
Прежде чем начать его слать разным сайтам, хотел бы услышать ваше мнение, если не сложно.
Саму разработку продолжаю. Обновил систему прицеливания, последняя версия уже в стиме, в демке.
Всем привет!





Скриншоты из видео внизу.
Последние два дня часами играл в тестировал свою игруху. Голова гудит. Все-таки, тестировщик игр - очень и очень важная профессия. Ну, а если делать игру в одни руки, то и это надо делать)
Спасибо всем, кто попробовал бета-тест и за обратную связь!! Благодаря вам всем достаточно объемно доработал игру!
Что есть в демке:
Доступны все режимы. Можно попробовать разные карты. Режимы "случайные битвы" и "случайные регаты" пока с ботами (но я постарался сделать их конкурентно способными хо-хо-хо!) Онлайн можно попробовать со стим друзьями (режим "стим друзья"). Надеюсь, инструкции в игре, которые сделал - понятны, если нет - я тут!! Кидайте тапками!!
Были комментарии о бета-тесте, что через какое-то время, когда достаточно прокачаны пушки и судна - становится легко с ботами. В общем, сделал прогрессию у ботов. Вчера даже должен был понизить сложность, потому что сам не продерживался и 10 секунд на максимальной сложности)
Добавил обучение.
Теперь боты обладают физикой, можно потолкаться)
В настройках есть разные прицелы, и можно изменить режим траектории прицеливания и ее цвет.
@DireSnake, изменил немного режим прозрачности у парусов и такелажа, теперь это не контрастный круг, а рваная такая зона) Надеюсь, стало лучше, спасибо за замечание!!)
Небольшая нарезка:
Вся игра на русском! Видео делал для трансляции в стиме, потому что готовлюсь в Стим Фесту, поэтому интерфейс в видео на английском. Записал в сумме на час примерно, буду делать видео "играет разработчик" для Стим феста.
Так как все делаю сам, то физически не успеваю делать видео на многих языках, но скоро сделаю трейлер на русском. Будет весело, потому что я не делаю скриптованный трейлер, все это нарезка геймплея, поэтому будет совершенно новое видео)
Игра Leonardo's Island. Делаю ее уже долго, но, с того времени, что начал про нее рассказывать, очень доволен прогрессом благодаря обратной связи! Спасибо вам! Если найдете баги, странности, все, что угодно - можно здесь, можно на почту (оставлю в комментариях), можно на форуме в стиме - ссылка на форум в игре в меню.
Всем привет!
Просили маякнуть: @Trayer, @Brennar, @ShadowSheep
@flashklimat постарался все пофиксить, спасибо вам!)
пы.сы. так то я демку вчера открыл поздно ночью, пост начал писать, пошел спать. В итоге сегодня утром пришла идея, снова обновил билд, вот уже и пост выпущу. Волнуюсь немного) К этому Стим фесту шел минимум лет 5)
