disjunction


A featherweight, multi-platform game development framework.

Disjunction is a featherweight framework for games and simulations developers. GettingStarted.

Source has moved to github, making our google code repo obsolete. Also see Versions.

Architecture

  • Disjoins simulation logic from rendering logic
  • Minimal core
  • Extremely Accessible
  • Flexible: Easy integration with event- and loop-based libraries
  • Portable: Prototype ideas in JS, then rapidly port viable concept to C

Core Features

  • Application Phases: MVC per Phase
  • Application Services
  • Application-level Model for sharing state across phases
  • Application-wide setup of MVC, Phases, Services & Input via markup (JS:HTML,C:XML)
  • Timing Views & Controllers individually; any timing paradigm supported
  • Controller-View comms exclusively via Model: maximise code decoupling
  • Hierarchical View updates for complex interfaces
  • Interactors combine Input-Simulate-Output for user interactions
  • (JS) Eliminates callback hell / deep nesting

See also Extensions.

Languages

Actively maintained:

  • JS for HTML5
  • C (late 2014)

Work also exists in:

  • Java
  • ActionScript 3.0

Roadmap

See Versions for a full roadmap and history.

Due late 2014: * C implementation * Entities

Dedication

To John Wiggill, who bought my first microcomputer and inspired me to code for life.

Project Information

The project was created on Apr 29, 2011.

Labels:
Game MVC Component Simulation Rendering Framework Animation Entity Engine C Portable Small JS Java Prototype