Malarg

Malarg

На Пикабу
536 рейтинг 1 подписчик 1 подписка 6 постов 3 в горячем
Награды:
5 лет на Пикабу
9

Fail Story. Как не должны рождаться идеи для игр.

Снова приветствую всех на просторах инди геймдева. Как и обещал, продолжаю и, видимо, заканчиваю историю о том, как я выпустил свою первую игру. Немного предыстории: сама идея у меня появилась, когда я переиграл в Assassins Creed Brotherhood. Те, кто играл, наверняка помнят локацию, которая окружала яблоко Эдема уже в нашем времени. Кто не помнит или не играл - поясню: надо было забраться на возвышенность по окружающим её столбам, периодически меняющим высоту. К сожалению, скрина с самими столбами не нашёл, поэтому прикрепляю скрин, когда яблоко уже получено.

Меня так поразили те самые столбы и так вертелось желание в голове сделать что-то свое, что я решил подбрить эту идею и начать тернистый путь в инди геймдев с реализации игры, где основной визуальной составляющей является именно такая анимация. Единственной маленькой *сарказм* проблемой было построение игры вокруг этой анимации. Небольшое отступление: когда я пишу эту статью, понимаю, что к чертям нарушил вообще всё, что касается геймдизайна, но, собственно, статья именно поэтому и пишется. Так вот, в качестве механики игры я решил перевернуть всем знакомую змейку с ног на голову и заставить игроков размещать на поле яблоки, которые змейки должны есть. Игра заканчивалась тогда, когда на поле не оказывалось яблок. О том, как я писал алгоритм перемещения змеек до яблок, читайте в предыдущей статье. https://pikabu.ru/story/fail_story_pifagorov_velosiped_57131...

Сказано - сделано (ну почти), я немного переосмыслил эту анимацию и реализовал её на Unity, плюс к тому реализовал геймплей: генерил змеек и дал возможность размещать яблоки. Ниже представлен геймплей (Не смотрите всё, не портите себе нервы :)).

Тут я понял, что анимация то хорошая, но в сильно ограниченных количествах, ибо в таких дозах это что-то сродни пытке: через несколько минут в глазах начинается сильно рябить, плюс к тому неудобно тапать по таким маленьким кубам на экране телефона. Тут я решил вспомнить триногометрию и сделать другие анимации движения поля (не портите психику, не смотрите от начала до конца, там не будет ничего интересного - достаточно понять суть движения)

Тут, как в анекдоте, появились 2 новости: хорошая и плохая. Хорошая - рябить в глазах перестало. Плохая - стало укачивать. Не зная, что с этим делать, я было решил подзабить на проект, но тут я связался с человеком, который потом стал художником на проекте. Он посоветовал полностью изменить визуальную часть и сделать игру в 2d и в ретро стиле. В итоге у нас получилось вот это:

Сюрприз, это всё ещё 3D проект и те же самые кубы, просто в настройках камеры была поставлена ортографическая проекция, что превращало игру в 2D. Размеры поля стали меньше, а кубы больше, соответственно и тапать на них стало куда удобнее. Плюс к тому были добавлена таблица рекордов, чтобы можно было соревноваться.

Суммируя все грабли, которые я обошёл и которые нет:

1. Показывайте игру друзьям. Очень важно иметь фидбек от тех, у кого не замылен взгляд. С помощью друзей многое поменялось в проекте: друзья помогли настроить баланс скорости и частоты появления змеек, через друзей я нашёл художника, друзья подсказывали некоторые идеи.

2. Не путайте рациональное и эмоциональное. Проще говоря - учите матчасть. Есть уйма уроков по гейм и левел дизайну, которые помогут определить то, как проект будет выглядеть с точки зрения игрока и того опыта, который он будет получать. То как зарождалась эта игра - чистой воды проблема второго проекта (история, когда все те наработки, которые человек сделал в своем первом проекте он пытается впихнуть во второй, не учитывая его специфики. Только в моем случае это не первый проект, а просто игра).

