Devlog #1 Вступительное видео. Месяц изучения кода. Первые результаты. Предыстория.

  Рет қаралды 1,971

Art Drop

Art Drop

Ай бұрын

Если быть более точным с 3 апреля 2024 приступил к изучению кода. Стоит также сказать что у меня есть работа, как вы поняли: я преподаватель танцев и это по мимо личных тренировок. Поэтому времени на геймдев и силы ограничены, но последние время я умудряюсь занимать этим все свободное время. Не стоит за мной повторять, или считать что много работать это правильно, у каждого свои возможности и приоритеты и желания.
Еще важно: я сказал что нет тактических игр: я имел ввиду игр где ты управляешь от 1 до 4 человека с ролевой боевой проработанной системой и случайной генерацией. Например: Battle brathers и рогалик и тактика, но мне не заходит идея управления огромного количества отряда, а если играть в соло игроком, больна скудна на умения и возможности боя, ну и карты всегда открытые. Игра отличная, шикарная, вдохновляюсь с ее механик, но как игра не на меня.

Пікірлер: 36
@mejnav
@mejnav Ай бұрын
Желаю удачи в непростом пути геймдевелопера!
@zeroQuantumNull
@zeroQuantumNull Ай бұрын
Баги геймдева неисповедимы)))
@argon9113
@argon9113 Ай бұрын
Совет от опытного разработчика: посмотри как пользоваться гитом, ибо это механика сохранения как в играх но для кода, теория простейшая и даже для мелких проектов сохранит время и нервы, ибо появится возможность вернуться в прошлое к другим сохранениям
@user-by2zb2oi6y
@user-by2zb2oi6y Ай бұрын
Привет-привет) Чувак, ты очень крут, что так перешагнул через себя и решил изучать программирование - безумно напомнило меня самого, когда я только начинал писать игры ещё в школе на Pascal. Также делал нечто навроде рогалика, и, даже получалось делать процедурную генерацию островов, очень недурно выглядящих, пхп Сам уже почти 6 лет работаю на Unity + C#, и, могу от себя дать несколько советов. 1. У тебя сейчас очень начальный уровень знания программирования - в этом нет ничего плохого, все мы с этого начинали, но, главное не вляпаться на этом этапе в ошибки, которые допускают огромное количество новичков. А именно: 1.1. Не занимайся лишней оптимизацией, не гоняйся за мнимыми улучшениями производительности до тех пор, пока не поймёшь, что это на самом деле нужно. Оптимизировать код по мере необходимости легко, а тратить время на оптимизацию в самом начале, когда плохо разбираешься в теме - очень серьёзная ошибка, которая может убить огромное количество времени. 1.2. Очень скоро проект начнёт становиться огромным, в одном файле будет адовое количество кода, но, что куда ужаснее, весь этот код будет в основном методе (Main). Для того, чтобы в дальнейшем было проще поддерживать игру, старайся делить её логику на методы по максимуму. Это называется декомпозицией - деление одной сложной работы на несколько работ поменьше. Чем больше таких маленьких кусочков будет, тем лучше, самое крутое, что их можно будет переиспользовать. В дальнейшем переноси такие методы в отдельные файлы, группируй их. Так у тебя самостоятельно начнёт формироваться представление, что код игры можно разделить на различные "модули" (например, модуль логики врагов, модуль логики предметов, модуль логики генерации карт и т.д.). 2. Веди диздок, записывай мысли, идеи. Почитай, что такое MDA (Mechanics, Dynamic, Aesthetics), попробуй разложить свою игру на эти составляющие, после части игры на эти составляющие, и т.д. и т.п. 3. Не пренебрегай литературой по программированию, особенно, от зарекомендовавших себя авторов. Для начала хорошим вариантом могут быть две книги - "чистый код" (очень полезна в начале) и "чистая архитектура" (потребуется далее) за авторством Роберта Мартина, он же Дядюшка Боб. Это, пожалуй, обязательный список литературы для каждого начинающего программиста, пхп. Также настоятельно рекомендую почитать "Паттерны программирования игр", за авторством Роберта Нистрема. Она может показаться чуть сложной, но, это крайне полезная литература для начинающих программистов в геймдеве. 4. Прочитай про паттерн MoSCoW - это о приоритетах и о том, как определять важность задач. Всегда старайся расписывать план работ, не обязательно подробный, но хотя бы примерный. Если в процессе программирования понимаешь, что тут классно было бы реализовать ту или иную идею, поправить код или пр. - обязательно вноси в список задач, а после, как будет время, раскидывай их по приоритетам, что более важно, а что менее. 5. Как уже писали выше, GitHub в процессе разработки - наше всё. Как минимум, это постоянный бэкап, на случай, если вдруг с ПК или жёстким диском что-нибудь случится. Есть много ещё всего, что можно описать, но также если тебе самому интересно что-нибудь - пиши, может, что подскажу, смогу чем-нибудь быть помочь. Формат классный и ламповый, однозначно лайк и подписка)
@System-Chaos
@System-Chaos Ай бұрын
Спасибо, все по делу, прислушаюсь. Скопировал твой коммент, чтобы следовать ему, кстати на методы уже делю)
@anolegych
@anolegych Ай бұрын
Замечательная идея насчет аккумуляции знаний в экселе! Для моего текущего изучения прекрасно, и я возьму это на вооружение. Изучаю С++, пока в самом начале пути, уроки конспектирую в IDE с помощью комментов. Но еще я в данный момент осваиваю программу Obsidian в частности и метод Зеттелькастен в целом, и общую базу знаний планирую полностью вести там. Если вкратце, составляю личную Вики по интересным областям знаний. Крайне советую хотя-бы ознакомиться) И я тоже хочу заниматься геймдевом. Вообще, я инженер по медицинской технике, и геймдев для меня-отправная точка для воплощения идеи максимум-создания своего аналога хирургического робота ДаВинчи, максимально крутой и безумно дорогой штуки) Первый шажок для этого сделан-выклянчил у хирургов на работе использованный инструмент от этого робота😅 Это, фактически, тоненькая рука, которая может двигаться как кисть человека, только с двумя пальцами.
@System-Chaos
@System-Chaos Ай бұрын
Интересно и безумно) успехов! эксель решает)
@ilhanilhanDev
@ilhanilhanDev Ай бұрын
Cool!Keep going!
@Zaveshaa
@Zaveshaa Ай бұрын
Круто у тебя namespace назван. Но проект прикольный)
@frozenplay1417
@frozenplay1417 Ай бұрын
Чувак, очень классное и ламповое видео. Хочу сказать - изучи как работает гит, пойешь все за два-три дня и тогда сможешь создавать версии и откатывать назад, то есть ты говорил что ты забросио игру из за того что не смог доделать фичи, а с гитом ты бы просто вернулся назад по ветке и норм😊😊
@System-Chaos
@System-Chaos Ай бұрын
Спасибо, да мне уже подсказали, но ничего, я просто хотел размять пальцы и вот делаю уже другую)
@frozenplay1417
@frozenplay1417 Ай бұрын
@@System-Chaos Хорошо, тогда удачи тебе в этом деле)
@38koshakov
@38koshakov Ай бұрын
сам я тоже решил взяться за программирование.несколько лет назад в универе изучал да и год назад еще юнити поковырял. щас вот думаю дотянуть свой уровень до минимального для трудоустройства. в основном мне как раз геймдев и интересен. вообще идея походу изучения делиться результатом в видеоформате должна мотивировать особенно при наличии полезных советов от зрителей. единственное, что мало кода показал, было бы интересно посмотреть. да и может перекинуться парой слов? не против?
@System-Chaos
@System-Chaos Ай бұрын
можно, конечно) глянь новое видео я там более подробно рассказываю о коде, вышло 5 мин назад)
@gindipol2520
@gindipol2520 Ай бұрын
Очень хочется посмотреть что получиться в конце. Такой вопрос, знаком ли с каналом Романа Сакутина, он программист с 10 летним стажем, у него есть бесплатные курсы по С# и Unity на ютуб канале, может они тебе помогут в будущем. Не сдавайся, очень хочется посмотреть на конечный результат.
@System-Chaos
@System-Chaos Ай бұрын
я начинал с его 10 часовогок курса, но они плохо объяснилит функции и на 5 часу где они начали делать пакмана я свернул видео и открыл канал с Simple Code и начал заного изучать его видео) Но думаю что да, помогут, все молодцы, благодарен каждому кто дает информацию, и каналу сакутина и симпл коду.
@BlaCKM00n333
@BlaCKM00n333 Ай бұрын
3:13 на какой графике? USQL? если ты про ASCII то она произносится как "аскии" западные гейм дев блоггеры рекомендуют не начинать свой путь с двух вещей: ммо и рогалики. ммо потому что неткодинг это адский ад, а рогалики потому что в них много подводных камней. например случайная генерация в играх не должна быть случайной. заметил как у тебя генерируются недоступные для игрока пустоты? это крайне неэффективно. рекомендую поискать про генерацию подземелий в TES Daggerfall. да и в принципе максимально изучать тему перед тем как её реализовывать. хорошая генерация должна быть как в dwarf fortress - очень многоуровневая и зависящая от тысяч параметров на многих слоях. надо ли говорить сколько лет на это нужно потратить? опыт, опыт, и ещё раз опыт. набивать шишки, и учиться. универсальный совет 1: учись кодить так чтобы вернувшись к свему коду через месяц или год ты смог бы его понять. преставь себе что ты в будущем будешь это читать напрочь забыв что для чего и как. заранее объясняй будущему себе каждую строчку кода. но не в комментарии рядом, конечно же, а просто делай прозрачную логику. универсальный совет 2: сначала релиазуешь гипотезу. любой ценой. грязный огромный нечитаемый код - нармальна. проверяешь гипотезу, правишь баги. как только она работает и работает правильно - остановись. сходи отвлекись, подыши воздухом, понаблюдай за улицей, разомнись. возвращаясь к коду не приступай к следующей задаче. перепиши всё красиво и понятно для будущего себя. это то что мы называем рефакторингом. чем дальше откладываешь момент рефакторинга тем большую яму ты себе выкапываешь. в процессе этого ты заодно и будешь пассивно учиться критически важному навыку - пониманию архитектуры кода и проектированию систем. универсальный совет 3: стремись к минимальному дубляжу кода. если один и тот же код встречается два раза - остановись и подумай. возможно здесь нужен метод. возможно в будущем этот же код понадобится третий и четвёртый раз. будущий ты получит маленькую но приятную и очень нужную дозу дофамина когда поймёт что не нужно ничего писать ещё раз или копипастить. из этого вытекает совет 3,5: думай об универсальности. generic код это то к чему индустрия стремилась десятилетиями. а люди скипают эту тему из-за лени разбираться. зря. универсальный совет 9001: не существует ПРАВИЛЬНОГО способа погромировать. серьёзно. все эти советы, практики, принципы, парадигмы, паттерны, etc - всё это лишь инструменты. гвоздь можно забивать молотком. а можно и плоскогубцами. а можно и просто чем-то твёрдым. кто-то даже руками умеет. никогда не придерживайся строго чего-то одного. человек который говорит тебе кодить вот ТАК, и ТОЛЬКО так, и никак иначе - это человек просто загнавший себя в уютные ему рамки и который боится развиваться и расти над собой. когда тебе навязывают строго что-то одно, например что "основной конструктор должен быть самым последним в списке конструкторов", включай скептика. в целом скептика лучше вообще не выключать. кодинг это безграничный космос. если будешь летать строго по отмеченным путям - можешь никогда не найти космическое чудо которое изменит всю твою жизнь.
@user-yj1on3bf1v
@user-yj1on3bf1v Ай бұрын
Лучше хорошо ООП освоить, классы всех типов, перегрузки методов и тому подобное. Практиковаться на чем-то мелком, чисто руку набить и запомнить. А вот проекты сложные начинать уже после, иначе постоянно будут затыки как с первой игрой.
@System-Chaos
@System-Chaos Ай бұрын
верно) я просто увлекся) методы перегрузки уже применяю, ооп в изучении, в других видосах я это упомянул)
@DobinSergei
@DobinSergei 24 күн бұрын
Лучше сначала составить подробный диздок, все свои хотелки как должна выглядеть игра. Чтобы заранее увидеть что это невыполнимо, или фигня которая не стОит того чтобы даже начинать. Иначе могут впустую уйти годы чтобы понять это. Говорю на своём опыте.
@user-yj1on3bf1v
@user-yj1on3bf1v 24 күн бұрын
@@DobinSergei понятное дело, что надо в начале представлять конечную игру и примерно можешь ли ты реализовать. Но тут проблема глубже .Я сам с таким столкнулся. Начал серьезно игру делать, а в итоге понял, что не тяну по шейдерам и рисованию. Проблема в том, что без опыта создания простых игр не ясно какие подводные камни будут и где тебе не хватает знаний. Так что проблемы неизбежны. Лучше начинать условные змейки делать и выпустив 10-20 игр разноплановых браться за что-то серьёзнее уже.
@user-dc2gb9zi7v
@user-dc2gb9zi7v Ай бұрын
Добрый день, чисто теоретически с алгоритмами и кодом могу помочь) дело интересное делаешь, продолжай в том же духе!) думаю если посмотрю на код этой игры, смогу пофиксить, у вас есть акк на гитхаб?
@System-Chaos
@System-Chaos Ай бұрын
нет) но будет. пока сам хочу все фиксить, по мере изучения кода, этот проект не более чем отработка полученных знаний с долей творчества.
@fgdfgfvgdfgg5517
@fgdfgfvgdfgg5517 Ай бұрын
похоже на Dwarf Fortress немного)
@DobinSergei
@DobinSergei 24 күн бұрын
Скорее Lode Runner вид сверху.
@payrgames
@payrgames Ай бұрын
Скинешь Excel таблицу? Интересно было бы почитать
@System-Chaos
@System-Chaos Ай бұрын
Хммм))) думаю переведу в гугл док, чтобы все могли почитать)
@System-Chaos
@System-Chaos Ай бұрын
docs.google.com/spreadsheets/d/1iGRpknVPZepppxlmMRdfTSwTsa2yxw4Tam-IVm2Qs60/edit?usp=sharing
@user-mp7lq3cu9c
@user-mp7lq3cu9c Ай бұрын
если нет цели стать Кадзимой, то лучше её поставить, а иначе шляпа получится)
@System-Chaos
@System-Chaos Ай бұрын
Но тут дело в том что я не фанатею с его игр, меня вдохновляют разработчики battle brathers, spelunky. Но понятное дело что в пол пальца ничего не сделать, нужно вкладываться.
@user-mp7lq3cu9c
@user-mp7lq3cu9c Ай бұрын
@@System-Chaos дааа, вкладываться так, что, иной раз думаешь: "а назрен оно надо" )
@doodocina
@doodocina Ай бұрын
что с кодом в начале? зачем проверка на наличие врагов? если врагов 0, то цикл не запустится
@System-Chaos
@System-Chaos Ай бұрын
это в прошлом, я уже не помню что и зачем, щас другой проект
@doodocina
@doodocina Ай бұрын
@@System-Chaos не нужно помнить, что и зачем. нужно смотря на любой код понимать, что он делает, вне зависимости от проекта. мне, как программисту, это режет глаза просто)
@System-Chaos
@System-Chaos Ай бұрын
@@doodocina знаю, сейчас такого нет уже, это был первый проект, не думал про такие вещи тогда
I Made a Neural Network with just Redstone!
17:23
mattbatwings
Рет қаралды 558 М.
Универ. 13 лет спустя - ВСЕ СЕРИИ ПОДРЯД
9:07:11
Комедии 2023
Рет қаралды 4,3 МЛН
Каха инструкция по шашлыку
01:00
К-Media
Рет қаралды 8 МЛН
1❤️#thankyou #shorts
00:21
あみか部
Рет қаралды 83 МЛН
How to bring sweets anywhere 😋🍰🍫
00:32
TooTool
Рет қаралды 44 МЛН
Scintillation radiometer SRP-2 “Crystal”
25:43
Max Midas
Рет қаралды 507
Как ОПТИМИЗИРУЮТ ИГРЫ
11:00
Atix
Рет қаралды 366 М.
Учим Unity за 1 час! #От Профессионала
1:59:24
Хауди Хо™ - Просто о мире IT!
Рет қаралды 1,6 МЛН
ЗАХОТЕЛА В ТУАЛЕТ НА УРОКЕ в ROBLOX!
21:40
Family Play TV
Рет қаралды 501 М.
Я ВЫЖИЛ ПОСЛЕ ПАДЕНИЯ САМОЛЁТА!
27:28
EdisonPts
Рет қаралды 1 МЛН
Я прожил 100 Дней ЗА ГЛАДИАТОРА в Майнкрафт…
37:07
TumkaGames / Тумка :3
Рет қаралды 352 М.
skibidi toilet multiverse - season 09 (all episodes)
1:7:26
DOM Studio
Рет қаралды 3,4 МЛН