A Simple, Gui Game Creator?


Hey I just started python a few days ago and I found this list of tutorials really useful. Link: http://www.youtube.com/watch?v=0xgn-HKzZes
His got 19 tutorials just for pygame and 43 turorials on python in general. Its a good place to start because he explains what your doing on every single line unlike alot of other tutorials.

Not to be rude but is it possible to make any really good games on python or at least 2d scrollers because when I checked the pygame website, most the games were pretty low quality. Is the python language capable of higher quality games or is it for beginners?
 
@Shaun

It all depends on the engine it is connected to. For an example of an advanced 3d engine that uses Python as a scripting langauge, see Panda3D. Sure you'll need to learn C++ to write an engine but C++ is a cryptic and difficult language to learn. Python is dead simple. Also, Google is throwing money and heavy manpower at trying to speed up Python using LLVM at their Unladen Swallow project.
 
Python is currently, from my understanding, too slow to run a good 3D game. I don't know how well it could do 3D graphics on the Pandora, you'll probably have to get a developer figure that out. From what I've heard, most well-written 2D games written in Python will run fine on the Pandora.
 
Aethix said:
Python is currently, from my understanding, too slow to run a good 3D game. I don't know how well it could do 3D graphics on the Pandora, you'll probably have to get a developer figure that out. From what I've heard, most well-written 2D games written in Python will run fine on the Pandora.

There won't be a huge difference between Python and C / C++ if they're both calling on OGRE or Irrlicht for all the rendering math and OpenGL.
Once you add AI, Python might slow things down a bit, but the 3D graphics themselves will probably be happening C-side, with hardware acceleration.
 
Last edited by a moderator:
atomicthumbs said:
Aethix said:
Python is currently, from my understanding, too slow to run a good 3D game. 

atomicthumbs said:
Does Eve Online count as a good game? :p

We heard you. Something tells me that EVE Online isn't programmed fully in Python. There's no way they could achieve that level of graphical detail and sophisticated AI with only Python. It probably interfaces with C/C++ libraries, but provides a simple way of accessing them, allowing for faster development. The fact that they're writing Python on the surface doesn't mean that they're not working with faster languages and libraries on a lower level.
 
Last edited by a moderator:
The detail is limited by GPU throughput, not by language efficiency.
The graphics driver and maybe some of the AI routines are C, but I wouldn't be surprised if all the original EVE code was Python.
 
A properly configured Python setup can really perform very well, imho. Just look at apps like Ableton Live, which uses Python as its main scripting language, and you can see how well it works out ..
 
thnx for the links to tutorials.
I'd probably try 3D in the old way like outrun/afterburner.
Can be very challenging doing 360 turns rendering the surface.

Is there an easy function to do quad shapes? Then I can place an image/sprite deformed as perspective and modify the source image in code by movement. I think this is the super mariokart style.
 
lulzfish said:
The detail is limited by GPU throughput, not by language efficiency.
The graphics driver and maybe some of the AI routines are C, but I wouldn't be surprised if all the original EVE code was Python.

And the rate at which polys can be passed to the GPU for processing depends on the language efficiency. The GPU has to get the data from somewhere. If it's receiving the data slowly, you won't be able to maintain the same level of detail at a playable speed, compared to being able to quickly get the data to the GPU for processing.
 
Last edited by a moderator:
But if you're using vertex arrays or GPU-side VBOs, then language speed will only limit the load times, not the static detail.

It might also hamper animation if the CPU is doing a lot of fine control.
 
kin said:
thnx for the links to tutorials.
I'd probably try 3D in the old way like outrun/afterburner.
Can be very challenging doing 360 turns rendering the surface.

Is there an easy function to do quad shapes? Then I can place an image/sprite deformed as perspective and modify the source image in code by movement. I think this is the super mariokart style.

To do realtime bitmap scaling and sprite rotations, I'd skip PyGame and go directly to PySFML. Since PySFML is OpenGL-based it has better GPU acceleration than PyGame which is based on SDL's 2d software renderer. Link to PySFML is here, just scroll down and look for the version of Python you are using. Note that Python 3.0 is not commonly used for games yet so maybe you should look into one of the bindings for the earlier versions of Python.
 
Last edited by a moderator:
lulzfish said:
But if you're using vertex arrays or GPU-side VBOs, then language speed will only limit the load times, not the static detail.

It might also hamper animation if the CPU is doing a lot of fine control.

Load times affects "realistic" detail. You could have lots of detail, but if your load times are too slow, then your framerate will take a major hit. The fact that it is possible to keep the same level of detail isn't important - the important part is keeping the same level of detail at the same framerate. If load times are limited, then the maximum detail at any given framerate is lowered.

VBOs are useful, but at some point the device will start running out of VRAM, and the processor will have to feed the rest of the data to the GPU.

My guess is that they're using a Python front-end to an engine written in C/C++. The Python bindings allow for quick and simple development, while the C/C++ engine back-end allows the game to reach speeds needed to display everything at such a level of detail without taking massive framerate hits.
 
Last edited by a moderator:
Eve Online uses Stackless Python and OpenGL. I don't think there's any C in it (unless you count the python interpreter).
 
Back
Top