Morning of day 6: Reflections

As pyweek approaches the end quickly (less than 2 days to go) it's time to reflect a bit on what we planned an acheived. 

There is some discussion around pyweek on the suitability of python for writing games and a lot of yammering about frame-rate: It depends on two things: your implementation and the game you write. For our simple adventure style game python is perfectly suited. We have nothing running in the background just the occasional check for events. So event driven games are perfectly fine. As soon as you need more complicated stuff, you might get into trouble if you implement your logic too crude. Because of our simple loop we had to limit the framerate to 60fps not to run on 100% CPU all the time. There are computers this happens but even on my fairly weak eeePC the game runs at 60fps without a problem. 

For python: I like python and use it for most of my programming. I am confortable with a lot of things but still I learned a lot during this pyweek, especially because some more experienced and better python programmers reviewed the code and gave hints. My and some other participants motivation primarily was to learn (more) python and I'd say I succeeded. 

The scope of the project seems ok, although the story is very extensive and there is a chance we don't finish it. (the graph shown previously is just a tiny part it grows every day. I should have made a timelapse...) Nevertheless we already have a playable game and will finish. The project was well suited for pyweek (especially for a team entry). If i'd do a solo entry things would be a lot simpler. Graphics even if only stand in graphics or crude things quickly hacked in gimp really make a difference and give a more polished feel to the game. There is still polishing to be done and we still have ideas what to implement. If we don't finish everything the pyggys are an option... 

Overly I'm still stoked about pyweek and programming games in python (have never written a game before, as have some on our team, some others are 4th time participants (with 2DNF and one rather poorly rated entry). I'm looking forward to spend my time playing all the interesting looking games evolving in this pyweek.

mihi on 2011/09/16 07:25 of the invisible hand of adam smith

Comments: (log in to comment)

I really hope more people enter their games in the pyggys. I always want to, but then I get discouraged to see only a few entries. And it's really hard without a competitive drive, or a near deadline, to make me get things done.
It depends on two things: your implementation and the game you write. Event driven games are perfectly fine. As soon as you need more complicated stuff, you might get into trouble...

I agree with your statement. However, what fraction of Pyweek games are completely event driven? Like 5%? Almost every game is going to have something updating every frame outside of the menus. So I think your advice is not very generally applicable. Just my opinion.

I don't care about the framerate number, myself. It all depends on how latency affects the appearance and gameplay. In your case, I don't see why you cared about the framerate at all. If your game mechanics work how I imagine they do, the game will be just as smooth and playable at 10fps as at 60fps. If I was making a game like yours, and it was already running at 60fps on an EeePC, and I didn't expect it to get worse, I wouldn't have spent two seconds optimizing it, but that's just me. :)
Cosmologicon: the optimizing was mainly for keeping it playable when on battery. I just noticed the battery draining too quickly when playing. Also for creating other games these tweaks just seem fine. 

You are right not a lot of games are event driven. However optimizing your graphic routines and only blitting/updating what needs to be updated is a neccessary improvement in all the other games. I was more happy to find these issues than to really think this is a super-neccessary thing. 

Now let's think about mobile platforms....
Worrying about battery use would fall outside of the scope of PyWeek for me, but I always appreciate it when a game is conscious of it. I'm looking at you, Starcraft 2, using 100% CPU on the menu screen!