Devotion - WaterLogic (c) 1996 1st place demo at The Scene 96 demo competition on 2nd June in Singapore [1] Disclaimer [2] Hardware requirements [3] Introduction [4] What is EXP24? [5] About WaterLogic [6] WaterLogic productions list [7] Distribution Sites [8] How to contact us ..............................[1] Disclaimer................................. We cannot be held resposible for any damage or harm done, caused in anyway, however remote, through the use of this production. This production is freeware, and must be distributed freely through public information exchange mediums like BBSs and Internet. No monetary gain is allowed through the distribution of this production. Distribution on CD-ROMs or any other forms sold for money -requires- special permission granted by WaterLogic. This disclaimer applies to -all- WaterLogic productions listed in part [6] 'WaterLogic productions list' of this documentation. This production is the intellectual property of the members of WaterLogic, except the MIDAS sound system, which is written by the Sahara Surfers, and the PMODE/W DOS extender, which is written by Tran and Daredevil. ........................[2] Hardware requirements............................ The following are the -absolute requirements- to run Devotion: CPU...Pentium or PentiumPro (100Mhz+ highly preferred) RAM...8Mb (16Mb or more will allow caching of all data files) OS....MS-DOS 6.0+ Devotion does run under Windows 95's DOS shell, but the music timing will be slightly off, which is something beyond my control. It'll also run much slower than usual because of all the background processing Windows 95 does. VGA...32bpp TrueColor using VESA 2.0 or 18bpp HiColor using Mode-x on all standard VGAs There're still many users out there who do not have cards that fully support VESA 2.0, therefore I've added a truecolor emulation mode using 320x200x18bpp in mode-x. However, this emulation mode is -extremely slow- due to hardware limitations. Most PCI VGA cards these days have VESA 2.0 and Linear Frame Buffer support. However, some of these cards do not have VESA 2.0 built into their BIOS, so a software driver (provided by the vendor) or UniVBE should be used to enable these features. UniVBE is a universal VESA driver for almost all the cards available in the market today, it can be found on Internet at 'www.scitechsoft.com'. SOUND...EXP24 uses the MIDAS Sound System by Sahara Surfers. The MIDAS Sound System supports all major soundcards in the market today. Detection is automatic, just make sure that you have set your environment variables correctly. Here's the worst way to run Devotion: Pentium-60Mhz, 8Mb RAM, Windows 95 DOS Shell, Mode-X TrueColor emulation This is the better way to run Devotion: Pentium-133Mhz, 16Mb RAM, original MS-DOS, VESA 2.0 TrueColor ............................[3] Introduction................................. Finally, after a 4 month delay, Devotion is released. I believe this is the longest delay ever for a demo to be released (not counting those that were never released) after winning a demo compo. Any excuse will not be a good enough excuse, so I can only apologise. Devotion is the biggest production by WaterLogic, since Pureness, which is another major production made more than a year ago. They both won 1st place at 'The Scene 96' and 'The Scene 95' demo competition respectively. We had planned an even bigger production for Devotion, but it only went to the storyboard stage and stopped. Reason is simple : outta time. After Pureness, I almost immediately started work on a new project, a demo system, called EXP24. It was the biggest and most complicated project I've ever done, so I could not foresee the uncountable obstacles that was waiting for me. Although the deadline was not met (20 Aug 96, one year development time from 20 Aug 95), I did manage to meet all requirements I set for it. So what has EXP24 got to do with Devotion? The answer is simple : EXP24 was used to make Devotion. Desperately trying to finish a stable bare skeleton of EXP24 so I can make a demo out of it, I was left with 2 days to make Devotion. Agen and I did not sleep for 2 days (I haven't had much sleep for that month anyway) but we did manage to produce all the data needed on time. However, a mysterious bug was discovered (despite careful coding and debugging all year long) at the night before the compo and all the 3D objects appeared black in our 3D scenes. I debugged throughout the night and brought my PC to the party place the following morning at 9am and continued. Finally, I found the problem, it was a wild pointer in my materials cache code. Looking back, I'm genuinely surprised that I didn't give up long ago, because I was SO damn tired. I guess the fact that I didn't want to give some sick asshole any chance of winning gave me the strength to pull through...but that's another story completely ;) While I'm at it, I wanna apologise to Zane for having to write 3 tunes for this demo just to have me change plans each time, but the final tune is simply great! So I quickly zipped up the whole demo and gave it to the organisers, half an hour before the deadline. Actually, I think we're the only group who submitted their entry on time, none of the other contestants except 'Inner Option' did. And to think that I coded my ass off, and Agen still had to go back to work after helping me finish the demo, just to meet the deadline, makes me feel kinda sick. During testing, Devotion ran perfectly and I felt the huge load off my mind. But I was already too tired to enjoy the party, even before it began. I did meet quite a few guys that I got to know through BBSs, so that was really nice. And I really appreciate all the people who came specially to support WaterLogic, you know who you are, thanks! :) Well, there's a lot more I could write, but I really don't see the point right now. Afterall, this is just an insignificant piece of history, a moment in life. Winning or losing is not the point, enjoying the moment and making the best out of it is the point. It is those sore losers that always spoil the day. We make demos for everyone to enjoy and we try our best to achieve our best, and we sincerely share the experience with everyone. It is sad how all the commercialising has invaded the real spirit and how many of us have acquired the wrong concept of what demo-making is all about. ...........................[4] What is EXP24?................................ 'EXP' for 'experimental' and '24' for '24-bit truecolor'. 'EXP24' means experimenting with 24-bit truecolor. But why experimental? It was purely experimental and I wasn't sure it'd work, that's why. But after more than one full year of hardwork, I found my answer. EXP24 is a real-time script-based demo system. It's purpose is to make the demo creation process as easy as possible, avoiding all the linking, integration and many other nuisance problems present in every major demo production, so that maximum attention can be put into the effects and storyboard creation process. Here are some of the features of EXP24: .32-bit protected mode, optimized for Pentium processors .Uses Pentium internal timers for synchronizing and profiling .24-bit truecolor processing, supports truecolor emulation on low-end VGAs .Integrated 2D and 3D engine 2D engine is implemented in the form of plug-ins similiar to PhotoShop. All plug-ins share common dynamic parameter interface, therefore can be easily controlled through the script language. 3D engine is implemented like a real-time 3D Studio (for example) playback. Supports multiple lightsources, dynamic objects, inverse kinematics, multiple mapping types (texture/bump/opacity/environment etc), gouraud and phong shading models, subpixelling, subtexelling. Animation system supports 3D-spline and quaternion interpolation with tension/continuity/bias control for their respective 3D entity (object/light/camera) types. .Data file format abstraction .4-channel architecture, up to 4 effects (2D/3D) can be run at the same time. .Pre-processing and post-processing capability on individual channels .Alpha control between channels .Transparent channel scheduling .Storyboard driven by simple script language .Internal event logging mechanism .Unified error and exception handler for all modules Future plans for EXP24 include: .MMX support .Z-Buffer .Volumetric lights .Dynamic loadable plug-in modules .Pre-rendered lightmaps .Mip-mapping .Bi-linear/bi-cubic filtering .Windows 95 version using DirectX2 .Script Editor (using Graphics User Interface) Anyone who has knowledge of the above is most welcome to write to me for a discussion. ...........................[5] About WaterLogic.............................. WaterLogic is a demo group in Singapore. Our history is slightly over 2 years. I, Rex Deathstar, started out alone sometime in mid-1994, after getting my first modem and discovering this thing called demos. Early groups that inspired me were Iguana, Future Crew, Triton and Dust. I knew very little C and assembly when I started coding on my 486DX-33. At that time, the only other demo groups in Singapore were MysTiCal, Mode XiX and PowerSurge. I was the latest to join in the scene. Internet was an alien concept, thus the resource that was within my reach was scarce and much had to be self-taught. The result was much frustration and slow learning process. After releasing REXINTRO (almost ripped, sorry Jare :) and coded my first delaydot effect, I started to make adverts for BBSs. That's when more people started to know or hear of me and wrote to me. I was immensely happy. Soon after, I found a file in Anarchy Online BBS which was an invitation to the first demo competition in Singapore, called 'The Scene 95'. I decided to make a demo for it. At that time, a guy wrote to me showing interest in making a demo entry with me. He's Brandon Shen, aka Pandemonium. We were still without a group name then. Early 1995, half a year before 'The Scene 95', I came in contact with the members of Mystical, Mode XiX and PowerSurge. I also downloaded a demo from Malaysia called Classika, made by the group called Renegade. Malaysia was our neighbouring country, and it was very exciting to know that there was a demo scene there. Classika was beyond anyone in Singapore, but it turned out that it was a completely RIPPED demo. The Hornet DemoNews later confirmed that. Work on the demo entry progressed slowly. I needed more help and thus looked for a few sysops running BBSs and asked if they knew anyone. One of them recommended a young kid, called YewJin aka ChaoS. I called him and invited him to join us, and he gladly accepted. Due to Pandemonium's disturbing attitude problem and irresponsibility, he was asked to leave the group. Mode XiX made a demo called Necrolatory and it was the best demo in Singapore. It was released quite a while ago but I only got to see it quite late. Stuff did not spread very fast in the local BBSs. Reason being lack of a demo oriented BBS where every group gathered. Just a couple of months before the demo party, I named the group 'WaterLogic' and the demo entry 'Pureness'. Pureness won 1st place at 'The Scene 95'. I devoted my attention to EXP24 after 'The Scene 95'. ChaoS went onto the sleeping member list as he has school work commitment. Rumours about Pandemonium claiming unfounded credit for Pureness reached me and it drove me very mad. I started to spend much more time on Internet, especially on IRC, where I met many great new friends and learnt a great deal, much more than I could've done by myself in the same amount of time. I somehow felt that there were more nice demo people over the Internet than in my own country's demo scene... This bothered me for awhile but I could not understand why. But I came to terms with it anyway. And EXP24 would not have been possible without the tremendous help of the following people: ARM/Iguana : thanks for all the ideas and maths stuff Wili/Hybrid : thanks for explaining so many 3D concepts to me Jmagic/Complex : thanks for all the chatting and inspiration Jare/Iguana : thanks for sharing those ideas JCAB/Iguana : thanks for your comments, suggestions and concepts Mark Feldman/PCGPE : thanks for being such an excellent teacher There are still many people who contributed in one way or another to EXP24, I can't possibly list all of you here, but I ought to thank you guys, you know who you are! I also want to thank all those generous coders out there who unselfishly release their source codes or write excellent coding articles and tutorials for the benefit of others, I personally have learnt a great deal from them. As the demo party draws close, I changed gear into overdrive, going through a huge list of remaining requirements to be coded, and another longer list of coding/design bugs. Two of my goals was to pack all the functionalities into an EXE of less than a 100Kb (excluding music player code), and adhere to the software design rules of high-modularity, low-coupling and high-cohesion, and that really made me put more thinking into the design more than anything else. After 1 year and 2 months, I did meet the goals. Ok, back to the demo party... This year, the organizers made an even bigger effort to make 'The Scene 96' a better party than 'The Scene 95'. The venue was much improved ( tiny non-aircon room at Seaview Hotel VS. Spacious airconditioned multimedia room at Funan Center), the video projector was much better (crappy color LCD on a 50 inch screen VS. 3-gun CRT overhead projector on a >120 inch screen), there were more publicity and more events were planned. However, for some unknown reasons, the audience turnout was not even half of what was expected, and the party did not go very smoothly. But a very good thing was that the overall quality of the entries (demo+music+graphics) improved by manyfold since the last year. Of course there are exceptions, like the first demo entry, Revelations, which crashed the system halfway and refused to play a single sound, and we had to break the party rules by using my (!?) computer to run it instead. I owe the organisers a 'Thanks' and 'Sorry' for not disqualifying that demo, afterall, I really should not have bothered to help since it was none of our business nor our demo. All in all, if there were better planning, rehearsal and more crowd, it'd have been a great party. After 'The Scene 96', WaterLogic now has 3 active members: Coder : Rex Guo Yiwei / Rex Deathstar Art : Eng Poo Yang / Agen Music : Kerry Ho / Zane As you can see, there's an equal amount of both happy and unhappy moments in the history of WaterLogic, just like in life. Looking forward, I certainly hope there'll be more happy times than unhappy ones. We will continue to make better demos and enter competitions. However, we're not sure if there'll be anymore local demo competitions (ie, 'The Scene 97' etc). We really wish to enter international demo competitions like Assembly, The Party, The Gathering, Wired etc, but the need for a costly air-ticket takes out all possibilities. Afterall, what is the point of entering a competition but not able to attend it? Furthermore, the rather negative reviews of demo parties these days does not give us much assurance. .......................[6] WaterLogic productions list....................... //............................Year 1994...................................... //1. REXINTRO.ZIP....debut selftro //2. ASYLUM!.ZIP ....Advert for Asylum BBS (closed down now :( ) //3. ICHIBAN!.ZIP....Advert for IchiBan BBS //4. ANARCHY!.ZIP....Advert for Anarchy Online BBS //5. ICHIBAN2.ZIP....2nd Advert for IchiBan BBS //6. COROM.ZIP ....Advert for COROM PRODUCTIONS BBS //...........................Year 1995....................................... //7. _FACES.ZIP ....Slideshow demo featuring realtime crossfading //8. TINIFIRE.ZIP....76 byte fire routine, real small huh? (Full sources) //9. TINYSTAR.ZIP....123 byte 3D starfield, another small one. (Full sources) //10. DELAYDOT.ZIP....3D object morph with delaydots. (Full sources) //11. PARTICLE.ZIP....3D Lissajous figures morph. (Full sources) //12. PURENESS.ZIP....1st place megademo during 'The Scene 95' demo party at // Seaview Hotel/Singapore on 2nd July 1995. //13. COROMSRC.ZIP....Source codes to a BBS advert //14. WATERFAL.ZIP....Source codes to a waterfall effect as seen in REXINTRO. //............................Year 1996...................................... //15. PLASWARP.ZIP....Source codes to the plasma and image warp effect as // seen in Pureness (needs PURENESS.DAT to run) //16. DEVSITE!.ZIP....BBS advert for Developer's Site BBS, now WaterLogic's // HQ. Features SVGA 3D motion blur. //16. AGEN-ART.ZIP....High-res JPGs of Agen's art seen in Pureness //17. STARGATE.ZIP....Source codes to the texture-mapped wormhole seen // in Pureness. //18. MODELIST.ZIP....Generic VESA graphic mode lister with sources in C //19. VOXELSPC.ZIP....Source codes to a fast height&color interpolated // Voxel landscape routine //20. MPHONG.ZIP......Full sources to transparent motion-blur phong effect //21. FIRETINY.ZIP....57 byte fire routine with source codes //22. DEVOTION.ZIP....1st place megademo during 'The Scene 96' demo party at Funan Center, Jupiter Room on 2nd June 1996 ..........................[7] Distribution Sites............................. We have had many local BBS distribution sites, but they have all been closed down, or do not have any demo-oriented activities. Therefore we've decided not to use them as distribution sites anymore. We currently do not have any local BBS distribution sites, if any local (Singaporean) BBS sysop is -genuinely- interested in demos and being a distribution site for WaterLogic productions, please contact me. International distribution sites of WaterLogic, I apologise for not keeping track of all of you. If you're still interested in providing that service, please contact me too. This time I'll have a proper system of keeping track and updating you on our new productions. ..........................[8] How to contact us.............................. [Name] [Handle] [Age] [Job] [Internet email] Rex Guo Yiwei Rex Deathstar 23 Coder deathstr@singnet.com.sg Eng Poh Yang Agen 25 Artist auramed@pacific.net.com.sg Kerry Ho Zane 20 Musician Feel free to contact us for whatever reasons, like queries, discussions, commercial projects, job offering, and of course, fan mail :) In order to improve, we especially appreciate bug-reports and constructive suggestions, so write to us. yours, Rex Guo Yiwei Rex Deathstar/WaterLogic 30th September 1996