Member Avatar

Is it good for RPG games Shooters... What is Python good for making?

Recommended Answers

All 2 Replies

Like any other high-level interpreted language, Python is very good for dynamically putting together building blocks of an application. Virtually everything in Python that does anything substantial in terms of computations will be done within a native-code library through Python bindings. Those libraries are typically written in C and C++, and a few other specialized languages (e.g., Fortran for numerical stuff). Then, Python binding code is written such that you can call the library's functions or classes from Python. So, the real power of Python is that you can operate at this high-level space where all you can bring these various library components together. And Python is really good at that because of the way it handles objects and conversions, it just makes the whole process very easy and dynamic. That's really where Python shines, and where it should be used.

As an interpreted dynamic language, you can't really use it for anything that is computationally intensive. For that kind of tasks, you should write an implementation for that task in C / C++ or another similar high-performance language, and then create bindings to be able to call it from Python. As I said, that's how virtually all good Python libraries are created.

As far as what kind of games Python is good for making, there really isn't an answer to that. It's a general purpose language, and given what I explained above, it really depends on the libraries you have and that you can rely on. So, it's not about what kind of game it's good for, it's about what layer of the software it's good for. All games will have to have a high-level layer where you do the "putting components together" work, which is possible but annoying to do in static languages like C++.

So, if you find good Python libraries that provide most of the ground work necessary for building a game (rendering, physics, game logic, file formats I/O, etc.), then you can probably making a game very quick and easy with Python. But if you want to develop any of these ground-work components, Python is not going to be very adequate.

Member Avatar

Then I will start learning Python. Thanks for the help. :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.