Coder Space
Coder Space
  • Видео 59
  • Просмотров 3 746 497
How to code DOOM #4 - Level Design with BSP
Tutorial on Binary Space Partitioning. Using Python and Raylib library we will create a 3D Game like Doom. In this video we will look at all the tools for Designing 3D Levels like in DOOM. The concept of Sectors, Texturing objects and creating Floor and Ceiling meshes are covered.
Source Code:
drive.google.com/file/d/1VvyLe8XUItk-ClNIRQxUI_30zyABoUSD/view?usp=sharing
#python #doom #raylib #coderspace
Просмотров: 4 033

Видео

How to code DOOM #3 - First 3D Walls
Просмотров 6 тыс.14 дней назад
Tutorial on Binary Space Partitioning. Using Python and Raylib library we will create a 3D game like Doom. This series is about how to create Camera and 3D Wall Models Source Code: drive.google.com/file/d/1mc9obAkWDkJTeiyWenmEndCz0lkhXHAQ/view?usp=sharing #python #doom #raylib #coderspace
How to code DOOM #2 - Binary Space Partitioning Tree
Просмотров 9 тыс.3 месяца назад
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 #pyt...
How to code DOOM #1 - Initial Setup
Просмотров 8 тыс.4 месяца назад
Tutorial on Binary Space Partitioning. Using Python and Raylib library we will create a 3D first person shooter 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 тыс.4 месяца назад
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: ruclips.net/video/vdNrNCqT8No/видео.html Music: Emi Meyer - For Whom the Bell Tolls #doom #python #coderspace
Map of Natural Numbers in 3D
Просмотров 9 тыс.7 месяцев назад
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
Просмотров 40 тыс.8 месяцев назад
Creating a Wolfenstein 3D clone using Python and OpenGL. Python 3D Game Tutorial. 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
Просмотров 433 тыс.Год назад
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
Просмотров 27 тыс.Год назад
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 ruclips.net/video/Cl-xcjlfswo/видео.html Github: github.com/StanislavPetrovV/DOOM-Level-Viewer #coderspace #doom #python
Recreating DOOM in Python. Ep4 - WALLS
Просмотров 19 тыс.Год назад
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 ruclips.net/video/Cl-xcjlfswo/видео.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
Просмотров 24 тыс.Год назад
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 ruclips.net/video/Cl-xcjlfswo/видео.html Code: drive.google.com/file/d/1LIG7bLDGiR6JSVxOr9KnrzlrxaOZB3-M/view?usp=share_link #coderspace #doom #python
Recreating DOOM in Python. Ep2 - Binary Space Partitioning
Просмотров 43 тыс.Год назад
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 ruclips.net/video/Cl-xcjlfswo/видео.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
Просмотров 78 тыс.Год назад
Getting WAD file data and rendering DOOM maps in 2D mode. Metallica - E1M1 (At Doom's Gate) @StateOfMercury ruclips.net/video/Cl-xcjlfswo/видео.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/D...
Recreating DOOM in Python. Ep0 - Intro
Просмотров 31 тыс.Год назад
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 ruclips.net/video/Cl-xcjlfswo/видео.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) #coderspa...
Pygame vs Raylib vs Arcade Pyglet: Which One Will Suprise You?
Просмотров 30 тыс.Год назад
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
Просмотров 24 тыс.Год назад
Projects and Games MADE in Python and PyGame
Exploring the Menger Sponge Fractal
Просмотров 9 тыс.Год назад
Exploring the Menger Sponge Fractal
Detailed Tetris Tutorial in Python
Просмотров 57 тыс.Год назад
Detailed Tetris Tutorial in Python
How I Made The World with SINE
Просмотров 182 тыс.Год назад
How I Made The World with SINE
Sprite Stacking in Python and Pygame
Просмотров 32 тыс.Год назад
Sprite Stacking in Python and Pygame
What is Mode 7? Let's code it!
Просмотров 40 тыс.Год назад
What is Mode 7? Let's code it!
The Beauty of Prime Numbers
Просмотров 37 тыс.Год назад
The Beauty of Prime Numbers
3D Engine in Python. Shadow Mapping, PCF
Просмотров 18 тыс.Год назад
3D Engine in Python. Shadow Mapping, PCF
3D Engine in Python. SkyBox, Environment Mapping
Просмотров 25 тыс.Год назад
3D Engine in Python. SkyBox, Environment Mapping
Let's code 3D Engine in Python. OpenGL Pygame Tutorial
Просмотров 185 тыс.Год назад
Let's code 3D Engine in Python. OpenGL Pygame Tutorial
Procedural FUR Generation. GPU Furmark Clone.
Просмотров 11 тыс.Год назад
Procedural FUR Generation. GPU Furmark Clone.
DOOM styled Flappy Bird in Python
Просмотров 13 тыс.Год назад
DOOM styled Flappy Bird in Python
🔥 How the Doom Fire Algorithm Works
Просмотров 19 тыс.Год назад
🔥 How the Doom Fire Algorithm Works
Creating a DOOM (Wolfenstein) - style 3D Game in Python
Просмотров 1,3 млн2 года назад
Creating a DOOM (Wolfenstein) - style 3D Game in Python
Coding Tic Tac Toe in Python with Pygame
Просмотров 18 тыс.2 года назад
Coding Tic Tac Toe in Python with Pygame

