Gaminator 10 :: Little astronaut
Первый раз пишу кокурсный пост. В общем с геймплеем определился, как ни странно, идею подала моя девушка:) Если кратко, то эта игра про прыжки, стрельбу и апгрейды. Наш маленький астронавт постоянно бежит с малым ускорением (в реале это платформы движутся навстречу ему, но это уже технические подробности.), а задача игрока вовремя и на определенную высоту прыгать, попадая на платформы, и по пути отстреливать местных жителей, которые в основном будут летающими. При убийстве монстров мы получаем их души (грубо говоря — деньги), на которые покупаем апгрейды. Апгрейды будут захватывать множество факторов: максимальная высота прыжка, скорость стрельбы, мощность стрельбы, количество здоровья, и даже удачу (частоту генерирования разных бонусов). Реализовать все это довольно просто, и поэтому у меня останется достаточно времени на полировку и рисование (рисовать я не умею, поэтому дополнительное время будет в самый раз). Со звуками не определился. Использовать 8/16-битные звуки или взять что-нибудь более реалистичное? Но я думаю музыку надо будет подбирать в последнюю очередь, т.к. проще найти музыку под графику, чем рисовать в соответствии с музыкальным стилем.
Инструменты: Game Maker, Photoshop.
Список того, что надо сделать:
- Движение персонажа
- Генерация платформ
- Исправить баг с застреванием в углу платформы при приземлении (Сцуко, бесит…)
- Анимированный персонаж
- Джетпак
- Красивый джетпак //думаю, он у меня и так красивый.
- !!Индикатор топлива!
- Стрельба
- Летающие твари
- Исправить дерганность летающей твари
- Ловушки, лежащие на платформах
- Магазин апгрейдов (самое для меня пока сложное)
- Подсказки в магазине
- Запретить мёртвому телу астронавта стрелять
- Побольше апгрейдов (сейчас 10 апгрейдов)
- Адекватный джетпак (нуу. почти адекватный :))
- Меньший расход топлива
- Придумать еще врагов (сейчас реализовано 3)
- Баг со здоровьем
- Индикатор жизней!
- Прыжок в длину
- Адекватность полета пули
- Убавить гравитацию
- Опечатки (убиства после геймовера)
- Увеличить эффективность апгрейдов
- Каменную платформу сделать плоской сверху
- С покупкой джетпака закупается и топливо
- Быстроногость убавить //теперь зависит от скорости астронавта
- Руки нарастить
- Звуковые эффекты //уже начал заниматься, получается ужасно
- Графика (осталось не так много)
- Музыка
- Главное меню с таинственной музыкой, таинственной большой луной в таинственном космосе и таинственно пролетающим космическим мусором и глупо улыбающимися зелеными человечками
- Сохранение прогресса
- Энерго-щит
- !!Монстр со снарядом, который надо отбить обратно.!!
- Экран об управлении
- Экран об игре
- Бонус пулям
- Увеличить стоимость топлива
- Невидимая граница наверху
- Выправить банку
- Глубина пуль
- Довести щит до ума
- Задник в главном меню
- Графика в магазине улучшений //*panic*
- Оптимизировать все это безобразие! Если не лагает, то это не значит, что объекты не нужно уничтожать после использования!
По ходу разрботки буду разбивать пункты на подпункты, чтобы чувствовался прогресс :)
Обновление (21):
Пытаюсь сделать джетпак для корректирования своих прыжков. С трудом читаю код прыжка, который написал вчера ночью. Вроде сделано красиво и хорошо, но трудно его понять. Видимо, придется джетпак отложить до ночи :) А сейчас попробую нарисовать нашего героя. Когда получится что-нибудь похожее на человека в скафандре, сразу же выложу сюда.
Не знаю, надо ли под каждое обновление создавать отдельный пост, но мелкие заметки наверное лучше вести в основном посте, постоянно обновляя его.
Сделал спрайт для персонажа. Сразу с джетпаком, но изначально джетпака на нем не будет. Размер 12×24, поэтому пришлось делать что-то вроде пиксель-арта. Когда по экрану прыгал синий прямоугольник, то эти размеры казались нормальными, но сейчас маленький человечек немного напрягает глаза. Может быть сделаю персонажа побольше. Надо хоть фотки космонавтов посмотреть, может смогу получше нарисовать.
Всё-таки люблю я жопу — через неё можно воплотить любые свои идеи :)) Джетпак сделан :). Для экономии топлива джетпак включается только при повторном нажатии кнопки прыжка в воздухе. (Все благодаря партии с другом в Worms Armageddon) Пока эффекты типа вырывающихся языков пламени из мощных турбин джетпака (ну-ну, в прямоугольнике 3×5 пикселей нарисуешь ты языки пламени.) нет, все это будет позже. Впереди обдумывание магазина апгрейдов.
Только что попробовал совместить фотографии и мои художества, получилось вполне красиво, как я и задумывал. Платформы с монстрами тоже будут отрисованы мной, а все остальные элементы постараюсь брать из фотографий.
Обновление (22):
Делаю магазин апгрейдов. Выглядит отвратительно :(Очень не хватает дизайнера или хотя бы его навыков.
Попробовал вместо нарисованной платформы вставить жестяную банку. Выглядит гораздо лучше, и рисовать не надо, только отфотошопить фото. Так что наш герой отныне будет прыгать по космическому мусору :)
Обновление (23):
С понедельника начну регулярно выкладывать демки, т.к. игра дошла до такого момента, когда лично меня она затягивает, но не знаю, будет ли он интересна остальным.
Основная часть сделана и осталось просто наполнять игру графикой и контентом по сделанным шаблонам.
Обновление (24):
Магазин апгрейдов все так же отвратителен, исправить его надеюсь с помощью ваших советов :). Уже есть фоновая музыка для самого игрового процесса, и на подходе таинственная музыка для таинственного меню. Насчет меню тоже опасаюсь, что получится как с магазином. Но в главном меню вроде нет сложных графических элементов. Из-за фотографий размер игры почти 7 мегабайт. Буду стараться ужимать игру, чтобы была не больше 10 мб, т.к. большие размеры никого в восторг не приводят:)
В понедельник будет уже первое демо со всем тем, что будет зачеркнуто в списке.
Вроде бы демку подготовил. Завтра уже выложу. В голове уже страшная каша, и я начинаю потихоньку ненавидеть свою игру. Надо отдохнуть 2 дня.
Обновление (25):
Потихоньку начинается мандраж. Друг и подруга, которым скинул демку, сказали, что игра хорошая, но я им не верю. Сегодня опробую игру на своей девушке, и вечером уже в любом случае выложу отдельным постом. (Это будет примерно в обед по Москве.)
Показал игру девушке. Сказала, что классная, теперь я и ей не верю). Создал пост с ссылкой на демку. С нетерпением жду отзывов. А то мож игра говно и я спокойно скачаю цивилизацию и пропаду из жизни до сентября))
Обновление (26):
Спасибо всем, кто не поленился и написал отзыв к первой демке! Благодаря вам я понял, что игра не УГ и работать над ней дальше смысл есть. Список ToDo значительно расширился, как только большинство пунктов зачеркну, сразу выпущу очередную демку. Нужно много работать над графикой. Скорее всего создам отдельный пост по графике, когда уже что-нибудь приличное нарисую. И еще оказалось, что я выложил не самую последнюю версию, забыл скомпилировать исполняемый файл. Потом пол ночи не мог уснуть.
Обновление (29):
Целых 3 дня не писал. За это время я ни хрена не сделал. Сейчас реализовал автосохранение прогресса. Для сброса прогресса достаточно удалить файл «gameprogress.la», так что берегите его :) В будущем добавлю спец. кнопочку для удаления всего прогресса. Нашел замену желтой платформе с маячком, вместо нее будет кусок метеорита с большими глазами (спасибо девушке). Таким образом, все платформы будут подведены под стиль «винегрета» :) Готов индикатор топлива. Делается за 5 минут, а смотрится очень даже приятно и играть становится более удобно. Пули с платформами взаимодействовать не будут, т.к. при событии столкновения платформы притормаживаются и создается впечатление, что пули сдвигают платформы на несколько пикселей. Появилась идея нового врага. Он посылает снаряд, стреляем в снаряд, снаряд возвращается во врага и взрывается вместе с ним.
Сделал главное меню, пока работают не все пункты. Инопланетянин в полёте :)
Даа! Я вставил ненавистную руку в игру! Теперь выглядит кораздо симпатичнее :) При закупке бластера в руке появляется пистолет, который я тоже ненавижу всей душой, ибо рисовать не умею :(Но вроде бы все красиво выглядит. А на свой скриншот из главного меню даже приятно смотреть :) Пойду смотреть какие еще пункты необходимо зачеркнуть.
С прыжком в длину проблемы. Не могу сообразить, как его красиво сделать, чтобы потом багов не повылазило. Может быть, в конкурсной версии так и не успею его реализовать.
Обновление (30):
Сегодня обнаружил, что сохранение прогресса, которое я сделал, на самом деле полная жопа и порождает множество проблем с настройками звука и музыки (вкл-выкл), полность переписал, сделал каркас для музыки, теперь осталось только подставить готовые треки.
С апгрейдами проблемка — ни как не могу с балансом разобраться, придется много играть. Либо еще немного подделаю и выложу вторую демку, чтобы потом опираться на ваши советы.
Сделал ограничение по скорости. Максимальная скорость — 270 пикселей в секунду.
Чуть не забыл про одно из условий конкурса — выход по клавише Esc. Теперь при нажатии на нее нас кидает в главное меню, а уже при нажатии этой клавиши там — выкидывает из игры.
Сейчас понимаю, что все, что я задумывал в первые дни конкурса я уже практически выполнил (осталось готовые треки вставить). Остальное уже добавилось гораздо позже, но реализация займет совсем немного времени, здесь уже все зависит от лени :) Этой мой первый проект, который я так ответственно и до конца делаю. Видимо сам факт участия в конкурсе и хоть самые малые, но шансы, оказывают такое влияние.
Сейчас самая большая проблема — разнообразие врагов. Надеюсь начать добавлять новых монстров с понедельника. Надеюсь, сюрпризов не будет, я старался сделать наиболее гибкую систему.
Новая идея апгрейда: покупаем улучшения для пуль, и пули теперь в полете увеличиваются в размерах, что облегчает попадание по цели.
Обновление (3):
Почему-то пост не хочет добавляться ((Поэтому ссылку на 2-е демо скину сюда https://www.dropbox.com/s/zrppgw0uo76tab5/Little%20Astronaut%20demo2.rar
Обновление (4):
До этого я не знал, что такое костыли в коде. Теперь, когда время поджимает, приходится описывать конкретные случаи, а не пытаться написать универсальный код, исключающий возможность ошибок.
ЗЫ: если что-то неправильно оформил, расскажите как исправить.
- 21 июня 2012, 04:54
- 010
На чем делаешь? ;)
Game Maker :( Уже несколько месяцев пытаюсь с него слезть, начать писать на каком нибудь движке, но никак не получается.. Картинки в фотошопе, т.к. в пэйнте масштабирование ограничено.
А мне нравится(гм)
А рисую в Опен офис, или краду из нета :(
Не думаю, что красть графику из Интернета хоть сколько-нибудь полезное и правильное занятие. Рисовать самому надо, уникально.
Уникально это значит некрасиво?
2. Покажи-ка мне СВОИ спрайты/фоны/тайлы.
Уникально - значит, самому научиться и нарисовать именно так, как нужно, а не красть графику или выпрашивать у художника спрайты, чтобы потом говорить, что здесь вышло не так и здесь не так, что хотел по-другому.
К слову, та графика, которую ты крадёшь из Интернета тоже когда-то была уникальной :)
Рисовать в опенофисе — само по себе уникально.
Я пользуюсь Paint.NET. Это гибрид пэинта и фотошопа - слои, эффекты, вменяемый набор инструментов. Для фотошоперов фигня, конечно, но для тех, кто его боится, но уютно чувствует себя в пэинте (это я), вполне себе инструмент.
Я использую Inkscape для вектора, а потом все растровые операции делаю в Paint.NET + IrfanView. Это всё бесплатные свободные программы.
Paint.NET и IrfanView не очень-то свободные (:
А кстати, чем обусловлен выбор Inkscape при таком разнообразии векторных редакторов? Я в общем-то и сам его использую, и мне нравится (хотя на выбор, конечно же, в основном повлияли используемая операционная система и любовь к свободному ПО), но, если честно, я никогда не пробовал ничего другого.
Inkscape потому что бесплатный и в нём есть всё, что мне нужно. До этого в Кореле всё делал, но в какой-то момент решил, что надо по возможности переходить на легальное ПО. :)
Это как?
IrfanView проприетарен, а у Paint.NET свободен только код (да и то только до версии 3.36, насколько я понял).
Ну рисовать-то на Paint.NET можно на продажу?
Конечно.
По описаной концепции, должно быть весело.
Вот пример джетпака, возможно поможет:
http://www.solidfiles.com/d/a9ace/
Удачи в разработке.
Спасибо за пример, но я лучше сам, не люблю в чужом коде рыться, уж лучше велосипед изобрету :)
Целится мышкой? Или просто вперёд и надо джетпаком на цель наводиться?
Еще не определился, скорее всего буду опытным путем определять, как веселее :). Скорее всего мышкой, т.к. топливо джетпака будет ограничено.. хм.. только что навел меня на хорошую мысль. Прокачиваться будет не общий запас топлива, а именно длительность одного полета, а при приземлении запас будет восстанавливаться.. Ну в общем с этим еще не определился. Изначально игра задумывалась как прыгалка-стрелялка, не хочется ее в скролл-шутер превращать.
Твоё внезапно появившееся и исчезнувшее сообщения меня заинтриговало) спасибо за советы)
Да я пока советовал ещё три варианта придумал, поэтому решил что первый ничем не лучше остальных, да и вообще не буду тебе удовольствие портить. :)
Что, все на Game Maker что ли, сговорились, лол?
Не все, конечно, но уже большинство как бы.
Так всегда как бы. А почему нет? Инструмент для быстрой разработки игр, вполне подходит. Если будешь писать на С++ или вроде того, ты вряд ли далеко уйдёшь за 20 дней. И, грубо говоря, пока будешь писать основы, "соседи" уже будут заканчивать игру.
меня скорее волнует, что все стесняются то гамака, что за мода.
Наверное есть два лагеря - программисты делающие геймплей
И художники-сценаристы-музыканты
=)
Вот для второго лагеря и создан гамак. А я например программист и мне доставляет удовольствие ковыряться в суровом черно-белом коде. Ну не совсем черно-белом, подсветка синтаксиса все-таки полезная вещь)
Вообще-то, это обычно как раз второго лагеря аргумент: "я хочу заниматься геймплеем, а не ковыряться в коде"
Звучит так, словно это претензия сурового технаря.
Алсо, волк, свалил в /Щ/ :yak:
Ако. 8D
Эс, ты снова упоролся? :yak:
ну если графику взял из других игр, то геймплей и остается))))
Ты остаешь от прогресса. Мы все эти вопросы рассмотрели несколько месяцев назад и решили не спорить больше по этому поводу.
Интересно было бы услышать альтернативные варианты.
Для сохранения мира в комментариях мы не так давно решили больше не обсуждать баттл Конструкторы vs Компиляторы.
И тебе не советую, потому что после наших предыдущих километровых срачей ничего нового уже не придумать.
Мой пост постепенно разрастается, как сделать, чтобы в списке постов была только небольшая часть?
Есть специальная кнопка, вставляющая отделение анонса от остального поста.
Сегодня вечером вместо того, чтобы делать игру, я играл в нее.. Пытался прокачать скорострельность, чтобы получилось что-то типа пулемета) Наверное, это хороший знак) главное, чтобы игру все таки продолжал делать, а не только играл в нее:) Сегодня день города (и праздник быдла с пивом), пойду с девушкой на салют, размышлять о луне :)
Специальные датчики, которые фиксируют происходящее вокруг на цвет, температуру и посылают в зависимости от этого звуковой сигнал. Поймало яркую вспышку света с повышением температуры - на тебе звук взрыва.
Блин, придется делать все таки :D
Разлетающиеся при взрыве мелкие обломки и частицы пыли (вакуум+невесомость - далеко полетит) ударяются о поверхность скафандра -- и никаких датчиков не надо
Ну это только взрыв.
Как изменить опрос и удалить голоса предыдущего опроса?
2 с половиной недели это слишком много..
В плане?)
Я, если честно, запарился уже с игрой. Вот если бы на неделю был конкурс, было бы классно. Был бы чистый харкор) Хотя, хардкор - это КОД, но здесь тоже было бы неплохо :) Просто большое количество времени сильно расслабляет.
Это просто другая "весовая категория". В иных конкурсах срок вообще много-много месяцев.
Ну да.. там наверное вообще сложно, уже работать приходится не на скорость, а на качество, причем по всем направлениям..
Почему-то пост не хочет добавляться(( Поэтому ссылку на 2-е демо скину сюда: качаем
Класс. Игра стает приятной, все интереснее и интереснее играть. И музыка в меню отличная.
И еще у меня один раз летающий монстр заспавнился за границой экрана (это когда я сам в тот момент был близко к границе). Его начало сильно колбасить, он начал двигаться туда-назад очень быстро, но так за границу и не выбрался.
По законам физики так не должно быть, но если сделать по законам физики, то в лежащих монстров будет почти невозможно попасть, ибо придется учитывать скорость, передаваемую телом астронавта пуле. Короче, так легче попадать в лежащих монстров, но сложнее в летающих. Если прокачать скорость пуль, то все будет в порядке. Наверное, буду регистрировать максимальную скорость игрока и сообщать ему, что стоит прокачать скорость пуль. Блин, слов много, смысла мало) с трудом сейчас соображаю просто)
Насчет дергающегося монстра большое спасибо! Просто я не доделал его поведение и забросил, а из-за редкости этого бага забываю допилить. Еще раз спасибо, сейчас добавлю в список ToDo и исправлю.
Ребят, очень важны ваши комментарии. Этот долбанный отдельный пост никак не хочет добавляться на сайт, а только просит подождать, и из-за этого только единицы узнают о выходе новой демки :( В ближайшие дни буду добавлять монстров и регулярно выкладывать демки, так что надеюсь, что с постами глюков не будет.. Жаль, что ночью работать нет возможности.. все таки еще школьник, живу с родителям, они контролируют. может, и к счастью)
В смысле не хочет добавляться? Если какая техническая проблема, советую обратиться к [@Gyt]'у.
Прокачав всё по максимуму (кроме топлива – оно, похоже, прокачивается до бесконечности) минут десять летел на джетпаке у потолка, снося частой очередью всё на своём пути. В итоге преодолел расстояние в 2032.5, расправившись со 184-мя вражинами. Скорость, как я понял, в какой-то момент перестала увеличиваться и в итоге составила 18. Набрались замечания.
2. Топлива к джетпаку слишком много – можно лететь бесконечно, даже не опускаясь на платформы.
3. После определённой прокачки играть становится слишком легко. Надо поработать с балансом.
4. Вылет за верхнюю границу экрана – проигрыш. По-моему, надо либо разрешить, либо поставить там невидимую стенку, которая просто не даст подняться выше.
5. У банок края остались неровными. Эффект – как у неровных краёв камней, но гораздо реже.
6. Пули летят то за платформами, то перед ними. Надо подкрутить глубину.
7. Энергощит.
- он не очень красивый и закрывает астронавта;
- иногда он пропускает пули и тратится здоровье, иногда – нет; не понятно от чего это зависит;
- он по действию полностью аналогичен здоровью, разве что выходит дороже: почему тогда просто не увеличить максимум прокачки здоровья, убрав щит.
Итого: как средство для увеличения контента и разнообразия, энергощит хорош, но над ним надо поработать, либо задуматься, а точно ли он нужен.
8. Мне кажется, стоило бы улучшить графику в магазине.
9. Главное меню приятное. Только на этом экране удалось рассмотреть зелёного монстра. А такая грубо вырезанная Луна, надеюсь, здесь временно.
10. Возможность отключения звуков и музыки – большой плюс. Хотя я этой возможностью и не воспользовался.
1. Спасибо, буду оптимизировать.
2. Увеличу стоимость
3. Попробую исправить добавлением монстров
4.Спасибо, что-то я сам не додумался. Сделаю невидимую границу.
5. Не сталкивался, но подровняю, раз встречается.
6. Исправлю.
7. Поставлю щит перед астронавтом, чтоб не загораживал и прозрачность увеличу. Он действительно аналогичен здоровью, но для баланса дешевое здоровье ограничено, а энергия для щита стоит дороже.
8. Не знаю, успею ли за 3 дня..
9. Я думал луна нормальная) ну тогда переделаю, все равно еще название игры вставлять надо на задник с луной.
10. Просто спасибо :)
Большое спасибо за комментарий, замечания такие, что сам бы я на них внимания не обратил. Добавлю в список.
Ты реально поражаешь количеством обновлений. Продолжай! Точнее отпишу если найду время тестить.
Мне просто так легче разрабатывать, весь список перед глазами, да и чувствуешь некую ответственность перед теми, кто может это прочитать :)
Бля. Долбаный баг со звуком трахал мне мозг пол недели. Все оказалось так просто, что хочется убить себя об стену. Везде использовалась переменная current_music, но один раз я написал curent_music. Что интересно, баг был не таким уж и частым. Хорошо, что я усомнился в себе и проверил написание..
У тебя выставлена опция принимать незаданные переменные равными нулю?
На гамаке такое есть? ну видимо выключена, иначе я никогда бы не нашел причину бага, ведь все работало бы без ошибок.
Эх, мой любимый, строгий c++, быстрее бы на тебя перейти.. Закончится конкурс и примусь за изучение hge..
Значит выключена.
Global game settings, Errors, Treat uninitialized variables as value 0.
Как бы не завести холивор, но... Чего хорошего в строгости? Когда твоё незнание синтаксиса или логики программирования поправляет IDE (в соответствии с жёсткими спецификациями языка), разве это лучше, чем если заранее на самом деле знать как оно должно работать, и будет ли работать конкретная программа, только что написанная?
Ээ, ну ок.
На самом деле речь всё же про IDE, про среду разработки, и её проверки. В GM такое сделать нереально потому что он не компилируется вообще. Он интерпретируется, а соответственно заранее нельзя знать, будет ли такая-то переменная задана или нет, так как GML может переписывать сам себя на лету, включая все комнаты, объекты, события и ресурсы. Казалось бы, на кой фиг это игровому движку. Но это так.
Дело личное. На вкус и цвет фломастеры разные.
Ок, полностью согласен.
Просто я опечатался в проверке редкого случая, условие для которого создал во избежание ошибок.