Making FPS Games in Python

Поділитися
Вставка
  • Опубліковано 1 сер 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
  • Ігри

КОМЕНТАРІ • 120

  • @blendernoob64
    @blendernoob64 7 місяців тому +278

    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 2 місяці тому +9

      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 2 місяці тому +35

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

    • @calebgates280
      @calebgates280 2 місяці тому

      @@jcdentonunatcoo😅p

    • @ContentBeachYoga-cw1op
      @ContentBeachYoga-cw1op Місяць тому

      "for any industr-"
      OSDEV:

    • @geliussun
      @geliussun Місяць тому +2

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

  • @YonnjiNyyoka
    @YonnjiNyyoka 7 місяців тому +93

    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 6 місяців тому +5

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

    • @sauce6534
      @sauce6534 2 місяці тому +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 2 місяці тому

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

    • @ACMBitz7
      @ACMBitz7 2 місяці тому

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

    • @________----------.........
      @________----------......... 2 місяці тому +1

      @@sauce6534 python is slower

  • @faultboy
    @faultboy 9 місяців тому +437

    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.

  • @yammerttv
    @yammerttv 2 місяці тому +40

    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 9 місяців тому +11

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

  • @cryptigo
    @cryptigo 6 місяців тому +33

    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  6 місяців тому +2

      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 2 місяці тому +2

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

    • @demonman1234
      @demonman1234 Місяць тому

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

  • @gabrielperano
    @gabrielperano 9 місяців тому +37

    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_ 2 місяці тому +1

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

    • @demonman1234
      @demonman1234 Місяць тому +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.

  • @MeltedIce_
    @MeltedIce_ 9 місяців тому +5

    no way you're this underrated, great video 👍

  • @JonaMost007
    @JonaMost007 9 місяців тому +2

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

  • @fcanudo_
    @fcanudo_ 5 місяців тому +3

    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

  • @progress_games
    @progress_games 9 місяців тому +8

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

    • @brokenportals
      @brokenportals  9 місяців тому

      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 9 місяців тому +1

    Hi great vid. Very helpful! ❤

  • @Blind_Hawk
    @Blind_Hawk 2 місяці тому +2

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

  • @SAYHI2JAMMY
    @SAYHI2JAMMY 2 місяці тому +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 :)

  • @1ups_15
    @1ups_15 9 місяців тому +9

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

    • @omiorahman6283
      @omiorahman6283 6 місяців тому

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

  • @CyrillKR
    @CyrillKR 8 місяців тому +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  8 місяців тому +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.

  • @Fluid_Genius
    @Fluid_Genius 7 місяців тому +2

    Wow that TF2 clone looks incredible.

  • @jonatan1265
    @jonatan1265 9 місяців тому +5

    love that youtube thinks this is a minecarft video

    • @professionalshitposter6897
      @professionalshitposter6897 9 місяців тому

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

  • @lifeland9004
    @lifeland9004 8 місяців тому +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  8 місяців тому +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 2 місяці тому +3

    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 ...

  • @Mandaw
    @Mandaw 8 місяців тому +1

    Very cool, thanks for featuring me :)

    • @brokenportals
      @brokenportals  8 місяців тому +2

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

    • @mci122
      @mci122 8 місяців тому +1

      bro got a shoutout

  • @evhann
    @evhann 2 місяці тому +2

    Hello from a dev of the game at 6:45

  • @FinFET
    @FinFET 2 місяці тому +3

    2:38 LoL, thats my game =)

  • @acethemain7776
    @acethemain7776 11 днів тому +1

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

  • @famaral42
    @famaral42 7 місяців тому +1

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

    • @brokenportals
      @brokenportals  7 місяців тому +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.

  • @moony_otter
    @moony_otter 2 місяці тому +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  2 місяці тому +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.

  • @maestro_playa
    @maestro_playa 9 місяців тому +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 8 місяців тому +1

      it's not

    • @mci122
      @mci122 7 місяців тому

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

  • @i_pew_pew
    @i_pew_pew 2 місяці тому

    what game is that in the background

  • @Voxelstice
    @Voxelstice 9 місяців тому

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

  • @priyapepsi
    @priyapepsi 9 місяців тому +2

    What's the game used in footage at 0:50?

  • @vxxmp1re
    @vxxmp1re 2 дні тому

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

  • @MacMiggity
    @MacMiggity 20 днів тому +1

    Ogre3d with python was king

  • @MrSkeleton14
    @MrSkeleton14 2 місяці тому

    Glatopt?

  • @Rptr797-wn4iu
    @Rptr797-wn4iu 11 годин тому +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  10 годин тому

      Severed Steel. Fantastic game worth checking out.

  • @alexstone691
    @alexstone691 2 місяці тому

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

  • @Aslamkaztro
    @Aslamkaztro Місяць тому

    ❤❤

  • @us3r158
    @us3r158 9 місяців тому +1

    NO NO NO NO WAIT WAIT WAIT WAIT

  • @Kaleboi35291
    @Kaleboi35291 14 днів тому +1

    whats the game in the 2nd clip?

  • @ricardofilipe8973
    @ricardofilipe8973 2 місяці тому +1

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

  • @F0r3v3rT0m0rr0w
    @F0r3v3rT0m0rr0w 2 місяці тому +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 2 місяці тому +1

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

    • @Johnfortnite1102
      @Johnfortnite1102 7 днів тому

      Everything fast in python was written in c++

  • @jamesc9168
    @jamesc9168 8 місяців тому +1

    Isn't Ursina just a wrapper around Panda3d?

    • @brokenportals
      @brokenportals  8 місяців тому

      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.

    • @totex1979
      @totex1979 2 дні тому

      He says it also in the video.

  • @_KingDojo_
    @_KingDojo_ 9 місяців тому +1

    What game is that in the bg

    • @brokenportals
      @brokenportals  9 місяців тому +2

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

    • @NoobSvCy
      @NoobSvCy 9 місяців тому +1

      @@brokenportals thank you!

  • @marwan7614
    @marwan7614 2 місяці тому

    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  2 місяці тому

      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.

  • @thegarsa1620
    @thegarsa1620 2 місяці тому +1

    whats that game called at 0:42

  • @user-kp5wb7np4u
    @user-kp5wb7np4u Місяць тому +1

    use ursina
    srsly dont lsiten to other stuff jsut use ursina

  • @hersical
    @hersical 9 місяців тому +1

    ultrakill was made with unity

    • @brokenportals
      @brokenportals  9 місяців тому

      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 9 місяців тому +1

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

    • @MAXRAY-bw9kv
      @MAXRAY-bw9kv 2 місяці тому

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

  • @frogge3978
    @frogge3978 2 місяці тому +1

    whats the game at 5:48?

    • @frogge3978
      @frogge3978 2 місяці тому +1

      oh wait the game is DUGA

  • @Vexcenot
    @Vexcenot 2 місяці тому

    why does the script feels ai generated as hell

  • @muhammadyusoffjamaluddin
    @muhammadyusoffjamaluddin 2 місяці тому

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

  • @Plumswillow
    @Plumswillow 8 днів тому +1

    slab marksman detected.

  • @kezif
    @kezif 2 місяці тому

    technically python is C framework..

  • @halsaufschneider1446
    @halsaufschneider1446 6 місяців тому +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 28 днів тому

      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 4 дні тому

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

  • @AgentBurgers
    @AgentBurgers 2 місяці тому +1

    Battlefield 2 was made in Python

  • @budgetarms
    @budgetarms 9 місяців тому +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 4 дні тому

      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 3 дні тому

      @@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.

  • @Linus_Turvulds
    @Linus_Turvulds 2 місяці тому +1

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

    • @Mik-kv8xx
      @Mik-kv8xx 10 днів тому

      I think he meant a python extension

    • @Linus_Turvulds
      @Linus_Turvulds 9 днів тому

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

    • @Mik-kv8xx
      @Mik-kv8xx 9 днів тому

      @@Linus_Turvulds based 🍷

  • @patrickplus9815
    @patrickplus9815 9 місяців тому +4

    Please dont pin me