Right, so at the end of the last work log, there was a list of tasks. Let's go through them, and see what I have achieved.
"enemies" : the game now has nasty red cylinders in. These cylinders move using various schemes from UnitySteer. This was a pain to get working - there's not much documentation. But there are some example scenes, and by referring back to those I was able to enable all the stuff that didn't work immediately. This would be aided if you could have multiple projects open at once, Unity, hint hint. The actual current behaviours? Not the desired ones. But I feel I have enough of a grasp of them that I can create the desired behaviour once I have a level to test it in. The one I don't think does come out the box is to home in on the player (to attack) when he is within a certain distance. But I believe I can modify one of the preexisting homing scripts to do this relatively easily. Oh yeah, and I nearly forgot, because I did this first - when you get near them, they make the headband pulse where they are instead of a steady vibration. It works really well!
"slaying": if you click on a nasty red cylinder (or "Gorgon"), then they make a sound much like "euagh!" and have their health decremented. Click enough times and they vanish, making a sound like "Eaugughuh". I need to record some sound effects that aren't just me groaning into Audacity. But yeah! This bit works fine, and took like 5 minutes and worked first time, and I felt very smug and went downstairs and played some Scott Pilgrim and drank some vodka. I wish that was typical game-dev.
"dying" : This I just finished off - when the Gorgon gets too close, you get hit and make a suspiciously Gorgon-like "Euagh" sound (told you I needed to record more sound effects). And you health decreases. You don't actually die yet, but whatever. This was a pain in the arse to trigger, a pain I suspect I've not seen the last of. To do things properly, I am using a sphere trigger collider on the Gorgons, which intercepts the Player object and sends a OnTriggerStay(Collider c). But then it wasn;t sending due to a CharacterController not being a Rigidbody? And then I tried it again and it did work. And to get the proximity based-homing I talked about above, I'm totally going to have to make another sphere trigger collider, and then disambiguate the two, or set one to be in an appropriate layer? It's heading to a messy place, but I think I might get this done before the mess takes over. It's really a race against technical debt, I guess.
"maiden" : This I haven't done any coding for, but I totally have exciting progress on it. My friend Claire (who London Philharmonic Choir) has agreed to record some singing for me, to guide the hero to fair lady. I have totally blabbered on to her all kinda of somewhat unhelpful and contradictory requirements, and she has suggested she sing maybe something like this.
"And the game feeling vaugely okay." : haha, not yet. But with sounds and variable vibrations I have hope this can happen. My headband has lost a vibration motor (the one at the front, as it's currently configured), so it's difficult to test. But I've faith!
Todo summary: maiden, make a level, and the game feeling vaguely okay. And fix the headset!
And all this possibly by 1pm on Saturday...
16 November 2010