Login
Back to forumSee the full topicGo to last reply

Posted By

Csabo
on 2008-09-15
16:11:22
 Re: demomaking tools

Króna, I think we are on the same train of though. I thought something like this up and even started coding it, I made only two effects, raster and a DXYCP.

I realized the need for this after writing a few demos and seeing that I keep repeating myself. Even now, I have a small "library", that contains common functions that I don't want to rewrite. But something like putting up a scroll or a raster, fading them in/out etc, should be done only once.

The idea would be to make a plugin system, where every effect is a plugin, and you "write" the demo by selecting and configuring plugins. The way I see it, we just write regular ASM source code, but put up special markers, and the demomaking framework assembles it into a new source file. So no actual assembly would be done, it's basically just very fancy text replacement, and the end result is a compileable source file.

To get a bit more into the details: each effect would have to implement certain calls:
- init (get yourself ready, initialize any tables, etc)
- fade in (should be obvious)
- render (this is when the effect is actually showing, so this must be tied to a rasterline)
- poll (this is when the effect is doing it's job, e.g. a plasma animating itself, etc, also must be tied to a rasterline)
- shutdown
The effects would have to declare their needs in terms of memory allocation and zero page variables. The framework would keep track of the state of each effect, and call them while running, then wait for them to shut down (fade out) etc. Each effect would have configurable input parameters. Examples: for the raster, obviously the color data, for a plasma, the width and the height. More importantly they would have to expose the time it takes to do their job (measured in rasterlines), so that the framework could decide when to poll them. If we design the framework right, anyone could make effects, and they could be a simple or as complex as needed, and anyone could make demos. It would be interesting to see what non-programmers would come up with.

If I have time, I'll work on this more (translation: never gonna happen happy, but if this was a group effort, it would have more of a chance of seeing completion. For that to happen, we would have to decide on the language first of all, my preferred one would be Dephi (see all my PC tools), but I'm open on using something else.



Back to top


Copyright © Plus/4 World Team, 2001-2024