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
  • เกม

ความคิดเห็น • 121

  • @blendernoob64
    @blendernoob64 7 หลายเดือนก่อน +280

    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 หลายเดือนก่อน +36

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

    • @calebgates280
      @calebgates280 2 หลายเดือนก่อน

      @@jcdentonunatcoo😅p

    • @ContentBeachYoga-cw1op
      @ContentBeachYoga-cw1op 2 หลายเดือนก่อน

      "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

  • @faultboy
    @faultboy 9 หลายเดือนก่อน +443

    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.

    • @davidfinley6708
      @davidfinley6708 8 หลายเดือนก่อน

      Don’t be a f@g

    • @lulCwrld
      @lulCwrld 6 หลายเดือนก่อน

      I smell a gay boo 😅

    • @MorrisseyMuse
      @MorrisseyMuse 6 หลายเดือนก่อน +3

      What?! lol

    • @timeparadox_3243
      @timeparadox_3243 2 หลายเดือนก่อน +20

      C++ OpenGL squad incoming

    • @ianweckhorst3200
      @ianweckhorst3200 2 หลายเดือนก่อน +2

      >:)

  • @YonnjiNyyoka
    @YonnjiNyyoka 7 หลายเดือนก่อน +95

    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

  • @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)

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

  • @OneSilentGuy
    @OneSilentGuy 9 หลายเดือนก่อน +11

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

  • @MeltedIce_
    @MeltedIce_ 9 หลายเดือนก่อน +5

    no way you're this underrated, great video 👍

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

  • @JonaMost007
    @JonaMost007 9 หลายเดือนก่อน +2

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

  • @Blind_Hawk
    @Blind_Hawk 2 หลายเดือนก่อน +2

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

  • @user-fu6uy3br8z
    @user-fu6uy3br8z 9 หลายเดือนก่อน +1

    Hi great vid. Very helpful! ❤

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

  • @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 :)

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

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

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

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

  • @evhann
    @evhann 2 หลายเดือนก่อน +2

    Hello from a dev of the game at 6:45

  • @Fluid_Genius
    @Fluid_Genius 7 หลายเดือนก่อน +2

    Wow that TF2 clone looks incredible.

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

  • @FinFET
    @FinFET 2 หลายเดือนก่อน +3

    2:38 LoL, thats my game =)

  • @acethemain7776
    @acethemain7776 12 วันที่ผ่านมา +1

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

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

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

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

  • @Garfield_Minecraft
    @Garfield_Minecraft 2 ชั่วโมงที่ผ่านมา +1

    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!

  • @Voxelstice
    @Voxelstice 9 หลายเดือนก่อน

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

  • @Aslamkaztro
    @Aslamkaztro หลายเดือนก่อน

    ❤❤

  • @us3r158
    @us3r158 9 หลายเดือนก่อน +1

    NO NO NO NO WAIT WAIT WAIT WAIT

  • @priyapepsi
    @priyapepsi 9 หลายเดือนก่อน +2

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

  • @MacMiggity
    @MacMiggity 21 วันที่ผ่านมา +1

    Ogre3d with python was king

  • @vxxmp1re
    @vxxmp1re 4 วันที่ผ่านมา

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

  • @alexstone691
    @alexstone691 2 หลายเดือนก่อน

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

  • @i_pew_pew
    @i_pew_pew 2 หลายเดือนก่อน

    what game is that in the background

  • @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 9 วันที่ผ่านมา

      Everything fast in python was written in c++

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

  • @MrSkeleton14
    @MrSkeleton14 2 หลายเดือนก่อน

    Glatopt?

  • @Rptr797-wn4iu
    @Rptr797-wn4iu 2 วันที่ผ่านมา +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  2 วันที่ผ่านมา

      Severed Steel. Fantastic game worth checking out.

  • @Kaleboi35291
    @Kaleboi35291 15 วันที่ผ่านมา +1

    whats the game in the 2nd clip?

  • @Plumswillow
    @Plumswillow 10 วันที่ผ่านมา +1

    slab marksman detected.

  • @_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!

  • @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 3 วันที่ผ่านมา

      He says it also in the video.

  • @thegarsa1620
    @thegarsa1620 2 หลายเดือนก่อน +1

    whats that game called at 0:42

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

  • @frogge3978
    @frogge3978 2 หลายเดือนก่อน +1

    whats the game at 5:48?

    • @frogge3978
      @frogge3978 2 หลายเดือนก่อน +1

      oh wait the game is DUGA

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

  • @user-kp5wb7np4u
    @user-kp5wb7np4u หลายเดือนก่อน +1

    use ursina
    srsly dont lsiten to other stuff jsut use ursina

  • @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 29 วันที่ผ่านมา

      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 6 วันที่ผ่านมา

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

  • @Vexcenot
    @Vexcenot 2 หลายเดือนก่อน

    why does the script feels ai generated as hell

  • @AgentBurgers
    @AgentBurgers 2 หลายเดือนก่อน +1

    Battlefield 2 was made in Python

  • @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 12 วันที่ผ่านมา

      I think he meant a python extension

    • @Linus_Turvulds
      @Linus_Turvulds 10 วันที่ผ่านมา

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

    • @Mik-kv8xx
      @Mik-kv8xx 10 วันที่ผ่านมา

      @@Linus_Turvulds based 🍷

  • @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 6 วันที่ผ่านมา

      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 5 วันที่ผ่านมา

      @@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 9 หลายเดือนก่อน +4

    Please dont pin me