Tweets

Flocker - My LUA Programming Playground

Current Version: 2.2.1

Summary

Flocker started as a way for me to learn LUA ( http://www.lua.org/ ). I thought, "Hey, I've never implemented that bird flocking thing, so why not try that while I learn a new language?" Things never stop changing when we play with software, and this little monster keeps growing. Updates and additions since 2.0 include:

  • Allowed manipulation of the world box to give a better view of teleportation vs. reflection.
  • Saved field of view and world box gap to the bird configuration snapshot.
  • Added a bit more geometry to bird tails.
  • Added a "Reset Light Defaults" menu item that resets all the lights to an off position with spotlights aimed at the center of the volume.
  • Added viewpoint fly-through with simple avatar and mouse controls.
  • Added a field-of-view control to control display.
  • Refactored some internal code.
  • Removed then added back the testing window pane.
  • Added configurability of 8 lights covering the gamut of OpenGL controls, including diffuse, ambient, and specular colors, and omnidirectional light position (directional-at-infinity lights are not yet enabled). You also can choose to make any omnidirectional light a spot source and set its direction, beam width, etc.
  • Expanded the bird avatar to use 3D geometry and surface material properties.
  • Added preconfigured, programmatic generation of bird placement (accessed through the menu).
  • Added independent load, save, and delete of lighting configurations.
  • Updated tooltips and added some help buttons that open Wikipedia pages describing the topic.
  • Extended the bird-space partitioning to 3D (a performance enhancement for flocking calculations).
  • Updated LuaGL to version 1.4 so I could use some additional GLUT functions.
  • Factored the OpenGL related code out into a separate module.

Zip archive package for Flocker 2.2.1 is here.

PDF documentation for Flocker 2.2.1 is here  - this explains how to use the controls and how the flocking stuff works. 

The package includes documentation and all the LUA files so you don't need to install anything. Just double-click the startmeup.bat flie. :)

License

Flocker code written by me, uses the GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007: see the included license file and blurbs in the zip file. The LUA code has a BSD like license: see the included files for details. The files I distribute are extracted from the LUA for Windows package, which you can get from Google.

Screenshots