We'll start with informal discussion about what's happening in Python, along with some "what does this code do" Python examples I found in the unit-testing code for the cPython interpreter. Would you recognize a backtracking generator? How about a lazy list iterator? For a taste, check out test_generators.py
There will also be simple examples for those new to Python.
While we start gathering at noon to talk over lunch, the formal presentation won't start until 2pm. I'll be giving a presentation from PyCon 2009 about Python Namespaces, Code Objects and How They Work Together Under The Hood.
And if there is interest, I'd like to continue sprinting on reimplementing the M.U.L.E. game using the Pyglet OpenGL framework. We can split into teams tackling two pieces reusable in other games:
- An Avahi/Bonjour-based network component for detecting the presence of all active games of a certain kind (e.g. M.U.L.E.) on the LAN, determining which are currently open for new players (i.e. in the game start phase) and returning this information for presenting in some kind of GUI. A user can then select which game to join. Because of the nature of the network, this should be implemented in an asynchronous fashion.
- A Pyglet-based component for animating a character walking across the screen in all eight directions. It should contain a step generator that controls the rate of walking, and listen to events from the keyboard (or joystick or network) telling it in which direction to walk. It must be possible for multiple instances to exist so that players can concurrently walk their characters around the board. Other components should be able to subscribe to walk events to handle actions based on where the character is walking including slowing or aborting the walk.
Schedule
12:00 lunch
02:00 "Python Namespaces and Code Objects"
I hope to see you there!
1 comment:
I was trying to write something similar to #1 last year - I've released it into the public domain, and so you're free to use or ignore!
avahibonjour.tar.bz2
I can't provide any support for this code, but it might be a useful starting point.
Post a Comment