- 57
- 3 611 594
Coder Space
Finland
Приєднався 25 сер 2021
Let's have some fun using Python for graphics, game development and research!
All content on the channel is created for educational and experimental purposes in order to possibly expand the scope of Python.
Why Python? Since Python is very similar to pseudocode, think of all projects on the channel as prototypes that you can easily rewrite into your favorite programming language.
And if you want to get into serious game development and 3D graphics, then you should probably look into C++ programming and the like.
All content on the channel is created for educational and experimental purposes in order to possibly expand the scope of Python.
Why Python? Since Python is very similar to pseudocode, think of all projects on the channel as prototypes that you can easily rewrite into your favorite programming language.
And if you want to get into serious game development and 3D graphics, then you should probably look into C++ programming and the like.
Make Your Own DOOM. Building and Traversing a BSP Tree
Tutorial on Binary Space Partitioning. Using Python and Raylib library we will create a 3D game like Doom. This series looks at building and traversing a binary space partitioning tree.
Two line segments intersection:
stackoverflow.com/questions/563198/how-do-you-detect-where-two-line-segments-intersect
Source Code:
drive.google.com/file/d/12B9QzJWnJ60FGpYLp5Z5JIJb1OeoJz6W/view?usp=sharing
#python #doom #raylib #coderspace
Two line segments intersection:
stackoverflow.com/questions/563198/how-do-you-detect-where-two-line-segments-intersect
Source Code:
drive.google.com/file/d/12B9QzJWnJ60FGpYLp5Z5JIJb1OeoJz6W/view?usp=sharing
#python #doom #raylib #coderspace
Переглядів: 7 080
Відео
Make Your Own DOOM. BSP Tutorial - Initial Setup
Переглядів 7 тис.2 місяці тому
Tutorial on Binary Space Partitioning. Using Python and Raylib library we will create a 3D game like Doom Code: drive.google.com/file/d/1J3BPT9wB3TVtVfinfs4RFbRGaY_JM9QA/view?usp=sharing Music: Emi Meyer - For Whom the Bell Tolls #python #doom #raylib #coderspace
I made my own DOOM
Переглядів 9 тис.2 місяці тому
This DOOM clone was written from scratch using Python and the Raylib library. This has nothing to do with the DOOM source code and does not support WAD files. The only thing that connects with the original DOOM is the use of 2D BSP Tree. BSP Tutorial: ua-cam.com/video/vdNrNCqT8No/v-deo.html Music: Emi Meyer - For Whom the Bell Tolls #doom #python #coderspace
Map of Natural Numbers in 3D
Переглядів 8 тис.5 місяців тому
Generating a Map of Natural Numbers and its 3D Renderer using the UMAP dimensionality reduction algorithm in Python and OpenGL. Inspired by: johnhw.github.io/umap_primes/index.md.html Source Code: github.com/StanislavPetrovV/3D-Number-Renderer-with-UMAP #coderspace #umap #opengl #python
How to Make a First Person Shooter like Wolfenstein 3D
Переглядів 37 тис.6 місяців тому
Creating a Wolfenstein 3D clone using Python and OpenGL. The main stages of creating a 3D game in the style of a retro first person shooter in Python. Used: Pygame, ModernGL, PyTMX, PyGLM, Numpy Source Code: github.com/StanislavPetrovV/Wolfenstein-3D-Clone #coderspace #wolfenstein #python #opengl
Creating a Voxel Engine (like Minecraft) from Scratch in Python
Переглядів 412 тис.10 місяців тому
OpenGL Tutorial for creating a Voxel 3D Engine like Minecraft using Python. Libraries and modules used: Pygame, ModernGL, Numpy, PyGLM, Numba, OpenSimplex Code for each stage: drive.google.com/file/d/1zb-UgWbZJw9HhAnhIIxcuJKBGf2RNTTj/view?usp=sharing Source Code: github.com/StanislavPetrovV/Minecraft 00:00:00 Intro 00:00:55 OpenGL Window 00:04:33 Initial Setup 00:10:56 Chunk 00:21:13 World of C...
Recreating DOOM in Python. Ep5 - Assets & Texture Mapping
Переглядів 26 тис.Рік тому
Let's Understand How to Get All DOOM Assets and Implement Texture Mapping of Walls, Floors and Ceilings Metallica - E1M1 (At Doom's Gate) @StateOfMercury ua-cam.com/video/Cl-xcjlfswo/v-deo.html Github: github.com/StanislavPetrovV/DOOM-Level-Viewer #coderspace #doom #python
Recreating DOOM in Python. Ep4 - WALLS
Переглядів 18 тис.Рік тому
Finally rendering the walls! Consider rendering two types of walls, Solid and Portal, and create a DOOM level viewer! Metallica - E1M1 (At Doom's Gate) @StateOfMercury ua-cam.com/video/Cl-xcjlfswo/v-deo.html Code: drive.google.com/file/d/1Z81Mc2V1ZnCoMgdYa0v9BGu-I8QsAG7h/view?usp=share_link #coderspace #doom #python
Recreating DOOM in Python. Ep3 - Player's Field of View
Переглядів 23 тис.Рік тому
Let's find out how to implement a player's Field of View in DOOM and what algorithms to use for this. Metallica - E1M1 (At Doom's Gate) @StateOfMercury ua-cam.com/video/Cl-xcjlfswo/v-deo.html Code: drive.google.com/file/d/1LIG7bLDGiR6JSVxOr9KnrzlrxaOZB3-M/view?usp=share_link #coderspace #doom #python
Recreating DOOM in Python. Ep2 - Binary Space Partitioning
Переглядів 41 тис.Рік тому
Binary Space Partitioning is the heart of DOOM! Let's understand what is BSP and how it works in DOOM. Metallica - E1M1 (At Doom's Gate) @StateOfMercury ua-cam.com/video/Cl-xcjlfswo/v-deo.html Code: drive.google.com/file/d/1KbZ28I6_agMhP02_GnQfa7zG6mwW1PyZ/view?usp=share_link C DIY Doom: github.com/amroibrahim/DIYDoom #coderspace #doom #python
Recreating DOOM in Python. Ep1 - WAD DATA
Переглядів 76 тис.Рік тому
Getting WAD file data and rendering DOOM maps in 2D mode. Metallica - E1M1 (At Doom's Gate) @StateOfMercury ua-cam.com/video/Cl-xcjlfswo/v-deo.html DOOM1.WAD www.doomworld.com/idgames/index.php?file=idstuff/doom/doom19s.zip SLADE 3 slade.mancubus.net/index.php?page=downloads Code: drive.google.com/file/d/1y6igZn5MqUt249wCL6GgHeGWosxNJJ9H/view?usp=share_link C DIY Doom: github.com/amroibrahim/DI...
Recreating DOOM in Python. Ep0 - Intro
Переглядів 30 тис.Рік тому
This video is an introduction to a series of episodes in which we will be recreating DOOM in Python Metallica - E1M1 (At Doom's Gate) @StateOfMercury ua-cam.com/video/Cl-xcjlfswo/v-deo.html C DIY Doom: github.com/amroibrahim/DIYDoom Books: -Game Engine Black Book: Doom (by Fabien Sanglard) -Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture (by David Kushner) #coderspac...
Pygame vs Raylib vs Arcade Pyglet: Which One Will Suprise You?
Переглядів 28 тис.Рік тому
Let's Develop a Benchmark and Test 2D Graphics Performance for the Pygame, Arcade Pyglet and Raylib libraries. And also compare the work of these graphic libraries for Python versions 3.10 and 3.11 github.com/StanislavPetrovV/Benchmark-2D 00:00 Intro 00:34 Pygame CPU 06:10 Pygame CPU CACHE 07:22 Arcade Pyglet 10:12 Raylib 12:12 Speed Comparison #coderspace #pygame #raylib #arcade #pyglet
Projects and Games MADE in Python and PyGame
Переглядів 22 тис.Рік тому
All these Projects and Games are made with Python and the Pygame library. In some projects, along with Pygame, just-in-time compilers were used. Projects: github.com/StanislavPetrovV #coderspace #pygame
Exploring the Menger Sponge Fractal
Переглядів 9 тис.Рік тому
Let's explore the Menger Sponge Fractal and create a spectacular 3D scene with this fractal using OpenGL initial code: drive.google.com/file/d/1HI7mBQJ_qhFL5uA54fka_S61jQC7o1Wy/view?usp=share_link github: github.com/StanislavPetrovV/Menger-Sponge #coderspace #opening #fractal #mengersponge
3D Engine in Python. Shadow Mapping, PCF
Переглядів 17 тис.Рік тому
3D Engine in Python. Shadow Mapping, PCF
3D Engine in Python. SkyBox, Environment Mapping
Переглядів 24 тис.Рік тому
3D Engine in Python. SkyBox, Environment Mapping
Let's code 3D Engine in Python. OpenGL Pygame Tutorial
Переглядів 176 тис.Рік тому
Let's code 3D Engine in Python. OpenGL Pygame Tutorial
Procedural FUR Generation. GPU Furmark Clone.
Переглядів 11 тис.Рік тому
Procedural FUR Generation. GPU Furmark Clone.
Creating a DOOM (Wolfenstein) - style 3D Game in Python
Переглядів 1,3 млнРік тому
Creating a DOOM (Wolfenstein) - style 3D Game in Python
Coding Tic Tac Toe in Python with Pygame
Переглядів 17 тис.Рік тому
Coding Tic Tac Toe in Python with Pygame
Fun Artificial Life. Langton's Ant in Python | Pygame |
Переглядів 4,3 тис.Рік тому
Fun Artificial Life. Langton's Ant in Python | Pygame |
Advanced Procedural 3D Graphics. Ray Marching Tutorial
Переглядів 23 тис.Рік тому
Advanced Procedural 3D Graphics. Ray Marching Tutorial
@3:58 I noticed that we can blur the shadow by an amount given by the difference with neighboring pixels.
Oh my word! Another awesome video from Coder Space! As the other comments say, it is super condensed. I recommend going through it slowly, copying it whilst making notes. Utterly brilliant. Hope this adjusts the UA-cam algorithm...
Oh, and my personal tweak to 'camera.py' to make it work how I like it. Just inverts the axis and removes the clamping (for other who are learning and like it this way). def rotate(self): rel_x, rel_y = pg.mouse.get_rel() self.yaw += rel_x * SENSITIVITY self.pitch -= rel_y * SENSITIVITY # Invert the pitch angle (non-flight controls) # Keep the angles within 0 to 359 degrees. self.yaw %= 360 # Keep the yaw angle within 0 to 359 degrees self.pitch %= 360 # Keep the yaw angle within 0 to 359 degrees # Reset the mouse position to the center of the screen on each frame # This prevents the mouse from reaching the edge of the screen and preventing camera movement. pg.mouse.set_pos(self.app.WIN_SIZE[0] // 2, self.app.WIN_SIZE[1] // 2) Thanks again for an ace tutorial!
Where to find my vertex shader files?
So beautiful!
Nice use of the tuple packing/unpacking
how a move the cat?
I like how you used wolfenstein textures on 0:32 I like the variety in the textures you used from other games by id software
Amazing
Ambitious project 👍👍 00:00:00
Making this in pygame is mindblowing. I thought pygame was just for making 2d games like flappy bird.
Спасибо огромное! Всё заработало с первого раза!!!
help me pls add mobs in this doom viewer(
Глайдеры превращаются в квадраты, хотя на их пути ничего не было: это не правильно, т.к. глайдеры вечны, но только лишь до того момента, пока на их пути не попадётся хоть одна клетка. Хм, странно, версия до "на весь экран" работала именно так, затем ошибка сама собой устранилась. Спасибо огромное!!!
Thanks Coder Space! I just recently found your content and it is absolutely wonderful! For me personally, it strikes the perfect balance between conciseness and explanation. Each video are like the notes I would take from learning a new subject, but with a fantastic visual component. Thanks so much for sharing, and for all your time and effort with these. Great stuff!
u my man have just earned yourself another subscriber and a like
I wonder how that compares to something like Bevy or naylib (Nim)
why would odd and even faces require different uv indices?
You are a legend Bro!!!
Ошибку с taichi_glsl решил, поменяв его на модуль taichi.math. Теперь другая проблема в строке (у вас это строка 21): self.screen_array=np.full((width, height, 3), [0,0,0], np.uint8) - TypeError: 'numpy.float32' object cannot be interpreted as an integer. Не понял, как исправить. UPDATE. Короче переписал весь текст заново, вся соль в том, что pygame не хочет работать с vec2(1600,900). Но не уверен, т.к. дальше этой строки (self.screen=pg.display.set_mode(resolution) не работает. UPDATE2. Поставил set_mode(resolution) как ((1600,900)), теперь снова ошибка numpy.float32.
Очень минималистичные алгоритмы, как увеличения длины змейки, так и проверки самоедства! У других намного сложнее и запутаннее. Спасибо огромное за великолепные уроки!!!
This is extraordinary! Really enjoy the way you teach programming concepts. The way these videos are constructed is so cool.
How would one go about animating spritestacks? Implementing magicavoxel animations to things such as trees and maybe player and entities.
What program is used in the video for script
Спасибо огромное!!! На моём допотопном компе максимально разогналось до 40 FPS, что с процессором, что с граф. карточкой, но всё равно комфортно полетал по фракталу!!!
I had an error with the geometry module and Python version 3.11.7. I had to write the line to make it work: "from moderngl_window import geometry". It also doesn't find shader files for me. What could be the problem?
Очень круто! Увидеть такое, на что способен Python, это очень здорово! Большое спасибо за видео!
Really cool video. Can you made this game on godot or unity. I think it will be better
Красота математики!!!
lost interest as soon as i heard the AI-voice
You also lost a learning experience
get a mic
Creating a Voxel Engine part 2 pls pls pls pls pls pls pls pls pls pls pls pls pls pls pls pls pls
This is an amazing technique to me, I find pseudo-3D to be something very interesting, reminds me of the hacks and techniques used for old 2.5d games like doom and duke nukem
Thanks
Balanced, highly technical, extremely well made - I'm super impressed! Also thankful for this hands-on intro to shaders, soooooo much better than the basic tutorials! ❤🎉 Also: don't be a chicken - show your face and use your voice, I'm sure ppl will love it! GL!
Do you recommend me using Raylib for a commerical game? I am considering Godot, but I am a Python engineer and I'd find it more pleasurable to keep everything in Python. I have 1 year experience with PyGame, but Raylib seems more lightweight and more performant.
way too fast my dude it is really annoying.
Robot voice is horrible
I have been following along with the tutorial and I've been getting this error: ValueError: Cannot scale to negative size traced back to: wall_column = pg.transform.scale(wall_column, (SCALE, proj_height)) anyone have any ideas?
Bro this is too fast for me ... Is there some other video which explains this is more detail ?
sorry to tell you but this is probably the slowest one
@@alonepoptart24_6 do you know any videos where the concepts that this guy is using are explained ?
@@dheerparekh1305 he made a tutorial video on opengl which is a bit slower and teaches more indepth concepts
@@alonepoptart24_6 okay thanks... I'll check that out
thank you!!! I'm making a game where you roam around a menger sponge and this will help me alot!
should test with pygame-ce (pygame community edition)
robot voices SUCK
This is art. I'm still at a beginner level, but I know how beautifully this code is written. The video is a bit complex for me at the moment, but I'd love to hear about any resources I can learn from :D
is 1 not considered prime?
You sound like gpt
hi will you add collision? Pointerlock? inventory? differnt blocks? nay/night cycle
Is there anyone that could help me because I am at a lost I’m 15 minutes in with 2 different problems one the controllers are all messed up it doesn’t even rotate and the ray casting goes through the walls
13:03
This is really awesome! I have made 2-d prime structures in the past also but never 3d.
This is incredible... I was exploring the possibility of numbers being "beings", with specific characteristics that make them cluster accordingly - there can be a relation between them that we cannot perceive with our 2D chalk-wall... This is what I was looking for. So glad I found this video! Really amazing job, man.......