Delta log: name: delta type: falcon demo project started: late 1999 release: January 1st 2003 November 1st 2001: The first entry in this log. I hope this project will be the beginning of something beautiful. Yet I can't help feeling it is actually the beginning of the end. This particular phase in my life is where I am at my most capable. I have enough knowledge and insight. I am not motivated in the strongest possible way, but reasonably motivated nevertheless. Also I have 2 years until my studies end. These are all reasons why I should finish this demo. A substantial amount of free time is still at hand. In two years this might change. I finished a good number of effects (31) that are useful. I have given the design some thought, but there still is nothing concrete. It's just a bunch of effects, a demosystem and nothing else. I start working on something more concrete today. That much is sure. Oh by the way, I just began this log in the hope that I could spend time on something more useful than watching tv. November 4th 2001: Had a great day today with Sonja. Gosh she really is amazing. I did alot of shit for uni. Practising for some tests to follow shortly. On the demo front I made some adjustments to the envball screen to make it a good follow up of the volumetric shaded delta logo. My idea is to let the delta symbol introduce itself and enter the screen from the rearleft. Then it rotates some 45 degrees around the vertical axis. That's where the envball screen cuts in with a flash. Ofcourse with the same rotation as well. The ball is introduced into the delta-portals later on with a quadratic curve I just completed. Well, I get working on it some more now. update: yeah! got the screens linked toghether. the effects nicely complement eachother. The zooming of the volumetric screen resolves into the movement along the z axis of the delta portals. There is a nice flash effect that tricks the viewer alot. Finally I made the first progress again in weeks. What a great day!! =) November 5th 2001: Had my hands full with study material. Also did some work on the demo. At least I figured out howto save a .mod in flex and patch up the rsp converter to accept this '4CHN' header mod. I even started work on the music for the beta part. The problem is: I need samples to realise my vision. And loads of them! It seems like I'll be spending a while hacking samples out of xm's and mods.. The thing is I need a atmospheric low looping sound when the delta logo comes in sight. I want to tonebend and pan this from left to mid.. I already did this with a sample, but it sounds too blunt. Hell, this design stuff is in no way a challenge for the brain, but it's just nice to have done it sometime. I hope to resume work on this and add the famous 800 commands, so I can control the first screens with my very own mod. By the way. It seems like my idea of sample generation is feasable still. Right now I only want to use synth sounds. These are relatively easy to make. This will save up 100K's of diskspace. But I want to leave this to the optimisation stage. November 7th 2001: (0:55) A good few hours went into making HumanFly work well with the exa mixer. It works and I even managed to free up some extra space for 3d objects. The sound is compromised and the rep instruction springs to mind. Probably a soundquality<->speed tradeoff thing. Anyway, the demo system runs smoothly and the first ultra short preview of the beta part looks slick. The final version however, will need some brushing up. I have some tons of ideas roaming inside my head. Have to find some means to make them all work out. Stuff like making the sound evolve into some hard edge teknoise with strobe, wildly rotating envmap concave objects, lightning and maybe some alpha-sparkle effect over the top. For this kind of thing to work, I need the music first. Man, it's frustrating. After all these years I finally come back to the music thing. In a way that's what I wanted from the start. Creating new experiences. And somehow with sound this is much easier than with code. Music drills it's way straight into your mind. Well, enough crap for now. New experiences lie waiting in my sleep. November 8th 2001: Late again. Well, I managed to work a few minutes extra on the music. Nearly no progress, but I put in some good samples. The screens are now better synced and there is a nice fade effect on the background. Sadly, with high polygons there were loads of crackles in the sound. I had to replace a rep loop with a do loop. 4 cycles slower, but not that bad. Anyway, the demo will use high polygons, so it's quite senseless to make the music this distorted. Unless.. I got some kind of noisehead audience out there I didn't know about hahaha. About this music thing. It might actually work out. As long as I take it step by step and don't torture myself with it. I could make a simple but strong composition. On the more household side.. I managed to make alot of docs about HumanFly this week. They explain the sprite, object formats and some FAQ shit. Quite incomplete, but a start nevertheless. I feel HumanFly is a bit too versatile only for 1 demo. It would be nice if others could find some use for it. Or if I decide to use it in 10 years know what everything does, heh. November 9th 2001: Late late late. That's what you get with stuff for uni during the day. I made new patterns in the music. Maybe it sounds too blunt, but there are drums and a bassline anyway. What more do you need? Also the envball screen looks improved with a fixed stone texture on the arches. I put in some extra trajectory stuff. It looks smooth. First the cam moves straight through the arches. Then it slowly builds up a circling movement. To end this screen I'll just add some speedy rotation around another axis and maybe shrink the viewport or something. I could do some ebm like break patterns in the beat to match. That's about all for today. I'm off to bed. November 19th 2001: Been a while since the last entry. I did alot of things. I added the speedy rotation in the envball part and some viewport fucking. However, it looks crappy and what's more it doesn't match the music. I now have a better idea. I make the lightning effect appear in the middle. That would seem a bit more energetic. An improvement since the music is still building up. I prolly won't do this tonight, cos I have a test ahead. Anyway, I read an old issue of maggie recently. Ah, the feeling of nostalgia... Instantly it reminded me of the first time I read the mag. Heh, there seemed to be a scene out there waiting to be explored. Gave me the impression of a boundless sky. Today I'm not interested in the scene anymore. Certainly the whole alternative to life idea does not seem realistic at all today. I'm just interested in some craptalk, having a nice time and ofcourse pushing my limits by doing my own thing. I don't vote or see competition as a stimulating thing. I don't scream murder when someone leaves the scene. All for the better I guess. Talking alot of blah again.... I wanted to say I read tat's article about turbulence. It's a good algorithm which I ported to asm. The results look quite good. The rout generates about 4096 pixels/s on my ct2. Damn slow, but what to expect with 5 passes and cubic interpolation. I can use this for all kinds of objects. Marble, plasma, psychedelic, mountain and cloud textures are possible. Maybe in combination with the flare generator I did, you can get envtextures too. If I really wanna make this demo very compact (~100K) I definetely need this generation. Problem is the speed. If it remains this slow, I need some wait- screen. I have some great idea for this, but it seems unfeasible. The HAL9000 initiation procedure from 2010 would be amazing, but the speech is my concern. I have already alot of work todo on generation routs and I want to make some extra. How typical... Whatever the case, after the tests these two weeks, I'll be off to Paracon3 with dforce. Hope that this one may be better than last. That year I lost 50DM and my temper as well. All cos of the so-called scenelife, and maybe some stress at my former work. Now I'm off to walk the dogs, goodnite. December 4th 2001: Back from Paracon3 and Sonja. Must say it was a nice few days. The tests are done and not badly or anything. After those, there was some time to code at Paracon3. The atmosphere was quite good there. Not at all like the year before. There were no obligations, no stress with the journey and even not too many questions about nasty stuff. This means a possible new party organised by the crew and me, when's the demo released and so forth. Anyway, I coded a bit there on some kind of floating bubbles screen. It still looks like a bunch of eastereggs to me. Needs some other texture and maybe transparancy. The other thing I was trying was generating a sort of pointy object. Dforce made a tune at paracon, a bit insprired by the 'eggs' erm bubbles screen. It sounds nice in the beginning at least. Though it relies heavily on the flex reverb effect... This could be the thing I am waiting for in the gamma part. Just have to wait and see. I might be doing some extra stuff on the pointy object tonite. I also fixed and optimised the arctan rout. This for a possible ray-of-lite background effect a la sono.. December 17th 2001: Yeah. Two weeks passed without an entry. At least I have some good news. I used the bubbles screen to develop some strange spheric object. It looks vaguely like a heart with 3 lobes or a blobby propellor. Also I made a thick hemisphere, which looks good with envmapping. The ray-of-light idea and a new attempt at making a spikeball are still in the pipes. The ray-of-lite stuff should be quite easy, just some plain clipped polys. The spikeball however is shitty. I tried to realise this with spherical parameters, but failed. I think I can realise this one with hexagons and made some drawings and schematics. After this weekend's performance of Palsecam I also got an idea for new effects which I just had to write down. Firstly, a waving animation of fern or trees made with l-type fractals sounds totally cool. I know I can pull this off easily. I have gouraud-lines and even a basic engine for using gouraud polys for this. Ofcourse this requires a little bit of study in advance. The second idea was a scene inside a torus. I must say this sounds almost hellish with texturing (big texels) and hope I can fit this nicely into the whole concept. The third idea was improving the spikes screen with a straight raster instead of the weird one I have now and using nice symmetric sine shit on it. I saw it in binliner and pc demos and it looks fucking great! At this moment people are incquisitive about the demo. I try to keep a stiff upperlip though and I think this works. Maybe I don't motivate too much people by isolation and secrecy. The results will make up for all of this. I just hope delta will grow a new branch on the demo-tree. I hope people understand my views instead of going for the more straightforward stuff (pc, social life, work, war, holocaust ;)). I have to say, I am truly close to having all screens worked out. I need half a dozen more ideas for screens more and then I have certainly enough material for a true mindmelting experience! After these last few bits I will devote myself to design (ugh), adaptation, extension and optimisation. Delta, if anything, will be a tightly coupled whole. A true monolith, almost a primitive shape in itself. December 29th 2001: Awfully close to 2002 and I have to admit I did very little. I was busy with Sonja, Elite 2 and the recordlabel. Especially the latter costs loads of time. I really need to clean up my act. I gotta tell Zenial I'll be taking things slow the next year. I worked a bit on the l fractal, but it still isn't more than a reasonable skeleton. I think I'll best improve the spikes first. January 3rd 2002: I worked on the spikes screen again. I thought it wasn't good enough. It has now become two seperate effects. On circular wobbler much like tat's freaky binliner preview. The movement, texturing and framerate are quite good. Only the texture can't be shifted (an aspect of the texturing makes it hard to wrap..). But well, it looks convincing enough for a short while. The second screen is a more traditional kind of waving using cartesian coordinates. There are hi-tide straight waves and the easy-going natural flavours. Now I am satisfied with this type of screen. I want to complete the ideas still pending (l frac, vortex cloud, inside torus, spikey obj). Maybe I have to abandon some of them. I don't know yet. I have some more ideas that involve fast moving symmetrical objects.. These sound more easy to do at the moment. Oh yeah, before I forget: my falcy just turned 8 years last xmas. Congrats to the trusty old beast! I hope for many more years of coding on it. January 4th 2002: Updated the cartesian wobbler. It looks slightly better now. Also, I went on with the fractal fern screen and a first version is now running completely animated. Still, it's 2d, so quite flat. More importantly, the plant-type is boring.. I would like to morph naturally from geranium to fern or whatever. January 5th 2002: Freaked around with the fern screen again. It looks like I can get all kinds of plants including leaf-like things. Fern seems tricky tho. I think I need to handle branch lengths with more precision. Truncation seems to kill alot of detail! Maybe tomorrow. For now I'm quite bored with all this. Maybe I'll dig up some 3d2 objects (from binliner, yes I am lame snooping around someone else's stuff) for inspiration... January 11th 2002: Experiments with envmapping resulted in some nice rings and square screens. The first time I'm actually content with the shading. It looks great. The movement of the objects are also nice and makes the screens feel almost psychedelic. The background is my main concern. Just 1 color or some dotpatterns look shitty to me. But how to get it fast enough? It's 320*200 highcolor, so 1*1 background effect might be feasable on ct2, but on standard falcy it looks like snails.. I had an idea with vertical filled sinewaves. Should be 90% of the speed of normal clearing. But will it look good enough and fit in with the demo? I want heavy psychedelic and fast paced stuff. Not the mellow shit from most cute and funky french demos. I now have 38 screens that are more or less complete and would fit in the demo. Just 2 more and I have the minimum I wanted. If I manage to freak out and still make some additional things, I told myself to stop at the 50 screens mark. 40 screens is already an extraordinary amount for a demo. Honestly I have never seen a demo this large on atari. The Phaleon Gigademo had 37 if I'm not mistaking? Obnoxious has 27. Hhhhm has 22. Autowaschen Verboten has an amount I really should check. Maybe SureTrip too. I might check these again today. I really don't know about pc. Most of the 'recent' pc demos I saw have only a few very long screens which are basicly just showing a complex scene. I can't recall any pc/amiga/atari demo being >20 minutes long. And delta really will be this length! This ofcourse being without stills, or showing screens for more than 30 secs (big ego-trip). Damn, I'm quite out of easy ideas. More difficult shit like marching cubes, fast gouraudtexturing fx, 3d shadows and spacecut, will take much time to study. The only easy thing I can come up with is the semitransparancy stuff. For instance drawing yellyfish or worm variants this way. BTW.. 96K sounds feasable right now. I have prepared to do all textures generated. Now also try to do sample generation! Next is sharing as much code as possible by using optimised libraries. Finally optimising screens to insane proportions. I think this will be the truly best feature of the whole demo. Okay, enough talk for today. On with the code. UPDATE: screen nr 39 is here. Some semi transparant smarties using envmap. Actually it looks a bit dull. Maybe it needs some mirroring or other symmetric shit to make it more catchy. Also did some minor size optimising. The screen library is now 14K smaller as text and 2K smaller as code. Had some weird idea... If I manage to make the demo small it would be a nice idea to also make the source quite compact. If the demo plus source fit on one HD disk I'm totally happy. Seeing text is mostly 8 times larger than the code... 96K demo (compressed) .. 192KB uncompressed.. 192*8 = 1536K. Yep this should fit. January 17th 2002: I started effect nr 40. Some twin spirals turning a bit. The idea is simple, but effective. However, to generate a completely efficient shape I need a better approach. I can use the shape I have now with triangles. But I definetely need the other method to allow the use of quads (way more efficient and looks better). I have scetched this method using some parametrisation and 2d->3d projections. It should actually be quite simple. Still, I'd better test the parametrisation first by showing the axii on every point of the spiral. Finally 40 screens. Still only a minimum. However, 10 more screens can't take that long to complete now. My main concern now is the global side of things. I need to spot out the average, good and amazing screens and separate them. Then I need to sequence them and stuff. Ofcourse I've already partly done this. Anyway, I think I have alot of good effects, but also some average ones. However, I can't exactly think of any brainblasting ones. The wobbler is my pride, but it's just an idea stolen from tat and pc. The pretzel is also great stuff, however I still need to _generate_ that object (yikes!). The voxelwater is nice stuff, however it's too noisy. The galaxy distorter is awesome in my opinion. But norman and others didn't seem to be impressed. Too bad. Oh well, I just hope I can come up with some nice application for the alpha texturing or some complex scenes. Maybe that can up the score a bit... Off now. Homework awaits. January 19th 2002: Yup. Screen 41 is in the pipe. However, nr 40 isn't finished yet. I need to use parametrisation on the spiral shape. Should take some hours. But I will suspend this, till after my visit to Sonja (yes! :)). About screen 41: It's the inside torus thing. Actually it was easy, as I now know alot about generation. And a donut doesn't mean shit really. A very simple parametrisation. I need to add some texturing and some interesting shapes inside the torus, and then we're off. I can't believe my recent activity. I made some 10 screens in less than 3 months. I am really working over twice as fast as usual! Well, I study less now, and I have a "easy-to-use" 3d engine, so it figures. I anticipated 3d fx would be simple once you have an engine, but this is killer. Actually it's quite sad. 3d is the only thing on ppl's minds nowadays and it leaves us with too few original 2d ideas. But more ranting later... I am signing off for today. Till next time. January 23rd 2002: Damn. I have good and bad news. The bad news: the spirals still look like shite after hours of calculations. Basicly, I did a good parametrisation that is quite straightwordward and uses linear algorithms. I can also use it for decent envmapping. However, The sides of the spiral are still not planes. And this was my goal. Instead I made the segments real planes, but sides are still only good for triangles. Ugh! The good news is that the torus has some envmapping. Looks nifty. The speed is a bit on the low side tho. Ofcourse I paint all 64000 pixels and there is some overdraw too. So.. This running in 4vbl on a standard falc is not bad. Jurgen told me some years ago, that the Falcon should be able to do a 4vbl gouraud-scene in 320*200. Well, now I have proven you can also do a decent envmapped scene (fullscreen) with the same speed. I hope to do some pointy-like shapes in the torus. would be fun.. The spirals on the other hand are no fun anymore. I have to choose between making some hellishly complex generation. This would use line plane intersection. On the other hand I can use what I have now with triangles. The latter sounds lame, but somehow very attractive to lazy ppl like me. Ah, what the hell. I'll just think about some stuff like handmade objects, metaballs (hand over that originality prize!) and using the neglected human-fly alphatexturing. Actually when I finish all these ideas I have enough fx to complete the demo. I thought about some more, and I think it'll already be a nasty affair to get the whole thing inside 4MB. Memory will have to be shared and I will have to make some system-routs for this. Maybe some specific texturebuffer routs. Very real is that I need to share generated samples as well. It's funny, how grim this all sounds actually stimulates me. On the other hand I still dislike doing the design. Especially the music bothers me. I am still crap at it. And so far only cube/trm seems like the only musician to share my taste. I don't want to charter him to be my music slave. Dforce is a good musician. But I think his style is not appropriate for this demo. I think however I can use his mod for the alpha part. This is quite playful stuff and matches the music. The challenge is to generate all these samples and convert from dtm->mod (arg!). January 24th 2002: (0:20) Started experimenting with sample-generation. At first some tests with sinewave superposition proved a bit useless except for whistling sounds. Just a bit too 'plain'. Then I had a look at some flextrax modules. I quickly realised that most samples are some sinewaves added, but with frequency slides and envelopes. I implemented a specific routine to generate a bassdrum sample and it worked perfectly! Also this rout can be used to make some bubbling sound, quite funny. Tomorrow I start working on more difficult samples. For instance some of the ones found in Dforce's mod for the alpha part.. February 7th 2002: Well.. Didn't do much the last days.. Most of the time went into playing games, studying and spending time with Sonja. Actually I did experiment with the sample generation alot, but it's damn difficult to get a good generic engine. I think I will take a more practical approach. I extracted all samples from dforce's dtm and checked them out. I must say drum samples should be easy. It's prolly all in the amp/freq envelopes. You basicly need some sinewave and some noise and then use envelopes the right way and presto. Bass samples are next up. Also quite easy. It looks like some sawtooth with envelopes and LPF, but I think some exponention approximation of the curves might do nicely. The most difficult sounds should be whistles, organs, synthchords. I think I have to use FM with alot of envelopes and voices on this one... Some tests with easy ADLIB like sounds were a success. A lame clarinet and bell are pisseasy todo. All I need is some two-in-one modulation for the chords and some flexible loop-envelopes and it should be okay. Oh yeah, lately I proceeded with the spiral screen and it looks okay. Eventhough it's only triangles (bah). It works.. If it needs more speed I'll continue shape optimising. One more thing: I compared compression of pure 68K code with that of sample. It turns out samples are dead hard to crunch with LZW. Quite logical. Not much exact repetition due to addition and noise. So even if it turns out I can only compress the amount of samples into 5% size (which seems lame), ICEpack will squeeze it down to a pulp :)) I think the size-aspect is done and I can have at least 31 samples generated for the demo in a very compact piece of code :)) The thing is: how long will it take, and will it sound very good? Certainly if a commercial synth can generate it, I can too. => February 11th 2002: After total demotivation come a few lines of code. The spiral screen is now improved in terms of shape, texturing and movement. The fixed-env type of texturing looks as good as it gets, almost like the spirals are really cut out of marble. The shape is good, but sadly no quadrangles. Maybe this paralellogram idea will work out eventually. I can try it when I need more speed! Also I messed with sound again. The snaredrum was a flop. I really need hints here! The flangebass however was a success. I will continue with some other bass-samples. I'm back on track again. I hope I can finish some pending ideas, ie screens. February 19th 2002: A new 2d screen is in the pipes. It's a radial blur of somekind. The first versions had the basic idea, but lacked speed and good looks. It turns out you need an awful amount of layers. Also getting the zoomfactors right is essential for good looks. I now have 6 layers with quite big zoomfactors and this is a good speed-looks tradeoff. However in highcolor the bigger the amount of layers, the less colordepth you get. With 6 layers this already sucks eggs! Hence I tried an 8bit palette mode version. I know this can work, since I saw alot of these things on pc and gba. My version looks shitty however. The speed is okay, but looks suck. It seems you need to think of the whole thing as a set of blobs. This means _huge_ spread and smoothness. So I think I basicly need a number of blursteps over the picture. I can try. However I can also stick with the highcolor version, which is faster in the first place. About sounds: still could find out nothing. I've got my hopes on newbeat's ace softsynth to give me some hints on howto make instruments. It's quite sad. I have got all synth techniques basicly, but no hints on how to make instruments with them. Shit! Oh by the way: I figured out which font to use throughout the demo. The best choice is prolly Swiss. Not as overused as Arial or Times and certainly very stilistic. February 23rd 2002: Yeah! The galaxy screen is finally good. I can't believe I couldn't get the shape right for so long. I thought about it way to difficult previously: complex stochastic functions, physical modelling.. all pants really. Hhhhm. Now I use this word I heard from Deez too. Damn! The trick is basicly to make a good spiral plot. This is a galaxy arm. Then you rotate this a few times to make the other arms. Every plotpoint inside the arm is made with a sort of dotsphere. You have to get the spread right on this one, otherwise it looks like shit! That's that, you got a galaxy. You can rotate, translate and perspectivate it as you like. I must admit it already looks cool even with some gaps between the spheres and only 1 starcolor. Just generate enough stars and rotate the whole thing up close and it looks brilliant. Well, that was an easy one. Certainly compared to this soundgeneration program.. I hope I can complete some more screens shortly. I'm going off in an hour to Sonja. I'm sure I will have a good weekend. Besides that I don't have too much on my mind. Uni stuff this trimester is quite easy and there's too much crap on tv. Not only the usual crap, 'lifestyle', moralising, commercial stuff you get everyday. Now you even got damn sport shit olympics instead of startrek. Also Bush is hard on his way with starting some wars. Kaboom! Sometimes I just hope there is a world left with intelligent ppl when I release this demo! Not just brainless grunts, peabrain sportsmen, religious fanatics or killer salesmen. Oh well, enough worries. I'm off. Till next time. February 26th 2002: Improved the galaxy screen again. I am quite proud of this one. It's definetely one of the best in the demo. The whole thing is now rotated by the dsp and background clearing is done in parallel, yielding high performance, even with saturated additive putpixels. The galaxyshape is improved. The center is big and has loads of stars. The spread of the spheres is good due to a nice cosine function. Also the new pixeloperation and a total of 5100 stars make it look great! I hope to work on the soundgeneration some more. But I definetely need hints. Otherwise I might start on metaball stuff instead. February 27th 2002: I decided to move the deadline a few months. No, it's not what you think. I actually moved it _back_ in time!! I realised I have to work in a company for my dissertation beginning early 2003. This means delta must be ready before this period! I simply don't have time when I spend most of the week working and travelling. Also I set a definite limit on the amount of effects. 48 is a good number which goes nice with the 'to be' size of the demo (96k). 5 screens to go I figure. The kaleidoscope screen is in the pipes. I'm converting the dsp suth-hodg routine to a 3d version on the cpu. At this moment things feel a little uncertain. I can't explain it. I've been working since satan-knows-when (late 1999 I just read in this log ;)) and still not much results. Well, ofcourse I have a small army of screens, but only 2 minutes of half-decent demo so far. What I mean: music and design are a bitch, certainly not my field. To make things worse this synthesis thing isn't working out so far... If I don't succeed with this, the 96K thing is definetely off the tracks. This in turn means I could better use objects and textures from pc proggies, cos they look better than the generated ones I did. A damn shame. No way! Even if I have to lock myself in this room experimenting for weeks with synthesis, I _will_ complete the synthesized instruments! Okay, enough fanatic ramblings. I have to go on with code. March 2nd 2002: Well, the word is out. The pack of wolves called the scene now are aware of my deadline. Whether they take it seriously after 2 years of keeping low profile, I don't know. Anyway. I also decided this won't be a fun-demo. Maybe the only thing it has with the crew, is that dforce and I worked on it. I could better say 'earx presents' in the title screen. The name 'fun' always seemed a bit awkward to me. It's not my typical state of mind. And when you're watching delta I'd rather you're amazed then you're just having fun. Paranoid said one day that he though of the name 'fun industries' as a big improvement over 'fun'. I think 'earx' is an even bigger improvement :) Honestly. Maybe if the demo is still below 96K and Havoc decides to make some picture (3KB tops ;)), then I might decide to change the name back to 'fun ind' or a new crewname... Something more important. I finished the Hmmm cube. Not very original of me. But I just wanted to see how the engine could handle such an object. To 'speed' things up I made some 'silhouette' clearing. It did not have much of an edge over boundingbox clearing. I optimised u-fly dsp a bit. The flatshaded polys are now painted by dsp, and all time critical stuff is in the internal p-mem again. Even this did not seem to it speed up much. I discovered a strange thing which does speed up processing. It seems disabling datacache can actually give a reasonable speedup, when you're sure you have almost no cache hits.. All in all outlining the mappingloop, silhouette clearing, dsp optimisations and cache optimisation put toghether gave a healthy speedup I think. Still I expected more. I had good ideas for a real good speedup, but this would involve the engine clearing background automaticly. You can send polygon data with every paint operation additionally (overhead!!) and then store this polymesh on the cpu side. With each new frame this polymesh get's drawn in the background colors. It sounds to like this will have to be a a feature with an on/off switch to it, like AUTORESTORE=[0,1]. Maybe I should save this feature for later, as it's only good on a few objects, preferably with a low polycount. Anyway.. screen 44 is complete. Well, that is if I don't want further optimisation. It seems there is still a good option of optimising this fullscreen puppy to a 1vbl screen (on standard falc).. If anything, that's gonna mean some _nasty_ optimisation. At this moment I'd rather think about the 3d kaleidoscope, though. March 15th 2002: Just did an exam for uni. I feel slightly releaved, eventhough in 3 days I'll have another! Watching some demos now to chill out a bit. I finished the galaxy stuff. I must say it was simpler coding as expected. Totally no physical background, just some common sense to build the thing up. This becomes screen 44, after I dumped the palette plasma (this was sucky!). I'm proceeding with 3d kaleido shit. Hard to do, but I bet it is rewarding! March 24th 2002: I 'finished' the 3d kaleidoscope. Results are okay, but u-fly has trouble coping. Obviously, the generated symmetric object is not yet efficient enough. For instance points on the planes are not used twice. This can lead to crashes sadly, as the clipping generates huge amount of points. The normal vectors needed for envmap worsen the whole thing :( As always, cheating might help. I could make the object alot simpler without even resorting to more efficient algorithms. This way it might speed up and avoid crashes. There are two things that I can't hide for however. The normal vectors are intersected in a wrong manner. This totally sucks on some objects. Also, clipping can generate very 'thin' polys. This confuses the hell out of my simple backface culler. The only options are to switch backface culling off (slower) or use extra precision on persp calcs (8b shift). The latter may be the best, but it's gonna be tricky fucking up my optimised routs :(( I didn't design the dsp version of u-fly for this kinda stuff. What a bummer... Update: I still don't know what's up. I calculated the dsp should be able to handle the amount of points, but still fucks. It's not the amount of objects, nor is it the polysize. The crash depends on the amount of clipped polys, but this is still below the memsize! I'd better stop now. Don't want to annoy myself anymore. I have a halfdecent effect #45, so it's good for now. April 3rd 2002: The kaleidoscope is fixed. An extreme amount of points caused the fuckup. The amount is now reduced somewhat and as a result it's even 3% faster (wow ;)). This amount can be reduced alot further tho. This is crucial as I aim for 25fps on standard falcon. Also, the marching cubes complete with blobs is done. Can't believe the sheer simplicity. The kaleidoscope algorithm actually is alot harder! I managed to implement the code quite well. Alot better than the original C code by some chappy. That was just plain lame shit. For this screen I still need some decent texturing mechanism. I have an idea, but it might not look half as good as the usual envmapping. Envmapping sounds particulary scary to me. Either it would involve calculation of normals by using neighbouring cubes (arg!!), or (and this is where my vector analysis knowledge comes in): calculation of a gradient field! Anyway, still two screens to go and then I definetely have enough raw material. I promised to stop at 50 if I went completely bonkers, but 48 sounds more fitting in this case =) April 17th 2002: Some updates here.. Maybe I forgot to save my last entry, since 2 weeks seems a long time. Firstly I rounded up all screens. Like the madman I am I decided to actually make 50 screens afterall. Also I put each screen into a part. Basicly means I still have 3 screens to make and a dozen or so to improve. I added texturing to the metaballs. I started with a 20fps flatshaded version, optimised it to 30fps. Sadly with the fieldgeneration and texturing it went back to 22fps again... The texturing is still crap, something most definetely went wrong with the scale, but the idea is there. I'll see to speedoptimisations as well. Especially when you don't rotate the scene, massive optimisations are at hand. You can pre-intersect all points in an optimal fashion for instance. Also painting can speed up by removing alot of tests (8 cmp's per cube). Furthermore the work on the new conch/clambs screen is going very well. I really bless my use of math, even if it is somewhat sloppy. Thanx to that plus a pen and piece of paper I managed to work out an idea of conch/clamb generation. Both can be made with a generic routine. I proceed with this screen today. April 24th 2002: Updated the clambscreen. It looks complete. Ofcourse speed and size- optimisations are recommended. Maybe I will improve shading and add some kelp too. The scene and trajectories look convincing enough. Didn't improve the metaballs yet. It bores me somewhat. I did some work on the font today and days before. Swiss was very nice, but sadly I can't get it anti-aliased. And there's no way I'm gonna do that work by hand. So I chose the 'century gothic' font which looks convincing. Not that good for the hard parts, but I think very nice for the gamma-part. The font is anti-aliased and in degas format and now looks great. I used atomik packer on it and the results were nothing from astounding. The packing is way better than gif! It crunches down to 5100 bytes. Small enough for this demo. Too bad nobody knew how atomik's picture packing worked. I tried it, depacked it again and it worked like a charm! I will now make a bpl->hc converter for the font to use it in the menu. When I succeed I'll start working on the intro. I think it will be totally 8bpl greyscale. April 29th 2002: I worked on the menuscreen and introduced the 'century gothic' font. It looks good and especially the sprite-characters over the wireframe object add a touch of style. Worst case the screen is now 50fps on std rgb Falcon. I won't add extra shit, cos the modplayer will prolly steal more time, so I'd need to optimise again! I started on the intro today. Originally intending to make the screen 8bpl, I got sick with the shifting idea and new wireframe bitplane routs, so I made it highcolor for the time being. If 8bpl does have some nifty uses still unknown to me, I will convert the screen to it. This leaves only 2 screens still to get actually started on and alot still unfinished. It might be best to brainstorm and get those two done asap! I might have to rush this since in a week or so I could have a crewmeeting. I want all screens implemented as simple versions by then. Then again, what am I worried about? Except for dforce the whole crew did nothing. I'm not even intending to use the name 'fun'. As stated somewhere above, I think it's a very inappropriate term. I will stick to my own name and ideas. I don't know if I will take preview screens with me. It might only mean disappointment to the guys and to me. Firstly since there is virtually no design. Secondly cos I have loads of finished 2d stuff (like I saw last summer, most guys are not impressed with 2d *sigh*) and only a few really completed 3d screens which I intend as a suprise! I don't want to spoil it for the crew and the rest of the scene (news spreads fast!). I think I might brainstorm a bit more. May 2nd 2002: I optimised the menuscreen again. The blurring and 3d are slower. Might sound weird, but it actually looks cooler this way + it leaves more time for the rest (1vbl sprites, modplay!). I also made it work with ufly more to reduce the size. I tried atomik3.5 packing on this effect and it crunches like some suger- frosted grasshoppers on fresh toast :) Especially due to the degas screen in there it packs very tight. Strangely tho, sometimes the prg runs, sometimes not. I think this calls for some investigation. In any case: atomik is the best choice. Even making a custom MrNi arj decrunch is not as efficient! The starfish screen is on track. I worked out the armshape which is now generated bugless and reasonably senseful. The screen is far from finished, but I'm on track anyway. Even if things go horribly wrong, I can't imagine not finishing all screens by the end of this month! It feels good that I'm finally bringing the demo into more concrete domain. I've nearly made all screens work and I'm working more and more towards concept and design. Also, there don't seem to be too much technical difficulties anymore. This means I should have a relatively easy time the coming months, provided I actually keep working a dozen or so hours per week. Type ya later. Earx signing off for today! May 5th 2002: Yeah. I completed a first real starfish. Looks nice, now to get to the bending part, which actually makes the screen special. I thought about this and it still seems hard, both in terms of physical model and object shape. If they are as nasty as I suspect I have to transform quads into 2 triangles each. That would slow the thing down! I'd better get down to the nittygritty and get the phys model of the arms and water figured out! May 8th 2002: The starfish looks good now. The phys model is completed and works like a dream! It exceeds my expectations by far. Also the 3d object is generated quite efficiently now and looks nice and solid, eventhough I expected alot of problems with this in the end. Things are definetely looking up. Only adding shading plus the required trajects for the scene needs to be done still. I can proceed with the 'tribal' screen. I intend to make some cogwheels for this. Goddamn. Looks like I'll complete screen work far earlier than I expected. All the better. I need loads of time for the music and such... Okay, enough for now. I'll be working on the tribal screen. Write ya later! May 10th 2002: Proceeded with the tribal screen today. The two types of cogwheel I added look nice. I still need some env and trajects but that's not a real issue. The most technical thing (cog shapes) is done. Yesterday I proceeded with the texture generator. I can now make escape- alike env textures 100% generated: flare, palette, mixing, all is calculated. The palette seems to be the main issue here. Even a single plain flare can look mighty cool with the right colors!! I might be getting the hang of 'design' here.. That's sick! Well, that about covers it. 50 screens are working. They might not be complete. I mean: some aren't even halfway, but they are running and ready to be put into the demo! I feel good! I might have a go at the textures and music next ('Imminent' style for the beta part). May 13th 2002: The imminent style music is on track. I chose a song to ape, listened to it a few times and got going. Alot of samples needed pre-amp or signing for the effect. Getting the right results from the samples can be alot of work, especially since I don't have enough 303 sounding samples. I might have a look at toodeloo's gt2's for this. The rythms and sequences first looked like a challenge, but now it seems quite easy stuff. The real problem is the master distorsion. Flextrax has nice mono/panning and a great delay/reverb, but without master distorsion you can't really get those crisp crunch and crash effects. This would give a definite edge. To vary the music you could just pump up the volume on one track to put it in overdrive. Imminent uses this alot! Accepting this, I proceed with the mod to incorporate all rythms and sequences in the original order. After completion, I can always change the samples or try to make my own player with distorsion. Disasming the flextrax lod and adding distorsion routs is a possibility. May 16th 2002: My imminent immitation is comlete (more or less). It doesn't sound half as crisp as the original, due to lack of master distorsion. Also the choice of samples is poor. I might manage to overload them with some higher pitched ones, which are needed to soup up the machine and snaredrum-esque sounds. Furthermore, I'll speed it up from 125bpm to 137.5bpm by mixing speed- commands. If this fails, I'll need to incorporate faster interrupt timing in the final player (yikes!). Glad that part's over. It wasn't half as bad as I expected. Makes you wonder why I didn't start converting songs all those years back when I was into music. Could have learned loads of stuff from it! Strangely, my mind wondered off the last couple of days and thought a bit about the crappy cubes screen. I replaced the cubes by spikey objects, included a smooth envmap and a psychedelic trajectory. This helped alot! Also all objects are rotated individually (25 of them!) and it even looks good on standard falcon. 15.6fps was measured! The stats: - 320x200 highcolor - 25 objects - 600 envmapped triangles total - 350 vertices, 350 normal vectors total This surely sets a new standard. Not suprising, since I knew I had the fastest engine for standard falcon. More importantly, the screen is visually pleasing. It looks complex, smooth and mildly psychedelic (yeah!). Btw. The 2d clipper has lame intersection. I could take a load of cycles of this one. Maybe I'll do that, maybe I'll focus more towards presentation of the screen. For now it seems better to focus as widely as possible. Bringing other screens closer to the concept or improving my 'music' a bit.. Whatever the case, I'll type you later! May 22nd 2002: Well.. I speeded up the imminent track, added some intro stuff and souped it up a little. Choice of samples still poor as ever. Still no master distorsion. But it will have to do. 5:08 might be on the short side. I can always add more later, tho. The main problem is getting all the screens to match the sound and eachother. It could take weeks even to redesign the first 1:30. There is progress however. I managed to make a envtexture creator which already works like a dream, thanx to the escape-inspired palettes! Now I can make the screens match the whole feeling of the music, using chrome, copper, ice, gold, etc. I also made a sort of interpolator screen. Yeah, I know. I promised to stop at 50 screens, but I admit alot of screens don't match the music and need replacing. I mean, I don't want to incorporate 60 screens.. Just 50 good ones. And the rest I leave on my drive to rot or as kobold-food or something. The interpolator uses 16 colors and interpolates a grid using 16*16 blocks. It already looks good. Sparks are flying horizontally and vertically in a sort of gold color. This definetely matches the spikes/cubes screen, which I gave a chrome/copper look. I don't mean to brag, but it looks like the shrike creature from hyperion, just soo cool. Finally I'm actually proud of something again, heh. I think I'll continue in this hi-tech shrike hmmm style and squeeze it as much as possible. May 23rd 2002: Atomik is a good cruncher but has some very messy code. The exec decrunch code deletes part of itself infront of the pc. This selfmodifying shit might work on 68k, but on 030 it mostly fucks up. Ofcourse you could turn off cache.. I decided that this small piece of code should not delete itself. Now packed executables work fine. I also decided to 'overnop' the title displayer, which did suck. It wiped a fixed part of the screen (looked damn ugly). No credits for altair. Well, that's what you get when you forget to make your program falcon compatible. The altair/vmax string is still in the header and there still are some nops to remove. That might save me 50 bytes, so I dunno if I'll keep this stuff for funnyness.. More demo-oriented stuff: I updated the envball screen. Textures are now 100% generated. I use turbulence-texturemap with chrome colors on the arches. The result is amazing. Smooth metal colors + plus some stuff that looks like rust. Also I used a gold envmap on the ball, which adds a nice gold and silver touch to the screen. Damn, I think working on design and presentation is working out. I'll keep working this way for some time, don't worry.. May 25th 2002: I proceeded in the usual way. The lightning now actually looks like the real thing instead of some overgrown blue spiderlegs. The colors are a little 'deeper' which improves it alot. I improved the song only a little, but converted it to rsp in the process. Sadly I needed to swap some tracks, use different volume here and there. The endresult however is quite good. The ultrahard stereo effect doesn't matter on instruments accompanying the main bass/drum stuff. Basicly the song only uses 6 tracks, which should leave enough dsp/cpu time for the visuals. Now I really ask myself whether I should opt for master distorsion, replacing samples or such. I have no clue at the moment, so I'll stick with my current mod and add $8xx commands. The trick is combining all flavours of palette and shape. The envball and lightning screen have the deep colors and pointyness incommon. But I don't know if blue and gold mix.. May 28th 2002: In the weekend the crewmates and I had a nice chat about the demo. Ofcourse I tricked Havoc into thinking there are only 30 screens, when there are over 50 already. He wasn't complaining, so I now have a 'margin' for suprise. They don't know about the 3rd part, which will be my fave part of the demo. I told dforce his music will be used in the first part. Well, I owe him one. I'll just stick to my word. The problem is, fitting this music into the concept, which means it should match some archaic but well presented screens. Maybe I could give it an inorganic, but warm touch. Think mountains, fire, soil. Huh, I actuallly suprised myself here! Does that pass as a good idea?? Anyway, the guys seemed to be impressed with my 25 objects screen. My suspicion confirmed, it seems a decent 3d screen does impress more than a great 2d screen. Havoc wants to create some textures, which I totally agree with. He's far better at colors and composition than I am, that much is sure. Ofcourse I'll have to recreate them with my generator eventually. I'm not sure whether a picture by him is a good idea. One or two degas pics sounds great, but a hc pic would need a very good packer. I did not lie about wanting delta on 1 hd disk. I just didn't tell I also wanted it in 96K. The music packing is no issue anymore. I just need some more parametrisations for samples. Pictures however are far more delicate. If havoc wants to dither it will be next to impossible to put even one highcolor picture in there. Another thing: I updated the lightning effect again. It fades after a strobe now. Kicks ass! Would look much better with the music I'm sure. I'll try that. Ahh.. Now I'm off to sleep finally. May 30th 2002: Improved the lightning again. I'm content with it. There are two modes: pulse and continuous. Background restoral works and the bolts can even be painted around a circle. I tried using it in the beta part, but it just seems strange.. I need to paint the stuff around the envball I guess. Maybe flashing the screen and replacing the portals with the lightning will do. Ofcourse I definetely need to match this to the music. Looking at the big picture, I can say delta will probably fit into 4MB ram without overlaps. I tested this with 9 screens already. Each screen added 55KB of bss average. Since the overhead is not that great (mostly screenbuffer and samples), it might be possible. The samples bother me the most. If I really do decide to use 3 completely different mods. I might need to overlap the stuff anyway. However, I am absolutely confident that all parts will fit in 4MB without the music. This is good news, because I don't like loading and precalcing inbetween parts. Suffice to say that such a thing would be an absolute bitch! Off to code again... June 1st 2002: I put every screen of the beta part toghether, plus the music. It still assembles fast enough on my ct2. The result is 2.2MB of mem usage, a third of this is data, the rest is reserves. The main mem-eaters are table-based effects: tunnels, voxels, bumpmaps, etc. The first priority is to reduce the amount of data, by precalcing textures instead of incbin. Furthermore the effects share textures, but they are incbinned everytime anew. This might save some space, prolly still under 100KB of data. Another issue is just getting the whole beta part running nicely to the music. I don't have anymore time today, but I will do this sunday, no doubt. It's only about testing and getting a vague impression, so it won't take more than an hour I think. Write you tomorrow! June 5th 2002 (0:25): I'm sure the last entry said tomorrow. Guess I was lazy again. Amazingly, that's not even it. I'm busy with uni again and I came down with the flu as well. So, the little progress over the last days is no suprise. Anyway, I got some nasty bugs out. The nocrew dspfix was required, as well as some other minor tricks like libs-initialization in the right place and getting screens to run in all vidmodes. Almost all screens can be seen in the beta part sequentially. I added some more syncing for this and it seems okay. Some screens are rubber and glue however. Definetely need to work on the colors some more... I'll get started on that, well, today actually. But only after some good hours of sleep! June 6th 2002: The last days I spent giving the screens similar textures and palettes. That seemed to work. At least the constrast and most part of the uglyness are gone. I also size/speed optimised the whole thing again. Ray's atan-approximation does wonders! I was really suprised at how accurate this is. And it saves ages of precalc for the tunnel! The size of the entire beta.prg is still under 96KB compressed, and this is without sample generation. The ram usage is now at 1.95MB. A hopeful situation to say the least! Now I need to add the final screens to the beta part and ofcourse work alot on the syncing and presentation! The kaleidoscope screen is still a nasty one. It hangs sometimes! Ofcourse I need to improve the clipper a bit to avoid this and speed it up at the same time! Furthermore, u-fly seems to have a problems from time to time with large texture polys. Not anything scary, just a little mapping-glitch. Might have something todo with wrapping coords (by rounding???).. June 14th 2002: It's been a few days and luckily I didn't sit still. The new version of beta does not incbin any shapes or textures. All are generated, yielding a packed size of 81KB. This is 18 screens, the module and all libs. Ram usage is up again to 2.15MB. Still within acceptable limits. Means I have about 1.4MB for the rest. A few screens look better thanks to the generated textures. Also the pretzel looks alot better thanx to some normal-calculations I worked very hard on. This routine can also be used to improve the balloid-screen's normals. Looking at the big picture, I see the music has got to be extended a bit. Some screens are too subtle or smooth to for the harsh sounds. This means I could make a mini-end part. Some terror-against-terror song springs to mind. The kaleido, balloid, transparant and 25 spikes screens would all fit this. It's a bit ironic, but most screens match to more calm music than the imminent port I did. I'd definetely need some stuff like noise or similar stuff to the interpolator or something.. Maybe I'll swap some stuff with the alpha part, I'm not sure. Oh well, off to play a bit of GodPey... June 16th 2002: The normal-generator is adapted to the balloid screen as well. It looks fucking great and works like a charm! I added some trajectory functions to the pretzel screen, which would do nicely for this one as well. The balloid could be used as a propellor. I will find trajectorys appropriate to it. June 18th 2002: A bit of a suprise now, though not a big one. I found the new upx executable packer and boy does it rock! It actually kicks atomik's butt! It needs a huge packing time, but it's 100% compatible and depacks in-place. I managed to slash 2KB of the beta parts previous 80K. This is even with a huge ascii message inside the program. If the going gets rough I could always hack up a custom version. For the rest I haven't done much. studying for exams will prolly kill most time I have left these 3 weeks. Write you later! June 27th 2002: Alot of stuff happened. Sadly, I don't have enough time to do much more in the coming week. During the weekend of July 12-14 I'll speak with the guys again and possibly show a preview. I just hope I can cook up something better then what I have now. Some screens are shown 30 secs without any change or trajects, while other are shown only 5 secs. The music is progressing. The terror-against-terror style music is basicly done. Some better instruments and additional bleeps/'melody' could be useful. I'm ready to paste this part behind the immi-clone and unroll the patterns and sort shit out finally! If I at least manage to get all effects to be shown +-30 secs with nice subfx changes and additional trajectories I at least have something.. July 11th 2002: Tomorrow the preview will be ready for showing. Yeah, I managed to more or less complete the beta-part in time. I'm not jumping at the prospect of everyone seeing the preview (including deez and creature), so I'll just be sneaky about it and only show havoc, har har. Not much more to say. I'll add some envmap to the cogwheel screen today and maybe bleep up the melody a bit. Update: yes, the wheels are mapped and the preview is running. I fixed the first nasty glitches. Now I look ahead to making the turbulence generator a bit faster. It's really horrible. Anyway, I think this is good enough for tomorrow. It never hurts to improve it a bit tho. July 17th 2002: Showed the preview to the guys. They liked it. Too bad others saw it too. Luckily no spread happened or anything, phew. Ofcourse the 'music' wasn't to everyone's liking. No suprise there. Today I did some more. A highpoint being the mostly successful conversion of dforce's dtm to rsp. I fixed some gt2 converter and rsp conversion bugs for that!! All that needs to be done about the module is basicly not using too high octaves. The turbulence generator is also faster. Prolly 4 times as fast as the original and the limit hasn't been reached. Now the beta precalc went back from 28 to 12 seconds, so I'm quite happy! First thing tommorow is a backup. Today I was reminded of the thing's importance! After that I might start to improve the beta music. I have found a good choirsample and have an idea how to punctuate the sound a bit as well. I might send dforce a zip with the converted mod and the gfa code and wait to see what happens. I can also start to put toghether the first part, right away. Prolly the latter will happen. If you want something done, you gotta do it yourself. 0:56 now.. Better go to sleep. Update (21:53): Today I indeed put the choir in the beta-module. It sounds good, but only when you use a right note (G#). More importantly: I finally got the dsp-water running correctly. Yeeeaaasss! Through a long scheme of hacking demos and browsing html I found even a simple matrix with big enough words could give good water! What caused the noise in my old water: prolly the convergent rounding in the dsp. I still don't completely understand. So I just put all multiplies in series and this worked. I now have a very accurate 3*3 version for the 2d and a 'crosshair' version for the voxel (very fast!). The next step is using it also on the freedir voxel.. Might be slow. I could better stick with making the fixed voxel with some extra 3d gouraud shape in it (yeah :)). Till that time I think it's best to try to make the alpha part come toghether in the same way I made the beta preview. I think I might manage at least these two parts completed (optimised) after this vacation. Then it's time for the gamma part (my fave). July 25th 2002: I spent alot of time on ram optimising the demo. After kicking 1MB off the the alpha part and even making shared libs for all parts (tunnel-offsetmaps, standard textures) the results are still dissapointing. The most nasty stuff being: 1) radial blur prescale buffers (1080K) !!!! 2) alpha-lookup tables (256K for each screen (3 in whole demo)) each lookuptable is different! 3) special tunnel/offsetmap screens taking ~128K each So there is no way to avoid precalc _between_ parts. Sometimes I wish I had just chosen an 8MB falcon as minimum-setup! Doing radial blur without prescale makes it slow as snails. I just don't want that. So I'll have to device somekind of malloc system. The alpha- tables are less of a problem. Just make some global buffer and let each part fill it up to it's liking. The third problem is not necessarily one. If the precalc is fast enough (only some vbl), you can do a realtime initialise a global 128K buffer. Well, off to code on this shit again! I hope to be able to show people some alpha+beta stuff at the end of these hollidays! Oh yeah, before I forget: I found a way to compress samples as a last resort. I found a way of differentiating a sample. Very easy, fast and in-place. It turns out that you go from compressionfactor 1.6 -> 2.3 (avg) with a decent lzw cruncher (zip, atomik, upx). Still not that great, but good as a last resort! update: After some pondering it seems that a different approach will be more constructive than searching for scraps and re-hacking all screens straight away. So: 'make it work now, optimise later' is the main thing on my mind. My objective is to complete the alpha and beta parts before september 1st. I estimate that only when I make independent binaries of the parts and use these in a loader I can succeed. This will run on a 4MB machine, but I can forget about the 96K thing. Even with all samples generated it won't be possible with the libs in twofold :((( So my objective now is very simple, but effective. Just make the remaining alpha screens run in vga60, rgb50 as well. Fuck up the palettes and textures a bit. Sync the whole thing to the music. Now make a small loader. And I'm done! July 28th 2002: Worked on the alpha part again. Discovered it's impossible to make it run on 4MB without dynamic memory management. Luckily I cooked up some memory object. I used it on one screen and it worked like a charm. If I do all screens, it would take off 1MB, making the part run with 3MB ram. This sounds damn good to me! It's gonna be a bit of a typing session, but it'll be worth it. Ofcourse I'll have to try this on the beta part afterwards, but only when I the alpha part has some decent 'presentation'. Okay, gotta sleep.. it's 0:06 again.. July 30th 2002: 0:34 now. It's fucking hot during the day, so I'm forced to code at night mostly. Sonja is asleep already. I just finished the last bits of ram optimisisation on the alpha part. What can I say, besides: 'It worked!'? I managed to squeeze all 15 screens onto a 4MB falcon with some 100's of KB to spare even! Ofcourse I'll keep my promise to first work on some decent presentation for the part instead of ram-optimising the beta part (too soon). I'll try to fit the screens to the parts of the music. Dforce did a splendid job to make the music in various chunks. Each chunk potentially maps to a screen. Mix and match I guess... Dunno what to say: I love sonja, I enjoy coding and I hate this wheather! Goodnight! August 2nd 2002: A big nasty bug in the dsp loader is now fixed. I'm really suprised new-face or nullos didn't notice it. The stack was decremented by one just like any interrupt. The big mistake was that this wasn't a returning interrupt. In fact: it ends and then starts a new program. And ofcourse this program at level 0 needs the stackpointer set to zero!! It was just plain luck that it worked previously. Ie. The p56's always got loaded when program had sp=0. To make things worse I had to use motorola's assembler (arg!) and convert it to p56 myself, cos the os didn't seem to help out a lot!!! Well, it's all over now. I'm ready to move on to design and presentation again. Some more good news: I know how to make things work on ab040, ct060. It basicly comes down to handshaking where you are sure where host could be faster than dsp. This is mostly in small packet transfer. Bulk transfer can be unshaked with some good thinking. Also never use smc, not even code-generation! You can fuck the cacr ofcourse, but it's always tricky stuff. For instance the 040/060 and 030 seem to have some incompatibilities in that register? Nasty, cos I use code generation in u-fly. At the moment I have no idea how to solve this, except avoiding the special paintmodes... Well, I'll get busy with design again then.. August 4th 2002: I made alot of progress in the last two days. The alpha part is running and looks already quite okay. It's a little rough around the edges and unstable in one effect, but basicly it's quite amusing. 14 screens over almost 8 minutes, means I even left one out. Here's a short todo-list for alpha: 1) Fix crash in blurzoom 2) Make better flightmovements in fogvoxel 3) Make better skytexture 4) Fix distance-distorsion in rayplanes 5) Shorten delays 6) Add some text at begin/end For the beta part: 1) Improve music (ask dforce!) 2) Improve/replace stupid hemispheres I'll just forget about the 3d kaleidoscope for now. Too in-depth for now. After these are done, I can make a loader for both (2 mins work ;)). August 5th 2002: Some additional information: One more item to include in the todo-list: improve the exa-player's ciaa-timing. Since dforce's music has breakbeats it needs the damn ciaa finetuned timing. Sadly, new-face's player (a respectable piece of code, no doubt) uses some repeat/skip approximation. It's not noticable with 100Hz or 60Hz, but with 50Hz it sounds your whole falcon is breaking up. It needs improvement, and I don't care how. Additionally there is some sample finetune inaccuracy. Zigo told me some fractional part of the sampleindex wasn't taken into account. In dforce's song it's only noticable at one point, so no hurry. Phew! So here's the new todo-list for alpha: 1) Fix crash in blurzoom (done!) 2) Fix sample/octave problem (done!) 3) Make better flightmovements in fogvoxel (done!) 4) Improve ciaa timing (done!) 5) Make better skytexture (done!) 6) Fix horizon-distortion in rayplanes (done!) 7) Add some text at begin/end (done!) update: tried to fix as much as possible.. damn blurzoom bug is still in there. almost certain that it's some table not inited right.. Ciaa was a weird thing. Newface seemed to prefer vbl for soundmixing running asynchronous to the timer_a interrupt (which has 100% correct ciaa timing!). I just did the mixing in the timer_a and it worked like charm! Timer a interrupt is in heoi mode, so even timer_c stuff can interrupt it (if I understand correctly). Next up is fixing that damn crash! August 6th 2002: Crash is fixed. See the list from August 5th. It was some malloc crapmem as suspected, ofcourse combined with some unclipped sprites writing to crap- coordinates. I will try to improve the texture a bit today, by mixing some gray into it. August 9th: I added some text at the end using some alpha-layer crap and fading. Next up is some text at the begin too. This would really suck, cos the speed of this screen (galaxy dist) would go down _again_! Well, in two days it's hollidays time. I suspect I won't work on this till I get back (20th or something). See ya then! August 10th: Just enough time to fix some things. The cloud texture is improved and looks better even than the old one by thematch. Also the horizon distorsion is 'fixed'. Actually it ain't. The conclusion is that it's just damn impossible get it fixed without raising gridprecision even more. I'm already at 4*4, which is better than other atari things I've seen (always 8*8). The new texture compensates quite a bit for the distorsion, since it's less smooth. So the distorsion doesn't really stand out. Damn, cheating rules. I'd love to see someone do 1*1 or 2*2 dsp version of this someday tho :)) Now to add some text at the beginning and I'm done with the design. If people want better design.. I'll give them the source after release. Hope I can fix that last bit. See ya in 10 days! August 19th 2002: I still need to add some more stuff to the alpha part: 1) decent texture for radial blur (done!) 2) decent texture for plasma (done!) 3) kill delays, slighty improve syncing (done!) After these I'm done with this part for a while. Mem optimisations will come in december prolly. Okay, moving my ass to breakfast! update: Done the first two points along with the sat-add at the beginning (slow shit!). Only the delay kill todo. I wonder: - Radial can't, so it would need a transition event. - Blurzoom can by replacing fade by x/y-blur. - All sqrt using fx can be optimised by using a precalced sqrt map. Well.. I'll try these tomorrow. Also the mod needs reworking. I dunno if I should ask dforce. He seems busy.. and I'm certainly not going to fuck with the melody. I will only fix the samples and such. Maybe I should leave this till the last month as well. August 20th 2002: The delays are all gone except for the radial blur one.. It's a bitch.. I might need to cover it up by fading or so.. This means wiping the rayplanes and then introducing the radialblur, layer by layer.. Might look cool with the gentle music. God, I haven't optimised like this in ages. Especially the flaregeneration was a bitch. I optimised (and improved!) the arctan routines, by using a handy atan2() thingy like in c. Also I calculated only 1 octant, the rest is all mirrored! This is only possible when using a square map! Even then it wasn't fast enough and I had to precalc the octant to a triangle and then use it afterwards. Speed or mem optimisation are okay. But both at the same time, sheesh! I think I'm done with the alpha part for the moment. I'll back it up and continue after I finish the loader-system. Yes, that certainly is something else than optimising. Maybe just some cut and paste, or maybe a bit more.. Who knows. Overall: a feeling of joy. Certainly I couldn't have dreamed of making this a few years ago. The thing is already huge, even without the gamma part complete. Speaking in terms of size and playing length it's the biggest thing so far on the atari. At least that should stand for something. It's reasonably robust too. I really want to do the 96K thing tho and add the last special part. This one would make it cool... I've come a long way. Many things have been developed like sound- generation, some original effects, a new sample-packer and more. I have to include these. It's too late to turn back: 1) Make system that includes the parts and libraries. (done) 2) Make u-fly silhouette clearing (envball, cube!) (done) 3) Make 3rd part: thanatocoenosis: a. complete fx (done) b. complete music c. complete design (done) 4) optimise for 3.7MB ram 5) optimise to 96KB packed (deleted!) 6) propaganda August 21st 2002: Shit! Worked on the shadow-clearing the whole day and only 1 screen can actually use it. The other one (envball) isn't that good with it. Well, at least the shadow-clearing is working. And it ain't even that optimised. Triangle-splitting for instance is stupid. The hhmmm cube is a good bit faster. That at least is nice. I could go on and on with this part. For instance I want to make the strobe more responsive. I want to replace the hemi's with the spiral+sprites. Better do this cos the hemi's seem senseless and don't add anything. Well.. Maybe tomorrow. At the moment I'm quite down. A whole day of optimising for very little indeed. I want to make some good progress once again. Not working hours and hours on just details. I guess I maybe should ask 505 for his help on the beta-module. I heard a new module from him which had a blend between demo-techno and industrial sounds. Very nice! If he can pull some tricks on my track, I'd enjoy that! Baat het niet schaadt het niet. Well.. Tomorrow I'll be going on with the loader first.. At least that work is easy and helps the thing progress alot. Till then! August 24th 2002: Working on the new system sucks alot. A great amount of bugs and glitches were created and hunted down. Now it actually includes the first two parts. A little gemdos rout is used as menu, which ofcourse must be replaced! The menu is completed, so won't be too much trouble to include. I'll do this today and try to put the intro in there as well.. August 27th 2002: The intro is running now as well. I used some shaded wireframe for the transition. Maybe I can use the intro's stripe effect on the words in the menu. However, I can't be bothered right now. I'll try to improve some colors. Next work start on the thanacoenosis part. Also, next week uni starts again. Let's hope it doesn't take up too much time. Three months is all I got for this part.. August 28th 2002: I started with the music for the last part. I think I'll base it entirely on my own generated samples. That will mean work on the soundgenerator. Definetely a problem. The only expert I know in this field is Thomas. I really need his help, tho I wouldn't like to trick him into giving me his synth routs. He worked long and hard on ace. I think he wouldn't appreciate me stealing all his routs. Another thing is the size of the demo. A bit too early perhaps, but just inventarising takes up little time: 1) the samples. huge amount of diskspace and damn hard to pack. I used my diffpack on it and it helped a little, but not nearly enough. I really need to generate some samples for both mods. This will have to wait for the moment. Here we must gain hundreds of KB's. Don't get scared! 2) pictures. fontpicture included 3 times perhaps. Use the standard lib for this!! simple enough. Also the 100KB picture in the radial blur needs to be generated. This will save 60KB packed prolly. 3) code. Most screens are not size-optimised. There is alot of custom code that can be replaced by lib-calls. Will save a few KB. 4) patterns. zip crunches these very efficiently. I dunno how upx handles these, but I hope as good or better. I wouldn't be suprised if the now 550KB was compressed into 20 or so.. Still, a track compressor could be a good thing. I would need some research no doubt. Well.. I'm going on with the part c I guess. Write ya later. September 10th 2002: I saved alot of disk- and ram-space. Also I replaced the rsp player with my own custom one. It's easy-to-use, ram efficient and in 99% of the cases faster than rsp. Now I also have the advantage of not needed an extra conversion after each time I change the music/syncing! The demo now uses 4.25MB ram and 374KB packed on disk. Ram use needs to go down another 600KB, and I have a good idea how to do this! The disksize is a huge problem still. It's not the code, but the samples that worry me. I just have to replace the samples with generated stuff. This means making final changes to the a,b part mods. Afterwards I can make custom generated samples for them! I must say I'm proud of the modplayer. Sending samples over host only when they are played helps ;) I guess newface never bothered with sucha optimisation, cos 4chn mod ain't exactly heavy load. But with the 8chn mods I use, you bet it saves a few scanlines! I'll be proceeding with the mem optimisations now. They are crucial to the concept. If it weren't for the idea of a 96Ktro, I could just have used well designed graphics. I've spent so much time on keeping things small.. I'm not going to back down. I want to reach the 96K limit! September 14th 2002: Crash! At least, that's how my FATs felt on partition d. A backup is a damn good thing. Even so, I lost over a day's work. But I'm not that easily discouraged. I saved some more ram, and now it works on a 4MB machine. No chance to test that here tho. On my ct2 it's all very dangerous. On the other falc it might be possible. But the stram is stuck behind some cablemess. Maybe in december then... The plan is to make the first concept version of the gamma part. Even without music, it's a good idea. I really should ask frequent for the music. It seems only nerve has contact with him. He's never on irc when you need him ;) Well.. I'll be getting on with the storyboard then. I think the musician should know the concept as well as some scetchy stuff about what happens on screen. Off to 'design' then... September 22nd 2002: Where to start? This ct2 falcon crashed some more and this really slowed things down. At this moment I'm suspicious. Luckily I have my scsi backups! I got the mailaddy of frequent. I will only mail him after I can show him a good deal of the gamma part and not before. Yes, the gamma part. I'm busy with it. The only problem is I expect a crash at any time, which makes me cautious and unable to fully concentrate on the code. To make things worse I started to face the facts. 4MB ram for this demo is a realistic figure. 96K on disk is a joke basicly. I don't know of a way to replace the samples of dforce's song with generated ones. Sounds like strings, organs and piano's are impossible. I could ask dforce to remake it with my generated samples, but it would sound strange and the whole thing would need designing anew (arg). There is no way in hell I could manage this in the coming months. I need all my time for the gamma part. I'm not completely crushed by this fact. A release is better than another year of delay. Besides, if things keep on going the way they do now.. my backups will prolly also fuckup. I gotta get this demo to the public before it's too late. Now is the time! October 9th 2002: I coded some more and the crashes didn't seem to repeat. Well, at least no harddisk crashes! For extra safety I now glued the heatsink on the cpu again and also I did a reflash of the ct2 bootstuff. It could be that cecile (also in flashram) is the cause. About the demo. Yes, I'm proceeding with the gamma part. The first 3 screens are running. Especially the bumpmap on the starfishes looks sweet. I want a quick soundless version out before the end of the month. Especially to show frequent the stuff, so he can get a little 'inspired'. Speaking of this guy. I mailed him yesterday finally, but I don't know if he has a falcon. That might be nasty. He could use Nerve's machine ofcourse but I have no idea on how good their contact is.. This is a hazard, especially since I need this demo out at newyear! Unfortunately I don't know any other tracker musician that writes ambient music. That's just great! I hope I don't have to get desperate and on my knees before some musicians. How embarasing! =) There is another thing that's a bit more positive. I prolly will work on my dissertation at Philips, which means my financial troubles are over. Posting the disks, etherNEC and EIL3 spring to mind! Also the startdate set by my examinator would be the start of the newyear. That is great, because it completely coincides with my planning! Ofcourse in the newyear I don't know what I'll be doing atariwise. I'll be in my new crew lineout maybe planning an EIL3 release. But first I want to focus more on the hardware side and make a guitar-overdrive unit with Tristan. It sounds like a total snobist remark, but I can do any demo I like. I have all skills and insights and basicly there isn't much to learn anymore. Maybe in the field of design, but that's boring and better done by people who don't code. I basicly need new lowlevel techniques to get me motivated. The way that the demoscene is still progressing (pc, amiga) is very highlevel and design oriented. It's lame. For my next release I'd need some nasty dsp code and maybe some special video fucking (hbl, vga100) to squeeze more sweet juice from the falcon. I doubt some people would like this. Most of the falcon fanatics want 060 with new videocards. I'd like to see what is possible with such setups, but coding on these myself sounds silly. Well, maybe.. If the others (deez, evl) make some inspiring efforts. Okay, I'll shut up and get coding some more or checking the UMD intro again! October 15th 2002: Recently, I've put the gamma part toghether without too much conflicts. The harddisk crashes and weird bombouts seem to have vanished completely. I reflashed the ct2. I have a hunch the flashram might very well have been the cause of all this trouble. Ellende! It seems my previous entry was a bit pessimistic. Might be due to the big change coming. It's decided: I start my dissertation at philips labs in the newyear 2003. Say goodbye to the days where you could make your own time- tables. That's the biggest problem. I enjoy the freedom of the university. Not meaning I sit on my ass all day, just that I can use time the way I like. A nine to five (or longer) fulltime job is like satan's dental drill spinning away in your head. The work however is interesting. Not the gamesbizz, but certainly related. It's even more scientificly oriented and you don't have the nasty deadlines, so I'm glad. It's a change, still... I don't expect to have a hell of alot of time free for atari... About the demo finally: it's progressing. I made the starfish screen with delta-restoral and with a zoom. It looks okay. Next up is speeding up the bumpmap init a little, maybe enhancing the clambs (alpha) and definetely improving the fern. I sent some screens to frequent. He has a falcon, that is good news. I just hope he gets back to me soon =) I want to give him the whole 'storyboard' of the gamma part. Off to bed now! October 27th 2002: I enhanced the fern, fixed the nastyness in the metaballs, added a clamb and adjusted timing in the gamma part. There is still alot to do, but I'm not worried about it. I have seas of time seeing the small amount of work. Frequent is said to have the song 80% complete already. I hope it's to my liking. I did enjoy his Behn track. If it's remotely anywhere near it, then it must be cool. I'm really grateful for this. I thought it would take me ages to find some decent track!! My next step I think is completing the greetings. There are other things like improving the bubbles or making a kelp screen. Suppose I'll proceed with that then... November 3rd 2002: After one hectic week I finally got some time to code again. Step by step I'm improving the screens. Now for instance the sparkling is completed. Maybe some background stars still to add in there. Or maybe it would be better to only use this for the worm screen. Whatever the case I need that code and it seems fun enough to code. Frequent told me he had finished 85% of the module and kept it synced with the storyboard I provided. I'm releaved and joyful he's making the music and being so fast at it! Meanwhile, in my own crew things are looking doubtful. Havoc is on the same frequency as I am, but thematch obviously feels bad about leaving fun. Maybe since he feels he has no say in the matter. Well, he's free to code or compose anything he likes. But whether it will be seen in my demos is my decision. I did alot of work on delta and dforce is the only guy that directly contributed (hail!). I also enjoy the company of havoc since he's damn active from time to time. That can be quite inspiring! But on with the code. I might do the greetings in between the galaxies. It's a very important screen in the gamma part. Yep, I guess I'll do this today. November 6th 2002: I'm once again busy improving the screens. The greetings in between the galaxies are done, the bubbles have better movements and texture and the cartesian wobbler looks much much better thanx to envmapping: needs 196 sqrt's extra per frame, but oh well. Today I'm proceeding with the other screens. I promised to have a decent preview finished next week and I don't want to screw up. November 14th 2002: About time... I finally completed and sent the soundless preview of gamma to frequent. It's not perfect yet.. The colors and transitions could be much better. But he should get the idea. Actually I'm hoping for a little cooperation from their (nerve's and frequent's) side in the 'design' field. I'm still having a hard time optimising the marching cubes. I've come a long way, but still have alot of testing to do. Prolly most time coding wise will go into it. Nothing else significant really. I look forward to finish that next week. On a more global note.. I really wish people can accept this demo. It might strike them as strange. For instance everything is generated except the music, so it could have been very small. So it might give a minimalist impression whereas I really tried to squeeze the techniques. Also it contains the fastest 3d routs so far on std falcon, but I don't know if people will notice. The bottom line: even if I know I'm making a satisfactory product for myself and extending my boundaries, I doubt if people will acknowledge this. Okay, enough doubt. The clock just went past 12 and I gotta get up early. There is no retreat now! November 20th 2002: I optimised the metaballs. They are really much much faster now. The problem is with the normals. And in order to make it look good you need at least 12 fps and correct normals or bigger texture. Correcting the normals is a bitch: sqrts, powers of six and generally big numbers. Hey, I might just use a trick here, just avoiding the bugs in the normals by setting limited trajects for the balls. Also, I want to do some more on the water, I guess I'll start with this. It shouldn't be hard to implement the z poly in it. No word yet from frequent. Damn, I hope his mail still works, I have no other means of communication with him. Well, If he is true to his word and really has a mod completed 85% then it should not jeopardise the deadline. I'm off coding! November 21st 2002: Yeah. Metaballs work on dsp for the best part now. Cpu basicly sucks the dsp's dick. ie. the only intense thing it does is clear and copy pixels. This lead to almost 18fps on standard falcon with 10^3 grid! In comparison: the cpu version ran at 7.5fps with 8^3 grid (twice as small!). Also the fieldgeneration is alot better. Still not perfect, but enough to drop some jaws if I may be so blunt ;) Well, now I'm amazed, but it's just using power that has been neglected by the vast majority of falcon coders. The algorithm is pretty straigtforward. I don't even use markingtables to avoid double calculations, so it could be even faster. But for now it's enough, I don't think I could reach 50fps metaballs anyway. One problem: it seems to dislike the demo. Standalone it runs fine, but after having ran once in the demo and then trying again it fucks. It could be the trashing of the dsp loader routine. I'll see tomorrow. Anyway, these clashes are now familiar to me and I can mostly solve them in under an hour. Before I go: it seems frequent lost his mailbox and I had to send the preview to nerve and trust him to forward it. Nerve promised to help with the design bit, so that might get a kick up the ass! I wish for a reaction and complete mod before the end of the month. Ofcourse I won't be traumatized if that doesn't happen. I promised a preview to frequent at the end of october and still it got delayed 2 weeks ;) Off to bed now. I need the sleep, plenty of studying and household tasks scheduled for tommorow... Bah. November 24th 2002: Yeah. Showed the balls to evl. He liked it, but gave a suggestion for the texture and boy, he was right. A rounded off map with only a little light in the center looks damn great. Really gives it depth _and_ it seemed to compensate for the discretisation errors! And to think I even made a more accurate version, which now isn't needed anymore! Now I need to try to get this version to work with the demo. There seems to be something very wrong. When I try to run the thing twice it bugs. Or you could also conclude that every try to contact the dsp after running the balls, fails and crashes. It results in an overflow problem. Well, I'll do my best to fix this. In the meantime there is nothing else to do. Try as I might to reach nerve or frequent, it seems fruitless. To make things worse I gotta do some really boring subjects in the next trimester, due to some simple misunderstandings. In terms of theoretic difficulty it's nothing to worry about. But it sure does take up time. And I really need every minute I can get to complete the demo! November 28th 2002: The metaball bug is fixed and now the screen runs merrily along with the whole demo. Was a simple host problem, dsp always sent a word at the end of a frame. When the screen gets changed this word is still in the hostport and picked up by the other screen -> derailed host comms. Also I intro- and outtroduced the metaballs by growing/shrinking them, which is funny. I tried to make the sparkle and miniblobs screens resolve into eachother, but the trajectory is still wrong. Hope to fix it this weekend. Yeah, today and tomorrow I don't have too much time. Studying for tests costs some effort and reduces coding progress to almost nothing. I do what I can however and am confident I'll have it all done before newyear. Still, without music it won't be worth booting. No word at all from nerve. I tried to contact him over mail and posted some stuff on the dhs board. I dunno what's up. Nerve assured me he would help, but I haven't heard from him in ages. Maybe he has personal problem or he is on a vacation... Well, that I can understand, but anything else I won't be happy about. Sure, I can delay the whole thing months and months and maybe release at eil, but coding during the time at philips will be next to impossible and probably not recommended. I can just picture myself coming home from work, sitting down my ass on the couch and doing nothing but watching tv or reading a book all evening. And the next day it can all start anew. Shit, I just hope I can get my hands on some good novels. Some crap to go: I just wandered along a pc site with comments on a new demo. Apparently it was from a relatively new group. The comments.. read: critisism was heavy, but damn silly as well. Stuff like: nice metaballs and light effect, but horrible texture and what did you do with the font?!? But there's more: why are the cam movements so jaggy?!?, blahblah. The best part of the critics seem to have no enjoyment at all and only boast their dogmas about design and sceneness. The sad thing is, this behaviour is reminiscent of the atariscene's. Coders critisize trivial stuff like trajectories. Design guys slag the presentation all too often (colors, fonts). It seems they have forgotten how to enjoy themselves. But I'm sure the coders/designers of this demo had a good time making it. And so do I still enjoy coding on delta. It seems some people (active but mostly not I guess) only take pleasure from slapping outsiders around with comments. No kidding, the number of messages wasn't small. The pc- and atariscenes might have things in common nowadays. There are bright spots like people across different scenes talking with eachother and exchanging ideas. Even the emulators I hated so much in the beginning help this process. However I think the atariscene did always have one big advantage. It accepted people who's ideas deviated from the mainstream, also people who looked more deeper into things than others. These diy, fanatic attitudes and the relative openess of the scene are reasons for it still existing today. The pc scene however survives simply because the pc is the crap on the street: cheap and plenty. I think if the atariscene continues to be more and more like the pc scene, it will certainly die. Ataris and atarians are few. The pc is many. However if it can still appreciate different stuff and welcome active newcomers it might have a good few years ahead. Ofcourse I'm not thinking about leaving atari. Never in fact. I'll keep on using it until I'm physicly unable. Still, a scene depends on many people. I wonder what other guys will be doing in a few years. Funny thought actually. December 5th 2002: I made a new effect: lens-blobs. I intend to use it to replace the pointless mandelbrot zoomrotate. The speed is still not high enough though. Also I fixed the trajectories of the sparkle/miniblobs. It looks good now. I think I'd better start to complete the demo os. This means putting packed mods in files rather than using incbin. This will give me all the space I need to make it run on a 4MB falcon. Anyway, I phoned nerve and he seemed to be fine. On the other hand, he's playing pc games all day. He said he would contact me 3 days ago, but still nothing. I'm losing patience. I'm not fine with delaying this demo. If this happens it might be delayed till way after eil3. I simply do not have time! I will work 8 hours and do 3.5 hours of travel per day. I think I won't have the stomach to code after sucha day. I have Sonja too and to be honest I'd rather spend my time with her than spend it coding all evening/weekend. Allright then, I'll phone nerve tomorrow again and really beg for frequent's phonenumber. If this fails it's almost certain the deadline won't be met! It's actually ridiculous. I've finished 99.9% of the code and here I am just waiting a whole month for the music. I could just as well taken things easier.. On a more positive note: my fellow atari coders seem to be busy again: candyman, ray, charon, nerve, art, paranoid and some more. I'm really anxious to see what they can do, altough I prolly have to wait for eil3 no doubt. December 9th 2002: Things seem to be taking off. "Finally" I might add! On irc I came in contact with moondog and he pointed me to an amiga guy Laxical. His enthousiasm almost shocked me. Certainly nothing like most amiga guys on irc. Laxical and I share musical tastes for the bestpart. He gave me some mods and they were damn cool stuff. He offered help on the gamma music, but I refused since I don't want to stab frequent in the back. I told him that I made 'imminent' style music and he immediately offered to help. He got working as soon as I sent the mod. This means I'll soon have some better stuff for the beta part, cool =) Also I msd/pov was kind enough to provide me with the atm3.5 depacker source. Atomik really kills some bytes and the depack rout works fast. Means the demo might fit onto a dd disk even! Today I'll phone Nerve and order him to give me frequent's address. Time's running out. In the meantime I better get working on memoptimisations of the gamma part and eventually some better presentation for this part. This is damn hard without the music tho. update: FUCK! KILL! Yes, another harddiskcrash, same stuff as before. Total garbling of the fat. I quickly reflashed the ct2 and hope it won't happen again. I'll be done with this demoshit after this year. Good riddens! I think either I get the system to run with hddriver or I have to switch to my second Falcon. That will be next year, and a new project. So, I spent the rest of the day working on recovering lost shit. So far I have the atomik stuff running and some of the vbl-synced-switching redone. Still, I need to do more. What a bummer. Hope this shit won't happen again. It effectively means losing a day's work each time. December 12th 2002: I decided to cancel development on the ide drive, I am now working on the scsi drive and have backups on 2nd falcon's ide, and another scsi partition. That should be enough redundancy. I hope the crashes won't occur on scsi, otherwise I'll just put aside my ct2 falcon. However, it seems development on the standard falcon has it's drawbacks.. I suspect this on doesn't have a bufferpatch!!! Also, assembling the whole demo on a standard machine is a weird thing. It takes at least fifty seconds, where a ct2 does it in a mere fifteen(!). It's not weird considering over 61.000 lines and at least 80 files to assemble. Anyway, today was a moderate success. I managed to change the intro 'earx' logo into a 'lineout', improved the screensync, reduced mem usage to 3.5MB. Finally I put the lot toghether. It seems to fit on a dd disk easy =) The loading and depacking times seem to be small. Better than I expected. Nerve didn't seem to be home today. There's always tomorrow. I sent a test- version to seb for him to test on 4mb. Hope it works out. I'm off to bed! December 14th 2002: Seb tested some older version of the demo. He complained that the keycodes were a bit shitty on french keyboards. I can imagine, so I corrected it for all keyboard languages. Also he complained about a hang in or after the maze screen in the beta part. That really does suck a bit. I tried to trace this It could either be the hemi screen or the maze. I noticed the maze crashed when I grabbed a picture of it. So here are the most nasty bugs: 1) hang in/after maze (seb's machine) 2) hang after beta part is done (my 2nd falcon) 3) hang at voxelwater->metaballs (my 2nd falcon) 4) ditherblur mess (my 2nd falcon) I really should fix these. I don't understand either of them. For seb's bug I can best send him the maze and hemi standalone screens to test. That might clear up the case a bit. For the hang after the betapart I could try setting the position in my player. This would speed up testing considerably. The third bug is a total mystery. Seb didn't seem to have experienced it and I only saw it once and only on my second falcon. Best guess is derailed hosty comms. The ditherblur mess: I'm working on it, but it doesn't have priority. December 16th 2002: I tested the demo again and again on my second falcon. The hangs I previously experienced did not occur. This means either they depend on another state of the falcon (ie demo reads outside mem!!) or it means it only hanged on an older version of the demo. I hope for the latter, but you have to prepare for the worst. The thing seb told me did not occur at any time during the new tests. I sent him standalones of the maze and hemi. Hope to find out more when I check my mail. The ditherblur is mostly compensated for: one glitch seemed to be the clipping of texturepolys (went wrong with the texturecoords). The other was some unknown culling shit. It seemed to be the nearest polys, which I suspect is due to a vbl happening late during the painting. Double buffer and vblsync should fix it, but apparently not! Pretty damn weird, must be an error my head. Getting the demo ready for newyear seems less likely every day. Two weeks to go and still no sign from frequent. That really does suck. I might still find a couple of days for the demo after newyear, but it's only a last resort. It's not a guarantee that the demo will be complete before even the summer of 2003 :(((( The music is needed badly cos everything else in the gamma part depends on it. I can't just sync the stuff into perfection and afterwards find out that it doesn't even match the music! So.. I suppose I'd better improve some stuff in the alpha part. More about that later. December 17th 2002 (0:18): Did alot today. Ehm, I mean yesterday. I got info from seb (god bless him!) about the maze screen. And indeed, it wrote to low mem. This could be very risky no doubt. God knows what stuff is in there! Recently it occured to me I can make my demo-os run in usermode, which is a very good idea. This way, I might avoid bugs like this! Or at least a good deal of them. I sent the stuff to dforce, and he seemed to like it. He's working on improvements of the alpha part module. I guess he knows what he's doing. Maybe he can brush up some details. Cool to have him active again =) For the rest: I vastly improved the bumpmapping. Don't know how I got the idea of the old offsetgeneration. Suffice to say it was way beyond lame. I speeded up the init of the blended tunnel, which was very necessary and maybe not even enough. The conch screen now has some intro/outtro trajects on the closed-up clamb. I've got some ideas involving background color- resolves to make the bump/conch/bubbles transitions better. Maybe I can kick that after some sleep. Also, I made sure the demo had enough ram allocated! That is a necessity! So, the whole thing seems to run stable now. I won't exclude the possibility of any more bugs. The whole thing is way too big and hacked to assure the contrary. Okay, I might get some sleep now.. Or I might work on some zoom-error in the starfish screen, whatever ;) December 18th 2002: As the deadline crawls nearer and nearer, it seems postponement is imminent. Laxical is working hard and his preview remix already sounds very cool. It sure was a good idea to get him aboard. The contrary can be said of frequent. Honestly, he is a cool guy. However, it would have been wise if I had gotten to know him before I asked him a favour. As for Nerve, he is cool^2, but he has been very dodgy the last weeks. I phoned him at least four times without any succes. On with the more positive side: Laxical and me set a date for the final remix deadline, which is next tuesday. He seems damn active and keeps in touch, so I think this is a done deal =) I'm now trying to replace the mandelbrot screen with the lenses. However, it could do with some more speed. It's still under 15fps and the blobshape really needs smooth animation to appear good. However cpu intense the fx is, it's hard to notice by looking at it. A dsp version might do the trick, but first I'll have to look at the events and music if it would really be better than the mandelbrot part. I also had some thoughts about the maze part. It's fixed, but I could replace it with a nicer one. However this would require several days to get a basic version running. Just have to see how things work out. If frequent suddenly decides to pop up I will dump this idea. Otherwise I could just get sweating over this effect. December 20th 2002: I got frequent's mailaddress! Yes! Thanx god for paranoid, cheers mate! =) It remains to be seen if I have a fucked up mailbox, I damn well hope not. Otherwise I can still use my o*tl$%k shit ofcourse.. I do hope I get the mod soon. I already think I won't manage to complete the shit on newyear! Otherwise I still got 5 days extra to work and spread disks! I tested and updated the whole demo again. I started by testing the standalone alpha screens. They bugged due to some hostport handshake issue. I optimised some dspcode and it ran without problems. I tried all screens on both my falcons in various running orders and it worked without any problems. Tos seems to be free of crapmem afterwards. After this small victory I tried the whole demo. Again I tried multiple times on both falcons and it worked without any problems. This is what I needed! =) Next task is kicking deez's ass and make him test this festering bunch of data on his ab040 system. update: Now mailed frequent from my *utl&0k account. Maybe he'll come on irc sometime. Furthermore nothing to add. I can do some vectors in the voxelwater or remake the maze part (with some almost doomlike techniques). The latter might be the most interesting and also the hardest, definetely harder than a wolf3d or commanche affair. December 23rd 2002: Things are looking up. And that's very unexpected. For starters: I got frequent's mod and synced the shit. Cost me only a day or so. His stuff was suprisingly much like my own ideas. The gamma part is complete. I'm not putting any more work into it, period. The beta part: I got Laxical's final music today. He left most of the syncing intact, but not all. Also, it's an 8chn mod which rips some extra dsp/cpu time. I have decided to rebuild my own 6chn version this time using laxicals ideas. His version of the softer part is definetely much better. The hard stuff is mostly better than mine, but sometimes it adds things which aren't desired. So I will get working on the 6chn version again. Hope to complete that tomorrow. One more thing: the glitches in the replay have got to be fixed. Only in the gamma part this is really noticable, but at the same time it's intolerable! I suspect this will take alot of time. So here we have a list: 1) complete beta music 2) fix replay 3) snailmail terror a. complete list b. prepare first batch of envelopes & disks c. send first batch (pre-newyear!) d. prepare second batch e. send second batch (post-newyear!) 4) prepare online version including tidied-up sources And that's it. All there is left to do. I guess the most part is not even technical. Okay, maybe that depends on the replay-bughunt, but the snailmail administrative stuff ain't no picknick either. Oops, I forgot about dforce's final mod. Hhhhm. If he completes it before first batch is out the door, I will include it. Otherwise, I have to say no. So I will warn him in advance. The same goes for Havoc. He offered me a picture, but it's really too late unless he manages to kick out some brilliant pic in under a week's time. December 25th 2002: The beta music has been completed. Simple really, since Laxical did all the experimenting for me. Fixing the replay was a different story. Let's say that I looked too deeply into things once again. It was a relatively simple affair, but I also learned things. Anyway, I upped the volume as well and fixed the note-retrigger effect which is used by frequent's mod. I added some fading stars to the worm screen, removed icky sounds inbetween parts and packed the whole thing as a final testversion. I'll wait for dforce's and havoc's response. I don't feel like doing a single more thing on the demo. The time has come to release the thing and think about the administrative work. Postage and packing need to be done. Also the whole adreslist needs to be updated and verified. I'll work tonight on this. It's better than waiting for response the whole time. With a risk of sounding impatient I say: "let's do it". January 3rd 2003: A new year and a perhaps a new demo? Ehhm.. Let's focus on this one first! With a risk of sounding overconfident, it's completed. I fixed and improved little things until I became seasick. The player is a bit faster, some transitions were added and some were improved, some fx were optimised. Also the keyboard handling is good now. Polling in the demo itself and gemdos (without echoing!) in the menupart. More importantly a memorybug in the pinch screen was fixed. The demo now seems very robust! I'm only waiting for havoc's contributions: the lineout logo and an improved font complete with some key-icons. This evening I'll ask him for it. I guess this is it. The final entry in this log. Maybe I'll come back to write some stuff about cleaning up the code and such.. But this will be some days after release. My head is spinning. I'm asking myself questions of which I know they are damn silly. For instance: 'couldn't I still have made it a 96ktro?' or 'how about the delays in the transitions? they look ugly!'. Or try this one: 'can people actually appreciate that 99% of the gfx/objects are generated with my own equations or would they have liked stuff imported 3dstudio stuff more?'. I wish I would stop asking these questions. Yes, I could better have a chat with havoc again and hope he has the graphics before tomorrownight, otherwise I'm releasing it 'as is'. I think his graphics can definetely add something, so I'll keep my fingers crossed! I'm off to have a chat. For the rest: I hope people will enjoy this demo and not get caught in some slaggingspree. I can remember as a kid how I enjoyed watching demos. I would like to see some kids enjoying this one in the same way. Wait, maybe there aren't much kids left on atari.. or, hhmm.. maybe all the sceners still are kids in a way.. oh... doh! goodbye =) January 4th 2003: Deez got back from his vacation and tested the demo. The whole thing crashed like mad. Even with some caches turned off. That about wraps it up. I don't know what's wrong without owning a 040 or 060 myself. I kinda hoped to have a ct60 at this time, thanx czuba-tech.... My best guess is that delta fucks on 040, cos this cpu is too fast for the unshaked hostport. The conclusion is: from now on we'll see 2 catagories: 040/060 demos or dsp demos. Painful, but true. Anyway, deez thought the demo was 'very good', altho he didn't like the music (all three parts), funny =) Okay, I'm just sitting here picking my nose waiting for havoc's final pictures. I organised the sources and prepared for a 8bpp logopic in the intro. Now all I need to do is assemble and copy to disks. On monday I post the shit. Free at last! It's funny reading my first lines in this log. I certainly felt like a poet then, now I just feel tired. I wish people will enjoy delta. It certainly was a project of unknown magnitude to me. Perhaps the viewer will realise this...