Cyber Panopticon пост №4: Релиз!
Как и обещал, выкатываю релизный пост, где постараюсь обобщить все этапы разработки игры и рассказать о полученном опыте.
ВЫ УЗНАЕТЕ:
1. ВСТУПЛЕНИЕ
2. ОПРЕДЕЛЕНИЕ С ИДЕЕЙ И ДВИЖКОМ
3. СЛОЖНОСТИ ВО ВРЕМЯ РАЗРАБОТКИ
4. ДИАЛОГИ
5. СЮЖЕТ
6. РАСКРЫТИЕ ТЕМЫ (УСЛОВИЯ)
7. КАК МНЕ ПОМОГЛО ПРОДЛЕНИЕ
8. ПОЛЕЗНЫЕ МАТЕРИАЛЫ
9. МУЗЫКА
10. АВТОМОБИЛИ И ТЕХНОЛОГИИ
11. СОЗДАНИЕ ИГРОВОГО МИРА
12. СИСТЕМА ТРАФФИКА
13. ПОЛУЧЕННЫЙ ОПЫТ
14. ОПТИМИЗАЦИЯ
15. ИТОГ
ВСТУПЛЕНИЕ
Вот прошли 4 недели активной разработки, даже не верится, что я успел сделать все задуманное. За месяц я уже привык каждый день разрабатывать игру, а теперь как-то непривычно стало. Опять ударился в масштаб, хотя до этого была идея сделать небольшую, но проработанную игру, которую можно успеть сделать в заданный срок.
ОПРЕДЕЛЕНИЕ С ИДЕЕЙ И ДВИЖКОМ
На самом деле я изначально не планировал детектив делать, но так получилось вот, что детектив в итоге. Все началось с того, что нужно искать следы босса, чем он увлекается, какие у него фобии
СЛОЖНОСТИ ВО ВРЕМЯ РАЗРАБОТКИ
Создать свою ГТА за такой короткий срок нереально, а я не пытался, поэтому из этих игр взял только идею большого живого города и радиостанции. И даже это было сложно создать, до последнего я дорабатывал систему траффика, добавлял детали в игровой мир, особенно сложно было создание интерьеров, ведь для всего этого еще нужно найти свою модель! Еще из топ сложных вещей было создание миссий, чтобы они правильно и четко работали, и даже сейчас не исключены баги в них, а точнее в диалогах, но это не критично, игра в целом проходима на все концовки.
ДИАЛОГИ
Кстати о диалогах, основной упор, помимо атмосферы большого города, как и говорил, сделал на диалоги. Тут огромную благодарность хочу еще раз выразить Noname With a Game за помощь в написании крутейших диалогов, которые даже немного изменили первоначально задуманный сюжет, без него игра, скорее всего, была бы немного суше и скучнее.
СЮЖЕТ
Диалоги — основа сюжета. Вот хочу немного рассказать, как придумывал сюжет. Его я кстати придумал в первую же неделю, когда я уже определился с сеттингом, геймплеем. А вот на реализацию этого сюжета,
Изначально я задумывал более сложное расследование, вот чтобы игрок прям искал-искал определенные предметы. Но в итоге решил это сделать более очевидным. Также, чтобы игрок исследовал город и наслаждался его атмосферой, заставил обязательно ехать на миссии самому. А чтобы не было вечной поездки туда-сюда, обратно можно было телепортироваться.
РАСКРЫТИЕ ТЕМЫ (УСЛОВИЯ)
В этом абзаце будут спойлеры, поэтому тем, кто еще не играл, рекомендую пропустить этот абзац. Условие конкурса в игре раскрывается целиком и полностью через сюжет. Мы имеем босса в лице кибер-преступника генерала Джека Хилариуса, который пользуется своей властью для создания на военной базе секретных дронов, которые в будущем должны контролировать всех людей в Эйс-Сити, тем самым создав кибер паноптикум. Дроны влияют на мозг человека, заставляя его выполнять все приказы. Но пока эта технология сырая, поэтому Джек активно ее дорабатывает, а препятствующих ему в этом он незаметно убивает с помощью тех же самых дронов. Но все планы ему рушит детектив Маркус. Расследование — это и есть сражение с боссом, на этом построен весь сюжет. Поле битвы — целый город. Умереть можно только от рук босса (кибер-убийцы). А победить его можно только собрав достаточное количество компромата.
КАК МНЕ ПОМОГЛО ПРОДЛЕНИЕ
Дедлайн у меня был именно на 20-е число, поэтому к нему я хотел все успеть сделать, но незадолго до конца срока появился пост о продлении, и хорошо что он появился близко к концу, так как большая часть работы была уже сделана, иначе бы я подрасслабился и возможно не смог правильно рассчитать время на больший срок, чтобы успеть все реализовать. Еще один плюс продления для меня в том, что я смог реализовать некоторые новые функции в виде новых игровых настроек, сохранения, нового игрового режима, да и вообще смог заняться полировкой игры, исправлением багов. А когда дошел до звуков и музыки, то на них я затратил гораздо большее время, чем планировал. И это я их делал в продленную неделю, а до этого хотел успеть закончить с ними до первоначального дедлайна. Теперь думаю, успел бы или нет и как хорошо, что все-таки было продление. Без продления игра была бы немного урезанней, чем сейчас.
ПОЛЕЗНЫЕ МАТЕРИАЛЫ
За такой короткий срок такую масштабную игру без дополнительных ассетов создать почти нереально. В этом деле мне хорошо помог Unity Asset Store, где можно найти практически все — инструменты, модели, текстуры
МУЗЫКА
Хотел бы еще уделить особое внимание музыки из радиостанций, а точнее, по какому критерию я их выбирал. Искал я такую музыку, которая бы звучала необычно, даже непонятно для наших ушей, но в то же время чтобы было приятно ее слушать, потому что люди будущего все поголовно не будут же слушать плохую музыку. И еще один критерий был не нарушать атмосферу игры, чтобы чувствовалась футуристичность. Да, выбрать такую музыку было непросто. И я не гарантирую того, что в будущем все будут слушать такую музыку, вообще фиг его знает что там в будущем будут слушать, это очень непредсказуемая вещь и вряд ли из сегодняшней музыки можно найти ту самую, которая будет популярна в будущем. Просто скиньте мне музыку, которую написали 40 лет назад и которая максимально похожа на современную, если я не прав.
АВТОМОБИЛИ И ТЕХНОЛОГИИ
Такая же ситуация, как и с музыкой, с автомобилями. Весь автопарк в игре — это концепты автомобилей. Можете сравнить концепты ведущих мировых автомобильных марок с автопарком в игре. Мне кажется, рано или поздно концепты превращаются в реальность, потому что как мы представляем будущее, к тому мы и стремимся. Это касается не только автомобилей. Да, они могут немного изменяться из-за многих факторов, но основная цель не меняется. Но все же, развитие всех технологий предсказать очень сложно, поэтому чему-то в игре я уделил большее внимание, как автомобилям и музыке, чему-то меньшее. Но общее представление будущего, думаю, складывается. Да и такой сюжет возможен только в будущем. Вообще, как я рассказывал в первом посте, вдохновение футуристичностью началось именно с музыки. Думаю, такой вариант будущего имеет право на существование.
СОЗДАНИЕ ИГРОВОГО МИРА
Сразу скажу, что не было много времени на создание такого большого мира. Но, на самом деле, мир не такой большой, как кажется. С самого начала я не планировал делать прям огромный город-город. Нет, это сложно и времени не так много. Поэтому он получился относительно большим. В тумане этот небольшой город и его пригород кажется необъятным, таинственным. Для еще большей таинственности, а вернее мистики, а также для разнообразия, я добавил несколько секретов. Еще, для разнообразия игрового мира добавил несколько диалогов и второстепенных миссий. Основывается игровой мир на простом Terrain, ландшафт сделан с помощью него. Все модельки домов, деревья, вся мебель были расставлены вручную. Для прокладки дорог (за городом и для автомагистрали) использовал кривые Безье. Их же использовал и для создания маршрутов движения машин и людей.
СИСТЕМА ТРАФФИКА
Весь траффик движется по строго заданному маршруту. Если на пути какая-то помеха (игрок, другой человек или машина), то машина/человек остановится и будет ждать, пока не исчезнет помеха. Всех можно сбивать! И машины, и людей! Причем даже другие машины могут сбивать людей, но случается это нечасто. Если игрок далеко отошел от траффика, то он перестает работать, сделано это для оптимизации. Когда игрок снова пришел близко к траффику, он активируется, причем, все сбитые машины и люди как бы возрождаются снова. Поэтому всех перебить не получится. Все светофоры в городе рабочие, причем, как для машин, так и для людей. Когда красный для машин — машины останавливаются. Для людей в это время на этой же стороне дороги зеленый и люди начинают переходить дорогу. На другой стороне все наоборот. Все как в жизни. На всех светофорах интервал 10 секунд. Помимо этого, на определенных дорогах у машин разная скорость, например, на автомагистрали и загородом скорость машин выше, чем в городе. Причем, скорость машин еще зависит и от определенного индивидуального коэффициента,
ПОЛУЧЕННЫЙ ОПЫТ
Рад, что смог все-таки смог сделать игру. По итогу я получил новый опыт работы в Unity, опыт в создании таких масштабных игр, до этого были попытки на Game Maker, но чтобы полноценный живой город, да еще и в 3D, до этого не делал таких игр. Самое близкое было, наверное, Race, где тоже я пытался сделать город с траффиком. А вот еще вспомнил недавнюю Along the night roads на КОД 17. Также, получил опыт в создании системы траффика, в создании полноценных настроек для игры, научился работать с сохранениями в Unity.
ОПТИМИЗАЦИЯ
Еще, немаловажно, получил опыт оптимизации игры. Меня порадовало, что даже на слабых ноутбуках игра хорошо работала. Больше всего влияли на FPS меши. С помощью системы лодов я ограничил рендер мешей. Туман помог не только скрыть косяки в игровом мире, придать атмосферы, но и повысить производительность, так как то, что в тумане, можно не рендерить вообще. Это касается низких настроек графики, так как на этих настройках объекты появляются буквально перед игроком, но из-за тумана этого незаметно, а FPS вырос гораздо. Также в тумане практически незаметно низкое разрешение текстур. А глобальное освещение вообще не нужно. Поэтому даже на минимальных настройках игра выглядит неплохо и хорошая производительность. Но все это не касается нового режима, можете сравнить на минималках. Еще, такую же роль, как и туман, сыграет ночь. Вот по этим причинам я добавил в игру туман.
ИТОГ
Итогом продленной работы я доволен. Реализовал все, что задумал: атмосфера и сюжет. Геймплей, как и ожидалось, далеко не сильная сторона игры, поэтому справедливо критикуют его. Это больше получилось, наверное, как книга или фильм,
- 05 декабря 2022, 19:37
- 07
Всем кто играл в Cyber Panopticon, советую проверить папку C:\Users\юзернейм\AppData\LocalLow\Cyber Panopticon\Cyber Panopticon
Там я обнаружил текстовый лог игры аж на 4 гигабайта, который занимал место просто так.
Спасибо. У меня поменьше, но тоже прилично.
Обращение по нулевому указателю каждый Update.
При каждом обращении - запись в лог. Поэтому он такой и большой получился.
Спасибо, что заметили. Это из-за того, что исключение нулевой ссылки вызывается каждый кадр и записывается лог. В следующий раз буду внимательнее.