Making FPS Games in Python

Sdílet
Vložit
  • čas přidán 1. 08. 2023
  • So this was a relatively brief video about fps games made with python and what they generally look like using it.
    In short, it's definitely doable, but if you want something more complex and detailed, you may be better off using something
    like Unity, Unreal or Godot. Otherwise, you can still minimalistic but fun 3d games with Python.
    Also, another thing I forgot to point out. Most python game projects usually don't have an executable and will require you to have Python installed on your computer, including the libraries that were used to build them.
    But there are exceptions that do have an exe file.
    Also, wrappers..Not Rappers.
    Links:
    www.panda3d.org/
    www.ursinaengine.org/
    pyga.me/
    pyopengl.sourceforge.net/
    • How I Made A 3D FPS In... - ‪@Mandaw‬
    • tf2 in panda3d - ‪@citanool‬
    • Creating Minecraft in ... - ‪@ClearCode‬
    Games:
    • ASCII 3D Zombie FPS in... - ‪@foxbud‬
    github.com/russs123/minecraft...
    github.com/StanislavPetrovV/P...
    github.com/ShadityZ/Vitrix
    mandaw2014.itch.io/parkour
    mandaw2014.itch.io/mandaw-ope...
    Track:
    • No Copyright Music Pla...
    / @superlofiworld
    #gamedev #gamedevelopment #fps #gaming #python
  • Hry

