;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; config ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; sound = true/false ; debug = true/false democonfig { sound = true; developermode = false; song = music.mp3 endtime = 220000 jumptime = 71000 } timeline { hajaannus 0 220000 } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; effects ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; namespace hajaannus { int randomseed = 666 vector3 pic1offset = 0 0 5.5 vector3 pic2offset = 0 0 10 vector3 pic3offset = 0 0 20 vector3 pic4offset = 0 6 5 vector3 picture1move = -10 0 10 vector3 picture2move = 0 -6 4 vector3 picture3move = 0 0 -7 vector3 snowparticlecenter = 0 100 200 range snowparticlesize = 0.3 2.0 range snowparticleradius = 0 200 range snowparticlealpha = 0.6 3 range snowparticleenergy = 1.5 5.0 range snowparticlerotspeed = -0.004 0.004 range snowparticlefallspeed = 0.03 0.15 range snowparticledrift = -0.03 0.03 float snowparticleaddtime = 0.005 color3 snowparticlecolor = 1 0.5 0.3 int snowparticlemaxcount = 2000 vector3 handpos = -40 0 160 float handsizex = 50 float handsizey = 50 range handangle = 5 -14 vector3 handmovement = 0 -20 5 float handalpha = 0.7 float handalphatausta = 1.0 vector3 sunparticlecenter = -20 30 200 range sunparticlesize = 0.3 2.0 range sunparticleradius = 50 50 range sunparticlealpha = 1 1 range sunparticlespeed = 0.1 0.3 range sunparticleenergy = 0.2 1.5 range sunparticlerotspeed = -0.004 0.004 float sunparticleaddtime = 0.0001 color3 sunparticlecolor = 1 0.4 0.2 int sunparticlemaxcount = 2000 vector3 sundisplace = -50 0 -50 vector3 windparticlecenter = 100 0 200 range windparticlesize = 0.3 0.8 range windparticleradius = 0 200 range windparticlealpha = 0.1 0.4 range windparticleenergy = 1.5 5.0 range windparticlerotspeed = -0.004 0.004 range windparticlespeed = -0.1 -0.4 range windparticledrift = -0.2 0.0 float windparticleaddtime = 0.0005 color3 windparticlecolor = 0.7 1 1 int windparticlemaxcount = 2000 int textglowcount = 5 float textglowx = 0.1 float textglowy = 0.02 float textglowalpha = 0.55 float textglowexp = 5.5 } event feedbackfadein { time = 15000 length = 30000 } event feedbackfadeout { time = 180000 length = 25000 } event snow { time = 30000 length = 25000 } event death { time = 60000 length = 35000 } event sun { time = 105000 length = 55000 } event sunfadein { time = 105000 length = 15000 } event sunfadeout { time = 154000 length = 6000 } event wind { time = 130000 length = 150000 } trigger feedcolor { 60000 10000 90000 15000 160000 50000 } trigger noisetrigger { // 15000 2000 0.4 // 150000 10000 0.2 } event taustafadein { time = 15000 length = 15000 } event loppuzoomin { time = 170000 length = 30000 } event picture1 { time = 15000 length = 55000 } event picture2 { time = 55000 length = 60000 } event picture3 { time = 100000 length = 70000 } event picture1fadein { time = 15000 length = 15000 } event picture1fadeout { time = 55000 length = 15000 } event picture2fadein { time = 55000 length = 15000 } event picture2fadeout { time = 100000 length = 15000 } event picture3fadein { time = 100000 length = 15000 } event picture3fadeout { time = 160000 length = 15000 } event picture4fadein { time = 160000 length = 15000 } event picture4fadeout { time = 200000 length = 10000 } event taustafadeout { time = 200000 length = 10000 } event globalfadeout { time = 215000 length = 3500 } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; beat ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; bpm beatquarter { bpm = 17.5 offset = 0 } bpm beathalf { bpm = 35 offset = 0 } bpm basicbeat0 { bpm = 70 offset = 0 } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; meshes ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; /* mesh testi.obj { usevbo = true autotexture = false texture = texture1.jpg usefacenormals = false calculatenormals = false retain = true } */ /* mesh sphere.obj { usevbo = true } mesh test.obj { usevbo = true } */ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; textures ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; upload = true/false ; wrap = repeat/clamp ; retain = true/false ; mipmap = true/false ; filter = nearest / linear texture test.jpg { mipmap = true wrap = repeat filter = linear retain = true } texture brslogo.png { wrap = clamp } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; postprocessing rendertargets ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;; NOTE! these are hardcoded into the postprocessing code so if any names are changed, they need to be ;;;;; changed in the code as well! rendertarget feedback_0 { width = 1024; height = 1024; } rendertarget feedback_1 { width = 1024; height = 1024; } rendertarget feedback_2 { width = 1024; height = 1024; } rendertarget feedbackflow { width = 64 height = 64 } rendertarget flowmap { width = 256 height = 256 } rendertarget feedbacktemp1 { width = 1024 height = 1024 } rendertarget feedbacktemp2 { width = 1024 height = 1024 } rendertarget taustaflowmap { width = 256 height = 256 } rendertarget taustafeedbacktemp1 { width = 1024 height = 1024 } rendertarget taustafeedbacktemp2 { width = 1024 height = 1024 } rendertarget handflowmap { width = 256 height = 256 } rendertarget handfeedbacktemp1 { width = 1024 height = 1024 } rendertarget handfeedbacktemp2 { width = 1024 height = 1024 } rendertarget postprocess_1024 { width = 1024; height = 1024; } rendertarget postprocess_1024_2 { width = 1024; height = 1024; } rendertarget postprocess_2_1024 { width = 1024; height = 1024; } rendertarget postprocess_2_1024_2 { width = 1024; height = 1024; } rendertarget postprocess_512 { width = 512; height = 512; } rendertarget postprocess_256 { width = 256; height = 256; } rendertarget postprocess_256_2 { width = 256; height = 256; } rendertarget postprocess_128 { width = 128; height = 128; } rendertarget postprocess_128_2 { width = 128; height = 128; } texture postprocess_1024 { wrap = clamp; } texture postprocess_1024_2 { wrap = clamp; } texture postprocess_512 { wrap = clamp; } texture postprocess_256 { wrap = clamp; } texture postprocess_1284 { wrap = clamp; } texture postprocess_128_2 { wrap = clamp; } texture postprocess_64 { wrap = clamp; } texture postprocess_64_2 { wrap = clamp; } ; this is for the pixelize shader mainly texture postprocess_32 { filter = nearest wrap = clamp } ; some whitespade needed :)-------------------------------------------- ..: Fields of Glass :.. by Traction at Revision2016 -------------------------------------------- It requires a working PC. It's been tested on my crappy work laptop as well as my own that are both running Windows 7 and are not in any way spectacular. I hope it works on later Windows versions as well. Full credits are: Preacher - programming, graphics, music Elina - photography Pekka Salmela - music recording and mixing Also, the font is from dafont.com, OpenIL is used for loading images and fmod does the sound. One picture of a hand is from somewhere in google images, apologies for that. I lost the original source. -------------------------------------------- It's been a while since I released anything. A long while. But that's how it goes: things change priorities and so on. I didn't want to show up empty handed at Revision so here goes. Made all by own and with very little time. You know those "made in two days so we know it sucks"-excuses? This time it's true. I'm quite happy with it nevertheless. (well, almost true anyway). This is my first time with a song of my own in a demo. I know it's not what's usually in demos. I hope you like it. Huge thanks to Pekka Salmela for assistance in recording and mixing the tune. The poem has existed for a long, long time. The song was written in early winter 2016. Greetings to the usual suspects and friends. I have been missing you. And big thanks to the various people who have supported making this demo, especially the other person in the last scene, my beloved soon-to-be-wife Elina. You mean the world to me. ~Preacher, martti.nurmikari@iki.fi --------------------------------------------