Смена курса, помогите определиться с обучением
Приветствую пикабу! Как я уже говорил, меня зовут Володя, не так давно мне исполнилось 30 годиков, и я решил круто изменить свою жизнь.
Изначально я хотел открыть инди студию, так как к 30 годам, накопилось множество идей и амбиций, по созданию собственных видеоигр, а так же несколько конеретных и, на мой взгляд, выйграшных стартапов(если можно тут так говорит про игры). Как же я ошибался, когда думал, что мне ВСЕГО ТО нужно собрать несколько человек, которые смогут воплатить мои идеи в видео игру, НО, к моему счастью, я быстро снял розовые очки, и понял, что таких как я, пишущих художникам и программистам, пруд пруди, и кто я такой, что бы мне уделять свое драгоценное время. Отсюда собственно и начинается мой вопрос, решил отучиться на разработчика на юнити, нашёл неплохие курсы у одной небезизвестной онлайн школы, 20к за 11 месяцев, обещают 3 проекта для портфолио, трудоустройство и бла бла бла, трудоустройство меня не интересует, но интересует другой момент, смогут ли меня чему нибудь путному там научить ? Или это будет впустую потраченное время и лучше найти что то посерьёзнее и на больший период времени ? Прошу сильно не ругать меня за грамматику, я тут новенький, всем откликнувшимся заранее спасибо! Всем мир!)
Рыба Моей Мечты #14 Бабка за дедку, Дедка за репку
В качестве шаблона мы используем пример (игры Очко) из моей прошлой Статьи #13 -> Рыба Моей Мечты, по заявкам трудящихся #1
Добавляем в наш код подсчёт очков, -> https://disk.yandex.ru/d/wNGqDB7pM2zhNw
И уже из него, начинаем лепить полноценную игру для одного игрока, -> https://disk.yandex.ru/d/RHKCMKt-AB_4yw
Либо для двух игроков (если ещё немного постараться), код -> https://disk.yandex.ru/d/RRUntG4qchBS1g
(Небольшой лайфхак) Мы хорошо знаем, что для перехода в ту же локацию (с выбор параметра) нужно ввести следующий код:
Правда, а что если нам понадобится больше одного параметра? - Кроме (Выбора), скажем ещё и параметр (Номера). То наш код будет выглядеть как-то, правильно?
Всё верно, правда есть ещё один способ сделать это (не создавая кучу локаций). Смотрите внимательно.
Теперь у Локации будет сразу 3 переменные. Такая Локация будет сама выступать в роли Массива. А значит и выбор между переменными будет работать аналогичным образом. И их можно даже комбинировать между собой, составляя варианты по типу \(Локация(4;2;3), Ответ)
У этого способа только один минус, если оставить остальные параметры пустыми, то они будут приравнены к нулю. Но и эту проблему тоже легко исправить,
И вот так при этом будет выглядеть исправленный код, -> https://disk.yandex.ru/d/JmINPWpkQ5bAyw
Давайте возьмём за основу игру "Очко" (Двадцать Одно) и по имеющемуся шаблону напишем карточную игру "Пьяница". Как вы на это смотрите? Код -> https://disk.yandex.ru/d/zrTlS62sD_l_Gw
И так, какие ещё проблемы могут возникнуть с \ЦИКЛами? - спросит меня читатель.
Хороший вопрос, - Давай-ка сыграем с тобой в игру "Найди Ошибку"
- Нету закрывающего цикл Слэша -> \) (99% проблем именно из-за него).
- Отступы, у кого как, но лично у меня они ломают форматирование текста
Как пример, к чему могут привести отступы. А вот уже после исправления (ниже),
Ещё пример (и тоже с ошибкой):
Кто скажет, - Погодите-ка, ты это серьёзно?
\(Счёт=+x) конечно же, и будет не прав.
Ошибкой было помещать \(x=x+1) в Условие
В одной строке с \ЕСЛИ, без \ТО ( ававв \) \(x=+1)
В результате чего ЦИКЛ выдаст ошибку.
А вот, как оно требовалось изначально:
Ещё одна игра напоследок, симулятор Бога -> Doodle God (в которой игрок вынужден объединять воедино стихии Земли, Воды, Огня и Воздуха, чтобы продвигать дальше и открывать новые элементы). Сделано всё очень просто, через Массивы и Циклы. Сам код -> https://disk.yandex.ru/d/I2okXJZg3hdJmQ
А теперь, разберём код более подробно (для лучшего понимания)
Блок #1 Целиком состоит из Массивов. В Массиве1 хранятся наши Стихии (Огня, Воды, Земли и Воздуха), а так же ещё не открытые Элементы. Массив4 нужен для добавления новых элементов. Если мы выбрать (скажем) Стихию Земли и Огня, в руке Бога. То для компьютера, эти два Элементы будут записаны в более простом виде "ЗемляОгонь".
Блок #2 Это обычный счётчик действия. Взяли в руки бога одну Стихию, тик сработал. Взяли вторую, второй тик. Стихии брать больше нельзя. \(_\(Массив1(\(Выбор)))=1) именно вот эта команда отвечает за то (в зависимости от локальной переменной Выбор), какую из Стихий мы на этом ходу возьмём в руки Бога.
Блок #3 Выводит полный список (открытых игроком) из Массива2 -> Стихий и Элементов. При добавлении новых Элементов, меняем число 10 в строчке \ЦИКЛ (x<10) на то кол-во Элементов, которое есть в Массиве1.
Блок #4 Отображает (игроку) подсказки доступных для создания в руке Бога -> новых элементов. Собирая всю доступную информацию из Массива3
Блок #5 Проверяет руку Бога, и в случае (если слово в ней) совпадает с Массивом2, открывает новый Элемент игроку для выбора (делая пометку 1 в Массиве4). Для Стихий Огня, Воды, Земли и Ветра (в Массиве4) они уже сделаны изначально.
Блок #6 Очищает все значения в (вашем инвентаре) руке Бога. Обнуляет счёт (тики).
Таким образом был добавлен новый элемент Металл. Все же остальные (выделенные) значения (просто) были увеличены на единицу с 10 до 11. Если же кол-во Элементов возрастёт до 20, то и данное значение (11) должно быть увеличено (ручками) до 20. Больше в игре ничего менять не нужно. Чао-Какао, ребята!
Будут вопросы? - Пиши. На сайте есть подробная документация (как надо работать с кодом и создавать на нём игры) -> https://apero.ru/Документация . Весь код написан на языке Аперо. Новичкам всегда готовы помочь старожилы проекта. А именно:
1) Александр -> https://vk.com/san90
2) Михаил1 -> https://vk.com/stalkersleem
3) Дмитрий -> https://vk.com/drkcrwn
4) Михаил2 -> https://vk.com/id17130734
5) Пашка -> https://vk.com/glumpa
Рыба Моей Мечты, по заявкам трудящихся #1
Хочешь научиться программированию, но не знаешь с чего начать? Я помогу тебе в этом, начни с Аперо. Его может освоить каждый, даже ты (с нуля) за 5 минут. Если совсем зелёный, то тебе сюда -> Рыба моей мечты #2 или создаём игры на АПЕРО в 2 клика
Мне часто пишут (в личку) с однотипными вопросами, когда у людей что-то не получается. Я всё понимаю, но отвечать по 10-20 раз на дню одно и тоже... Согласитесь, утомительно. С этой целью и была придумана рубрика на Пикабу -> "Рыба Моей Мечты". Но и этого вам оказалось мало! По заявкам трудящихся, это краткий ликбез по Аперо. Поехали.
1. Объясни мне принцип работы команд
\СТОП(Локация)
\(Локация, Идти)
И в чём разница между ними?
Отвечаю: команда \(Локация, Идти) это по сути обычная кнопка, что работает только по нажатию. Команда \СТОП(Локация) работает даже без участия игрока. Она так же как и команда \СТОП, останавливает выполнение кода (в текущей локации), при этом переводя игрока на другую (указанную ранее) локацию. Команда \ТАЙМЕР(1,15,"Локация") тоже делает нечто подобное, только при достижении указанного в ней лимита времени. В нашем случае 15 секунд.
2. Помоги мне, я не могу разобраться -> Как работают Циклы?
Отвечаю: Цикл, это последовательность кода, которая многократно повторяется. Когда каждая новая итерация увеличивает (теоретический) Икс на один.
\ЦИКЛ(икс<3) \СДЕЛАТЬ (
\(икс=икс+1)
\)
Допустим, нам требует написать Цикл сложнее, вот вполне рабочий пример из моего кода.
3. Я так и не понял, а можно ли как-то менять в игре цвет текста/фона?
Отвечаю: Можно, все ответы есть в -> https://apero.ru/Документация Плюс об этом было написано мною более подробно в Статье #8 -> Рыба моей мечты #8 или кручу-верчу, запутать хочу Дважды повторяться не буду. На счёт цвета фона, \(АПЕРО.стиль="ночь") - тёмный, \(АПЕРО.стиль="стандартный") - обычный белый.
А вот пример довольно-таки необычного оформления (через таблицу): Код -> https://disk.yandex.ru/d/lRSWhPvsrQyHhg
Как вы надеюсь заметили, в коде присутствуют (так называемые) Шаблоны. Они немного сложнее и рассчитаны скорее на более продвинутую аудиторию. Данный шаблон и некоторые другие, были описаны в Документации 2.0 -> https://apero.ru/Шаблоны Где вы можете ознакомиться с их работой, самостоятельно. Там же есть пример Шаблона "Таймер" и "Обратный Отсчёт", удачи (ведь она тебе точно понадобится).
4. Скажи мне спасибо, за доработку твоей игры Камень-Ножницы-Бумага
(Код был скачан из ВК и залит на Яндекс) -> https://disk.yandex.ru/d/qPBFKYWbPpqoVg
5. А могу ли я создать на Аперо игру в реальном времени? - По типу весёлой фермы.
Отвечаю: Yes you can -> https://disk.yandex.ru/d/g6_IaLPB86jppg (From Russia with love)
6. Зачем ты раз за разом выкладываешь обновлённые/исправленные версии своих игр?
Отвечаю: чтобы читатель тоже мог увидеть мой прогресс в изучении языка АПЕРО! Возьмём для примера первую версию игры "Испытание Лабиринтом" написанную мною ещё в далёком 2018 году -> https://disk.yandex.ru/d/cHOkJ3KKWxF0nQ Когда при весе в 155кб в игре было реализовано всего 3 крошечных лабиринта. Сейчас же, при весе кода в 25кб, в игре доступно уже 11 больших лабиринтов. Добавления которых обходится меньше одного килобайта (из-за единого шаблона) -> https://disk.yandex.ru/d/02DBuGQQeh1cXg
Или вот, тоже пример из жизни. В том же 2018 году, я написал карточную игру "Очко 21" с теми же вводными (и знаниями языка Аперо) -> https://disk.yandex.ru/d/u01eW3MmaLM4Uw Весом в 60кб. И лишь недавно, в Статье #3 -> Рыба моей мечты #3 или кодим на Аперо своими руками Уместил (прототип) игры в 7 строк кода! Это меньше одного килобайта. Скажите, есть разница?
Но нет предела совершенству, допустим теперь от нас требуется ввести в игру подсчёт очков? Да, легко! - Одним движением руки (на что раньше у меня ушла бы пара вечеров к ряду).
И это не единичный случай. С ростом мастерства (знаний языка и умения его правильно использовать) можно добиться больших успехов в программировании. А у меня на этом всё. Не прощаюсь, до следующей встречи.
Будут вопросы? - Пиши. На сайте есть подробная документация (как надо работать с кодом и создавать на нём игры) -> https://apero.ru/Документация . Весь код написан на языке Аперо. Новичкам всегда готовы помочь старожилы проекта. А именно:
1) Александр -> https://vk.com/san90
2) Михаил1 -> https://vk.com/stalkersleem
3) Дмитрий -> https://vk.com/drkcrwn
4) Михаил2 -> https://vk.com/id17130734
5) Пашка -> https://vk.com/glumpa
Рыба моей мечты #12 It's me, Mario или Начнём всё сначала
Хочешь научиться кодить как боженька, но не знаешь с чего начать? Я помогу тебе в этом, начни с Аперо. Его может освоить каждый, даже ты (с нуля) за 5 минут. Если совсем зелёный, то тебе сюда -> Рыба моей мечты #2 или создаём игры на АПЕРО в 2 клика В данном уроке, мы повторим уже пройденный материал.
Вернёмся к Статье #4 -> Рыба моей мечты #4 или моя первая игра за 10 минут и освежим наши воспоминания. Здесь мы научились перемещаться по 2D-плоскости. В Статье #11 -> Рыба моей мечты #11 - Лабиринт или Ничего! Мы изучили трёхмерные и многоэтажные лабиринты. Сейчас же, отбросим эти дурацкие лабиринты в сторону. Наш герой просто стоит в чистом поле. И всё от него требуется (для победы) сделать 10 шагов в любую сторону.
Код максимально простой. Мы делаем шаг, счётчик увеличивается на один. И ходим до тех пор, пока он не будет равен десяти. Надеюсь это понятно? Вот код -> https://disk.yandex.ru/d/Jatz55cPHvsoZA
Дальше на очереди, у нас будет самый обычный (сильно упрощённый) кликер. Сделанный по аналогии, c котом из Статьи #6 -> Рыба моей мечты #6 Нет предела совершенству или гориллой из Статьи #9 -> Рыба моей мечты #9 или Ошибка на ошибке и ошибкой же погоняет Где тебе (тупо) надо нажать много раз одну кнопку (для победы). Код -> https://disk.yandex.ru/d/JqnWlJTVzDmszA
Вновь углубимся в само-повторы, взяв для примера текстовый квест из Статьи #8 -> Рыба моей мечты #8 или кручу-верчу, запутать хочу В этот раз, от игрока требуется найти (и подобрать) ключ, и открыть (им же) запертую дверь (и это не лабиринт). Повторяться не буду, код -> https://disk.yandex.ru/d/lTAVu8p7LGGVUA
Ну что, размяли серое вещество? - Впереди нас ждёт самое интересное, и мы начинаем. Давайте научимся работать с инвентарём. Это такое окошко (панель) в правом верхнем углу. Чаще всего, инвентарь используется для вывода важной информации. Игрок нашёл ключ, и ключ (как напоминание) для открытия двери появился в его инвентаре. Там же может находиться взятое игроком в руки оружие, кол-во патронов нему, жизни, броня и прочее, вплоть до подсказок (как это реализовано у меня, в игре "Испытание Лабиринтом")
Чтобы добавить в инвентарь предмет, достаточно написать \(_Спички=10) и они там появятся. Помимо декоративной функции, с инвентарём так же можно взаимодействовать. Тратятся спички командой \(_Спички=_Спички-1). Командой \(_Спички.локация="Количество") можно сделать гиперссылку на локацию "Количество". И это только малая часть доступного функционала. Более подробно это описано в Документации -> https://apero.ru/Документация
Вернём к нашим баранам (Спичкам) и напишем код для примера, где мы и будем тратить по одной наши (драгоценные) спички. Код интерактивной игры перед вами -> https://disk.yandex.ru/d/CL9iTjiZUKuNQw
Или вот ещё пример игры Камень-Ножницы-Бумага, цель победы - выиграть у противника 10 раз. Чистый рандом и никакого мошенничество, просто следите за моими руками. Код -> https://disk.yandex.ru/d/HbgmA5oGOWThQg
По тому же принципу построена и Викторина. Ответь правильно на 5 вопросов (по списку) и ты обязательно победишь. Только в этот раз были добавлены Переключатели, при нажатии на которые игрок выбирает один из нескольких (доступных) ответов. Нажатие на \ПЕРЕКЛЮЧАТЕЛЬ (Ответ, "Учись Хорошо") будет автоматически приравнено к \(Ответ="Учись Хорошо") Код -> https://disk.yandex.ru/d/mXfTv1PUQVdRtw
Будут вопросы, пиши. На сайте есть подробная документация (как надо работать с кодом и создавать на нём игры) -> https://apero.ru/Документация . Весь код написан на языке Аперо. Новичкам всегда готовы помочь старожилы проекта. А именно:
1) Александр -> https://vk.com/san90
2) Михаил1 -> https://vk.com/stalkersleem
3) Дмитрий -> https://vk.com/drkcrwn
4) Михаил2 -> https://vk.com/id17130734
5) Пашка -> https://vk.com/glumpa
Рыба моей мечты #11 - Лабиринт или Ничего!
Хочешь научиться программировать и не знаешь с чего начать? Я помогу тебе определиться с выбором. Аперо, это язык программирования начального уровня, с которым может справится даже школьник. Если ты совсем новичок и не понимаешь о чём идёт речь, тебе сюда -> Рыба моей мечты #2 или создаём игры на АПЕРО в 2 клика И всего за 5 минут ты напишешь свою первую онлайн игру. Данный урок, будет снова посвящён созданию лабиринтов.
Какие типы Лабиринтов вообще существуют? - Кто из присутствующих может мне их назвать? Пнятненько... Лабиринт, это в первую очередь маршрут из точки А в точку Б. Назовём такой 2D-Лабиринт, обычным. Именно о нём, я вам и рассказывал вам 4-ом уроке. Вот его код, повторяться не буду -> https://disk.yandex.ru/d/HY3eE9QN1egWAA
Так же, активно используются фишки с порталами, многоэтажные и трёхмерные лабиринты (в 2D плоскости), включая дополнительные условия победы (по типу рычагов, ключей).
1. В чём фишка Порталов? - Они нужны что ещё больше запутать игрока. Код -> https://disk.yandex.ru/d/vB0zUR7ItBLXPA
Всего четыре портала на карте и они односторонние (т.е. работают в один конец). Из клетки 45 -> 47, из 65 -> 63, из 57 -> 52, из 53 -> 58.
2. Двигаемся дальше, игроку надо найти Ключ и с ним вернуться обратно до финиша. Код -> https://disk.yandex.ru/d/RiLl1U16zxepZA
Помимо ключа, можно добавить условия по-типу:
- ограничений по времени, по истечению которого игрок проигрывает игру. Код -> https://disk.yandex.ru/d/hgy0b-wnni1_kw
- изменение пройденного пути, после нажатия на рычаг (скрытую в лабиринте ловушку). Код -> https://disk.yandex.ru/d/iI2Na2OzYDD7Qw
- всевозможных ловушек (ям-порталов) с принудительным перемещением на нижние этажи. Открывая двери многоэтажным лабиринтам, код -> https://disk.yandex.ru/d/iM3UZW2dXWpQPg
3. Пример реализации простенького десятиэтажного лабиринта, где перемещение осуществляется по кругу (незаметно для самого игрока). Код -> https://disk.yandex.ru/d/cwq7589Cv9WLtA
Более сложный пример многоэтажного лабиринта (Петлёй Мёбиуса). Код -> https://disk.yandex.ru/d/3UB-gvc3sw0IDA
3D-лабиринты в первую очередь многомерны и содержат в себе (бесшовные) для игрока под-этажи, в пределах 2D-плоскости. Скажем так, игроку надо забрать ключ под мостом (месте, куда явно нельзя идти). А затем вернуться обратно. Сначала он (как бы) спускается вниз и (незаметно для себя) начинает понимать, что этаж то вроде бы тот же, а локация уже другая. Код -> https://disk.yandex.ru/d/uQEKABcfJ5LsCQ
Мне просто очень нравятся лабиринты, ничего не могу с собой поделать. Если интересно, накидайте в комменты идей -> что конкретно вам хотелось бы реализовать на Аперо? Просто есть возможность написать визуальную новеллу, с анимацией, музыкой и диалогами. Что скажите?
Если у тебя возникнут вопросы, то на сайте есть подробная документация (как надо работать с кодом) -> https://apero.ru/Документация . Код написан на языке Аперо. Новичкам всегда готовы помочь старожилы проекта. А именно:
1) Александр Розява -> https://vk.com/san90
2) Михаил Петушков -> https://vk.com/stalkersleem
3) Дмитрий Спальчик -> https://vk.com/drkcrwn
4) Михаил2 Рубля -> https://vk.com/id17130734
5) Пашка Сметана -> https://vk.com/glumpa