Комментарии

  • @nicolassuarez2933
    @nicolassuarez2933 День назад

    Outstanding! But we realy need to export and load out of the box any .fbx, .gltf or .obj, any update? Thanks!

  • @mokouu
    @mokouu 2 дня назад

    think theres some kind of way to cheat in rooms over rooms?

    • @CoderSpaceChannel
      @CoderSpaceChannel День назад

      Take a look at the DOOM levels. You can build the same

  • @HEDGEBATCAT
    @HEDGEBATCAT 3 дня назад

    I keep getting "NoneType' object is not subacriptable in the voxel_id variable. I got the error 23:56 into the video. Help, please.

  • @Stabby666
    @Stabby666 3 дня назад

    "From scratch" - instantly just imports a bunch of libs that do all of the actual work 🤣

  • @Girduzz
    @Girduzz 3 дня назад

    How can i do a Game Over screen in this Tetris? Coder Space? Or Viewers? Does anybody know how to do that?

  • @eifclub978
    @eifclub978 3 дня назад

    it doesn't work, i had to remove the doors

  • @cxvxcbcxn
    @cxvxcbcxn 4 дня назад

    Holy hell! This seems so informative that I feel I could almost make something like it myself but at the same time it feels incredibly complicated. 😅 Awesome video either way though!

  • @anon_y_mousse
    @anon_y_mousse 5 дней назад

    This is even better than Doom 1, it's more like Unreal 1. And now you've given me another idea to add to my list. I'm going to be busy forever.

  • @madcio
    @madcio 5 дней назад

    Why even bother to make two spearate texture lists for walls and flats?

  • @Girduzz
    @Girduzz 5 дней назад

    I needed this tutorial for my school. I‘m only 13 Years old but im really interested in Programming and Coder Space helped me alot to learn Python and he interested me even more in coding. ❤

  • @jumbledfox2098
    @jumbledfox2098 5 дней назад

    really brilliant video, you are very good at what you do <3

  • @Girduzz
    @Girduzz 5 дней назад

    Best Tetris tutorial I’ve ever seen. Well done. Keep this up. It would also be nice if you could import the tetris music in python.

    • @Girduzz
      @Girduzz 5 дней назад

      Thanks Coder Space for the ❤️ :) i‘m commenting on this Video one Year later and you still see it. Thats a very good specialty of a RUclipsr and i‘ve never seen that. Thanks

  • @Israel_BR23
    @Israel_BR23 5 дней назад

    Nice vídeo!

  • @j.tann1970
    @j.tann1970 5 дней назад

    One criticism for using an AI text to voice reader for the narration other than it being lazy is that the AI does not understand English nuances and conventions so says a lot incorrectly. For example, a lot in this video the AI reads ID as the word id instead of the letters I and D.

  • @DeathAtYourDoorStep
    @DeathAtYourDoorStep 5 дней назад

    really cool dude

  • @parlortricks8301
    @parlortricks8301 6 дней назад

    keep up the good work man, love your dev videos

  • @mohamedcherifi5376
    @mohamedcherifi5376 6 дней назад

    Thats just amazing 😍😍😍

  • @gsestream
    @gsestream 6 дней назад

    only so complex to define the same triangles. to be drawn.

  • @vickslab4608
    @vickslab4608 6 дней назад

    This is all fine and dandy but the original Doom read the level information off a WAD file. I am assuming thats next?

    • @CoderSpaceChannel
      @CoderSpaceChannel 5 дней назад

      This video series is not about creating a port of DOOM. This is the author's tutorial on BSP and creating a game like DOOM

    • @j.tann1970
      @j.tann1970 5 дней назад

      Doom WAD files are like bespoke zip files, a collection of files packed into one. Among those files in the WAD file are the maps which are stored in a BSP format. Other files found in WAD files are non-map data like sound effects, music, and sprites. Total conversion WADs will have those extra files too to replace the default ones and totally change the look and feel of Doom. So basically this video is highly relevant to the original Doom.

    • @vickslab4608
      @vickslab4608 5 дней назад

      oh i gotcha, but if you had multiple levels with complex designs, the code would be quite complex. An alternative would be to code your own level editor and read it off that.

  • @eskilStruve
    @eskilStruve 6 дней назад

    Hi @CoderSpaceChannel👏😊

    • @eskilStruve
      @eskilStruve 6 дней назад

      How are you doing @CoderSpaceChannel🤔?, if you see this pls comment inside my comment

  • @MaxCarponera
    @MaxCarponera 6 дней назад

    Outstanding educative work, and goes like a charm. Just one thing, could you please honor Sync to Vblank system config, don't need my GPU spitting >3000 fps and energy is not cheap.

  • @ninjaboi230
    @ninjaboi230 6 дней назад

    Looks like I'm gonna have to dig out my old geometry books if I wanna create something like this lol. Excellent video. This whole series is a treat!

  • @kunalamvet9459
    @kunalamvet9459 6 дней назад

    На самом деле интересно, но надеюсь когда-нибудь ты и к реймарчингу вернёшься.

  • @CreativeSteve69
    @CreativeSteve69 6 дней назад

    Really been loving seeing the progress on this series a ton. Can't wait for the upcoming videos in this series. :)

  • @MowiWowi
    @MowiWowi 6 дней назад

    Nice

  • @mookematics323
    @mookematics323 6 дней назад

    High quality videos, thank you for taking the time to create these.

    • @j.tann1970
      @j.tann1970 5 дней назад

      Well, not exactly high quality when the AI reader makes many mistakes like read ID as id instead of I D! 😂

  • @SkyFly19853
    @SkyFly19853 6 дней назад

    soooo beautiful...

  • @AdityaKumar-dv9cp
    @AdityaKumar-dv9cp 6 дней назад

    ❤😮

  • @romangeneral23
    @romangeneral23 6 дней назад

    This A.I. voice is distracting

    • @imdeathseer
      @imdeathseer 6 дней назад

      cry more bout it, my little piggy

    • @Summersault666
      @Summersault666 6 дней назад

      It's not A.I.

    • @romangeneral23
      @romangeneral23 6 дней назад

      Yes, it is

    • @Summersault666
      @Summersault666 6 дней назад

      @@romangeneral23 you sounds like an A.I for me

    • @romangeneral23
      @romangeneral23 6 дней назад

      @@Summersault666 You have not heard my voice. How do you know how I sound ?

  • @_uttirno
    @_uttirno 6 дней назад

    This is the next GZDoom!

  • @idosenn4404
    @idosenn4404 6 дней назад

    Great tutorial, really smart use of oop. The only problem is the way the tetromino roatates. For some of the tetromino, the pivot is not a block, so your method won't work. You could, however, add a pivot variable to the tetromino class and move it with the tetromino, which will fix the problem.

    • @idosenn4404
      @idosenn4404 6 дней назад

      You can still use the same method, but the pivot for the I tetromino for example, will be (0.5, -0.5)

  • @KSprogrammer
    @KSprogrammer 7 дней назад

    Don't use joystick use push buttons

  • @KSprogrammer
    @KSprogrammer 7 дней назад

    Now control snake with arduino uno😅😅

  • @galacta6841
    @galacta6841 8 дней назад

    I had to rewind a lot so i could keep up but i managed to do it! Thank you so much! please consider spending more time explaining the logic and the math rather than the code itself

  • @djohnsto2
    @djohnsto2 8 дней назад

    That's pretty cool! I wonder what it would look like to use randomly selected odd numbers instead of primes - Would you still get the fractal triangles and other patterns?

  • @loookhear4443
    @loookhear4443 9 дней назад

    This must be a sine

  • @jhessicabarriosmuni2220
    @jhessicabarriosmuni2220 9 дней назад

    beautiful

  • @macjoe8256
    @macjoe8256 10 дней назад

    come get some , great job, thanks for showing this is actually possible

  • @blazingelse9104
    @blazingelse9104 10 дней назад

    I don't get this. Isn't the SkyBox a cube? How do you create a cube from one triangle?

  • @UnderGamer_Official
    @UnderGamer_Official 10 дней назад

    What do you think about making a engine?

  • @DeVibe.
    @DeVibe. 10 дней назад

    Ok, done playing, now let's do the real thing: C++ 😃

  • @jamesbrady9105
    @jamesbrady9105 10 дней назад

    Cool! How can I change the colours?

  • @dprophecyguy
    @dprophecyguy 11 дней назад

    continue this sir !!!

  • @arercon
    @arercon 12 дней назад

    I am too dumb for this

  • @outoftime9071
    @outoftime9071 12 дней назад

    I am trying to build a 3d graphics render to render the structure of proteins using pdb data. How do I go about doing it. Help me please

  • @nayte3915
    @nayte3915 12 дней назад

    Is this coded in replit

  • @UltraPatate
    @UltraPatate 12 дней назад

    wow

  • @dawna2011
    @dawna2011 13 дней назад

    even though I installed all requirement modules, I still have errors message. It is modernGL (mgl) no attribute to vec3. Why?

  • @cvabds
    @cvabds 13 дней назад

    I bet you can't do that on TempleOS

  • @bao6893
    @bao6893 13 дней назад

    Welcome back bro, Once my alevels are over I will finally use your videos properly lol. Keep up the work bro !!!