Software & Services

Contents tagged with diagrams

Picture the Problem

Ever been in one of those situations when a solution almost seems too easy? That’s how I felt recently when I integrated Roslyn’s scripting engine into at an existing codebase with a speed that very nearly made my eyeballs bleed.

There’s a little concept I’m playing around with, and I’m not sure if it’s going to work. The story behind it will take up a post of its own, but suffice it to say that it all started when I read Daniel Cazzulino’s recent blog post on finding key business value by leveraging domain events and reactive extensions, and I immediately thought to myself “this is crazy sweet” and immediately started wondering how well it would work if you could apply the concepts of using Reactive Extensions with XNA. The possibilities seemed compelling. A rough week later (the grisly details of which will also be covered shortly), I took a step back to do some more research and get the figurative ink off my nose and integrate my new findings into the concept’s architecture. One thing I’d found out is that it can be incredibly useful to create a Marble Diagram to represent and model different sequences of events, and their interactions and effects on one another. The material(PDF) I came across discussed the diagrams only in context of the Rx, but I thought it would be useful in modeling gameplay too: a game is a giant state machine (technically it would be a simulation of a state machine. I think.), and a hallmark of a state machine is that subjects raise events and observers listen for events, so there’s my connection!

Liquid Electron™ is a brand covering business consulting, game, and application development venture formed in 2010 by Josh Elster. Based out of Chicago, L-E™ offers businesses an Agile-based approach to solutions development that delivers quality software in close alignment with business needs. In addition to consulting, the Studios aspect of Liquid Electron produces mobile apps and games, focusing on the .NET platform using Silverlight and XNA with WP7.