Where to go from here?

A forum for general discussion of the Python programming language.

Where to go from here?

Postby Wommbatt » Mon Dec 16, 2013 1:36 pm

I've spent about the last year working on a game to help me learn Python 3. It is FINALLY COMPLETE!!!! 8D

Although it didn't give me reason to learn any web based stuff (I'll learn that stuff later on), I'd like to continue my progress in another area: Graphical Interfaces, to help my game look even better, and to learn more programming of course.

So what I'm getting at is: What would you guys suggest I pick up to learn that will do my simple stuff but also be useful for more advanced things down the road. I'd like my learning to have as much carryover into other future projects as possible. If possible I'd like to learn on something that will let me write mobile apps as well, but that isn't mandatory of course. I'm willing to learn that later on in something else if need be.

I've dabble in tkinter the last few days, have looked at pygame, and am reading up on pyglet right now. Pros and Cons for those and others?

All advice is appreciated,
-Wommbatt
Wommbatt
 
Posts: 24
Joined: Thu Jun 13, 2013 2:15 pm

Re: Where to go from here?

Postby Mekire » Mon Dec 16, 2013 2:42 pm

I would say give tkinter a pass. If you want a simple GUI toolkit to wet your feet with, try wxpython instead.

Pygame. Pygame is based on SDL which is a little dated. You can however get quite a lot out of it as long as you know what kind of things slow it down. It is relatively simple to code and you can make some pretty solid 2D games in it. It can also be used in conjunction with openGL, but this just means pygame creates the window and handles events. Learning openGL is a whole 'nother battle in itself.

Pyglet. Pyglet is built on top of openGL. This is a more modern way to approach 2d graphics programming these days. It involves using an API built for 3D and setting the camera in orthographic mode. The primary advantage of this is many more of the cpu intensive actions will instead be carried out by the graphics hardware. Pyglet provides a layer on top of openGL to ease the process a little bit, but there is a bit of a caveat. Many of the drawing functions provided by pyglet (at least to the best of my limited knowledge) are actually using the fixed function pipeline. This is an outdated technique in graphics programming and in fact, if you ask questions about using it in an openGL community, they will simply tell you you should be writing shaders instead (which is again, a whole new, completely different thing you need to learn).

For now my personal (and incidentally biased) advice to you is, stick with pygame for the moment. Write a complete game. Complete. Title screen; menu; game; highscores; any thing else you would expect the game to have. But... choose something simple. Maybe Tetris, Breakout, or Pacman. I would suggest you don't try to tackle a platformer right away as these are actually deceptively difficult.


Some links:
My first (and sadly only) essentially complete game. Fairly recently recoded from scratch.
Youtube video
Double Cross source/exe

My Pygame samples.

An excellent book on 3D graphics programming.

-Mek
User avatar
Mekire
 
Posts: 988
Joined: Thu Feb 07, 2013 11:33 pm
Location: Amakusa, Japan


Return to General Discussions

Who is online

Users browsing this forum: snippsat and 2 guests