3. Проектируйте. В моем случае четко не было оговорено, как будет происходить прогрессия сложности. Было 2 варианта: сделать уровни, где будут увеличиваться размеры поля и один уровень, где змейки со временем будут появляться чаще и быстрее ползать. В реализацию ушёл второй. Однако в скрипте всё ещё заложена генерация поля любого размера по случаю, что, наверное, не совсем хорошо.

4. Поддерживайте мозг в тонусе. Об этом я писал в предыдущей статье, ссылка выше.

Ссылка на то, что получилось в итоге: https://play.google.com/store/apps/details?id=com.malarg.Pix...

Показать полностью 1 3

Студенческая научная работа

Как проходит любая студенческая научная работа:

1. ставится цель

2. студент делает нечто по теме, но получает левые результаты

3. цель во введении заменяется теми самыми левыми результатами

PROFIT

265

Курица - «не сушка»

Историю нам рассказал преподаватель русского языка много лет назад, однако она все ещё не забыта, так что перескажу её вам от её лица.

Надо мне было на рынке закупиться продуктами. Иду по мясному отделу, читаю вывески. Мои глаза зацепились на витрине, на которой красовалась надпись «курица- не сушка». За витриной стоит мужичишка восточной внешности. Я решила подойти к нему и указать на ошибку.

- Здраствуйте, скажите, почему у вас слово «несушка» так написано?

- Добрый день. Ну как же, ведь «не» с глаголами пишется раздельно!

19

Fail story: Пифагоров велосипед.

Приветствую тебя, читатель. Сегодня я начну небольшой цикл заметок о разработке своей очень простенькой, по факту, игры. Делал я её не то что бы очень долго, ибо c# и unity я знаю более менее. Сегодня чуток о мат. части, но для начала немного предыстории. Я не очень часто сталкивался с подобными задачами, чаще занимаясь проектированием всякого: мои отношения с математикой обычно начинались и заканчивались на олимпиадном программировании, которое я подзабросил пару лет назад. Но при этом мне всегда было интересно поведение алгоритмов, созданных мною. Ну да чуть ближе к сути.

Для игры мне потребовалось решить простую задачу: требуется написать функцию, которая выдает следующую ближайшую к цели точку так, чтобы траектория движения персонажа проходила по прямой. Однако задачу я себе решил слегка усложнить, оставив в качестве входных переменных только позицию игрока и точку назначения. Повторюсь, что ожидаемый результат - движение по прямой, насколько это возможно. Подумав, не подумав, что задача плёвая, я наскоро закодил первый пришедший в голову алгоритм, в котором вычислялись расстояния до точки назначения от (x+1;y) и (x;y+1), где (x;y) - координаты персонажа(для упрощения опустим подробности, что точка назначения может быть не только в первой четверти относительно игрока), после чего брала точку с минимальным расстоянием. Казалось бы: почему это может не работать. А вот, собственно, почему:

Затем я решил завязать движение на углах, вычисляемых через арктангенс, между теми же ближайшими точками и желаемой траекторией, брав меньший из них.

Задавшись тем же вопросом: а почему это может не работать, я закодил и это поведение и получил вот это:

На этом этапе я перестал верить в жизнь и ушёл в запой (какао - тоже алкоголь). Однако вернувшись я прошёлся итеративно по алгоритму с понял, что в никуда потратил день жизни, и без задания координат точки отправления задача не разрешима. Затем все стало куда проще - поведение стало таким, каким я себе его представлял изначально:

По сути это та же предыдущая реализация со сравнением углов, только не от текущей точки, а от точки отправления.

Мораль сей басни такова: solid, kiss, scrum, agile и прочие заморские термины безусловно полезны для любой разработки, но все-таки на codeforces для разминки периодически все же надо заходить, что я всем и советую делать. Впрочем, если кто знает способ решения задачи, не вводя дополнительные параметры - прошу в комментарии.

P.S. Сама игра на поздней альфе, если кому интересно - дам ссылку в следующих заметках.

P.P.S. Первопост, прошу кидаться исключительно мягкими камнями.

Показать полностью 4
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества