Wednesday 20th February at around 10pm and it is playing on the Macbook.
And I’m done. Like time to die.
Wednesday 20th February at around 10pm and it is playing on the Macbook.
And I’m done. Like time to die.
I don’t really care what the date is. That’s for day time, and it’s night time. We are in the end times.
I play it again and again and again and again and again. Tweaking this that there. Last night I put it on a Windows tablet with an Intel 3000 display. Most of it played, the Warren was too intense for it. Tonight I went through a switching process, bringing each element in at a time. The problems are multiple but it’s partly because I built the walls out of modular sections so I could edit them as the plot thickened. Too late for that now. A look through the Unity asset store and I found a way to export all the walls out, consolidate them into one big mesh, bring them back in. One viewing position went from about 60fps up to around 100fps. Draw calls down by about 40% (this is a good thing).
Most computers are up to at least the Intel 4000 by now. I tell myself that when I admit I can’t get this level much faster without a redesign.
But I am happier with the Warren. Computationally complex; but looks like a four year old dropped acid. It’s a trade off. By angling the projector a bit and bringing it closer and fussing around, the toy images are now all over the walls. That and the distortion of the image as a whole is disorientating. Good. I also got the Easter Egg hunt worked out. You have to follow some instructions provided by the Princess, not really too cryptic, and you get the Good Ending. If you miss any of the steps, you’ll be stuck with the Bad Ending. As a toy, it’s not that big a deal.
I’ve edited the paintings in the Warren to be more effective and added billboard designs to the last level. This also gets a cameo from my old Trans Oceanic exhibit which is technically overkill but hell, let’s do it anyway. Lots of rearranging of the Airheads level, which never quite became what I wanted in my head but I think next time I do this I’ll get closer. Now there’s a piano with samples pulled from my 2007 mini disc. There’s enough now.
I think this is going to be the last update apart from some postcards. Getting close to the point where you may as well just see for yourself. I don’t expect that anyone read any of this, which doesn’t really matter because I get a travelogue and maybe a laugh at what a neophyte I’ve been for the last year. If you did read any of it – thanks – hope I didn’t bore you!
Oh yeah… beta testing maybe. I’ll contact people that did it before.
OK, so as expected all kinds of tedious overload is bloating up as the university session approaches and I’m back to nights and weekends to finish this. If it ain’t there now, it won’t be in v1. My mission is now to pull together all the loose ends and get it looking and playing decently.
The Warren still bugs me. I just don’t find it intense enough. Maybe if I got too much my way it would become impassable wreck. I’m used to it, I don’t see it like others would, but my gut instinct is that it fails to rip your head off. Part of that is the lighting which needs to be dark but then I run into a problem called ‘Macintosh’ which does dark too well. I’m trying out gels on the lights. I worked out how to use a projector to throw an image onto the floor that moves about. I spent a fair few hours editing together a cut up of brightly insane toys to project … it’s there but not quite doing the trick.
Every effect lowers the frame rate again. You just can’t have insanity and frame rate.
I used to like the ‘hotel lounge’ look to the walls and floor. I have to respect that at some point I had good reason to like this and not to try in the last weeks to overthrow it. But then again, the need for some kind of “1,000,000 exploding doll heads” variant is urgent. Being at work is tiring and makes you conservative. Maybe on the weekend I’ll have a nervous breakdown and push buttons at random generating the perfect solution.
It’s Easter again at the supermarkets. Hard to believe 1 year ago I was just starting to build this level. I saw some hunting eggs. Idea? I’m also trying to dream up some graffiti but all I keep coming up with is WHO PUT BELLA IN THE WYCH ELM? and that’s not mine.
Oh yeah also found a picture of the princess. See her before?
It plays all the way through from the start to the end. Things don’t work and don’t look right BUT
Now, this is the BAD ending. I still got to make the good ending. And some sounds disappear and the warren still not right and this that other thing and on and on on on.
We’re about to hit February and it’s a short month! So it’s time that all the aspirations get moved over to version 1.1 and I just get version 1.0. out the door. Been at work a few times already, I can feel the walls closing in.
Tonight I’ve been building the first few wormholes … the jumps from level to level. This is not too tricky in the details but I have to keep the overall design organised carefully. If you play the game from the start you will fall down the rabbit hole into the warren from the northern end. If you get to the southern end you exit through the big demon head ‘Steve’ and end up on the Tiki level. So far so good.
Once you find the way out of the Tiki level you should come back to the Warren through ‘Steve’ again. So exiting out of the Tiki level sets a global flag which the player tests the moment it is created. If true it teleports you fast enough that you think you’re appearing in the right spot.
The joy of having a hub level like the Warren all that testing happens in the one script. I’ve known that intuitively up to this point but it’s good to see it working. Of course proving it means I’m getting good at charging through all the levels at top speed. If you do that too often in the Warren the distortion effect will make the world outside look distorted as you brain trains itself around it! There is a cheat that jumps you to whichever level you want. I am wondering if I leave it in…
Working backwards from tonight: I built a television set on which some evil looking video can be received. I’d like to add more TV signals but … version 1.1
Extensive labour on Denver Airport. I found a photo of the terminal building at night and have spent much time retouching and cleaning up the model while keeping it very simple. I’ve rebuilt the tower so it can be used from some freaky stuff. I had a whole bunch of sound I’d made for Aerodrom which I’ve re-purposed here. (This area is the bridge to Aerodrom which I will make one day.) The aircraft are still too detailed and are causing problems with FRAME RATE, so I am going about setting a level-of-detail system for them.
Quite a lot of wiring here too, getting some characters to drift around, break apart etc. Now the level has a soft glow around it, and so a fair number of textures needed a bit of work to get them over the glow threshold. But the main task here is to compose the music, as this level was always to be the most formalised musically. I mean I’ve got a fair bit in place but gaps here and there.
And just one more big question… the way out of this final level is obvious. But perhaps it’s TOO obvious. Maybe I should provide a choice…
I managed to get the windbags and echobags working after a day of frustration and stupidly felt like I’d reached a point worth sticking on YouTube. Of course this morning I sneaked it back off again as it showed some pretty bad faults. Not that anyone is really paying attention but you know … got to have some pride in your work.
The ‘robots’ were so high up the screen you had to ‘crane your neck’ to operate them. You could only roughly see the animation that I’d spent all that time creating. But worst of all things to show in a video was the frame rate crashing to less than 30fps every time you looked across the room. For the positive – I’d managed to script a long ‘analogue’ echo with a low pass filter and volume sweep over the decay.
Today I was supposed to work on the live show but I felt uncomfortable about having the project in the shit zone.
First step – dropped the height of the stages, which meant going back the the model. While at that I scaled two of them down as it took about 40 robots to fill each. By the time I got them back in the game engine I thought FUCK IT and just deleted another section and duplicated one of the smaller stages. It’s what I should have done up front. Now you can see the faces of the robots as you sequence them and don’t have to run around so much.
Next step – moved robots away from each other so that they’re not crowded, and there’s less of them on screen at any time = better frame rate. I’ll bring the camera in a bit too.
Best step – systematically located each static mesh and threw the ‘static’ flag, so that Unity can pre-calculate them all at the start instead of 100 times a second. Yes, I normally do this but had somehow lost track of it – worst of all I was leaving all the alternate heads visible at once – which wasn’t the case last time I looked. Some fuck up somewhere. Frame rate is now 120 – 150 on the dev. machine.
Artistic step – a much better sound for the echoheads. But of course it caused a problem. These robots are supposed to make a sound every X seconds, which slowly fades into the distance. But the new sample was longer and made it obvious that it was X seconds plus the duration of the sample = fall out of time. So I had to re-write it as two parallel tasks, with the clock sending a message to the sound player. Which works exactly two times and then gets stuck. Very long boring debuggery later I have found the problem which was to do with a different animation not getting to complete, pulled that out and faked it a different way. Less animations means faster frame rate. FRAME RATE FRAME RATE FRAME RATE.
Wub wub it.
So I need to add pitch controls to the Windbags. That required going back and cutting off the jewels either side of the machine so that they can be controls. Left jewel, pitch down, right jewel pitch up. Unfortunately I’ll have to figure out one machine, clone it all over again and re-add the heads. Meh.
Each jewel waits for a mouse click and then navigates two levels up the hierarchy to the top parent. (Just in case I have to name things in weird ways later on). Once it finds the parent it sends a global message ‘pitch up’ or ‘pitch down’ as the case may be. The parent Windbag has the script for the head movements and sound on/off. Now the script reads the pitch for the sound from a variable, which it will increment or decrement on the appropriate message.
All that’s fine and took about a half hour – the voices are now tuned by the Player. But pitch is not a fixed frequency shift and the further you pitch shift the more out of tune it gets. The real way to do it is to multiply the frequency by a constant which is itself raised to the power of the half steps. This is a bad thing to be doing over again and mean I would have to add the math library to the distro so it looks like I have to set up an array. Each time you raise or lower the pitch the variable will look up the right ratio from a table and plug that into the pitch control.
Probably should have set that up a year ago. As it is I’m thinking I won’t start reading the manuals right now. Maybe daytime would be better.
I did go back and re-work all the voices because even though PaulStretch makes great sounding drones they don’t pitch up/down too well. Better to find a pure clear voice and put the weirder stuff in as overtones. Making vocal loops in Adobe Audition is shit. I used to have a better tool, where the hell did I put it?
Wait a second! Isn’t this just the same as multiplying by 1.059463094359 each time? That’s why it’s called equal temperament. AM I ASLEEP AND ALIENS EATING MY BRAIN?
This video has been removed as a newer version has been posted to youtube.
That was a really inspiring title wasn’t it. Sometimes I love this journal for seeing where I was at by a certain date. Other times I feel like one of my students doing it for the percentage. I mention students because I’m back at work (kind of) and the race is on to get this out the door before I get buried alive again.
Yesterday, Monday, was one of those inexplicably morose days when nothing seems worth doing. I did little until very late, then I hurled objects at the game’s exit like I was trying to smash its face in = excellent result. This is a section where the command to ‘dream more planes, only dream planes’ has led to something between a slave revolt and The Sorcerer’s Apprentice – like so much of this I’d like to show, but it will spoil the surprise … wait … wait.
Followed by the usual insomnia. I had a little dream about the Warren all warped in curves.
Today was a day to write down all the stuff that needs to done. An A4 page closely typed, but I got about 1/4 of it well underway today through sheer cussedness. Let’s put it on record:
Inevitably, around 3am last night panic came for a visit. I have to get this rolling.
Over the weekend I did a lot of work on the Warren even though it’s not top of the time sheet. It’s developed enough to critique – that’s the pity.
Added a bunch of drum organs, often called hurdy gurdies but they’re not really. Turn the handle and they make a repeated little melody.
I wanted ‘EVP’ style voices that modulate the sound of the toy, so you can just barely hear what’s said. A few hours with a vocoder and pretty good result. Problem was that once dropped into the noise scape you can’t hear a bloody thing, which pissed me off and led to a solid round of noise containment, starting with the room reverberation. The warren is supposed to be a large underground cavern but the reverb just mushes it all and I think is causing distortion. Everything got turned down and pulled back.
Next step was to apply extreme prejudice to every animation in the level. Went back and removed all the animation from the sewing needles and replaced it with scripts that cause the needles to jab on their Y axis ONLY when the mouse is over a trigger zone. This seemed to do the trick, and so I applied it a few other places where the movement is too heavy.
While I was at it I finally got the look I wanted for the Warren princess. Hallelujah it’s only taken a month. In a repeated nightmare I had as a small child I saw a corpse being jabbed by needles. That’s the first thing I modelled and it didn’t work. I spent a hell of time redesigning this and that but the answer turns out to be just show the needles, not the person. A person shaped cloud of needles is brutal.
Now – the jack in the box. Turn the handle, you get Pop goes the Weasel. It’s a must. Right at the pop (6.5 seconds), the lid flies open (rotate on X axis 100 degrees) and a spring shoots up (move Y) and surprise pops out (instantiate an object). Fiddly but not hard. Hmmm, so why not let them have another go. OK. Each time you crank it you get another cloned object. But that means they can keep making clones until the game crashes. EXCELLENT. Make it so.
Today much labour on the last level, which has Denver Aiport and a small city that is made of half completed / damaged / warped game assets. Unity can’t render wireframe (!!?) without a very expensive shader so I have to use a transparent texture that I have to stretch over surfaces. Fiddly. Laborious. And not quite what I want yet. You find the exit here to ‘win’ the game. I’ve built that, but it’s a long way before I exit this diabolical project…