hi there, folks:
I'd really like to release 0.7.0 but I would like it to be at least a
little bit tested before I do so. Could those of you with CVS trees check
everything out and see if it performs as advertised? Deeper bugs than
that will have to wait for the next release, but I'd at least like to know
if it works for someone other than me.
Thanks.
______ __ __ _____ _ _
| ____ | \_/ |_____] |_____|
|_____| |_____ | | | |
@ t w i s t e d m a t r i x . c o m
http://www.twistedmatrix.com/~glyph/
Hello,
I'm a relatively new user of Twisted (started using it in late August
to write a custom server), and I have a few questions about the
twisted.python.delay.Delayed class.
1. Why does Delayed measure time in units of five-second ticks by
default?
2. Why is Delayed.run() called every five seconds or so even when there
are no delayed tasks scheduled? Wouldn't the process's CPU usage be
slightly lower if Delayed.timeout() returned None when the queue is empty?
3. What is the recommended way to specify, for example, that a function
should be called approximately 30 seconds from now? Should I pass 6 as
the number of ticks to Delayed.later(), or is there a better way to do it?
Thank you.
--
Matt Campbell <http://www.pobox.com/~mattcampbell/>
Greetings, Twisted folks,
As Chris mentioned, Reality is about to undergo some refactoring.
If you are interested in this process, drop a line. Perhaps a new
reality-dev list at twistedmatrix.com is in order.
For those of you I haven't met yet, I'm a game developer and serious
Python addict. I've committed a large portion of my adult life
working toward the growth and development of virtual worlds. My
current project is the culmination of many years of work.
The specific game design I'm working on is called "Netsu" (which is
Japanese for "heat" or "fever"). It's an anime-inspired world which
incorporates multiple perspectives of play and a reputation network
for players to self-organize. It's going to be fun. :-)
As I develop use cases and other design documentation for Netsu, I
intend to keep them as portable as possible between gaming systems,
so that they can benefit the most people. I anticipate this work
feeding back into Twisted Reality, expanding it to be a more general
simulation framework.
And now a little history...
The genesis of the project began with my work on virtual reality
systems in the early 90's. I developed virtual building
walkthroughs for architects, VR games, and created the first
hardware accelerated PC-based virtual actor system for Compaq.
This work was all done with C and C++, and it was during this
period that I realized the need for a dynamic and interactive
way to "reach inside" the simulation and manipulate it. And
that's how I first became acquainted with Python. :-)
The next major phase was to build a 3D client engine with Python
embedded as a control language. The fruits of that effort are
described in the paper I presented at Python 7, "Beyond: A Portable
Virtual World Simulation Framework". (This was also the first
mention of 'Netsu'.)
In 1998, the next phase of development took a turn when I was
recruited into Origin Systems to work on developing the Python
foundation for the Ultima Online 2 project. The focus during the
period was on innovation on the server side and on client-server
communication. The results of that labor are described in another
paper presented at Python 9, "Python for Massively Multiplayer
Virtual Worlds".
[ Both papers at: http://www.asbahr.com/papers.html ]
To this point, the software developed was all closed source. The
desire for an open source virtual world system was lurking in my
head, but it wasn't until the O'Reilly Open Source conference in
2000 that my plan for the open source virtual world crystallized.
[ The notes made during that period have evolved into the Linux
Journal article which I'll share with you shortly. ]
At the 2001 O'Reilly conference, while presenting on the UO2 design
work, I took the opportunity to discuss my plans for the future
open source virtual world system. The response was extremely
positive, which included the invitation to write the LJ article
on the subject. :-)
Currently, I'm working on combining a number of existing open
source technologies to build the new virtual world system.
These include the 'Nebula Device' 3D engine from Germany on
the client side, the Twisted framework for server-side and
client-server communication, and the OpenCyc knowledge base
as server-side archetype repository and artificial intelligence
server.
Glyph and I have been meeting periodically over the last few
months to discuss these issues, which intersect nicely with his
long term plans for gaming. I've also been meeting with the
Cycorp folks (who happen to be just down the road from me) to
discuss integrating Cyc and driving Python class generation
from Cyc. I'm in the process of integrating Python into the
Nebula Device, which will be quickly followed by integrating
PB and making Nebula one of the first 3D clients for Twisted.
(Yay!)
Recently, Chris and I began to share some thoughts. As I
mentioned to him, after I wrap up my current consulting project
(porting Python to the Playstation 2 and developing a GUI for
designers to build Python logic), I'm devoting 100% of my time
to Netsu and open source development.
I am committed to delivering the next generation open source
virtual world framework for gaming, education, simulation, and
training. It is my hope that this collaborative approach for
virtual world simulation grows, spreading the Twisted word and
providing a foundation to help other developers achieve their
own goals.
Join us! :-)
Cheers,
Jason
As the last living dinosaur, I've written a curses module:
it's at http://moshez.org/tcurses.py
Here is an example usage program:
>---------------------------------------------<
from twisted.internet import main
from twisted.python import delay, log
import tcurses
import curses
log.startLogging(open("twistd.log", "ab+"))
screen = tcurses.Screen()
protocol = tcurses.WindowProtocol()
window = tcurses.LineInput(15, 0, 79)
protocol.addWindow(window)
screen.setProtocol(protocol)
app = main.Application("curses-demo")
app.addPort(screen)
app.run()
>------------------------------------------------<
I know it's not exactly a "port", but it's sure close enough in the
Twisted scheme of things (IOW, it's got startListening ;-)
(and yes, I know LineInput could use a *lot* of work. But it's pretty
cool regardless)
--
The Official Moshe Zadka FAQ: http://moshez.geek
The Official Moshe Zadka FAQ For Dummies: http://moshez.org
Read the FAQ
Hello, all. Jason Asbahr and I have been collaborating and discussing
simulation systems, especially (my interest) a spatial/graphical MMPG
system. We've decided the best route to follow right now is to refactor
twisted.reality into a Simulation Base and a Text Simulation. We will
also create a Spatial Simulation down the road.
All of you who are interested in Reality should be perking your ears
up right now =). Reality's been stagnant for a while, not seeing any
real development, until now. Hopefully this will make Reality a better
product in the end.
As some of you may know, Jason's got experience in this field, and I'm
pretty excited that he's helping us with this. My dream for this project is
to be The Open Source Sim Engine, and it just may come about, eventually. =)
Anyway, Jason has an article that he's been working on for a while, that
he'd like to publish to Linux Journal (and maybe other places) in the near
future. It'll be about Simulation environments, and specifically deal with
Twisted. He told me he'll be posting it to the list after he works it over a
little bit more, to get everyone's reactions. It'd be great if everyone
would give a few words about it. Thanks. =)
Discussion/documentation on the new MMPG system is on the pound-python wiki.
Let's try to keep ideas and discussion about the MMPG system in general
there, instead of here on the mailling list. Actual technical things
involving Twisted can stay on the ML. Thanks! Oh yeah, the URL --
http://purl.org/wiki/python/OpenMmpg =)
Thanks all. If you're interested, give a holler. =)
--
Chris Armstrong
http://twistedmatrix.com:9080/twisted/
Email me or glyph with a password (and an informative topic so we know what
you're talking about) and we'll set you up an account.