Monday, July 28, 2008

Damn all.

So on tap today is ThiefEd, and it is almost to the point where it is feature complete and does what I want it to. In the future will add the in Editor play, but for now, it only needs to work so I can start to create content.
- Just created the image database. So now there are pictures in the background of the level editor. Specifically, they are unique (from a file standpoint, they're all the same image now). So, when there are complete art assets, they can quickly be plugged in.
-...oh, and made a hotkey for it. Button incoming.
-Now, I'm working on the Enemy Limits. The Enemies work a little differently than the moving rectangles, since I need them to have a distinct spot on the screen. So they actually move (instead of just display movement, like the Moving Rectangles). This means I need to have a left and a right limit for them. Modifying the code for that seems to be harder than expected though. The damn second line just will not display, and I don't know why. I'm going to set up a test to see if it is even tracking the spot. So, BRB.
-Sorry for the internet speak. I had a stroke on inspiration and forgot about not being a D-bag. Anyway, found the issue. When I ran the test, it turned out that the variable wasn't being updated. So after some tweaks that did less than nothing, I found that the variable that I wanted and is used in 3 or 4 of the function I built, wasn't declared as a Global Variable. For those who read this (who am I kidding) a Global Variable is a name for a piece of data that you want all of your code to use. So, if you don't name it as Global (meaning that everything in the program can use it) it will just assume that you really want each time you mention it to be a brand new thing. So, when you change one, the other pieces won't know about it. Since, they have their own to worry about. Aarrgh.
- Okay then. Since that's finished, there is really only 1 thing left to do, which is to make the level a Checkpoint or not. The Check Point system that I built tracks your position when you enter a Check Point level. The level itself can be anything, but the system knows that it is one and takes a quick snapshot of the position of the PC and the Level. Then if you die, it resets the Level back to the Checkout Point you last reached, and sets your position to the spot you were when you first entered. So, conceivably if you jumped in and then died, you would restart in a jump. But I'm okay with that. The real trick is remembering to not include anything dangerous in a Check Point room. The last thing I want is for somebody to die, restart and die again. That just crappy, crappy design. It should be a quick addition, then I can move on to the Sound Bit that I worked out this morning.
-All done. The checkpoint thing was actually pretty easy. Now, on to the sound thing. I worked out the equations this morning, so it should work in theory. The trick now, is getting the SE to work in the first place. Hmmm.
-Nice. Really nice. The SE works fine. Also found out how to make the music a little less loud. Oddly, I thought that the panning effect would be better than it is. Even tried to double the variables that it is supposed to eat, but to no avail. Sound always comes out of both speakers. Odd...

No comments: