User:Josh Oosterman/Design Study

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
Line 36: Line 36:
 
[[Image:Josh-uml1.png]]
 
[[Image:Josh-uml1.png]]
  
=== Design Description ===
+
=== Overview ===
 
+
==== Overview ====
+
 
IDrawable ''ToDo''
 
IDrawable ''ToDo''
  
==== Interfaces, Inheritance and Encapsulation ====
+
=== Interfaces, Inheritance and Encapsulation ===
  
 
IDrawable ''ToDo''
 
IDrawable ''ToDo''
Line 49: Line 47:
 
Object Encapsulation ''ToDo''
 
Object Encapsulation ''ToDo''
  
==== Design Patterns ====
+
=== Design Patterns ===
  
 
* Strategy pattern (LimbAnimationStrategy) ''ToDo''
 
* Strategy pattern (LimbAnimationStrategy) ''ToDo''
Line 56: Line 54:
 
* Decorator (Background) ''ToDo''
 
* Decorator (Background) ''ToDo''
  
==== Maxims Followed ====
+
=== Maxims Followed ===
  
 
''ToDo''
 
''ToDo''
  
==== Maxims Violated ====
+
=== Maxims Violated ===
  
 
MVC etc ''ToDo''
 
MVC etc ''ToDo''

Revision as of 07:58, 29 July 2010

Contents

The Problem

I wanted to create a tool to animate scenes, and humanoid characters.

Eventually I want be able to create complex animations which can be loaded into a 2d game.

This would take too long for a 427 assessment, so I've simplified the problem to having an interactive stickmen tool. The extensibility of the design of the system is critical so I can extend it in the future.

The system was fully designed and implemented for COSC427, and was not based on previous work.

A screenshot of the current version is shown below.

Animator-screenshot.png

System Goals

Within my 427 Project

  • Customisable backgrounds
  • Posable figures (Such as Stickmen)
  • Props
  • Extensible - so I can add the below features eventually

Outside the scope of this project, but to be added in the future:

  • Interpolation between Keyframes
  • Advanced Inverse Kinematics & Constraints on Joints
  • Export angles & positions as animation file to be used in games

Code

The system was implemeted in C# and can be obtained here. To build and run is trivial -- Open Stickman.sln in Visual Studio and build. You'll need Windows and VS2008 or later.

System Design

The image below is a simplified UML class diagram of nearly all of the classes in the system.

Josh-uml1.png

Overview

IDrawable ToDo

Interfaces, Inheritance and Encapsulation

IDrawable ToDo

AnimatedObject heirachy ToDo

Object Encapsulation ToDo

Design Patterns

  • Strategy pattern (LimbAnimationStrategy) ToDo
  • Observer (Handle) ToDo
  • Flyweight (Sprite) ToDo
  • Decorator (Background) ToDo

Maxims Followed

ToDo

Maxims Violated

MVC etc ToDo