The breve simulation environment 2.3 reviewDownload
breve is a free, open-source software package which makes it easy to build 3D simulations of decentralized systems and artificial lif
breve is a free, open-source software package which makes it easy to build 3D simulations of decentralized systems and artificial life.
Users define the behaviors of agents in a 3D world and observe how they interact. breve includes physical simulation and collision detection so you can simulate realistic creatures, and an OpenGL display engine so you can visualize your simulated worlds.
breve simulations are written in an easy to use language called steve. The language is object-oriented and borrows many features from languages such as C, Perl and Objective C, but even users without previous programming experience will find it easy to jump in. More information on the steve language can be found in the documentation section.
breve features an extensible plugin architecture which allows you to write your own plugins and interact with your own code. Writing plugins is simple and allows you to expand breve to work with existing projects. Plugins have been written in breve to generate MIDI music, download web pages, interact with a Lisp environment and interact with the "push" language.
What's New in This Release:
Major optimizations and improvements to collision detection and response.
Improved collision-face finding for more accurate collision response.
Added new GeneticAlgorithm class.
Added Joint methods "get-force" and "get-torque" to get the forces and torques that joints apply to bodies.
Added Joint methods to retreive information about parent/child links and link-points.
BallJoint support enhanced—joint limits now functional. Axes of rotation for BallJoints have changed, see the BallJoint documentation for details.
Added "get-colliding-objects" method to Mobile class (replacing "check-for-penetrations").
PatchGrids can now be drawn either as individual cubes (better quality) or as a volumetric display (much faster).
Mac OS X breve can now save output files to the same diretory as the simulation file.
Added a "Floor" class—a flat stationary object.
Added support for automatic conversion to strings in steve when necessary.
Arrow keypresses can now be caught with methods such as "catch-key-left-down". This works for both "down" and "up", and for the directions "left", "right", "down", "up".
Multiline comments can now appear in steve code beginning with #! and ending with #!.
Repeating events can now be scheduled using the Object method "schedule-repeated".
New level-of-detail renderer for terrains.
Adjusted camera movements so that they are more sensitive to the zoom factor, having a larger influence when the camera is zoomed out.
For developers and plugin authors: passing a NULL pointer from steve to an internal function will now trigger a runtime error.
For developers and plugin authors: the constant AT_UNDEFINED has changed. Plugins using this contstant should be recompiled.
Added max-force setting for springs.
More of simulation backend converted to C++.
Fixed "get-angles" for UniversalJoints.
Fixed crash when freeing disconnected Multibody
Fixed MPEG Movie recording on Windows
Fixed set-relative-rotation method for Joints (when called after the joint has been connected).
Fixed incorrect bounce for multi-point collisions.
Fixed lowercase key event processing for Linux & Windows breveIDE frontend
Fixed get-real-time precision bug.
The breve simulation environment 2.3 search tags