I Made 3D MINECRAFT in PYTHON using Ursina!

Поделиться
HTML-код
  • Опубликовано: 8 июн 2024
  • In this Python tutorial I code a minecraft clone using a 3d library called Ursina. I create the main mechanics of minecraft which will allow us to place and destroy blocks to build up our world.
    Code & assets on github: github.com/russs123/minecraft...
    Credits for assets used:
    Low poly 3D blocks: devilsworkshop.itch.io/essent...
    Timestamps:
    00:00 Intro
    00:25 Project Setup
    01:07 Create App
    03:20 Create Player
    04:45 Setup Block Class
    08:15 Generate Terrain
    11:25 Place Down Blocks
    14:20 Destroy Blocks
    16:30 Select Different Block Types
    18:30 Randomize Terrain With Perlin Noise

Комментарии • 58

  • @SamuTheFrog
    @SamuTheFrog 3 месяца назад +8

    Python is the language that makes most sense to me.
    Ive been trying to learn all these different languages but so far python is the only one that has really clicked for me.
    Im excited to give this engine a try

    • @TheseWordsTouch
      @TheseWordsTouch 2 месяца назад +1

      Same! Im so excited to try this!

    • @zoewilliams2010
      @zoewilliams2010 Месяц назад

      I agree! Learn PYTHON! :D sure there's faster, more complicated languages. but not really when you consider the speed at which you can develop. and it's so much fun!

  • @CodingWithRuss
    @CodingWithRuss  10 месяцев назад +8

    I've been messing around with Ursina lately and wanted to expand the minecraft demo that's in the official docs to add some more features. Hope you like it!
    A written version of the tutorial is on my website here: www.codingwithruss.com/ursina/minecraft-in-python-3d-game-tutorial/

  • @Siddhesh1123
    @Siddhesh1123 10 месяцев назад +3

    WTH! I WAS LITERALLY JUST SEARCHING HOW TO MAKE MINECRAFT IN URSINA AND YOUR VIDEO WAS THERE, YOU R A SAVIOUIR

  • @Paulik76910
    @Paulik76910 9 дней назад +1

    Thank you for the video!

  • @Ashen_0
    @Ashen_0 10 месяцев назад +15

    Without you, I would not have known that there is 3D in Python 🤯

    • @CodingWithRuss
      @CodingWithRuss  10 месяцев назад +3

      Haha I spent so much time doing 2D that I didn't really consider 3D in python as an option

  • @NotBlazerMC
    @NotBlazerMC 7 месяцев назад +4

    Can you please do a tutorial on how to add a title screen and multiple mode selection like flat and this mode?

  • @thomasdixon6476
    @thomasdixon6476 10 месяцев назад +7

    This is very cool, are you going to make it a series?

    • @CodingWithRuss
      @CodingWithRuss  10 месяцев назад +5

      Thank you! I don't think I'll turn this one into a series but I may do more in ursina

  • @ruthlessadmin
    @ruthlessadmin 8 месяцев назад +1

    I would have thought, since Panda3D had built-in Perlin Noise, so would Ursina, but appears not. Anyway, this is a perfect springboard. I developed a moderately sophisticated terrain generator using Pyglet but that engine is too low-level for me and without spending more time than I care to learning OpenGL, I cannot get the performance I need out of it. Ursina's (and Panda's) Mesh class is far more intuitive, plus I have experience with it.
    I wont be using these textures and I don't see a license for the code, so unless you alert me otherwise, I'll be re-releasing whatever I use, plus all my work under GPLv3. Thanks!
    Cheers!

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

    Hey could you please tell me how to increase the size of the map like the width?

  • @PubOfChub
    @PubOfChub 10 месяцев назад +1

    Hey coding with Russ, found your channel based on your reflection on two years making games, I am also planning on learning python and making games and posting RUclips videos about them, and I just want one tip from you, I don’t care what part of the process it is about, but just one tip

    • @CodingWithRuss
      @CodingWithRuss  10 месяцев назад +2

      Hey! Hmm one tip, that's difficult! If you're just starting out learning python then I would say start with small projects and progress to bigger ones as you get more familiar. It's tempting to jump into a big platformer from the start but it's very easy to get bogged down and lose motivation, so keep it simple to begin with.

  • @itheinventor6593
    @itheinventor6593 Месяц назад

    can you please tell which app you use to code?

  • @Jayjay-uv2nc
    @Jayjay-uv2nc Месяц назад

    It says __init__() takes from 1 to 2 positional arguments but 3 were given please help

  • @djorkaeffavellaneda5412
    @djorkaeffavellaneda5412 18 дней назад

    I have problems with the textures, the textures are not loading.

  • @DREAMDEV43
    @DREAMDEV43 10 месяцев назад +2

    Bro I like you very much. Because of you I can now program games❤ can you make an tutorial how to make a shader in Pygame that will be very interesting

    • @CodingWithRuss
      @CodingWithRuss  10 месяцев назад +1

      Thank you! Glad the tutorials helped. I haven't messed around with shaders but if I do, then i'll make a tutorial as well.

  • @usmanamjad1409
    @usmanamjad1409 8 месяцев назад

    Can you make a tutorial explaning how to make a 3d game in Unity or UE5 by the way when will you make another tutorial on a python 2d game??

  • @zamyr1233
    @zamyr1233 8 месяцев назад

    I used the "groundEarth.obj" file, but the ground is a single large block. HELP

  • @darknetworld
    @darknetworld 3 месяца назад

    You should use pipenv to sandbox the version control or container.

  • @Fahim_Uchiha416
    @Fahim_Uchiha416 10 месяцев назад +5

    Sir, can u teach us to add random entity's like zombies and how to expand the world

    • @ABigLumpofClay
      @ABigLumpofClay 3 месяца назад

      Like he said expanding the world would cause the game to slow down quickly you can change this:
      for x in range(-10, 10):
      for z in range(-10, 10):
      you can change the values to higher numbers but after i chose 20 i was down to 60 fps

    • @gamalielgerona2391
      @gamalielgerona2391 17 дней назад

      @ABigLumpofClay I decreased it to 5 and it works pretty well. But its small so I stick to 7.

    • @ABigLumpofClay
      @ABigLumpofClay 16 дней назад

      @@gamalielgerona2391 5 is very low tho

  • @ARTHURTHEBG
    @ARTHURTHEBG 27 дней назад

    do you know a way to convert all of the blocks into chunks? so it reduce the lag?

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

      No, because they will load more in the background, so the FPS will be low

  • @user-kk1vt7qs1p
    @user-kk1vt7qs1p 4 месяца назад +1

    i do not get it why does it still say missing models, i have checked the path, IT IS RIGHT, but it still says missing models, same applies for textures, i have also tried the code from the github, making sure i didn't spell anything wrong but no, the problem is still there, if anyone can help me please help, thank you

    • @KesballoGames
      @KesballoGames 4 месяца назад

      Do you have downloaded the textures and the model?

    • @user-kk1vt7qs1p
      @user-kk1vt7qs1p 4 месяца назад +1

      @@KesballoGames yes i did, from the link in the description

    • @user-kk1vt7qs1p
      @user-kk1vt7qs1p 3 месяца назад +1

      ​@@KesballoGames nvm i switched to IDLE, i used pycharm and that's why i had issues, thanks for the help btw!

  • @AyushDhengre-ps2dy
    @AyushDhengre-ps2dy 6 месяцев назад

    i have used your coding but it is showing warning for missing model please tell me how to sort out this

    • @user-kk1vt7qs1p
      @user-kk1vt7qs1p 4 месяца назад +1

      install the assets from the description and put them in your project

    • @user-kk1vt7qs1p
      @user-kk1vt7qs1p 4 месяца назад +1

      actually i have the same issue right now

  • @rezashir3873
    @rezashir3873 10 месяцев назад +2

    very good. i saw same tutorial in code spacer and clear code channels first.
    but you explain it more clearly and its so good

  • @Jai_Shree_Ram____469
    @Jai_Shree_Ram____469 10 месяцев назад +2

    Can u make a 3d simple FPS in ursina python

    • @CodingWithRuss
      @CodingWithRuss  10 месяцев назад +1

      Maybe!

    • @Snoroz
      @Snoroz 9 месяцев назад

      Yes, of course you can!

  • @UnofficialYouTuber
    @UnofficialYouTuber 5 месяцев назад

    My cursor gone vanished and I can't escape from this code, what do I do?

    • @slavica1505
      @slavica1505 4 месяца назад

      You can use the Shift + Q shortcut while the game window is open and it will disappear!

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

      ​@@slavica1505Or alt+f4

  • @user-es1ie1dy3u
    @user-es1ie1dy3u 7 месяцев назад

    how do we download the assets

    • @gamalielgerona2391
      @gamalielgerona2391 17 дней назад

      ever thought about clicking the link in the description?

  • @encrypt_cyberexe
    @encrypt_cyberexe 8 месяцев назад

    ursina module not work please help

  • @arnolduk123
    @arnolduk123 6 месяцев назад

    Not quite the minecraft on the video thumbnail is it!

  • @gamalielgerona2391
    @gamalielgerona2391 17 дней назад

    Its better to have a sky so I just put 'sky = Sky()'

  • @Jai_Shree_Ram____469
    @Jai_Shree_Ram____469 10 месяцев назад +1

    Coding with russ please make your face reval

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

    i am geting this eror help plzzz
    set window position: Vec2(137, 77)
    :prc(warning): changing default value for ConfigVariable paste-emit-keystrokes from '1' to '0'.
    :pnmimage:png(warning): iCCP: known incorrect sRGB profile
    package_folder: C:\Users\User\AppData\Local\Programs\Python\Python312\Lib\site-packages\ursina
    asset_folder: c:\mygames
    Traceback (most recent call last):
    File "c:\mygames\start.py", line 6, in
    mouse_sensitivity=vec2(100, 100),
    ^^^^^^^^^^^^^^
    TypeError: 'module' object is not callable
    PS C:\mygames>

  • @nawazkhaun8563
    @nawazkhaun8563 8 месяцев назад

    hi

  • @Retro64211
    @Retro64211 2 месяца назад

    why does this not work, this is the code:
    from ursina import *
    from ursina.prefabs.first_person_controller import FirstPersonController
    import perlin_noise

    app = Ursina()
    player = FirstPersonController(position=(0,5,0))
    ground = Entity(
    model="plane",
    scale=(3500,1,3500),
    texture="grass",
    collider="box")
    block_textures { < - invalid syntax
    "grass": load_texture("assets/textures/groundEarth.png")
    }
    class Block(Entity):
    def _init_(self, position, block_type)
    app.run()
    if you could help that would be great!

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

      You forgot the equal sign for the 'block_textures' dictionary.