Posts In: reflection

Runtime Reflection II

October 22, 2013 General News 6 Comments

A much more intuitive way to visualize the data. And appropriate, considering the game's context 🙂

Area of "star" is proportional to memory footprint. The connectivity is reflective of the structure of the data. Cool stuff...someday I'll do the same with the code rather than just the data. That'll be fantastic.

In-Engine Data Map

In-Engine Data Map (Closeup)

Edit: and a few more just for show 🙂 This is a pretty deep visualization of a ship, going all the way down to the attached hardpoints (thrusters, weapons, power generator) and most of the data therein. Amazing how beautiful and structured the data is.

2009: A Year in Reflection

January 6, 2010 General News 0 Comments
Year 2009: the second, and by far the most eventful year of mGen's life has brought with it an enormous amount of progress.  The fledgling program grew from under 5,000 lines of code in late 2008 to a whopping 37,500 lines by the end of 2009.  Through untold hours of coding, numerous brainstorming sessions, and countless "inspirational walks" through the woods, new methods of creating great music have nestled into the collection of plugins powering the outer framework.  Some will survive the brutal increase in quality expectations of the coming year, and some will invariably lose their 64x64 tile in the plugin selection window.  With the life and death of each plugin, however, comes invaluable knowledge - knowledge of what works and what doesn't; triumphs of simple techniques and shattered delusions of over-decorated theoretical schemes.
A year in lists and a year in music samples, together, portray the greater part of the substance of that year.  Here is the former - a summary of the most outstanding developments of 2009:
  • Three new and fully-functional interfaces, the final one of which is enormously intuitive and efficient
  • Two data structure overhauls for the whole project - first to the standardized GDS block system, then a gradual movement to the optimized OS system
  • Six efficient, generalized algorithms implemented in a condensed library:
    • Fractal cutting engine
    • Grammar engine
    • Lindenmeyer system
    • Evolutionary engine
    • Markov engine
    • Multi-state engine
  • Seven new, fully-functional generative plugins:
    • GGrewve
    • Fraccut
    • ChillZone Pianist
    • Bowed (yet to be announced)
    • Entropic Root
    • EvoSpeak
    • Spirit
  • Two new, fully-functional structure plugins:
    • Crystal Network
    • Manual
  • One fully-functional progression plugin:
    • ProgLib
  • Development of the new "coordination" module type and one experimental coordination plugin: x-y
  • Two new, fully-functional graphical renderers
    • Glass Preview
    • GridView
  • One external component of the experimental fxGen, an interface for virtual instrument randomization
    • FPC interface
  • A huge amount (~2000 lines worth) of work in a generalized artificial intelligence engine which, one day, may provide the solution to intelligence decision-making for use at the core of mGen plugins

2010, however, promises to bring even greater developments in the life of mGen, the next-generation algortihmic composition project.  Breakthroughs will be made, expectations will be met or shattered, and aspirations will grow ever loftier for the future of infinite music and, by extension, infinite art.

Here's to a bright future for algorithmic art!  Bring on 2010.