Tapply
2 поста
Выкладывал игру на Яндекс игры. Как итог - героическая смерть после выхода из новинок.
Заработок - 213,27 ₽
Успешным проектом это не назвать, но для меня он является лучшим из тех что я делал.
Как будто мне удалось понять секрет хорошей, доходной игры, но это не точно. В следующем проекте постараюсь реализовать свои догадки.
Так как мне эта игра нравится, я решил подарить ей вторую жизнь, но уже в Google Play.
Какая либо монетизация там отсутствует. Просто надеюсь, что кому-то игра может приглянуться.
P.S Спасибо за название для игры пользователю peachthecat
История
Так как работодатели наотрез отказываются меня брать на какую либо работу, решено было учиться дальше, посредством разработки маленьких игр в небольшие сроки.
С маленькой игрой получилось, а вот со сроками не очень. Разработка, которая планировалась на неделю, переросла в месяц.
Причины:
- У меня есть плохая привычка уделать много времени какой-то мелочи, не замечая глобальных проблем или вещей необходимых для выполнения. От этого следует небольшое выгорание, когда ты спустя несколько недель разработки смотришь на игру, а в ней по сути ничего нет.
- Отсутствие плана и четкого виденья законченного проекта. Как пример, изначальный концепт - это игра про чеканку мяча на рекорд.
Злость
Заранее извиняюсь за не самую конструктивную критику.
Когда на протяжении всей разработки играешь в редакторе, где у тебя 400 кадров, а потом делаешь билд, и на телефоне тебе выдает слайд-шоу, руки немного опускаются. Ладно это было бы связано с тем, что игра не оптимизирована или ещё с чем-то, на что я непосредственно влияю. Но нет, просто стоит ограничение кадров в секунду. (я знаю, что это можно изменить в ручную).
Да ну бросьте, у меня телефон мощнее компьютера, почему я должен страдать.
Такое же разочарование меня ждало и со звуком. Вообще звук не самая моя любимая часть в разработке. Я понимаю важность и отрицать его влияние на ощущение игрока не буду. Но сам процесс поиска и настройки, не нахожу весёлым.
Так вот когда ты много времени уделил звучанию, а на телефоне половина звуков превращается в кашу или пропадают, тебе грустно.
Я понимаю, что эти претензии глупые и опытный разработчик с легкостью бы это решил. Но я не он, я не хочу, чтобы конечный результат отличался, только из-за того, что я не поставил галочку в 25-м пункте 36-го меню.
Извините, надо было высказаться. Такого рода претензии только говорят, о моей некомпетентности как разработчика и необходимости развиваться дальше.
Ваша помощь
- Если видите какие-нибудь варианты для улучшения игры, с радостью бы выслушал.
- У игры нет названия, так что не отказался бы от ваших предложений.
Слышал сейчас модно всё выкладывать на Яндекс игры. И возникает пару вопросов:
- Есть некий PluginYG. Стоит ли его использовать?
- Есть ли возможность сохранить вертикальную ориентацию, если игра была запущена с ПК?
Спасибо за внимание!
С#
Тут я расскажу про подходы, которые помогли мне улучшить свой код.
Я никакой не программист, не ругайте, но исправляйте.
Несколько условий, которых я пытаюсь придерживаться:
- Придумывай информативные имена.
- Используй имена, которые характеризуют их модификатор доступа. Есть правила, но вы можете использовать удобное вам написание. Это поможет вам ориентироваться, а ещё так красивее.
private int _age;
public int Age;
const int AGE;
- Избегай публичных полей. Используйте [SerializeField] если доступ нужен только из инспектора. Используйте свойства, если доступ нужен вне класса.
[SerializeField] private int _age;
public int Age => _age;
Принципы ООП.
Так как это касается всего ООП, информации в интернете более чем достаточно. За правильной и точной формулировкой, лучше обратитесь к другим источникам.. Я постараюсь передать своё виденье, от лица новичка. Возможно, это будет кому-нибудь полезно.
После того как вы познакомились с наследованием, инкапсуляцией и полиморфизмом, прошу обратить ваше внимание на другие принципы.
DRY - не повторяйся. Если вы заметили повторение своего кода, стало быть делаете что-то не так. Не повторяй, а пере используй.
SOLID - надо признаться, я и сам не понимаю несколько принципов, а их формулировка может быть и вовсе неправильной. Но даже такое представление очень сильно мне помогает.
SRP - принцип единой ответственности. Каждый класс должен отвечать за что-то одно. Например: если вы делаете управление персонажем, не стоит сюда же добавлять считывание действий игрока или какую-нибудь механику стрельбы, и т.д. До знакомства с этим принципом, у меня часто возникали классы типа "Player" который отвечал за всё и сразу.
Держа это в голове, у вас никогда не возникнет проблем с тем, что ваш класс раздулся до невероятных размеров, а его изменение может привести к поломке всей игры.
OCP - принцип открытости / закрытости. Пиши так, чтобы при расширении функционала тебе не нужно было что-то менять в уже существующем коде.
Там ещё несколько принципов, которые я не осмелюсь описывать, так как особо не понимаю. Но более чем уверен, что их понимание сильно повлияет на ваш прогресс.
Паттерны проектирование
Более умные люди уже всё за вас давно придумали. Если выучите их и научитесь уместно применять, сильно облегчит вашу жизнь.
Что касаемо меня, мои познания заканчиваются на Observer, State и Singleton - который в свою очередь является противоречивым, как говорят умные дядьки, но эти дискуссии мы им и оставим. На данном этапе нас это не касается, если это упрощает нашу жизнь.
РЕСУРСЫ
Англоязычные:
Brackeys (YouTube) : https://www.youtube.com/@Brackeys
Огромное кол-во обучающих видео, которые помогут вам начать свой путь. Скорее всего тут вы найдёте ответ на любой свой вопрос, на который вам ответят простым и наглядным образом.
Tarodev (YouTube) : https://www.youtube.com/@Tarodev
Рассказывает как о простых, так и о более сложных вещях в очень доступной форме.
CodeMonkey (YouTube) : https://www.youtube.com/@CodeMonkeyUnity
Официальный курс Unity - Хороший способ, чтобы начать.
Курс Udemy - The Unity C# Survival Guide. Вам расскажут о C# в Unity, начиная с азов постепенно увеличивая сложность. Крайне удобно использовать как шпаргалку. Я его спиратил, да простят меня ребята.
Русскоязычные:
Emerald Powder (YouTube) : https://www.youtube.com/@EmeraldPowder
Пожалуй самый полезный канал в ru сегменте, для меня. Видео не так много, но они очень полезные и информативные.
В интернете огромное кол-во информации по Unity, что и стало для меня основным критерием выбора движка. С уверенностью можете искать реализацию какой-то механики или решение проблемы, скорее всего вы это найдёте.
Практика - главное. Можно бесконечно читать, но не закрепив знания действиями, они в скором времени исчезнут.
Заранее извиняюсь, если затриггерил какого-нибудь программиста.
Спасибо за внимание.
Предисловие.
Каков был мой изначальный план? Закончить игру и с каким ни каким портфолио, из трёх небольших игр, найти себе работу. При том что какого либо специального образования у меня нет, а опыт работы в Unity составляет примерно 2 года размеренного изучения. Звучит оптимистично, скажете вы. Да, так оно и есть.
Закончил игру и ушёл на поиски работы, параллельно что-то изучая, но без какого-то конкретного проекта. Как вы поняли, её я не нашёл. И спустя примерно 8 месяцев решил выпустить какое-нибудь обновление к игре.
Основное.
Зайдя в проект что я увидел. Костыль костылём погоняет. Скрипты невероятных размеров, отвечающие за всё и сразу. Изменяя которые, рискуешь сломать игру полностью. Тут то я и понял, почему во всех вакансиях так часто фигурирует SOLID. Надо признаться, до поиска работы я и понятие не имел что это такое.
С оставленной, мной прошлым, архитектурой, я стал думать, что делать. Было два пути, либо переписывать всё сначала, либо добавить что-то, особо не контактирующее с моим прошлым творением. Так как разрабатывал я её довольно долго, скриптов там накопилось достаточно, и каждый намеревался убить проект при малейшем взаимодействии. Так что выбор пал на второй вариант.
Дополнением я решил сделать новый уровень, механика которого слегка отличается от прошлого. Разбил основной скрипт на несколько, логически обоснованных, и жизнь сразу стала легче. Нарисовал новую локацию и вот что у меня вышло:
Так же привязал Google Play Services и добавил таблицу лидеров.
Вывод.
Можете говорить, мол "дурачок, ты сначала научись делать правильно, а потом делай что-нибудь". Но, я программирую, чтобы делать игры, а не делаю игры, чтобы программировать. Если понимаете о чём я. Можно подумать, что это история с плохим концом, но я ведь вижу свои ошибки и знаю как примерно нужно было делать, стало быть всё это было не зря. Возможно, это не самый быстрый способ развиваться, но главное - что какое-то развитие присутствует.
Спасибо за внимание.
Здравствуйте. Хочу рассказать, как я в попытках добавить чувство прогресса и развитие геймплея, пришёл к модификациям для персонажа.
Предыстория.
Я делаю идейную наследницу "Stack attack" с Siemens. Под первым постом "Packer - как скопировать игру, и не оплошать", посвящённому игре, вы оставили крайне много отзывов, за что я вам очень благодарен. Частым мнением было то, что стоит добавить возможность ломать ящики прыжком, как в оригинале. Я избегал этой механики, так как пытался заставить игрока непрерывно двигаться с параллельной сортировкой. А возможность ломать ящики позволяет стоять на месте, периодически подпрыгивая. Так же часто упоминались другие игровые персонажи с разными характеристиками. Они у меня были на уровне прототипа и я думал как правильно их внедрить в игру.
С таким фидбэком было принято вводить систему улучшений. Так же нельзя не упомянуть пользователя Stardisk и его виденья будущей реализации.
1) Первое улучшение - ломать ящики прыжком
Чтобы механика существовала за пределами улучшения, добавил возможность ломать коробки без модификации. С ней можно ломать любые деревянные ящики. Из-за довольно высокой скорости падения ящика, и маленького окна прыжка, сделать это не так просто, надеюсь, что игроки прибегнут к этому методу в крайней необходимости.
2) Второе улучшение - защитный дрон
Он будет защищать вас от падения ящика.
К нему в пару идёт с ящик, при уничтожении которого появляется дрон
3) Третье улучшение - увеличение силы
Увеличивая силу вы способны двигать тяжелые ящики, которые ранее были неподвластны, 2 деревянных ящика по вертикали, или же 4 коробки также по вертикали. Без модификации теперь можно двигать две коробки одновременно.
4) Четвёртое улучшение - коробки не прогибаются под весом игрока
Немного глупо, что добавив полоску на колесо робот способен ходить по коробкам, но пока так.
5) Пятое улучшений - возможность прыгать через пропасть в один блок
Пожалуй это самое сильное улучшение, очень упрощает жизнь игроку.
Прыжок вверх на две клетке не стал добавлять, потому что посчитал слегка нечестным. Но возможно, я пересмотрю это решение.
Все модификации появляются из ящика, который можно купить в магазине за внутриигровую валюту. Долго мучался с этим ящиком, по итогу не очень-то мне он и нравится.
Все модификации вместе
Приму любую критику и пожелания. Спасибо за внимание!
Группа в ВК: https://vk.com/brokenwheelsoftware
Как я делал обновление и что могло пойти не так.
В первую очередь хотел бы поблагодарить вас за невероятную поддержку и огромное количество отзывов. Обновление напрямую касается вас и вашего отклика, где я постарался исправить часть проблем на которые вы меня навели.
Список изменений:
- Управление изменено
- Обучение переработано
- Добавлен диагональный прыжок
- Добавлено управлениями жестами
- Добавлен пункт в настройках отвечающий за тип управления
- Игровое поле смещено вверх
- Начальная скорость игры уменьшена
- Скорость падения уменьшена
- Уменьшен шанс выпадения специальных ящиков в начале игры
- Начальная расстановка больше не включает тяжелые ящики
Также исправил ошибку, когда при быстром нажатии на прыжок -> движение, движение не считывалось.
Немного подробнее:
В первую очередь я взялся за управление. Обозначил зоны активации будущих кнопок и добавил диагональный прыжок.
Забавно, что я потратил примерно 4 часа, чтобы нарисовать стрелку, прежде чем понять, что это никуда не годится.
Затем я принялся за альтернативное управление, его я реализовал прикрутив жесты к старому.
В след за управление нужно было изменить и обучение.
Не то чтобы очень подробно получилось, но пока так.
А самой главной проблемой для меня стал сам проект. За всё время разработки я такого нагородил, что страшно даже мне. Вы спросите:
- как можно было накосячить в такой маленькой игре
А я отвечу:
- у меня получилось
Надеюсь, я смогу исправить игру перед тем как окончательно не потеряюсь в ней.
Так же хотел изменить механику уклонения. Но так и не придумал как. Мне нравится сама идея QTE, кажется, что она отлично подходит для мобильных игр, но вот моя реализация оставляет желать лучшего.
Спасибо!
Здравствуйте, хотел бы поделиться свой историей создания игры.
Предыстория.
2019 год. Я - начинающий разработчик (и остаюсь таковым), искал идею для игры. Которую вскоре и предложил мне мой друг. Говорит мол:
- Была такая игра на Siemens - Stack Attack. Мне очень нравилась.
К моему сожалению, эта игра прошла мимо меня.
Вкратце объяснив мне её суть, она меня очень заинтересовала. На том и порешал, возьму её за основу.
Отличия от оригинала я хотел добиться, динамичностью, разнообразием в блоках, сохранив при этом простоту.
В погоне за динамичностью. Были добавлены разные типы блоков:
- Тяжелый, его нельзя двигать
- Взрывной
Для того же был сделан отвлекающий задний план.
Дальше был перерыв почти в год. А игру ждала переработка с нуля.
И вот спустя год я серьёзно решил закончить игру во чтобы то не стало.
И первым изменением относительно прошлого прототипа - стало управление. Его я реализовал касаниями:
- tap по правой части - шаг вправо
- tap по левой - шаг влево
- tap в центре - прыжок
К сожалению, первый и последний. В дальнейшем всю графику мне придётся рисовать самостоятельно, постоянно оглядываясь и копирую элементы, с этих ящиков.
Хоть мои напарники и не участвовали особо сильно в разработке. Они не раз мне помогали советом, и их влияние видно на протяжение всей разработки, за что им огромная благодарность.
Примерно 75% у меня уходило на графику. Мне пришлось буквально научиться рисовать.
Так из под моего пера и появился игровой персонаж.
Кран, который в дальнейшем я перерисую.
На данном этапе игра выглядела вот так:
Я долго не мог сообразить как должен выглядеть задний фон, и мне на помощь пришёл брат и его концепт.
И я принялся это копировать, по мере возможности.
После этого момента я перестал так усердно вести дневник разработки.
Всё это время изменения в игре были направлены в сторону быстрой и динамичной игры, при этом не слишком сложной. Я так долго играл в свою игру, что не понимал, что работает хорошо, что плохо. И постепенно игра начала меня утомлять.
Всё же я довел игру до беты, добавив несколько новых механик и блоков.
Я очень хочу чтобы игра получилось хорошей. Если вам не сложно можете поучаствовать в открытом бета-тесте. Поделится своим мнением.
Принимаются любая критика и предложения.
Спасибо за внимание!
Google play: https://play.google.com/store/apps/details?id=com.BrokenWhee...
VK: https://vk.com/brokenwheelsoftware
Здраствуйте, хотел бы поделится с вами историей создания своей второй игры. В прошлый раз вы мне помогли конструктивной критикой и большим кол-ом фидбэка, за что я очень благодарен.
В этот раз я решил учесть ошибки прошлой игры и добавить геймплей, как бы это смешно не звучало.
Я много чего не задокументировал в процессе разработки. Покажу что есть
Этапы создания:
1. Сначала решил делать раннер. Игра вообще состоит из плагиата. А именно управление в одно касание и стиль. Графика из thomas was alone тоже бросается в глаза, хоть в последствии я и отказался от освящения.
2. На этом этапе я отказался от теней и изменил направление на движение вверх.
3. Добавил плавный переход на заднем плане.
Дальше документация заканчивается. Могу только сказать, что дальше было бесконечное создание комнат и их тестирование, что немного утомляет. В конце были добавлены звуки с музыкой, и интерфейс.
Буду рад вашим отзывам, критике и предложениям. Заставить меня не делать игры у вас скорее всего не получится ибо мне очень нравится. Спасибо за внимание.
Google Play : https://play.google.com/store/apps/details?id=com.BrokenWhee...