Pygame 2.0........

-Zack

On Feb 12, 2012, at 5:25 PM, Santiago Romero <srom...@sromero.org> wrote:

> 
> Hi all,
> I want to open a discussion that needs a deep reflexion because the answer 
> can "hurt" us as (mainly) 2D game programmers...
> 
> First of all, I need to give some historical background, to give a context to 
> my question (you can skip it, but it will help to understand my personal 
> reasons to resist to "the change")...
> 
> ------------------------------------------
> I've programmed a good number of 2D apps, demos, intros, map/sprite editors, 
> game-tools and games in my life (most of them lost in time or in now 
> faulty-optical-media backups). After some Z80 Assembler programming in the 
> Sinclair ZX Spectrum, I switched in 199x to PC/MSDOS writing small 2D games 
> and sprite editors directly in mode 13h (320x200), and it was really fun, 
> sharing them via modem in "Europa III BBS". All this programming was done in 
> either directly ASM or C+ASM. Then I switched to Slackware Linux 96 and 
> programmed a Sinclair ZX Spectrum emulator and some games and sprite editors 
> in C+Allegro.
> 
> Although Allegro was a nice library, I found (in year 200x) SDL to be more 
> suitable to my needs, and was already ported to lots of platforms. It made me 
> remember the old nice msdos' mode 13h days, working directly with surfaces 
> (A000h memory address then) and having fast 2d-sprite-blitting routines.
> 
> A few years ago I discovered python, which is the language that I prefer 
> currently for almost any development I do in a personal environment and 
> pygame, and really like it a lot.
> 
> So, sumarizing, I'm a 2D-boy. I've written code in ASM, C, C++ and python 
> since 198x always using CPU power to blit sprites on apply effects to objects 
> or screen. I'm used to write from scratch lots of functions (rotations, 
> transforms, scaling, etc) instead of using libraries to do it (until I found 
> SDL/pygame). I don't like very much 3D game programming and 90% of my top 
> games in history are 2D (Lemmings, Super Mario 3/World, Street Fighter 2, 
> Zelda, Prince of Persia and almost any NES/SNES/PC-VGA game).
> ------------------------------------------
> 
> And now, the question/problem/reflexion...
> 
> Pygame performance (and SDL, and almost any 2D-programming technology before 
> it) it's a bit about CPU power. Ok, GPU cards help blitting, but notice that 
> almost all SDL/pygame games are medium resolution (640x480, 800x600), usually 
> fullscreen, and maybe higher resolutions for more static/non scrolling games.
> 
> 3D games work nicely with either FullHD/HDready resolutions and you can 
> select easily the playing resolution and everything scales nicely. Also, 3D 
> games benefit a lot from GPUs acceleration and you can run them at high 
> resolutions at 60 fps and the GPU makes a lot of the job.
> 
> 2D games are a "pain in the ass" to make them multiresolution and scale very 
> bad to high resolutions (in terms of speed).
> 
> I'm starting to wonder how many time can I continue writing 2D programs with 
> the classical 2D approach. I'm wondering if maybe I have to write 2D games by 
> using 3D technology (opengl) to render sprites as faces in cubes with a 
> background-cube and a camera pointing in a "2d view". Some libraries, like 
> pyglet / cocos2d use this approach.
> 
> My problem is that I like and prefer the "romantic-classic" pure 2d approach. 
> The pyglet/cocos idea of actors, scenes and 2d-3d modelling is not as nice 
> for me than the classic "oldstyle" approach... but that 3d approach really 
> works and their 3D-2D games work in high resolutions at full speed and in 
> pygame you can suffer creating a hires multilayer scrolling game at 60 fps...
> 
> Check as an example the Raspberry Pi (http://www.raspberrypi.org). A 25US$ 
> Linux computer with ARM@700Mhz with OpenGL GPU that will run a fullhd pyglet 
> game at fullspeed (thanks to its very powerful GPU) but won't run a pygame 
> hires game because of lack of cpu power... The same happens in other devices 
> like tablets and mobile phones with android.
> So, please, let's discuss about it: success cases, ideas, and opinions in 
> both ways: nowadays, 640x480 / 800x600 is "low res" and games must be able to 
> run at higher resolutions (even in HDMI output at FullHD) and in 
> low-cpu-but-good-gpu systems like tablets, but that implies using OpenGL and 
> abandoning the classic-oldstyle libraries like pygame :-(.
> 
>  Opinions?
> 
> 
> -- 
> Santiago Romero
> Ubuntu GNU/Linux
> http://www.sromero.org
> 

Reply via email to