Создаем Игру "Змейка" на Python: Пошаговое Руководство
Привет, Pikabu! Сегодня мы погрузимся в мир программирования и создадим собственную версию классической игры "Змейка" на Python. Это не только весело, но и отличный способ улучшить ваши навыки в программировании. Полный код вы можете найти в моем канале - https://t.me/+NqX_NVmS2xU1MDcy.
Для начала убедитесь, что у вас установлен Python. Если нет, загрузите его с официального сайта Python. Затем установите Pygame, открыв терминал или командную строку и введя pip install pygame.
Создание окна игры
Давайте начнем с создания основного окна игры. Это делается с помощью следующего кода:
Этот код запускает базовое окно игры размером 640x480 пикселей.2. Разработка логики игры
Теперь добавим логику управления змейкой. Змейка будет представлять собой список сегментов, каждый из которых - это прямоугольник.
3. Добавление еды и счета
Теперь добавим функцию появления еды и отслеживания счета.
Поздравляю, теперь у вас есть работающая игра "Змейка" на Python! Этот проект не только увлекателен, но и помогает лучше понять основы программирования и разработки игр. Не стесняйтесь экспериментировать с кодом и добавлять новые функции. Удачи в вашем программировании!
Хорошая оптимизация ныне это редкость
Мемы по видеоиграм, IT и не только №15 ( 11 мемных картинок )
#черныйюмор
Когда решил вкачать Хиллера в Танка
Выглядит как план
Интернет, ты куда?
Как юрист стал разработчиком игр или что меня достало в юридической работе
Я пошел в профессию юриста добровольно, потому что искренне любил (да и люблю) эту профессию. Всякие суды, споры, разборы житейских ситуаций и прочее. И работаю в этой сфере уже более шести лет.
Но где-то несколько лет назад я начал сильно выгорать и начал изучать программирование. Чисто как хобби. Сначала это был язык Java, но потом понял, что нужно что-то для игр. И тогда открыл для себя игровой движок Unreal Engine и C++.
К слову, по программированию я создал свой канал на Ютубе, который быстро растёт по данной тематике, чему я рад. И я сейчас в процессе того, чтобы покинуть профессию юриста, тем более что есть офферы в сфере разработки игр.
Почему вообще я решил, что профессия юриста меня достала и решил сменить профессию? Рассказываю далее. Можно сказать, накипело:) а может моя история кого-нибудь замотивирует тоже сменить профессию.
Грязь
В юриспруденции ты сталкиваешься с такими ситуациями, после которых просто хочется смыть с себя то, что слышал/видел.
Например, был клиент, которому сотрудники полиции в отделении грозили физической расправой и дали пару ударов. Казалось бы, полиция. Не гопники, а сотрудники правоохранительных органов.
Видел как важные процессуальные бумаги пишутся задним числом - и хрен потом докажешь обратное.
В общем, иногда окунаешься в такую мерзость, что просто отвращение. И некоторые ситуации и люди неприятные. То мать пишет отцу, что их совместный ребенок ей нафиг не нужен, и отцы, которые вообще не помогают детям и скрываются от алиментов, то всякие пьяные драки в коммуналках из-за вони на кухни и прочее.
В общем, я давно уже принял тот факт, что это есть в нашей жизни. Но когда ты постоянно в этом болоте, то от него просто хочется вылезти и не возвращаться обратно.
Люди
Работа юриста - это всегда про работу с людьми. С судьями, прокурорами, клиентами. И к сожалению бывают крайне истеричные судьи, которые настолько замученные и выгоревшие, что просто с порога начинают орать. По ним видно, что они просто ненавидят людей.
Есть и клиенты, которые насмотрятся фильмов и сериалов про суды и потом учат, как тебя работать. Ну и в целом бывают неадекватные клиенты, которые хотят какие-то схемы провернуть, чтобы нагреть оппонента. Типа, сфальсифицировать доказательство какое-нибудь специально. Противно. Читал кстати, как один такой юрист пошёл на поводу у клиента и в итоге оказался на скамье подсудимых за подлог доказательств.
Однотипная работа
Поначалу работа юриста кажется бездонным океаном - то тут семейное право, то там миграционное, то там кто-то кому то Айфон «палёный» продал, то там сосед залил соседа снизу. В общем, дел куча и тебе интересно во всём этом лазить.
Но спустя пять лет работы я понял, что все дела плюс-минус похожи. Меняются только пару переменных и ФИО сторон. И это однообразие тоже изматывает. А нового, какой-нибудь экзотики, подкидывают редко.
Зарплата
Мне повезло, что мне удалось последние пару лет работать на себя, и я своим заработком доволен, но я понимаю, что в этой сфере, откровенно говоря, не так много платят.
Раньше - да, юристы могли брать пару дел и им этого хватало надолго. Сейчас же в этой сфере, если вы работаете на кого-то, то с деньгами не очень. Во-первых, юристов - куча. Каждый год университеты их выплевывают столько, что конкуренция огромная (да-да, я знаю что и с программистами так же). И некоторые юристы неадекватно демпингуют. Сначала это были бесплатные консультации, а теперь дошло и до того, что юристы пишут не самые легкие бумаги за гроши. Во-вторых, юрист со стажем 10 лет и более может зарабатывать от силы 70 000 рублей в Санкт-Петербурге, а то и меньше.
Потому что юридической компании проще нанять вчерашнего студента и платить ему меньше, чем нанимать ястреба юридической науки и платить ему большие деньги. Это не везде, но уже как правило.
И я сам работал с юристами, которые в профессии уже 15+ лет, а я тогда только начинал свой путь, и зарплаты наши были одинаково маленькими:) Только мне было лет 20, а моему коллеге - 40.
Поэтому я сейчас в плавном переходе в сферу разработки игр. И да, я прекрасно понимаю, что там тоже есть свои нюансы. Кранчи и прочее. Но юриспруденция тоже завязана сплошь на сроках и задержках (чего ожидания в судах только стоят). Пропустил что-то на один день - до свидания.
Поэтому так и получается, что работа юристом достала. И думаю что в скором времени полностью сменю профессию. Поэтому если вас тоже достала ваша работа - то будьте уверены, что за два-три года вы сможете получить знания в абсолютно противоположной сфере (главное, чтобы она вам нравилась), чтобы сменить профессию.
Мемы по видеоиграм, IT и не только №13 ( 9 мемных картинок )
Сможете найти на картинке цифру среди букв?
Справились? Тогда попробуйте пройти нашу новую игру на внимательность. Приз — награда в профиль на Пикабу: https://pikabu.ru/link/-oD8sjtmAi
#30. Как я в геймдев пытался попасть, ч.2
Я несколько раз уже пробовал попасть в геймдев-компании, но отсутствие релевантного опыта обычно являлось стоп-фактором даже для того, чтобы пройти фильтр резюме и попасть на первый этап с HR.
Поэтому я сильно удивился, когда ко мне за пару дней пришли сразу три HR из игровых студий с предложением пройти собеседования после того, как эксперт из прошлого поста порекомендовал меня в своих профильных чатах.
Видимо, сыграл мой большой и разносторонний опыт в управлении проектами: 10+ лет опыта на позиции менеджера проектов на разных ролях, начиная от классического человека-оркестра, заканчивая delivery-менеджером и скрам-мастером + в далеком прошлом я был fullstack-разработчиком (PHP+jQuery, ха-ха), поэтому технически тоже немного подкован.
Итак, пришли из Strikerz Inc. (на проект UFL), Playkot (на проект Age of Magic) и SABER (на проект Snowrunner). Самый короткий процесс был с последними: прошел только первый этап. Они искали проджекта под NDA-проект, схожий по тематике со Snowrunner. Очень мило и круто пообщались с HR в течение часа, как обычно, обсудили мой опыт, почему я решил пойти в геймдев («Мечта любого мальчишки заниматься разработкой игр»), она рассказала про их процессы, кто им нужен и почему. Через пару дней пришел отказ: «К сожалению, мы решили закрыть эту позицию внутренним переводом».
Классика отказов.
Я был уверен, что и следующие собеседования пройдут в том же ключе — максимум один этап с HR. Но с Playkot было уже по-другому. Это питерские ребята, которые делают очень крутые мобилки, но сейчас переехали в Сербию и их вакансии предполагали релокацию под ключ.
Был точно такой же очень крутой первый этап с HR: у них было открыто сразу две вакансии: в их топовый проект Age of Magic (установил перед собесом на мобилку, поиграл - очень красивые арт и дизайн там) и технически подкованного менеджера на управление проектов по инфраструктуре. Сразу собеседовался и туда, и туда.
Второй этап был с техническим директором. Прошло всё отлично, он погонял меня по техническим вопросам, я ответил практически на всё (я же пэхэпэ-разработчик в прошлом!) и без проблем меня позвали на следующий, финальный этап, где уже были лиды продукта. Точно также погоняли по менеджерским теории и практике. Технические вопросы показались мне немного странными для менеджера, что-то вроде — как осуществляется поиск в БД или чем отличается реляционная БД от нереляционной. На что-то ответил, на что-то нет. Как итог: пришел отказ после финального этапа, что, мол, недостаточно шарю в технических моментах. Эх, ну ладно, всё равно это был крутой опыт и безумно приятно было познакомиться с людьми из геймдева и пройти все этапы.
А вот про Strikerz Inc. стоит рассказать поподробнее.
Они оставили самые яркие и невероятные впечатления. Началось всё с того, что HR пришла с уточнением, актуально ли моё резюме и действительно ли я нахожусь в поиске работы. Она также рассказала кого они ищут, на какой проект и скинула ссылки на ютуб. Открываю, а там трейлер с презентации Gamescom!
Да это же футбольный симулятор UFL, прямой конкурент FIFA и PES! У них амбассадор сам Криштиану Роналду! Для меня, как фаната футбола в общем и футбольного симулятора FIFA в частности - это просто работа мечты! Я года два назад встречал их ролики на ютубе и был рад, что появляется хоть какая-то конкуренция в футбольных симуляторах. Без этой конкуренции EA практически перестала развивать свою игру.
HR спросила, может ли она показать моё резюме команде, куда ищут проджекта и после моего конечно же можно! согласия, сказала, что придет с обратной связью через пару дней. «Крутяк! — подумал я. — Конечно же, дальше не позовут, ведь нет релевантного опыта, но сам факт, что HR обратила на меня внимание и я прошел этот злосчастный фильтр - это очень приятно, на этом можно и остановиться».
Какого же было моё удивление, когда HR на следующий день пришла ко мне с предложением пройти первый этап!
В течение часа мы с ней подробно обсуждали мой опыт и скиллы, чем я занимался и как мой опыт можем помочь им в решение их текущих задач:
— У тебя ведь нет опыта работы в игровых компаниях, да? А давай поговорим подробнее, как ты себе процесс разработки игр представляешь?
— (Рассказываю всё, что знаю про исследование, проектирование, поиск инвесторов, работу издателей, разработку с привлечением в том числе аутсорса для рутинных задач, написание музыки, приглашение актеров озвучки, написание квестов, сценария, режиссура и многое-многое другое. Ого, оказывается, я много чего знаю про разработку игр). А еще есть разные технологии для захвата движения, например, motion capture.
— О, ты и про mo-cap слышал? Круто-круто, мы ведь стартовали в РБ, и когда заказывали супер-крутое и топовое оборудование для mo-cap - долго не могли его растаможить, так как никто не понимал, как правильно это сделать, ни мы, ни в таможне.
Оказалось, UFL делает СНГ-компания с инвестициями от топовых издателей. И нет больших языковых и культурных барьеров, чтобы комфортно для русскоговорящего работать над AAA-проектом мирового уровня. Работа мечты х2! Только вот главный офис находится на Кипре и, если мы договоримся, нужно будет переезжать либо к ним, либо в другую страну, где у них открыт офис. Поэтому HR спросила, готов ли я, если что, сразу к переезду? Да хоть на Луну!
В общем, это был невероятно крутой этап. Видно было, что HR сильно погружена в детали и технически подкована, с ней было безумно приятно общаться, поэтому оставил очень яркие впечатления этот первый этап. И, конечно же, как думал я в очередной раз — последний. Ведь у меня нет релевантного опыта, к тому же это проект мирового уровня. У них же Криш в амбассадорах! Куда уж мне. Мы договорились с ней, что она в любом случае придет с обратной связью, даже с отрицательной. После собеседования осталось классное послевкусие, при этом легко воспринимал мысль о возможном отказе.
Какого же было моё удивление, когда на следующий день HR вернулась с положительным фидбеком и сказала, что команда хочет позвать меня на техническое интервью!
:shocked:
Через пару дней созвонились с руководителем отдела и PM-лидом. Как и на первом этапе, я получил невероятные эмоции от самого процесса. Мы очень много говорили про их внутренние процессы, как у них всё устроено, про игры, технологии, новости, обсуждали различные кейсы, ситуации и как их разруливать в тех или иных случаях — в общем, классическое техническое интервью, но под соусом геймдева.
Безумно круто!
Мы общались чуть больше часа, после чего HR сказала, что они вернутся ко мне с обратной связью через пару дней. «Ну, вот тут-то точно всё, я и так уже сли-и-и-ишком далеко зашел, ну какой тут еще следующий этап, хватит, получил положительные эмоции - хватит на этом». Следующие пару дней я пребывал в прекрасном расположении духа и был уверен, что придут с отказом.
И-и-и-и…. Какого же было моё удивление, когда HR в итоге пришла с такой обратной связью: «Глава подразделение хочет позвать тебя на третий этап, познакомиться, пообщаться. Готов ли ты дальше к общению?».
Что-о-о?! Конечно же готов!
Итак, третий и финальный этап. И он тоже был один из самых интересных и своеобразных. А причиной этого — сам глава подразделения. Он был максимально неординарным и необычным. HR, конечно, предупредила меня об этом и я был готов к любому повороту событий.
Он сходу задал такой первый вопрос: «Jukka, ты же скрам-адепт, давай убеди меня, что скрам это хорошо». И я сначала подумал: «Что? Скрам-адепт? Кто? Я?? Что происходит? Где я?», но чуть позже я втянулся в такую его манеру собеседования.
Было много необычных и интересных вопросов от него «на подумать», что-то вроде: «В чем ценность проджекта на проекте? А в скраме? В скраме же любой может выполнять роль скрам-мастера? А давай уберём проджекта из скрам-команды, что будет? А чего не будет?» И так далее.
Ох, это было сложно и я явно был не к такому готов. И это еще один очень крутой и полезный опыт в копилку моих собеседований.
Даже финал этого собеседования был необычен:
— Слушай, Jukka, ну как всё прошло по твоему? Как тебе собеседование?
— Ммм… Интересно, но достаточно сложно, если честно.
— А почему?
— Было много действительно необычных вопросов, которые мне редко задают на собеседованиях.
— Так, хорошо, а было ли что-то такое, чем я тебя зацепил?
— Да нет… А хотя, было необычно слышать, что я скрам-адепт.
— Почему? Мне вот коллеги передали, что ты на техническом собеседовании так говорил.
— Не-е-е, это один из вопросов был такой: по какой методологии мне больше нравится работать, вот я и ответил, что по скраму. Хотя прекрасно понимаю, что всё зависит от проекта: где-то подойдет каскадная модель, где-то гибкая и нельзя везде всё время пихать тот же скрам.
— Вот как? А что тогда в начале мне об этом не сказал?
— Да я сначала не понял, к чему это вы. Сейчас вот как раз и говорю.
Был еще небольшой small-talk, поговорили про зарплату, условия, переезд, после чего закончили. Это была пятница и к следующей среде мне обещали прийти уже с обратной связью — либо оффер, либо нет.
К вечеру среды пришла HR и попросила еще немного времени на принятие решения до конца недели. В конце недели ко мне так никто и не пришел. Пинговал их в понедельник — тишина. Ну, значит вот так всё закончилось, ладно, зато опыт и эмоции были потрясающие.
К среде HR всё же пришла с самым милым отказом за все мои собеседования:
— Jukka, прости нас, пожалуйста, за такое длительное ожидание, просто всё это время мы думали и пытались принять очень сложное решение по твоей кандидатуре. И в итоге поняли, что мы тебе не подходим: у нас релизный год, очень много нервов и огромный уровень стресса и переработок, мы боимся, что эмоционально тебе будет очень сложно с нами. Давай оставаться на связи и после релиза, если у нас будут свободные вакансии, обязательно с тобой свяжемся.
Вау! Даже отказы у них крутые и милые.
И действительно, я обычно строю свою стратегию на собеседованиях исходя из того, что всем должно работаться в команде комфортно, без лишнего стресса и поддерживать хорошую атмосферу, но при этом соблюдать дедлайны и график. Некая золотая середина.
И если бы мне всё же предложили оффер - нужно было за свой счёт переезжать в условную Грузию, открывать там ИП, заключать с ними договор на испытательный срок, а после - релоцироваться уже под ключ на Кипр. Всё очень сложно и очень затратно.
Поэтому, возможно, это даже к лучшему.
Учитывая, что в тот же день через несколько часов мне пришел оффер от МТС. Такие вот эмоциональные качели.
Энивэй, я понял, что могу спокойно в будущем войти практически в любой игровой проект, количество и качество моего опыта перекрывает тот факт, что он нерелевантен геймдеву. Главное сейчас подтянуть свой английский и закрыть те пробелы, которые показали мне на собеседованиях эти три студии.
Если я, конечно, со временем не потеряю интерес в геймдеву :)