Thursday, July 17, 2008

9-19-07

More research today. Along with some new gameplay additions that are now in the to-do list. First, the gameplay. I decided that I need a method for enemies to be smart enough not to fall off of things, so I need to create a rudimentary system for them to not run off of objects. I’m less focused on making them interact with the environment and their levels will all be pretty basic, but I do want the option to put them up on high, dangerous stuff for more gameplay challenge. If I did that now, they would walk off the edge and float, which is hardly A-game.

The other gamplay feature I want to add is a “Lunge.” With a lunge I want the player to move towards the enemy if they are far away and then attack quickly when they get there, with a random chance of doing a hit. I thought that the current system is very defensive. You would pull out your sword, wait, dodge and then attack. Or you could put away the sword, run at the enemy, try to pull out your sword and get punched in the face. The lunge feature would keep you armed and ready to fight and bring you into the combat. Errol Flynn doesn’t stand there and wait for enemies to attack him, he gets up in their faces and kicks their ass. With the lunge feature, The Thief will too. Since I’m talking about it, there will be a random chance of doing damage with the lunge. I’m thinking generating a random number (up to 10 maybe) and then subtracting the enemies skill level. That way the lunge will hit weaker enemies more frequently than hard enemies.

-Yes, I used the term A-game and I’m a little embarrassed about it.

Finally, I think I have a way to save information. It’s a little convoluted though. It works like this:

First, blitz will not let me create an all new file, but it will let me copy a blank one. So I will have a blank file in the system that I can reference when I want.

Next, when the player is all done, they will enter a code (4 digit – since it will be easier to keep track of for the map). I will then copy the blank file and name the copy the code.

Then, I will open the new file and save the information into it using the WriteFile command and then close the file. It will also work backwards for opening a file.

In the game, I have a set of variables that represent the level information. I will then load the level file into the game when you get to it. Nice and streamlined code, as well as hilarity, ensures.

The final trick is this: the levels are not going to be named 1,2,3,4 etc. Instead they will have Codes (now you see why I want only a code for the levels). That way, the Portal rectangles will have a Destination Code and a Destination X and Y. The code will tell the system what to load and where to put the player in the level when they get there. Doing that with words and text, would be a lot more difficult.

Now, I’ll start building the ThiefEd level editor since I have a goal and a plan for making it work. Smiles.

No comments: