[Openmcl-devel] Simple Agent-based Engine 0.2
millejoh at mac.com
Tue Jun 2 13:00:55 UTC 2009
I think there was a comment some time ago about doing the NeHe
tutorials in Lisp. At the moment there is an attempt at http://code.google.com/p/dreaming-tree/
to do this. For the moment I am not using Xmlisp, but I hope to
soon change this (as job and insistent 3-year olds allow, of course).
There is also the beginning's of an FFI to the Chipmunk 2D physics
package. Most of my interest is in 2D graphics (that's code for
"can't think in 3D") and I picked Chipmunk mostly because it was
written in C and has a reasonably clean and simple API.
I am not at all proud of the code, but it is something and if a brave
soul wants to play around with it a bit then, well, many kudos to you.
For sure many thanks to the Clozure team for putting together such a
powerful and advanced tool and releasing it for free to the greater
community. I haven't had this much fun programming in some time, and
as I am not a programmer by trade that means everything in the world.
On May 30, 2009, at 12:04 PM, Alexander Repenning wrote:
> On May 29, 2009, at 11:30 PM, Neil Baylis wrote:
>> OK, this thing is really cool. You've been burning the midnight
>> oil ;- I downloaded it a week or so back, and it was crashing and
>> burning. Today it seems much more solid, all the demos seemed to
>> work properly.
> I am glad to hear that! Yes, a lot of midnight oil got burned...
> The CCL IDE has still some issues but we are pretty excited about the
> result. XMLisp is really part of AgentCubes which has been
> implemented with MCL and Allegro. The CCL version is already better
> then the MCL version (Carbon, non native threading) ever was. There
> has been a lot of discussion recently about things that are bad in CCL
> and some people pointed me to other Lisp implementation including PLT
> Scheme. I ran some benchmarks and the CCL version not only blew the
> doors off Scheme (running the same OpenGL demo 2x - 5x faster) but was
> also much more stable. Running multiple animations in different
> windows at the same time, resizing/moving window, changing the camera,
> running other stuff, ... no problem with CCL. OpenGL in Scheme, in
> contrast, fell completely apart. Doing just about anything using the
> mouse would slow the animation down or when moving or resizing any
> window stop the entire thing. Running even two animations at the same
> time: completely impossible.
> A huge thanks goes to Clozure. The IDE including some of the debugging
> tools may still be rough but the basic machinery is amazing. Native
> threading, incremental garbage collection, incremental compilation,
> 64bit, solid event handling will allow CCL to go where few, if any,
> Lisp implementations have gone before ;-) This is a powerful tool that
> not only does great compared to other Lisps but also in comparison to
> just about any programming language. I think Lisp programming is
> becoming fun again!
>> This comes at a good time for me, as I'm just getting ready to start
>> a new project. Really it only requires 2d graphics (I was planning
>> to use Quartz 2d) but you've made the 3D very easy. I could probably
>> do it with 3D without too much trouble. It's an application that
>> places colored tiles from a collection into an on-screen rectangle,
>> subject to constraints.
> OpenGL is actually quite good for these kinds of 2D applications. Have
> a look at AgentCubes: http://www.cs.colorado.edu/~ralex/papers/PDF/AgentCubes_JVLC_article_inpress.pdf
> Lots of 2D
>> Is there documentation, or do I just need to read the code in the
>> source & examples?
> documentation is planned and has started but for now the best
> documentation are the examples. It would help to hear what kind of
> minimal documentation people need.
>> Is full-screen supported?
> not yet but the MCL version already had this. I think we will go the
> same simple route. It may sound like a hack but has many advantages.
> The MCL version hides the menu bar and resizes the window so that its
> content becomes the full-screen. This is slightly slower but keeps
> event handling simple (you need to handle full screen event
> differently) and allows for other window layers to be on top. We need
> this for transparent annotation windows and drag and drop.
>> Is Quartz 2D supported? (Quartz provides antialiased graphics on my
>> Mac, but OpenGL does not)
> Apple has a nice demo of mixing Quartz, as layer, and OpenGL. The
> problem for us with this idea is that we need to be cross platform. We
> are exploring options with Clozure to get LUI with OpenGL to work on
> windows as well.
> In OS X ultimately everything goes through OpenGL but certainly Quartz
> has some nice functions. Btw, OpenGL can do full scene antialiasing
> and XMLisp has that enabled by default. Are you not getting
> antialiased output? Some graphics cards need additional encouragement.
>> Can I use it with Emacs & Slime, or must I use the embedded IDE?
> I have not tried this but as long as you require :cocoa things should
> work. You probably need to replicate some startup code from the cocoa-
> application to get the event loop and other things initialized.
>> (I hope the answers to these are 'yes', but none is a show stopper
>> for me).
>> Thanks for making this available,
> sure thing!
>> Neil Baylis
>> Openmcl-devel mailing list
>> Openmcl-devel at clozure.com
> Prof. Alexander Repenning
> University of Colorado
> Computer Science Department
> Boulder, CO 80309-430
> vCard: http://www.cs.colorado.edu/~ralex/AlexanderRepenning.vcf
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
More information about the Openmcl-devel