Komentáře • 152

  • @blendernoob64
    @blendernoob64 Před 9 měsíci +372

    I think one reason why people are interested in python game engines is because there is so much job opportunities for python developers. Learning how to program by making games is an awesome way to learn a language and if you know python, you can find jobs for almost any industry.

    • @jcdentonunatco
      @jcdentonunatco Před 4 měsíci +12

      its interesting for sure, but python is actually one of the worst languages to make a game or game engine in. The reason being is that it runs up to 100x times slower than the current game engine standard language, C++. Is it possible to use Python, for sure. But should you? Not unless its purely for educational purposes

    • @usser-505
      @usser-505 Před 4 měsíci +43

      @@jcdentonunatco the original point was a bit different, don't you think?

    • @calebgates280
      @calebgates280 Před 4 měsíci

      @@jcdentonunatcoo😅p

    • @ContentBeachYoga-cw1op
      @ContentBeachYoga-cw1op Před 4 měsíci

      "for any industr-"
      OSDEV:

    • @geliussun
      @geliussun Před 3 měsíci +3

      @@jcdentonunatco my brother in Christ that was the OP point - you can use it to make learning more fun and engaging

  • @YonnjiNyyoka
    @YonnjiNyyoka Před 9 měsíci +120

    TF2 remake in Panda3D is a proof that you can make a game with any level of detail and quality in Python, because the core of those engines are written in C++. I'm also working on a TPS game in Python and Panda3D.

    • @rubixmc7320
      @rubixmc7320 Před 8 měsíci +6

      I love how panda is literally made in c++ ….

    • @sauce6534
      @sauce6534 Před 4 měsíci +5

      @@rubixmc7320tired of nerds glazing c++ like python wasn’t built around it entirely lol like what point are you trying to make 🤓🤓🤓🤓

    • @revimfadli4666
      @revimfadli4666 Před 4 měsíci

      ​@@sauce6534the fact that python needs compiled libs written in c++🤓🤓🤓

    • @ACMBitz7
      @ACMBitz7 Před 4 měsíci

      @@rubixmc7320 Wow really? It's almost like all modules are made in c++!

    • @________----------.........
      @________----------......... Před 4 měsíci +3

      @@sauce6534 python is slower

  • @cryptigo
    @cryptigo Před 8 měsíci +47

    Honestly, you can create almost anything in any programming language. I use both C++ and Python, and while C++ is faster, Python is much less stressful to work with. Choose the programming language that you enjoy working with and know the best

    • @brokenportals
      @brokenportals  Před 8 měsíci +4

      Absolutely. And Rust has been getting some game dev treatment too with the Bevy Engine, as well as other games with custom engines written in the language.

    • @revimfadli4666
      @revimfadli4666 Před 4 měsíci +5

      Working with python code: 🥰
      Working with software written in python: ⏳⏳⏳⏳⏳⌛💀

    • @demonman1234
      @demonman1234 Před 3 měsíci

      @@revimfadli4666Exactly how I feel running my highly unoptimized test code… LOL

    • @ChumpRumpkis
      @ChumpRumpkis Před měsícem

      i use blitz3d

  • @yammerttv
    @yammerttv Před 4 měsíci +48

    I am technically a contributor to the Ursina engine, as I made some of the more main documentation for a lot of the classes (which the maintainer didn't want to add, and I had to fight to add in basic documentation)

  • @OneSilentGuy
    @OneSilentGuy Před 11 měsíci +14

    Very interesting vid, the editing is great and the way that you cover the topic is great. Very good vid.

  • @faultboy
    @faultboy Před 11 měsíci +558

    This is illegal, please stop the development and pick a purely compiled language, the PCG (Programmers Control Group) is already informed and will be taking appropriate steps.

  • @MeltedIce_
    @MeltedIce_ Před 11 měsíci +5

    no way you're this underrated, great video 👍

  • @gabrielperano
    @gabrielperano Před 11 měsíci +38

    Been looking into coding with python for basic games, as I already know how to code with it & cannot be assed to learn a whole new language, thank you for posting this video, very informative

    • @Hacktheplanet_
      @Hacktheplanet_ Před 4 měsíci +1

      You can code in most languages if you know one. They are all the same. The computer is just taking instructions.

    • @demonman1234
      @demonman1234 Před 3 měsíci +2

      @@Hacktheplanet_The main concept is similar: functions, variables, data types, etc, just relearning the nuances of different languages is definitely tedious… (trust me.. I’ve done it too many times).
      However, if you know Java, you pretty much know C# and vice versa. Very similar languages.

  • @JonaMost007
    @JonaMost007 Před 11 měsíci +2

    I was thinking this was made by a well know youtuber but no keep it up i love this❤

  • @fcanudo_
    @fcanudo_ Před 7 měsíci +4

    Adding to the list of those you mentioned in the video, there's also Raylib in which there's a language binding for pretty much everything, including python

  • @Blind_Hawk
    @Blind_Hawk Před 4 měsíci +3

    Very good video and helpful for people who like to learn more about game development.

  • @progress_games
    @progress_games Před 11 měsíci +8

    Really good video! Whenever anyone talks about pygame's speed I always imagine dafluffypotato coming back with the 'uhh, actually...' lmao

    • @brokenportals
      @brokenportals  Před 11 měsíci

      He's definitely a lot more informative on the subject of Python Game Development than I am. But I figured that since 3D shooters aren't as explored as much in Python I thought I'd throw my hat in the ringer.

  • @user-fu6uy3br8z
    @user-fu6uy3br8z Před 11 měsíci +1

    Hi great vid. Very helpful! ❤

  • @SAYHI2JAMMY
    @SAYHI2JAMMY Před 4 měsíci +2

    great video !
    python/panda3D is what i started out trying to learn before moving onto other weird languages/engines ♥
    still hoping/waiting for a darkbasic (pro) video :)

  • @CyrillKR
    @CyrillKR Před 10 měsíci +4

    Python is a very useful language and its philosophy for keeping simplicity (simple doesn't mean easy, you still need to put in effort with rather complex systems) makes it a great scripting and prototyping tool. I believe that it's a great tool for learning rudimentary game logic programming, game design with coding and project organization. There's a great channel called Coder Space which is worth shouting out, there's a lot of great in-depth "walkthroughs", like creating ray-casting engines like in Wolfenstein 3D and Doom using Pygame.
    I believe that anyone putting an effort in making a simple shooter in Python will have a much easier time migrating to "proper" game engines later on. Maybe even designing their own engine in a lower level language.

    • @brokenportals
      @brokenportals  Před 10 měsíci +1

      Of course. Even with the addition of libraries, you still have to be realistic as to what can actually be done with it. Godot is a fantastic alternative since it has a language with some syntax that's similar to Python and supports other languages.

  • @1ups_15
    @1ups_15 Před 11 měsíci +9

    I just checked and SFML also exists in python, maybe you could have spoken about it, really great video nonetheless :)

    • @omiorahman6283
      @omiorahman6283 Před 8 měsíci

      The pysfml is not sparking recently it’s abandoned so far

  • @lifeland9004
    @lifeland9004 Před 10 měsíci +7

    3:33 Panda3d isn't really outdated. It's continued to receive updates throughout the years, and then you can also link to other libraries (whether they were designed around panda3d or not) to increase it's functionallity. I.E. bullet physics and complexPBR. It's just that it might look primitive because it's more up to the user to make something look nice. As a metaphor:
    On a sliding scale from Raw ingredients to Microwave dinner, Panda3d is closer to raw ingredients while engines like unity are closer to the middle. While it's more up to the user's skill to create something amazing, it's far easier to create exactly what you have in mind, while with unity, it takes more effort to create something substantially different. (I.E. super weird non-Euclidean graphics.)

    • @brokenportals
      @brokenportals  Před 10 měsíci +2

      It's true you can increase its capabilities. But almost no one who wants to develop games is doing it. In the case of creativity, it just boils down to the creator at the end of the day. Plenty of amazing and unique experiences have been made with unity and unreal.

  • @MManel
    @MManel Před 4 měsíci +4

    Man , you told everything
    I think python is fantastic , however , lacks something in gaming , i hope soon may be came some kind of ( update , or another app that can make possible write a full game with greatest graphics all only with python . but for now , Thank you very much , for provide such useful information and video.
    Many thanks ...

  • @Sasha_e_sasho
    @Sasha_e_sasho Před 6 dny +2

    Yoo that game is fire💀

  • @evhann
    @evhann Před 4 měsíci +2

    Hello from a dev of the game at 6:45

  • @Xalkomak347
    @Xalkomak347 Před měsícem +1

    I just wrote the core logic for "Rock, Paper, Scissors" in Python so I can reuse it in my main game, and now I get this video recommended. Coincidence? I think not!

  • @mesi69420
    @mesi69420 Před 15 hodinami +1

    an alternative would've been UPBGE but that mostly focuses more on visual scripting than actuall python. but its still powerfull since in runs in blender

  • @Mandaw
    @Mandaw Před 10 měsíci +1

    Very cool, thanks for featuring me :)

    • @brokenportals
      @brokenportals  Před 10 měsíci +2

      You're welcome man. Hope to see more future projects from you.

    • @mci122
      @mci122 Před 10 měsíci +1

      bro got a shoutout

  • @FinFET
    @FinFET Před 4 měsíci +3

    2:38 LoL, thats my game =)

  • @jimmy21584
    @jimmy21584 Před 10 dny +1

    I’m a fan of Python and so is John Carmack. These days I’d rather crack out a fun game with less code in less time, with some performance penalty, than use something lower level like c++. And I’ve been making console games in C/C++ for decades. I don’t think I would use either of these 2 engines; I would write my own bindings over a base engine in C++ and do all the high-level logic in Python. Or just use Godot; it’s near enough to Python for me.

  • @jonatan1265
    @jonatan1265 Před 11 měsíci +5

    love that youtube thinks this is a minecarft video

    • @professionalshitposter6897
      @professionalshitposter6897 Před 11 měsíci

      The video's creator has to set the game being played manually. There is no automated system for this

    • @vignesh306
      @vignesh306 Před měsícem

      ​​@@professionalshitposter6897 Shut up, it's detected automatically

  • @acethemain7776
    @acethemain7776 Před 2 měsíci +1

    apparently assetto corsa's apps (customisable ui elements) are made in python

  • @maestro_playa
    @maestro_playa Před 11 měsíci +3

    Games in python (in my opinion) are at max a Doom copy and at minimum any 2d (topdown or some other type) game, otherwise it will have less performance then other languages

    • @mci122
      @mci122 Před 10 měsíci +1

      it's not

    • @mci122
      @mci122 Před 9 měsíci

      @@riverfreeland5146yeah, not python means low performance and unable to create AAA games. Just depends how much works you paying

  • @Fluid_Genius
    @Fluid_Genius Před 9 měsíci +2

    Wow that TF2 clone looks incredible.

  • @moony_otter
    @moony_otter Před 4 měsíci +2

    Damn, no respect for Blender Game Engine, or its community-made fork, UPBGE (Uchronia Project)
    I'm actually developing my own FPS meant to have an easy to play, hard to master build like Ultrakill and TF2, inspired by Pizza Tower mostly.
    BGE/UPBGE uses Python for its logic and scripting, while the rendering engine uses OpenGL and C#, I think. It's been fun to make my own systems in Python and I hope to make a game that shows that you CAN make a dynamic, fast-paced FPS game using Python for scripting!
    Awesome video, keep up the good work :)

    • @brokenportals
      @brokenportals  Před 4 měsíci +1

      Wasn't aware of it at the time. But it does show how much was created in the background using Python without my knowledge.
      Your project sounds really promising. Keep me posted.

  • @lolhahalaughlaugh8033
    @lolhahalaughlaugh8033 Před 22 dny

    im making a game engine that uses python (for now at leasst) on the user side, my main goal is so people can learn python while having fun

  • @mokouu
    @mokouu Před 8 dny +1

    For any category X, you'll always hear, 'Python is terrible for X.' Yet, you’ll find projects where Python performs X better than you ever imagined. People undermine it because they don't get its philosophy: simple is better than complex. That's why, despite the apparent hate, it's actually a reflection of its success. If performance is an issue, just write the boilerplate and hard logic in C, compile it to a nice .pyd, and get back to your work. Simple, right?
    p.s:Amazing video, very detailed! got confused with the difference in content with the rest of your videos lol

  • @Garfield_Minecraft
    @Garfield_Minecraft Před 2 měsíci +2

    after i learned c and c++ i started talking thing like python, and javascript are slow
    html isn't real programming language.
    so yeah LOL, then back to python and it isn't bad.. my FPS in PYGAME!

  • @Antagon666
    @Antagon666 Před 3 dny +1

    Yes, game written in python can infact achieve a single FPS.

  • @mrcafe3x_
    @mrcafe3x_ Před měsícem +1

    "making fps games in python"
    Ram: Please don't

  • @famaral42
    @famaral42 Před 9 měsíci +1

    thanks for the summary. Do you know how easy/is capable to deploy for Android?

    • @brokenportals
      @brokenportals  Před 9 měsíci +1

      Hmm, tbh I'm not sure how viable it is for Android development, if you're using panda or ursina that is. But alternatively, Godot is an option worth looking into, and it's native language's syntax (some of it) isn't too far apart from python.

  • @KucheKlizma
    @KucheKlizma Před měsícem +1

    In my understanding Python and C are both extremely slow for games by modern standards since they run on the CPU. If you want to be writing a fast game I suspect you'll need to talk to the GPU at some point with a dedicated language such as GLSL, HLSL or whatever.
    Just like how if you want to use a relational database, you will probably either be writing in SQL or using an ORM that does the SQL for you, at which point the Python vs C++ is a bit of a false dilemma. If you will be doing a lot of CPU heavy computation you might want to perhaps do it in C or use something like numpy which is python bindings for a c library. Then there's the whole jit vs interpreted problem. However python is memory safe, and that's not something to be underestimated. I believe the benefits of using Godot is that you also get a scene editor and various other out of the box tooling and a bunch of ready to use opinionated engines you can tune and use for your project, so it really depends what you need in the end.

  • @MacMiggity
    @MacMiggity Před 2 měsíci +1

    Ogre3d with python was king

  • @alexstone691
    @alexstone691 Před 4 měsíci

    You could always just do performant things in c/c++ and everything else in python

  • @solkun11
    @solkun11 Před 2 měsíci

    is that what's under spy's mask??

  • @Aslamkaztro
    @Aslamkaztro Před 3 měsíci

    ❤❤

  • @Rptr797-wn4iu
    @Rptr797-wn4iu Před 2 měsíci +1

    Bro I know that first game was ultra kill but what is that second game, like ultra kill with reshade? No seriously what was that second game calleed

    • @brokenportals
      @brokenportals  Před 2 měsíci

      Severed Steel. Fantastic game worth checking out.

  • @Doomslayer151
    @Doomslayer151 Před 22 dny +1

    Next up: remastering the gta5 in python(like 5 yrs old)

  • @Voxelstice
    @Voxelstice Před 11 měsíci

    title is a bit "clickbaity", but I knew a fps in python just wasn't mostly possible
    good video anyway

  • @i_pew_pew
    @i_pew_pew Před 4 měsíci

    what game is that in the background

  • @marwan7614
    @marwan7614 Před 4 měsíci

    I don't see the point about python game dev makes you learn programming more that using Godot, python game engines are so abstracted that they are akin to Godot without a GUI interface, In Godot you're still gonna mess with code though GDscript(Vars,Loops,math,getters,setter) plus better OOP and static typing.

    • @brokenportals
      @brokenportals  Před 4 měsíci

      People who use Godot are more focused on learning game development, where programming is a part of it but not necessarily the priority, a means to an end basically. But Python is a transferable language across different IT departments that people can use to learn programming across the board. It ultimately depends on your goals.

  • @us3r158
    @us3r158 Před 11 měsíci +1

    NO NO NO NO WAIT WAIT WAIT WAIT

  • @ricardofilipe8973
    @ricardofilipe8973 Před 4 měsíci +1

    Not only performance but C++ forces you to write better software

  • @MrSkeleton14
    @MrSkeleton14 Před 4 měsíci

    Glatopt?

  • @DhruvKumar-di9ew
    @DhruvKumar-di9ew Před měsícem +1

    what game you are playing in the background?

  • @jamesc9168
    @jamesc9168 Před 10 měsíci +1

    Isn't Ursina just a wrapper around Panda3d?

    • @brokenportals
      @brokenportals  Před 10 měsíci

      Yes. But you can add more around it to expand its capabilities and use it like a game engine. You just don't see a lot of people develop games with it because of more popular options.

    • @bitpilot79
      @bitpilot79 Před 2 měsíci

      He says it also in the video.

  • @F0r3v3rT0m0rr0w
    @F0r3v3rT0m0rr0w Před 4 měsíci +1

    "the reason python isn't used for game design is performance" has always made me wonder why people use python for machine learning considering how they require performance.

    • @marwan7614
      @marwan7614 Před 4 měsíci +1

      Because Wrappers, all ML libs in python are wrappers, they just an interface invoking a compiled C/C++ Code.

    • @Manlikerik8
      @Manlikerik8 Před 2 měsíci

      Everything fast in python was written in c++

  • @hersical
    @hersical Před 11 měsíci +1

    ultrakill was made with unity

    • @brokenportals
      @brokenportals  Před 11 měsíci

      And Severed Steel was made with Unreal. Some of the best indie Shooters on the market. It would be really cool to see something similar written with a python based engine or framework, within its capacity of course.

    • @hersical
      @hersical Před 11 měsíci +1

      @@brokenportals yes a python based engine seems way more plausible

    • @MAXRAY-bw9kv
      @MAXRAY-bw9kv Před 4 měsíci

      ​@@brokenportalswhat's the point waste time on c++ then have less time on models?
      Using pre assists make your game looks generic.

  • @zaixrx
    @zaixrx Před dnem +1

    why?

  • @_KingDojo_
    @_KingDojo_ Před 11 měsíci +1

    What game is that in the bg

    • @brokenportals
      @brokenportals  Před 11 měsíci +2

      Ultrakill and Severed Steel. For the thumbnail, it's Team Fortress 2.

    • @NoobSvCy
      @NoobSvCy Před 11 měsíci +1

      @@brokenportals thank you!

  • @thegarsa1620
    @thegarsa1620 Před 4 měsíci +1

    whats that game called at 0:42

  • @Kaleboi35291
    @Kaleboi35291 Před 2 měsíci +1

    whats the game in the 2nd clip?

  • @pringleboyo2460
    @pringleboyo2460 Před měsícem

    What was the first game he showed?

  • @muhammadyusoffjamaluddin
    @muhammadyusoffjamaluddin Před 4 měsíci

    Ah... Python, a Joker with C++ mask.
    I have to pay my respect for them, (Press F). Truly master of disguise... and ignorant XD

  • @AgentBurgers
    @AgentBurgers Před 4 měsíci +3

    Battlefield 2 was made in Python

  • @RetroMonster64
    @RetroMonster64 Před 13 dny

    bro this is not FPS , this is top down shooter game lol

  • @frogge3978
    @frogge3978 Před 4 měsíci +1

    whats the game at 5:48?

    • @frogge3978
      @frogge3978 Před 4 měsíci +1

      oh wait the game is DUGA

  • @user-kp5wb7np4u
    @user-kp5wb7np4u Před 3 měsíci +1

    use ursina
    srsly dont lsiten to other stuff jsut use ursina

  • @Vexcenot
    @Vexcenot Před 4 měsíci

    why does the script feels ai generated as hell

  • @Plumswillow
    @Plumswillow Před 2 měsíci +1

    slab marksman detected.

  • @gaxkiller
    @gaxkiller Před měsícem

    "Making an operating system in excel"
    Seriously, python developers are ready to use this language EVERYWHERE it should never be used, this new generation of "developers" is going to be something else ...

  • @kezif
    @kezif Před 4 měsíci

    technically python is C framework..

  • @halsaufschneider1446
    @halsaufschneider1446 Před 8 měsíci +1

    Ok, so Python is slower than other Languages when it comes to 3D gaming. But how much slower is it? Lets say we make a game like Quake 3. Its a small arena shooter. If we get 200 FPS with Quake 3 C# or C++. Then how much FPS would we get with Python? 120FPS?
    The generalizing sentence of "its slower" doesn't really help. I looked this up and i found no actual comparing 3D Perfromance Data what so ever. I even asked Chat A.I. :P
    If we talk about ~25% less performance, then this is still not that big of a deal. Depending on the game you are making.
    If you are super efficient and trained in Python "only". You can realease the game/product sooner and make some profit, instead of switching to a different language you know nothing about.
    If you wan't to make the next Metroid Dread 2.5D sidescroller. Pyhton might be enough. If you want to make the next Crysis in terms of graphics, well, you better start asking the question "can it run Pysis".... because your ~25% less performance just bottlenecked your entire endeavor.
    But we don't really know that, do we? Because we have no actual 3D Game comparison Data? No one took the same assets and made the exact same game/benchmark in Python and in another language to compare.
    Python is used for A.I. stuff. Would be interesting to know, if that could be used to make Python written games run faster.

    • @khalilshew4924
      @khalilshew4924 Před 2 měsíci

      Also you have to take into account that most languages has the same fundamentals so if someone is a great programmer with one language then they could more easily learn a new language faster than someone with no experience at all can

    • @PySnek
      @PySnek Před 2 měsíci +1

      Python is about 8 times slower using for example the raylib wrapper compared to C++. And pygame is much much worse than that.

  • @Linus_Turvulds
    @Linus_Turvulds Před 4 měsíci +2

    I don't know that joke or what but bro really thinks that gdscript is python 💀💀💀

    • @Mik-kv8xx
      @Mik-kv8xx Před 2 měsíci

      I think he meant a python extension

    • @Linus_Turvulds
      @Linus_Turvulds Před 2 měsíci

      ​@@Mik-kv8xx I apologize then for my comment

    • @Mik-kv8xx
      @Mik-kv8xx Před 2 měsíci

      @@Linus_Turvulds based 🍷

  • @budgetarms
    @budgetarms Před 11 měsíci +1

    Basically you are say, use a game engine, or learn c++.
    Lmao.
    C++ is not that hard, ....
    It only takes a year to know most of the basics.
    And another year to know graphics.

    • @PySnek
      @PySnek Před 2 měsíci

      It doesn't take a year to learn the basics. You find great tutorials that take about 10 hours and cover nearly everything. Someone motivated should be able to learn the basics in about a month.

    • @budgetarms
      @budgetarms Před 2 měsíci

      @@PySnek Define the basics for C++, ...
      It would not take someone 10 hours of watching to cover nearly everything (except if you are only talking about covering the basics.
      Yeah, it's not really basic what I learn, I mean are smartpointers, lamba's basic, etc basic?
      For me it's basic, but that's because it's so easy.

  • @patrickplus9815
    @patrickplus9815 Před 11 měsíci +4

    Please dont pin me