miƩrcoles, 9 de abril de 2008

DemoSystem's Architecture


DemoSystem consists of two applications:
  • DemoStudio: a demo-editing environment, its main function is to abstract whatever's inside programmers mind, into an easy to use GUI. This application is not necesarilly included along the demos when you release them.
  • DemoPlayer: the demo-player that loads "demo definition files" and play them. This is the one that need to be released with the demo and the rest of the assets.

DemoSystem is designed to provide a generic framework for demo-editing, with out sacrificing any functionallity some one may come up with in the future. To make that possible, the different components of the system are fully extensible thanks to a pluggin system.

Pluggins are easy to make, and can be used to provide any kind of operation on both the demoplayer and the demosystem. You can make pluggins by simply deriving a few classes, and then placing your binary .dll inside the right folder.

Also, for one's convenience, all the required clases and interfaces are placed into a separate library. Include a reference to that library in your project, and you're ready to go.


DemoSystem is designed with multiplatform in mind, at several levels:
  • Rendering: All rendering logic is encapsullated into pluggable components, to allow rendering in different subsystems.
  • GUI: DemoStudio is conveniently divided into separated "bussines" and "presentation" layers. This will allow radically different user interfaces schemes.
We are targetting the following platforms at launch time (version 1.0):
  • Demo playback:
    • Windows via Ogre (supporting both DirectX & OpenGL)
    • Windows via XNA
    • Xbox360 via XNA
  • DemoStudio:
    • Windows only
Other platforms that may come in the future:
  • Playback and editing in linux (via Mono, as soon as 3D rendering becomes usable)
  • Creating demos directly in Xbox360 (as soon as we come up with an usable Xbox360 control scheme for editing)

domingo, 6 de abril de 2008

Welcome demopeople!

Hello everyone!

We (TimeScratchers) have decided to create a blog to post about the creation and evollution of our realtime demo technollogy application.

¿What is DemoSystem?

DemoSystem is a demo-editor, and application to develop realtime multimedia presentations. We are doing this to reach a few goals:
  • To have an extensible and easy to use enviroment for our demoscene creations
  • To improve our skills on strong object oriented and graphics programming
  • To provide demoscene aspirants with an easy path to get their hands dirty
¿What's the current state of development?

DemoStudio 0.2 was created a few years ago and was used to make our most succesfull production to date, BgParty 2007 Invitation.

This very version of the application have been discontinued for some reasons, mostly bad design decission that where taken at such time that we were such noobs.

Now we are working on DemoStudio 0.3 which is completely being made from scratch (or we can say "timescratch":D). By now, it is a huge bunch of useless classes that paint nothing but ugly objects on the screen... but it's evolving really fast, althoug surelly we are still a few month away from a release of any kind.

We have planned to entry a demo in Inspire Demoparty. Surelly the demo editor won't be ready to show it's full potential, but we kind of need the presence of a close deadline to inject some pressure in the development team :D The idea behind this demo is to take the engine from its actual theorycal state to a working, close to production state. So don't expect too much for this realease, which should be considered "proof of concept" if that still meaning somenthing nowadays...

We are targetting DemoSystem's production state (and an ubercool production to show off its capabilities) for this summer, maybe for The Assembly, o NVScene.

¿Who's working on DemoSystem?

DemoSystem is mainly a learning project. It's aimed to grow our skills on heavilly OOP applications and graphics programming. Specially for the new members of TimeScratchers team.

I'm (btw, It's nolver writting here) in charge of the design and the project management. And the new four programmers (which by the way are new to demoscene and graphics programming) are in charge of the implementation. Qapitan, Prisim and Zelldweller are working on the concept and assets for the upcoming release production.

So, to be honest, these are the guys who are doing the real hard work:
  • bmf
  • mr.black
  • ryu
  • cerberus
Will be DemoSystem publicly available?

Yet to be officially decided, but It's almost assured. The entire system is designed with extensibility and third party users in mind. So it will be a real pity if it doesn't.

When will be it available? Who knows... can't tell right know :D

And now what?

While we continue the develoment, we are gonna release bits of information about the application. Maybe some screenshots, tech info, development reports... and stuff like that.

If you are insterested in our stuf, feel free to add this blog to you feeds, and please don't hesitate to post you comments.

Thanks for your attention!