ursina engine
Простой опенсорсный игровой движок, который может в 3d и к тому же, работает на питоне.
Такие штуки, лучше сразу смотреть в действии. https://youtu.be/DHSRaVeQxIk [англ.]- достаточно подробный туториал, отдельный респект - прежде чем переходить к написанию “клона minecraft”, немного объясняются основы самого движка(для меня загадка, почему подобное не стало правилом хорошего тона во всех туториалах).
Объективно - впечатляет, механика строительства уложенная в 30 строк кода. Эти 30 строк - один из примеров, выложенных самим автором движка, в видео выше его как бы разбирают и дописывают. Другие примеры есть на github, их разбор, а также некоторые технические моменты о движке, можно посмотреть в видео - https://youtu.be/aCpBzdciU0o [англ.]
Вся документация, а также несколько туториалов есть на офф. сайте - https://www.ursinaengine.org/documentation.html
У движка есть канал на ютуб, на нем всего два видео, трейлер движка и показ внутриигрового редактора уровней - https://youtu.be/Zn9aCWyoG-I
Пока, движок не очень известен(как мне кажется, в этом случае, популярность - вопрос времени), и уч. материалов по нему очень мало. В любом случае, он развивается, к тому же проект достаточно интересный, время от времени буду чекать куда все движется.
#gamedev #python
Простой опенсорсный игровой движок, который может в 3d и к тому же, работает на питоне.
Такие штуки, лучше сразу смотреть в действии. https://youtu.be/DHSRaVeQxIk [англ.]- достаточно подробный туториал, отдельный респект - прежде чем переходить к написанию “клона minecraft”, немного объясняются основы самого движка(для меня загадка, почему подобное не стало правилом хорошего тона во всех туториалах).
Объективно - впечатляет, механика строительства уложенная в 30 строк кода. Эти 30 строк - один из примеров, выложенных самим автором движка, в видео выше его как бы разбирают и дописывают. Другие примеры есть на github, их разбор, а также некоторые технические моменты о движке, можно посмотреть в видео - https://youtu.be/aCpBzdciU0o [англ.]
Вся документация, а также несколько туториалов есть на офф. сайте - https://www.ursinaengine.org/documentation.html
У движка есть канал на ютуб, на нем всего два видео, трейлер движка и показ внутриигрового редактора уровней - https://youtu.be/Zn9aCWyoG-I
Пока, движок не очень известен(как мне кажется, в этом случае, популярность - вопрос времени), и уч. материалов по нему очень мало. В любом случае, он развивается, к тому же проект достаточно интересный, время от времени буду чекать куда все движется.
#gamedev #python
YouTube
Creating Minecraft in Python [with the Ursina Engine]
A basic tutorial on how to create Minecraft in Python by using the Ursina Game Engine. This also includes a general introduction to the engine itself.
Timestamps:
0:00 - Intro
1:24 - The basics of Ursina
15:49 - Creating Minecraft style blocks
35:25 - Creating…
Timestamps:
0:00 - Intro
1:24 - The basics of Ursina
15:49 - Creating Minecraft style blocks
35:25 - Creating…
Раз коснулись minecraft в прошлом посте, а следующий о roguelike играх, нельзя не упомянуть о целой группе, очень интересных, но в тоже время сложных задач - процедурной генерации.
Смотрите, с точки зрения игрового процесса, фишка minecraft - в самой механике строительства(ну и очевидно, крафта), но с точки зрения разработки, самое важное и сложное - генерация мира(с этим, к сожалению, у урсины все немного печально, но тут сложно придраться, поскольку сам автор оставляет дисклеймер в коде ‘клона’ игры о том, что решение в данном случае не масштабируется на большую карту).
Чтобы понять в чем состоит сложность, можно ознакомится с решением более простого варианта задачи. Генерация простой карты островов - https://youtu.be/0emj42Bn-_Y [есть автоматический перевод в субтитрах, но он - оставляет желать лучшего]. Даже для такой несложной задачи, уже приходится использовать достаточно сложные метод решения - шум Перлина. И это без 3d, без излишней детализации и т.д. и т.п.
Это точно не история для новичков, тут скорее стык программирования с математикой, но это невероятно интересная область. К тому же она достаточно популярна, можно найти кучу контента на тему, от очень поверхностного в плане кода и математики(но от этого, не менее интересного), до требующих достаточно глубокого знания мат. аппарата.
#gamedev #python
Смотрите, с точки зрения игрового процесса, фишка minecraft - в самой механике строительства(ну и очевидно, крафта), но с точки зрения разработки, самое важное и сложное - генерация мира(с этим, к сожалению, у урсины все немного печально, но тут сложно придраться, поскольку сам автор оставляет дисклеймер в коде ‘клона’ игры о том, что решение в данном случае не масштабируется на большую карту).
Чтобы понять в чем состоит сложность, можно ознакомится с решением более простого варианта задачи. Генерация простой карты островов - https://youtu.be/0emj42Bn-_Y [есть автоматический перевод в субтитрах, но он - оставляет желать лучшего]. Даже для такой несложной задачи, уже приходится использовать достаточно сложные метод решения - шум Перлина. И это без 3d, без излишней детализации и т.д. и т.п.
Это точно не история для новичков, тут скорее стык программирования с математикой, но это невероятно интересная область. К тому же она достаточно популярна, можно найти кучу контента на тему, от очень поверхностного в плане кода и математики(но от этого, не менее интересного), до требующих достаточно глубокого знания мат. аппарата.
#gamedev #python
YouTube
Understanding Simple Perlin Noise - Generating Islands
The colors ended up a little wonky, but this is a quick look at using Perlin Noise to simulate elevation and create your own islands! If you wanted to expand on this project, there is a lot you can do, for example...
- Use another layer of Perlin Noise…
- Use another layer of Perlin Noise…
https://youtu.be/ks4MPfMq8aQ
На канале sentdex есть серия видео посвященная созданию бота для гта5 на opencv. И это один из лучших туториалов по теме(возможно даже лучший).
Не в последнюю очередь, благодаря такой эффектной презентации, все таки это может быть и упрощенная, но все же модель беспилотного автомобиля, в очень упрощенной, но все же крайне проработанной модели реального мира.
Вообще, гта5 идеальная песочница для подобных проектов, и если понять как они строятся, то все ограничится разве что фантазией разработчика.
Например, далеко ходить не будем, связанные так же с автомобилями:
-Разные системы помощи водителям:
-- определение и подсвечивание дорожных знаков, можно усложнить и добавить реакцию на них, например сброс скорости при знаке ограничивающим онную
-- система автономного экстренного торможения автомобиля(эта штука сейчас есть в куче серийных автомобилей, можно попробовать сделать упрощенную или наоборот более умную модель(например выполняющую объезд препятствия))
-- паркинг, благо в игре куча парковок на любой вкус и цвет
Это крутые, и в тоже время очень не сложные(проект из видео в разы сложнее описанных) в реализации проекты.
Как и другие туториалы с канала sentdex, этот имеет текстовую версию - https://pythonprogramming.net/game-frames-open-cv-python-plays-gta-v
Так же на самом канале куча других туториалов по питону, машинному обучению и прочим технологиям. На sentdex очень качественные туториалы, единственный минус которых, разве что отсутствие перевода.
P.S. важный момент, за такие эксперименты можно улететь в бан. Насколько я понимаю, Роки время от времени бьют банхаммером, и удары эти не то чтобы сильно разборчивы, так что даже если бот не делает ничего плохого, это не значит, что отлета в бан не будет.
Очевидно, не стоит пробовать такое в онлайне, можно еще сильней перестраховаться заиметь отдельный акк с игрой(например многие в свое время взяли ее в егс, на по сути пустые аккаунты, сильно жаль которые не будет).
Специально неделю назад потестил этого бота, запускал разные версии, чуть менял, собирал крупных размеров дату(раз пять точно), и вроде бы все норм, но для этого взял игру на новый акк, с основного так бы делать точно не стал.
#ии #youtube #python #opencv
На канале sentdex есть серия видео посвященная созданию бота для гта5 на opencv. И это один из лучших туториалов по теме(возможно даже лучший).
Не в последнюю очередь, благодаря такой эффектной презентации, все таки это может быть и упрощенная, но все же модель беспилотного автомобиля, в очень упрощенной, но все же крайне проработанной модели реального мира.
Вообще, гта5 идеальная песочница для подобных проектов, и если понять как они строятся, то все ограничится разве что фантазией разработчика.
Например, далеко ходить не будем, связанные так же с автомобилями:
-Разные системы помощи водителям:
-- определение и подсвечивание дорожных знаков, можно усложнить и добавить реакцию на них, например сброс скорости при знаке ограничивающим онную
-- система автономного экстренного торможения автомобиля(эта штука сейчас есть в куче серийных автомобилей, можно попробовать сделать упрощенную или наоборот более умную модель(например выполняющую объезд препятствия))
-- паркинг, благо в игре куча парковок на любой вкус и цвет
Это крутые, и в тоже время очень не сложные(проект из видео в разы сложнее описанных) в реализации проекты.
Как и другие туториалы с канала sentdex, этот имеет текстовую версию - https://pythonprogramming.net/game-frames-open-cv-python-plays-gta-v
Так же на самом канале куча других туториалов по питону, машинному обучению и прочим технологиям. На sentdex очень качественные туториалы, единственный минус которых, разве что отсутствие перевода.
P.S. важный момент, за такие эксперименты можно улететь в бан. Насколько я понимаю, Роки время от времени бьют банхаммером, и удары эти не то чтобы сильно разборчивы, так что даже если бот не делает ничего плохого, это не значит, что отлета в бан не будет.
Очевидно, не стоит пробовать такое в онлайне, можно еще сильней перестраховаться заиметь отдельный акк с игрой(например многие в свое время взяли ее в егс, на по сути пустые аккаунты, сильно жаль которые не будет).
Специально неделю назад потестил этого бота, запускал разные версии, чуть менял, собирал крупных размеров дату(раз пять точно), и вроде бы все норм, но для этого взял игру на новый акк, с основного так бы делать точно не стал.
#ии #youtube #python #opencv
YouTube
Intro and Screen reading - Python plays Grand Theft Auto V p.1
The purpose of this project is to use Python to play Grand Theft Auto 5. There are many things to do in GTA V, but our first goal will be to create a self-driving car, well scooter in this case.
The idea of using GTA V is that it is such a massive, open…
The idea of using GTA V is that it is such a massive, open…
В дополнение к предыдущему посту
https://youtu.be/KecMlLUuiE4 серия видео[англ.] с канала Learn Code By Gaming, в ней автор пишет игрового бота, так же с opencv, все очень простенько и подробно, и так же как у sentdex-а есть текстовые варианты.
Есть небольшой минус - код не очень pythonic style(автор явно не python разработчик), это не прям чтобы плохо, тем более в туториале, но этот момент все же надо учитывать.
P.S. как и предыдущем посте, напомню, за такие эксперименты(тем более в онлайне, где подобное делать ну совсем не стоит) можно улететь в бан. Впрочем, автор говорит об этом в начале видео.
#ии #python #youtube #opencv
https://youtu.be/KecMlLUuiE4 серия видео[англ.] с канала Learn Code By Gaming, в ней автор пишет игрового бота, так же с opencv, все очень простенько и подробно, и так же как у sentdex-а есть текстовые варианты.
Есть небольшой минус - код не очень pythonic style(автор явно не python разработчик), это не прям чтобы плохо, тем более в туториале, но этот момент все же надо учитывать.
P.S. как и предыдущем посте, напомню, за такие эксперименты(тем более в онлайне, где подобное делать ну совсем не стоит) можно улететь в бан. Впрочем, автор говорит об этом в начале видео.
#ии #python #youtube #opencv
YouTube
OpenCV Object Detection in Games Python Tutorial #1
Learn how to use OpenCV for object detection in video games. This intro tutorial will show you how to install OpenCV for Python and get started with simple image template matching. This will serve as our foundation as we explore many different computer vision…
Python и отсутствие претендентов
Буквально вчера общался со знакомым .NET-разработчиком, мне во всех красках было описано какой F# замечательный ЯП, почему он превосходит С#(основной инструмент .NET-разработчиков), и почему за ним, очевидно, будущее отрасли.
Разумеется все эти разговоры, что в будущем все предпочтут его C# - крайне спорная штука. Мы все прекрасно понимаем, что все упрется в задачи бизнеса, и если бизнесу будет выгоден такой переход, то он случится, аналогично и обратное(вот такая она суровая реальность).
Однако F#, действительно мощный претендент на место, в каком то смысле это переосмысление, возможно неоднозначное(все таки смена парадигмы), но при этом вполне конкурентоспособное. Он можно сказать дышит в спину C#.
Так вот, довольно интересно, то что буквально все “главные” ЯПы сейчас имеют таких “конкурентов”.
Еще раз скажу, это действительно конкуренты, не из разряда-так чуть красивше/чуть удобней, здесь речь именно о технической стороне вопроса, закрытии каких-то больших проблем(которые, например, рано легли в основу языка и находятся настолько глубоко, что исправить их просто не представляется возможным).
Java -> Kotlin
C++ -> Rust ежегодно на stackoverflow проходит опрос программистов, и именно этот ЯП лидирует как самый любимый у разработчиков(отрыв от второго места - солидные 20%)
С# -> F#
Js -> TypeScript и Dart
И только питон выделяется из всех, у него вроде как подобных ‘конкурентных’ аналогов нет. Есть много экспериментов на тему ‘так чуть красивше/чуть удобней’, но чего-то серьезного - нет. Справедливо сказать, что таким претендентом в свое время стал сам Python 3, потеснив Python 2, но во-первых, это случилось не вчера, во-вторых, этот пример все равно отличается от выше перечисленных.
Это не значит, что питон лучше/хуже других ЯПов(подобные оценки с инженерной точки зрения просто нелепы), но это значит, что путь развития питона крайне необычен. И судя по реакции сообщества, это движение в верную сторону. И как по мне, это весомый плюс языка, о котором редко говорят.
#python #мысли
Буквально вчера общался со знакомым .NET-разработчиком, мне во всех красках было описано какой F# замечательный ЯП, почему он превосходит С#(основной инструмент .NET-разработчиков), и почему за ним, очевидно, будущее отрасли.
Разумеется все эти разговоры, что в будущем все предпочтут его C# - крайне спорная штука. Мы все прекрасно понимаем, что все упрется в задачи бизнеса, и если бизнесу будет выгоден такой переход, то он случится, аналогично и обратное(вот такая она суровая реальность).
Однако F#, действительно мощный претендент на место, в каком то смысле это переосмысление, возможно неоднозначное(все таки смена парадигмы), но при этом вполне конкурентоспособное. Он можно сказать дышит в спину C#.
Так вот, довольно интересно, то что буквально все “главные” ЯПы сейчас имеют таких “конкурентов”.
Еще раз скажу, это действительно конкуренты, не из разряда-так чуть красивше/чуть удобней, здесь речь именно о технической стороне вопроса, закрытии каких-то больших проблем(которые, например, рано легли в основу языка и находятся настолько глубоко, что исправить их просто не представляется возможным).
Java -> Kotlin
C++ -> Rust ежегодно на stackoverflow проходит опрос программистов, и именно этот ЯП лидирует как самый любимый у разработчиков(отрыв от второго места - солидные 20%)
С# -> F#
Js -> TypeScript и Dart
И только питон выделяется из всех, у него вроде как подобных ‘конкурентных’ аналогов нет. Есть много экспериментов на тему ‘так чуть красивше/чуть удобней’, но чего-то серьезного - нет. Справедливо сказать, что таким претендентом в свое время стал сам Python 3, потеснив Python 2, но во-первых, это случилось не вчера, во-вторых, этот пример все равно отличается от выше перечисленных.
Это не значит, что питон лучше/хуже других ЯПов(подобные оценки с инженерной точки зрения просто нелепы), но это значит, что путь развития питона крайне необычен. И судя по реакции сообщества, это движение в верную сторону. И как по мне, это весомый плюс языка, о котором редко говорят.
#python #мысли
Stack Overflow
Stack Overflow Developer Survey 2020
Nearly 65,000 took this comprehensive, annual survey of people who code. Demographics. Most loved, dreaded and wanted technologies. Salary and careers.
Нестандартная область применения ЯПа
Очень редко обсуждаемая тема, при этом - крайне интересная и с каким то гигантским потенциалом.
Рассмотрим на примере python
Сразу скажу, о масштабах говорить сложно, кто-то буквально может выстроить на этом карьеру, а для кого-то дальше возможного пет проекта или даже простого развлечения не зайдет. В любом случае, о такой возможности стоит знать.
Идея очень простая - мы можем намеренно выбрать нестандартную область применения ЯПа. Что бы говорить о чем-то более конкретном, давайте выберем оную, прошлая серия постов началась с захода в искусство, сделаем так же, только из 2D переместимся в 3D.
Blender - бесплатный опенсорсный 3D-редактор, с крутой историей развития. Долго, упорно, многие в него не верили, но по итогу - он сейчас в топе, в него сильно вложились большие ребята, его много где используют, огромное комьюнити, вообщем, все у него прекрасно.
Для нас важно, что он еще и “дружит” с питоном, дружба выражается во встроенном интерпретаторе, редакторе кода, консоли. Думаю, очевидно, что совсем небольшая часть 3d-художников пользуется этим инструментарием(программирование - не самый распространенный навык за пределами комьюнити программистов). И здесь появляется первая интересная возможность.
Использование программирования для не программистских задач.
https://youtu.be/r8hqLh_HE08 [англ.]- видео с канала Blender Daily, где David Mignot показывает процесс и объясняет основы создания арта с помощью кода. Собственно, сам код очень даже простой, а результат достаточно интересный.
Большое преимущество генеративного процесса в том, что по сути художник задает рамки, а уже компьютер дает варианты, и разумеется он куда продуктивней человека. Хоть 1000 рендеров, вопрос разве что в мощности машины, художнику лишь остается выбрать и возможно чуть доработать нужный. Просто огромное преимущество, оставляющее вне всякой конкуренции.
Из интересных особенностей: в такой области применения особого смысла говорить о качестве кода - нет, мы его пишем под конкретный результат, поэтому как только результат получен, то насколько код хорош/плох нас особо волновать не должно.
Вторая возможность - именно программистские задачи в нестандартной области
Blender позволяет использовать аддоны, собственно разработка аддонов - и есть нестандартное применение python.
Blender - востребован, при этом очень немногие художники могут в программирование, однако аддоны сильно облегчают процесс и этим самым художникам они нужны, собственно здесь на сцену и выходят программисты.
Это отдельный рынок со своими правилами, со своим спросом/предложением, со своей ценовой политикой и т.д. и т.п. И он абсолютно параллелен типичным питонским областям применения. Таких рынков много и их поиск, разумеется, отдельный большой труд. Он может увенчаться как большим успехом, так и большим ничем.
Тут нужно тратить силы, тратить время, искать. Я не рекомендую относится к таким вещам прям очень серьезно(все-таки время - главный буст карьеры, и тратить его просто так - такое себе), но время от времени проводить анализ из разряда “а можно ли здесь покодить” - идея неплохая.
#blender #python #youtube
Очень редко обсуждаемая тема, при этом - крайне интересная и с каким то гигантским потенциалом.
Рассмотрим на примере python
Сразу скажу, о масштабах говорить сложно, кто-то буквально может выстроить на этом карьеру, а для кого-то дальше возможного пет проекта или даже простого развлечения не зайдет. В любом случае, о такой возможности стоит знать.
Идея очень простая - мы можем намеренно выбрать нестандартную область применения ЯПа. Что бы говорить о чем-то более конкретном, давайте выберем оную, прошлая серия постов началась с захода в искусство, сделаем так же, только из 2D переместимся в 3D.
Blender - бесплатный опенсорсный 3D-редактор, с крутой историей развития. Долго, упорно, многие в него не верили, но по итогу - он сейчас в топе, в него сильно вложились большие ребята, его много где используют, огромное комьюнити, вообщем, все у него прекрасно.
Для нас важно, что он еще и “дружит” с питоном, дружба выражается во встроенном интерпретаторе, редакторе кода, консоли. Думаю, очевидно, что совсем небольшая часть 3d-художников пользуется этим инструментарием(программирование - не самый распространенный навык за пределами комьюнити программистов). И здесь появляется первая интересная возможность.
Использование программирования для не программистских задач.
https://youtu.be/r8hqLh_HE08 [англ.]- видео с канала Blender Daily, где David Mignot показывает процесс и объясняет основы создания арта с помощью кода. Собственно, сам код очень даже простой, а результат достаточно интересный.
Большое преимущество генеративного процесса в том, что по сути художник задает рамки, а уже компьютер дает варианты, и разумеется он куда продуктивней человека. Хоть 1000 рендеров, вопрос разве что в мощности машины, художнику лишь остается выбрать и возможно чуть доработать нужный. Просто огромное преимущество, оставляющее вне всякой конкуренции.
Из интересных особенностей: в такой области применения особого смысла говорить о качестве кода - нет, мы его пишем под конкретный результат, поэтому как только результат получен, то насколько код хорош/плох нас особо волновать не должно.
Вторая возможность - именно программистские задачи в нестандартной области
Blender позволяет использовать аддоны, собственно разработка аддонов - и есть нестандартное применение python.
Blender - востребован, при этом очень немногие художники могут в программирование, однако аддоны сильно облегчают процесс и этим самым художникам они нужны, собственно здесь на сцену и выходят программисты.
Это отдельный рынок со своими правилами, со своим спросом/предложением, со своей ценовой политикой и т.д. и т.п. И он абсолютно параллелен типичным питонским областям применения. Таких рынков много и их поиск, разумеется, отдельный большой труд. Он может увенчаться как большим успехом, так и большим ничем.
Тут нужно тратить силы, тратить время, искать. Я не рекомендую относится к таким вещам прям очень серьезно(все-таки время - главный буст карьеры, и тратить его просто так - такое себе), но время от времени проводить анализ из разряда “а можно ли здесь покодить” - идея неплохая.
#blender #python #youtube
YouTube
Artistic Coding in Blender by David Mignot
David Mignot creates art in Blender by using mostly lines of code. In this video he gives us a basic breakdown of his special workflow in Blender.
You can find David Mignot online here:
Twitter: https://twitter.com/idflood
Instagram: https://www.instagram.com/idflood/…
You can find David Mignot online here:
Twitter: https://twitter.com/idflood
Instagram: https://www.instagram.com/idflood/…
https://youtu.be/Dc--b_cdnWg - на канале Andrey Sokolov куча отличных видео на тему связки Python+Blender. Как раз про создание аддонов.
#youtube #python #blender
#youtube #python #blender
YouTube
Blender Python ► 8. Как сделать из скрипта аддон
Стать спонсором или задонатить можно здесь - https://boosty.to/as.blendПрактические занятия по программированию на Python на примере API Blender. Скачать Ble...