Overview

The Scene Editor project was developed using Microsoft’s XNA Game Studio framework (Xbox 360, Windows) as part of a Master’s Degree in Computer Science. The project, which received a grade of 30L (highest distinction), was part of a larger 3D poker game development effort.


Project Duration and Skills

  • Development Time: 12+ months
  • Skills Acquired:
    • Game Engine fundamentals
    • 3D Rendering
    • Animation systems
    • C# and .NET development
    • Linear Algebra (vector operations, matrices, quaternions)
    • Orthographic and perspective projections

Project Objective

While the final goal was creating a 3D poker game, my responsibility focused on developing a comprehensive 3D scene editor, inspired by 3D Studio Max. The editor allows users to:

  • Import 3D models
  • Build and manipulate 3D environments
  • Manage object hierarchies through a Scene Graph
  • Save scenes for use in the final game

Technical Features

SceneEditor img 1

Viewport System

  • 4 configurable viewports including fullscreen capability
  • Multiple rendering and shading modes
  • Switchable projection types:
    • Orthographic projection
    • Perspective projection

Object Manipulation

  • Complete transformation tools:
    • Translation
    • Scaling
    • Rotation
  • Full-featured gizmo system with:
    • Precise picking
    • Mouse-driven movements
    • Rotation center adjustment

Scene Management

  • Scene Graph for object hierarchy management
  • Operations on objects and hierarchies:
    • Copy/Cut/Paste functionality
    • Model cloning
    • Multiple object selection via:
      • 3D view picking
      • Box selection
    • 3D object axis alignment

Camera Controls

  • Zoom functionality
  • Camera orbiting around objects/groups
  • Standard camera movements (top, bottom, left, right)
  • Animated camera position transitions
  • Viewport position animations

Advanced Features

  • Undo/Redo system with:
    • Operation stack implementation
    • Animated transitions for operations
    • Support for all transformation types
  • Keyboard shortcuts for efficient workflow
  • Multiple selection methods
  • Scene saving and loading

Project Details

The project was developed as a two-person team, with my focus being the scene editor component. The editor integrates seamlessly with the main poker game project, providing a robust tool for creating and managing 3D environments.

The implementation prioritizes user experience with smooth animations for all operations and an intuitive interface inspired by professional 3D modeling software.