Framework for Game Engine Tools

Design

I’ve sketched on a class design that I’ll start implementing this week, full sized version can be found here.

These parts for commands and sending/receiving data are needed for both the C++ and C# side and are therefore quite similar. The exceptions are the TcpConnection where one side has to act as server and the other has client, and the command handler may have different functionality. Available commands are listed separately as they must mirror each other on respective side, but can’t be set as one file/source as each command will need pointers to functions on each side. I see it as a must to have a function for each possible function, this’ll make command extension easier.

My approach is to let the C# editor interface hold session data such as action history/undo data and entities, and the C++ side mainly hold data for rendering. The C# side will also be responsible for error handling; if the C++ parser recieves incorrect XML or its respective command handler recieves and incorrect command it will simply send back an error message for the C# interface to handle.

It might seem clumsy to send data and commands back and forth, for example with a matrix to represent entity placement - but thanks for the Nebula utilities it’s easy to simply convert such data back and to strings for C# to store. Action storage in C# might also look a bit weird as most of them affect N3 objects, but I intend to keep the C++ side as “clean” as possible and implement most functionality in the C# tool side. Multiple action/undo lists on both sides is out of the question because such management will only lead to synchronization errors and complications.

I’ve excluded the other classes and their functionality for now, I’ll put down a concrete design for them next week. In this diagram, they’ll be reached through the command handler classes. For the C# project I’ll structure the form and its controls in the model-view-controller pattern, which will be initialized from a Wrapper class which I’ll set as a singleton.

Posted by .(JavaScript must be enabled to view this email address) on 02/08 at 04:16 PM

Name:

Email:

Location:

URL:

Write Comment

Smileys

Next entry: Nav-mesh and Pathfinding

Previous entry: Progress Report w5

<< Back to main

Projects

  • Realistic 50's diner for film production
  • Animation friendly character rig with lip-sync
  • 3D Portal Rendering
  • Beyond the Frame
  • Creature Modeling for Film Production
  • Framework for Game Engine Tools
  • Game Character Creation
  • Character Creation for Game / Cinematic
  • Game Demo
    • AI Programming
    • Animation
    • Character Modeling
    • Environment Design
  • Modeling for game engine
  • Character modeling and texturing
  • OpenCL Particle System
  • Peasant Village, Visual effects in live action
  • General
  • 3D Environment Design
  • Realistic tiger animation for film
  • Shading for Real-time Applications
  • Shortfilm, helicopter explosion VFX

Search


Monthly Archives

  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • Complete Archives
  • Category Archives

Most recent entries

  • Final Lipsync
  • Project Concluded
  • Peasant Village
  • FINAL RESULT!
  • Goal driven behavior
  • At Last Everything Is Done!
  • Final Result
  • Finished!
  • Path smoothing
  • Helicopter Vfx, Final Result!
  • 50’s Diner - Finished!
  • Update
  • Finally Done Almost XP
  • Shortfilm, HVFX - The film
  • Deadline!