Making FPS Games in Python
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
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.
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
@@jcdentonunatco the original point was a bit different, don't you think?
@@jcdentonunatcoo😅p
"for any industr-"
OSDEV:
@@jcdentonunatco my brother in Christ that was the OP point - you can use it to make learning more fun and engaging
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.
I love how panda is literally made in c++ ….
@@rubixmc7320tired of nerds glazing c++ like python wasn’t built around it entirely lol like what point are you trying to make 🤓🤓🤓🤓
@@sauce6534the fact that python needs compiled libs written in c++🤓🤓🤓
@@rubixmc7320 Wow really? It's almost like all modules are made in c++!
@@sauce6534 python is slower
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
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.
Working with python code: 🥰
Working with software written in python: ⏳⏳⏳⏳⏳⌛💀
@@revimfadli4666Exactly how I feel running my highly unoptimized test code… LOL
i use blitz3d
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)
Very interesting vid, the editing is great and the way that you cover the topic is great. Very good vid.
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.
Don’t be a f@g
I smell a gay boo 😅
What?! lol
C++ OpenGL squad incoming
>:)
no way you're this underrated, great video 👍
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
You can code in most languages if you know one. They are all the same. The computer is just taking instructions.
@@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.
I was thinking this was made by a well know youtuber but no keep it up i love this❤
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
Very good video and helpful for people who like to learn more about game development.
Really good video! Whenever anyone talks about pygame's speed I always imagine dafluffypotato coming back with the 'uhh, actually...' lmao
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.
Hi great vid. Very helpful! ❤
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 :)
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.
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.
I just checked and SFML also exists in python, maybe you could have spoken about it, really great video nonetheless :)
The pysfml is not sparking recently it’s abandoned so far
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.)
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.
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 ...
Yoo that game is fire💀
Hello from a dev of the game at 6:45
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!
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
Very cool, thanks for featuring me :)
You're welcome man. Hope to see more future projects from you.
bro got a shoutout
2:38 LoL, thats my game =)
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.
love that youtube thinks this is a minecarft video
The video's creator has to set the game being played manually. There is no automated system for this
@@professionalshitposter6897 Shut up, it's detected automatically
apparently assetto corsa's apps (customisable ui elements) are made in python
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
it's not
@@riverfreeland5146yeah, not python means low performance and unable to create AAA games. Just depends how much works you paying
Wow that TF2 clone looks incredible.
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 :)
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.
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
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
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!
Yes, game written in python can infact achieve a single FPS.
"making fps games in python"
Ram: Please don't
thanks for the summary. Do you know how easy/is capable to deploy for Android?
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.
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.
Ogre3d with python was king
You could always just do performant things in c/c++ and everything else in python
is that what's under spy's mask??
❤❤
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
Severed Steel. Fantastic game worth checking out.
Next up: remastering the gta5 in python(like 5 yrs old)
title is a bit "clickbaity", but I knew a fps in python just wasn't mostly possible
good video anyway
what game is that in the background
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.
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.
NO NO NO NO WAIT WAIT WAIT WAIT
Not only performance but C++ forces you to write better software
Glatopt?
what game you are playing in the background?
Ultrakill.
Isn't Ursina just a wrapper around Panda3d?
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.
He says it also in the video.
"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.
Because Wrappers, all ML libs in python are wrappers, they just an interface invoking a compiled C/C++ Code.
Everything fast in python was written in c++
ultrakill was made with unity
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.
@@brokenportals yes a python based engine seems way more plausible
@@brokenportalswhat's the point waste time on c++ then have less time on models?
Using pre assists make your game looks generic.
why?
What game is that in the bg
Ultrakill and Severed Steel. For the thumbnail, it's Team Fortress 2.
@@brokenportals thank you!
whats that game called at 0:42
Severed Steel.
whats the game in the 2nd clip?
Severed Steel.
What was the first game he showed?
In the background
@@pringleboyo2460 Ultrakill.
Ah... Python, a Joker with C++ mask.
I have to pay my respect for them, (Press F). Truly master of disguise... and ignorant XD
Battlefield 2 was made in Python
bro this is not FPS , this is top down shooter game lol
whats the game at 5:48?
oh wait the game is DUGA
use ursina
srsly dont lsiten to other stuff jsut use ursina
why does the script feels ai generated as hell
slab marksman detected.
"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 ...
technically python is C framework..
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.
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
Python is about 8 times slower using for example the raylib wrapper compared to C++. And pygame is much much worse than that.
I don't know that joke or what but bro really thinks that gdscript is python 💀💀💀
I think he meant a python extension
@@Mik-kv8xx I apologize then for my comment
@@Linus_Turvulds based 🍷
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.
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.
@@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.
Please dont pin me