MEGABOT 3D: new look...
Есть одна игра, которой я вдохновлялся и благодаря которой вообще начал делать игры и закончил свой первый проект. Игра это сделана на GameMaker и я прошёл её раз 20...
Называется эта игра MEGABOT. Выпущена она где-то в 2004-ом.
Я решил сделать ремэйк игры megabot на движке Unity3D. Более того мне уже есть что показать:
Но об этом во второй части поста. Сперва хочу рассказать про оригинал, а потом уже перейти к тому, что получилось у меня.
Значит у нас имеет мегамэнопоодобный гэймплей, однако вместо прыжка - реактивный ранец которые имеет конечное топливо. Топливо и оружие восстанавливаются при езде по земле или при подборе специальных контейнеров соответствующего цвета. В игре как и в мегамэне 8 уровней +1 стартовый и +1 последний. В каждом уровне сидит злобный босс (однако, здесь ИМХО боссы слишком алгоритмичны). За каждого слого босса даётся оружие. Но тут есть отличие от мегамэна. Даётся не совсем оружие, а некое усовершенствование оружия. То есть, к примеру, какого-бы босса первым не убили оружие даётся всегда одно. Эта система мне очень понравилась. К тому же имеется куча секретов. На жизни, топливо и оружие по 40 чипов-усилителей разбросаны по всем восьми уровням.
Игра крайне хардкорна. Достигается это за счёт следующих вещей:
- в игре хреновый контраст, поэтому пульки и враги слабо заметны.
- падение с большой высоты смертельно
- сохранения только между уровнями
Я в игре поначалу дох очень часто... в общем не для слабонервных... А теперь я всю игру буквально пролетаю. В заключение первой части этого поста хочу лишь выбросить спойлер для заинтересовавшихся игрой:
Теперь вторая часть поста и немного о плохом
ниже могут быть маты, поэтому впечатлительным и беременным лучше воздержаться от чтения и полюбоваться картинками
Megabot был сделан на Gamemaker5, а это значит что он не декомпилируем и не запускается на ОС WinVista и Win7. У меня кстати почему-то запускается, но с косяками. Поэтому возникла идея сделать ремэйк на эту игру.
У меня нет написанного диздока и я не буду искать моделлеров, композиторов, программеров и ещё хрен знает кого. Я уже взрослый дядька так давайте уже по-взрослому нах!
Дело в том что я уже два месяца изучаю двиг Unity3D... Ну блин что значит изучаю? Это значит, я просто тупо учу API и разбираюсь слегка в логике работы. Моя квалификация программиста позволяет изучать новые софтины без особых гемороев.
Я всегда говорил и буду говорить, что от инструмента зависит только скорость разработки. Качество всегда зависит от кривизны рук разработчика. На данный момент я отскриншотил все локации оригинальной игры и состряпал первый уровень, но пока что без врагов.
Ниже приведу скриншоты сравнения мест из оригинала и моей поделки.
Конечно у читателя сейчас возникает закономерный вопрос: "Какого, блядь, хрена яростный противник клонов делает клон?". Отвечаю!
- Это будет не совсем клон. Я хочу отойти от мегамэнщины. Кроме того расширить уровни секретами и усовершенствовать боссов.
- Для изучения инструмента мне важно изучение инструмента. Гэймплей, левелдизайн и всё остальное уже сделано за меня. Да музыку я не буду писать сам. Возьму готовую, на примете трэки групп X-Ray Dogs, Celldweller, IntiCreates. Вся работа заключается в программировании и освоении инструментария.
- Отличный повод попрактиковаться в Lowpoly 3Д моделировании. Всё кроме пары домиков и растительности я делал сам.
- Роботов значительно проще анимировать, чем людей. Учитывая что в Мегаботе нет гуманойдных персонажей, моя задача облегчается, опять же я изучаю инструмент и задача не должна быть шибко большой.
- Ну и 2Д платформер в 3Д - это круто!
Основным толчком к началу работы над данным проектом была игра Rochard, сделанная на Unity. Собственно увидев не только как МОЖНО, но и как НУЖНО делать игры на Unity - я начал изучение этого движка.
По поводу движка у меня спорное ощущение. С одной стороны он очень мощный. Фактически все алгоритмы столкновений зашиты внутрь движка. Разработчик сосредотачивается только на логике и на проектировании уровней. Собственно редактор весьма и весьма клёвый и это одно из главных достоинств Unity, до которого самопальным движкам ОООООООЧЕНЬ далеко. При наличии заготовленных объектов, создание уровней очень простое. Я первый уровень создал за четыре дня. Учитывая что это 3Д, времени я потратил мало. Всё это дело напоминает тайловую графику, только вместо тайлов - 3Д объекты.
Ну а теперь немного о плохом. Мне кажется странной система скриптов и доступы к переменным других объектов. Часто у меня простые обращения не срабатывают и приходится юзать GetComponent. В самих скриптах, собственно, минус объектной модели в том что в неё тяжело въехать. Но когда въезжаешь, то всё просто. Намучился я с вращениями и кватернионами... в 3Д графике работаю впервые. Ещё заебало, как частенько движок валится в рантайме. Есть несколько ошибок, которые нельзя закрыть в рантайме и решается это только перезапуском редактора.
Как итог, я думаю, что Юнити - весьма хорошой редактор. Может быть даже проще чем GameMaker. Единственное что плохо - денег жалко. Всё же 1000 баксов на дороге не валяются. А без теней грустно =( Поэтому, вряд ли я буду делать ещё что-то в Unity.
Возвращаясь к ремэйку. Демка первого уровня но пока без врагов (единственный враг - шипы) можно заценить здесь.
Пока что в игре можно поездить, полетать, пострелять, поумирать. Имеются объекты для подбора - жизни и восстановители ресурсов. Ресурсы, кстати в левом верхнем углу: Energy - жизни, Fuel - топливо, Ammo - оружие. Так же есть точки респауна, падающие блоки (при довольно сильном падении проваливаются). Можно разбиться, упав с большой высоты. Пропасти я заменил убивающими лазерами. Потолок есть, но он невидимый. В отличии от оригинала, добавлена пара секретиков.
На вопрос "почему такие хуёвые объекты и почему такие охуенные деревья и фон?" отвечу что это фишка - контраст. Более простые объекты выглядят массивнее и контрастируют со сложными. Поэтому не возникает каши на экране.
В заключение скажу лишь, что я ХЗ что там с производительностью. Я не научился делать и накладывать bumpmap, поэтому всё практически делал объектами. Старался я, конечно, делать лоуполи, но уровень здоровый, объектов дохуя и как Юнити оптимизирует - я не знаю. На моём четырёхядернике всё работает быстро. Так что просьба к тем кому не лень будет поглядеть демку: скажите как у вас работало, были ли тормоза или задержки во время игры.
- 04 января 2012, 19:50
Пока не играл - качается. Скрины впечатляют - реставрация древних фресок в 3D за пять простых уроков + CD в подарок. :) Особенно растительность клёвая.
Немного кислотный зелёный на боте напрягает, тем более, что его нет в оригинале. У меня он с гастарбайтерами, гаишниками и китайскими маркерами ассоциируется.
Можно было бы и без мата обойтись - стало бы только выразительнее и симпатичнее. Но даже несмотря на это читать интересно, спасибо!
Я очень рад, что ты есть на Гамине, лично меня это сильно бодрит - я тут тоже руки не на одеяле держу, скоро своими достижениями хвастаться буду. :D
...пока писал прокачалось с 3% до 5%, пишет, что остался всего часик-полторасик. Скорее всего отчета о запуске сегодня от меня не будет, прости.
Поиграл! Ноут, Intel Celeron, 2 ядра по 2,20 GHz, 2 Gb оперативки - бодренько прыгает! Не то, чтобы суперплавно, точный FPS не скажу, но вполне комфортно.
Очень приятные впечатления, особенно запомнился антураж уровня (здания, растения) и развал главного героя на части. Игра-то готова практически! Звуковых эффектов, левелпака и боссов только не хватает, в остальном бета-бетой!
хе-хе... врагов ещё нехватает. С ИИ, я чувствую, буду долго возиться. И уровни буду долго клепать. Это, можно считать, лишь половина обычного уровня.
Кислотный зелёный я спецом сделал для тёмных уровней. Они должны светиться. Я ХЗ как сделать светящийся материал поэтому сделал selfillumiate + светильники. В темноте он весьма неплохо светится.
Кстати насчёт развала ГГ на части, вопрос к местным умельцам Unity3D: как сделать чтобы его куски через поверхность terrain не проваливались? Вот парадокс ведь: ГГ по земле ездиет, а его куски, несмотря на то что они rigidbody - проваливаются.
Попробуй сделать объект динамичным, а после terrain'у
дай комманду быть твердым поотнашению к объектам,
просто самому персу ты дал значение соприкасаться с землей, а после его смерти (ты же реально не делал чтоб они разбивались а просто появлялся другой схожий с этим объект) появляется новый объект уже без настройки соприкосновения. А если у ты действительно сделал чтоб объекты не заменялись а просто разваливались. Сделай чтобы перс после смерти исчезал а на его месте появлялись детальки(заранее подготовленные)которым дай команду отскакивать от пола =)
мдя... видимо ты вообще в Юнити ничего не понимаешь.
При смерти происходит следующее:
Что я понять не могу:
Объект земля(terrain) имеет свой коллайдер, который создаётся автоматически. При этом ГГ сквозь землю не падает. А вот его детали падают. Причём с другими физ-объектами его детальки взаимодействуют, т.е. они не проваливаются сквозь платформы, например.
Норм игра продолжай в том же духе, правда в старую не играл но попробую, твою тоже скачал щас попробую.
Поиграл, понравилось, только 1 замечание, я сделал параметры графики на макс, поставил самое высокое разрешение, и графика практически ни как не отличалась от средних параметров графических настроек, особенно мне понравилась физика, а даже пару раз специально умирал что бы посмотреть как разлетятся кусочки моего тела, а и еще кое что, поставь значений полета поменьше или сделай как в игре террария(ограничения на время полета, допустим 3 секунды пролетел и упал, дотронулся до земди пролетел еще) а то я с 10 fuel пролетел почти весь уровень, потом поставлю + (у меня пока закончились =) )
Несмотря на то, что w в настройках типа отвечает за прыжки/полёты, у меня оно не работало.
Ну и выйти из демки почему-то можно только хирургическим путём.
А так костяк есть, выглядит мило, но играть пока не во что. Всякие штуки по большей части не собираются, хотя мне удалось нажать одну красную кнопку.
Поиграл, неплохо... Удачи в развитии игры!.. Пожалуй это все. Потому что, во-первых - это ремейк. Не знаю, захочешь ли ты менять что-то в геймплее и, как следствие - выслушивать советы. Ведь главная задача - освоить инструментарий. Хотя, например, автоматическое восстановление топлива не помешало бы...
Во-вторых - ты опытный разработчик и даже без диздока четко знаешь, как нужно дальше развивать проект. Добавить врагов, летящие корабли на заднем плане, звуки; поиграть с освещением (в стиле Trine), особенно на темных уровнях; вложить больше жизни в мегабота - чтобы вместо бревна на колесе получился аналог Vectorman'а (части тела отклонялись бы по инерции во время езды). Поэтому, единственное, что я могу сказать: "Удачи в развитии игры!".
Вот именно что ремэйк. Ремэйк - означает переделку. Я хочу не тупо скопировать то что было, но и добавить своё. Часть потому что так хочется, часть - потому что на физ движке некоторые вещи будет реализовать проблемно.
Я же в свою очередь хочу проделать аналогичную работу. Есть вещи которые я хочу исправить в отличие от оригинала - это, например, то что врагов не видно, или непонятно когда ГГ повреждается. Однако я хочу оставить ту же хардкорность и тот же гэймплей. В частности предложение сделать топливо самовосстанавливающимся очевидно значительно упрощает игру. На самом деле для тех кто не в курсе - оружие и топливо восстанавливаются, когда ГГ ездиет по земле - так было в оригинале и так есть у меня.
Я готов выслушать советы от тех кто играл в оригинал. Меня интересует то, какие детали я мог упустить. Например, совсем недавно обнаружил, что ездиет по земле ГГ быстрее чем летает.
Да я собственно уже практически доделал врагов в первом уровне. Бэкграунд уже оживлён - там летают кораблики, и ездиют поезда - прям как в оригинале. С освещением я тоже думал - над этим работаю(к ГГ уже пара светильников прикреплено). Но без теней освещение не так фаново. А за тени нужно 1000$ платить. Через недельку примерно, наверное выложу готовый первый уровень. Учту так же и пожелания Джаза насчёт интерфейса.
Езду на земле как-то пропустил, теперь, зная это, все ок - желание получить регенерацию топлива пропало. В оригинал врядли буду готов играть - но первый уровень прошел, сходство в ремейке поразительное. Было одно несоответствие... а, точно! В ремейке камера слишком жестко привязана к ГГ, может лучше заставить ее плавно следовать за ним? Задавать x (и y) не равным x ГГ, а равным (robot.x-camera.x)*0.5+camera.x. Тогда камера будет быстро, но плавно приближаться к ГГ. регулируя 0.5 можно регулировать плавность.
Можно еще поэкспериментировать - заставить камеру, независимо от положения, всегда смотреть на ГГ. Тогда, если ГГ движется вперед, камера будет расположена не перпендикулярно уровню а немного повернута вправо. В результате будет лучше видно пространство впереди ГГ... Но это спорный момент, надо проверить, как он отразится на геймплее.
Светильники на ГГ заметил - в конце уровня, там где стенка на фоне видно блики при развороте. Я вот подумал, а в Unity есть встроенная реализация Бамп-мэппинга? Было бы неплохо внедрить, в ту же стенку на фоне, да и вообще в элементы уровня.
я насчёт камеры тоже думал плавное перемещение сделать.Попробую реализовать.
Бампмэппинг там есть. Я его для ящиков чёрных на бэкграунде использовал. Но у меня руки из жопы растут, поэтому как накладывать текстуры я так и не понял. По крайней мере в 3Дмаксе. Как-то там всё через жопу. Я дня 3 туторы читал и пробовал. Один хрен.
Не знаю насколько это законно, но можно перед финальной сборкой игры поставить триальную версию unity, со всеми плюшками.
Только щас добрался до твоей демки. Выбор твоей следующей игры, мягко говоря, странен. Ремейк игры, которая даже среди инди не особо-то и известна. Я поиграл в оригинал, так не чё. Но мне тяжело судить, так как мне не когда не нравился Мегамен. А ты, как я понял большой поклонник этой серии(вроде на геймдеве это был ты-описывал части мегамена, может и ошибаюсь).
По демки -выглядит не плохо, хоть я и поклонник классического 2д. Управление, надеюсь, поменяешь. Всякие контрол, альты и шифты использовать сейчас в инди-играх, как то не комильфо. Есть же устоявшаяся традиция- стрелочки и зет, икс, це(небольшой апдейт, только щас увидел, что настраеваемо). На моей лошадке идет бодро. Каких то багов не заметил, уровень пробежал на два раза. По сути больше сказать нечего.
Во-общем, пожелаю тебе удачи, но по мне так, лучше бы ты сделал, например, ремейк Контры.
P.S. Твой P.S. улыбнул :-)
Постскриптум — отголосок разработки Danger:Energy, когда его все просили сделать зум (если я правильно понял).
Азат, да я как бы в курсе, поэтому и улыбнуло. Кстате да, в дангере я часто вспоминал разработчика нехорошим словом, что он не прикрутил зум. В некоторых уровнях это просто бесило.
А в последнем релизе есть мини-карта...
Только сохранения нет, оказывается. :-(
Почему же? Есть сохранения...
Возможно это как раз тот случай когда ОС не разрешает писать сэйвы в папку с игрой.
Все-таки стоит распаковать архив :-)
Мой выбор пал именно на эту игру потому что на мой взгляд она очень близка к идеалу. То что она неизвестна среди инди - 2004-ый год. Тогда и на ГМ практически все разрабы смотрели как на говно и инди было не таким популярным. А потом просто затерялась. Автор больше не проявлял активности с того года.
Однако те, кто в неё играл не могут сказать что игра говно. Да она хардкорна, но тем не менее сделана на очень качественном уровне. И вспоминаются игры с дэнди и сеги сразу же =)
Ну а может всё же Контру?\\спрашивает с надеждой в голосе:-)
честно говоря, ещё одной из причин взять именно эту игру - не нужно анимировать людей и животных...
ещё более честно говоря, я думал что это будет тренировка перед продолжением Danger!Energy... Потому как хотел продолжение делать на Юнити, вот и начал изучать движок.
Поиграл, мне понравилось. :-)
Надо еще в оригинал погонять, чтобы сравнить.
Выглядит отлично(трава, задники), играется бодро. Насчет смерти - все нормально по-моему, как будто гг разлетается во все стороны и некоторые кусочки вылетают за двумерный уровень платформы. Музыка тоже в тему. разве что как стрельба реализована не понравилось - скупо и вяло.
Твой пост на главную вышел - не хочешь причесать пост до тизера? Как-то куце выглядит...
Хочу, но позже. К концу недели доделаю первый уровень и залью новую версию на пробу игрокам. Тогда и пост отредактирую.
Тогда будет уже поздно - твой пост опустится вниз и станет незаметным.
И что? Это же ведь не помешает его читать тем, кому интересно?
Ты идеалист и романтик. :) На твоём фоне я чувствую себя расчетливым циничным негодяем, не гнушающимся грязных политтехнологий типа картинок для привлечения внимания, флэйма в комментах и демонстрации старого хлама под видом концептов - практически Мефистофелем местного разлива.
Ребята, вы махнулись аккаунтами? оО
Я тут подумал... Всё же сегодня поправлю этот пост. В новой демке будет много всего нового, лучше я новый пост по ней напишу.
Ну как там с демкой?
дэмка будет к концу недели... в субботу или же скорее всего - в воскресенье. До демки мне осталось сделать завершающее помещение, прототип главного меню и паузу(с возможностью выхода из игры). Но у меня тут работа и экзамены, поэтому прогресс медленный.
А боссяк, какой будет? С экзаменами, ессно успехов желаю
не, босса не будет... Прежде чем делать более сложный ИИ, мне необходима прктика с примитивными врагами. Как и в оригинале, первый уровень будет заканчиваться лазерной пушкой, только заканчиваться он будет не где-то там за концом экрана, а в конкретном помещении.
Вообще по сюжету ГГ должен надрать задницы нехорошим товарищам, одним из которых является человек. Вторым - его робот приспешник. Для того чтобы до них добраться, нужно деактивировать 8 секторов города. Первый левел - типа вход в город. В конце - типа телепорт, который будет телепортировать ГГ в различные локации.
Ещё есть небольшие проблемы с пробиванием лбом стереотипов. Всё же Юнити - новый для меня двиг да ещё и 3Д. Частенько буксую на довольно примитивных вещах... Про это я расскажу как раз в новом посте - там будет демка, список изменений и кратко(или не совсем кратко) о возникших проблемах.
Кстате, коли уж ты здесь. А постмортем на Дангер отменяется?
А Kozinaka обзор разве написал? У нас с ним договорённость.
А-а-а. Так это Козинаку надо трясти:)
Я никак не могу пробиться до пятой пачки миссий - застрял в Солнечных Садах. :) А как-то негоже обзор писать, пока игру не прошел.
Ну что ж, тогда ждём, когда ты завершишь игру.
Кстати, словил снова разок ошибку с шифрованием, про которую тебе писал. Сначала работало, потом раз и перестало - что-то может слететь по ходу эксплуатации игры. Скачал заново - сейчас вроде работает, какие действия приводят к проблемам не могу сказать.
Попробовал ради теста. Играется приятно и на моем одноядернике с 1.8ггц лагов замечено не было. Качаю оригинал.
Хорошие новости, спасибо!
Я уж думал, что с моими амбициями ниже двухядерника не заработает.
По тактильным ощущениям мне твоя версия пока больше нравится чем оригинал. Посмотрим как будет с врагами.
Ну и город на заднем плане хорош!