QUESTION: Level Completion Effects

Request patches for Keens 1-3.
Post Reply
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

QUESTION: Level Completion Effects

Post by CommanderSpleen »

I have a couple of questions regarding the effects on the map after a level is completed:

1. How do the sprites that prevent passage until a particular level is completed work? Is it necessary to have them on the same tile as the sprites that indicate which level they are to be associated with?

2. Is there perhaps a patch that could be manufactured to set the tile on the map to one of several possible 'done' tiles depending on a variable placed in a sprite value?

3. Could the 'done' tile be placed at a location other than the tile at which Keen enters a level?

I'm designing map tiles with a Keen4-6ish detail level, such that the level graphics don't disappear into a 'done' sign after completion, but simply change their appearance. There are several different ways this can be done.

A flagpole scenario is possible if the 'done' sign can be diverted to a different position, a particular distance from the X/Y locations of the actual level, ie. [+2, +2] (whether this is a constant or variable is immaterial--I can work a constant into the map design easily enough).

An alternative is to have the level itself, at the position Keen enters it, chane to indicate it has been completed. This would more than likely require a number of different tiles, since the entry tile would most often be different (think Bloog Manufacturing vs. Bloogwater Crossing).

If the position of a sprite that blocks passage until Keen completes the level can indeed be placed elsewhere, there's a failsafe alternative whereby I can place the entrance to a level outside the actual graphical representation, rather than as a part of the level itself.

Also, perhaps there are ways in which several locations can be affected by passing a single level? (ie. several 'done' signs being spawned). I encountered a problem at one point when I completed one level and another showed up DONE, but I haven't experimented any further as yet.

I'll probably answer some of these questions myself through experimenting, but hopefully someone can help me out with some specific information.

Meep!

>Commander Spleen
KeenRush
Patch Maker
Posts: 1988
Joined: Sun Aug 31, 2003 2:52 pm
Location: Sand Yego
Contact:

Post by KeenRush »

I've thought those things as well; seems that we're quite limited with the "level-map-level-dones"..

And eh, what do you meant with that first question? :)

Hmmm.. To question 2, at least yet there isn't a patch for that released in web..

To question 3, I've thought the same things (like that "[+2, +2]" for example). At least not yet possible, but let's see what adurdin say.. :)
User avatar
XkyRauh
Posts: 1114
Joined: Sun Aug 31, 2003 9:14 pm
Location: San Diego, California

re: mapping

Post by XkyRauh »

or, at the very least, you can include a manner of "trust" in your ReadMe.txt... just design the map with the traditional passable levels, but include in your ReadMe.txt that the game is "intended to be played sequentially" or "take the red path first for best results--other paths are possible, but not entirely safe..." :-)

that way the bold player doesn't feel pidgeonholed, and the meek player feels sheltered.

--Xky
KeenRush
Patch Maker
Posts: 1988
Joined: Sun Aug 31, 2003 2:52 pm
Location: Sand Yego
Contact:

Post by KeenRush »

Good idea! But too bad it seems many doesn't even read readmes.. :( I always love to read them.. :)
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Experimentation...

Post by CommanderSpleen »

And eh, what do you meant with that first question? :)
The sprites (32767, or whatever their values were) that prevent the player from walking past a level before it is completed. I tried putting them in at one point, but they didn't work, and I haven't been bothered experimenting since.
To question 3, I've thought the same things (like that "[+2, +2]" for example). At least not yet possible, but let's see what adurdin say.. :)
I did some experimenting the other day, and I found that if you several sprites in for a single level in different places, the first that was placed will show up 'done'. The remaining ones still attempt to enter the level, but on the whole the effect is satisfying.

I think that if the level is saved, locations that have been previously set as levels take priority. But if there is no level sprite on that location, the former scenario applies.

There may be more to it than this, but I haven't discovered anything further.
or, at the very least, you can include a manner of "trust" in your ReadMe.txt... just design the map with the traditional passable levels, but include in your ReadMe.txt that the game is "intended to be played sequentially" or "take the red path first for best results--other paths are possible, but not entirely safe..." :-)
Maybe it's the lack of sleep, but I don't seem to follow what you're saying. So, like, in reference to alternative paths, the player is given an indication as to which ones are 'safer', but is given the option of venturing off into other alternative paths?

My map level is going to be insane. I've got a whole lot of spare tiles and a heap of ideas for level graphics, underground tunnels, map scenery and so on, so much can be expected. Of course, it'll take me a few all-nighters to put it all together, so don't expect it too soon--lately I've entered an unfortunate habit of exiting the Shedquarters before 12am, so not much has been getting done. I have, however, found a whole load of abandonware games and such, including Jazz 2, so I have a lot of ideas to put into action.
Good idea! But too bad it seems many doesn't even read readmes.. :( I always love to read them.. :)
What is it with most people and readme files? They give you so much more to work with when first using a game, but everyone just skips to the program itself. Oh, well... each to his own.

E-MONKEYS STORMED MY SCALP!!

>Commander spleen
KeenRush
Patch Maker
Posts: 1988
Joined: Sun Aug 31, 2003 2:52 pm
Location: Sand Yego
Contact:

Post by KeenRush »

Interesting results there Spleen. :)
Oh, and can't wait to see the world map!
Ilsoap
Posts: 197
Joined: Tue Sep 02, 2003 4:04 am
Location: Canada
Contact:

Post by Ilsoap »

To make a sprite on a world map so that you have to pass a level first, I just make a 2x2 block of sprites of all the same number (3, for instance), and then make the two blocking sprites have a value of 3* (3-asterisk). Works fine for me.
User avatar
XkyRauh
Posts: 1114
Joined: Sun Aug 31, 2003 9:14 pm
Location: San Diego, California

re: maps

Post by XkyRauh »

Ilsoap, i think you're missing what Spleen has in mind... check this out:

Image

alright, from what i gathered, Spleen wants the path to C to be inaccessible until levels A and B are cleared. clearing level A opens the red door, level B opens the blue door. you can do A or B in either order, but you must do them both to gain access to C.

i'm guessing that Spleen's looking for a way to implement this... just putting four "3" sprites over level A, and then two "3*" sprites in the path down south doesn't work. you need coding.

Spleen, to answer what you weren't clear on, in your ReadMe.txt you could simply explain that "Level C isn't meant to be accessed until levels A and B are completed" or come up with a more specific theme "please start with the left-most levels and work your way right." it can't be enforced via coding, but using the trust system is just as good ;-) besides, it speeds up your playtesting to be able to run across the map! lol

i hope i got that right...

--Xky
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Aaah. Right.

Post by CommanderSpleen »

To make a sprite on a world map so that you have to pass a level first, I just make a 2x2 block of sprites of all the same number (3, for instance), and then make the two blocking sprites have a value of 3* (3-asterisk). Works fine for me.
Aha. It all makes sense now.
alright, from what i gathered, Spleen wants the path to C to be inaccessible until levels A and B are cleared. clearing level A opens the red door, level B opens the blue door. you can do A or B in either order, but you must do them both to gain access to C.
Yeah, that's what I'm trying to do.
i'm guessing that Spleen's looking for a way to implement this... just putting four "3" sprites over level A, and then two "3*" sprites in the path down south doesn't work. you need coding.
Well, perhaps the doors-on-map patch would help here, if no patch is made possible before I finish the mod.
Spleen, to answer what you weren't clear on, in your ReadMe.txt you could simply explain that "Level C isn't meant to be accessed until levels A and B are completed" or come up with a more specific theme "please start with the left-most levels and work your way right." it can't be enforced via coding, but using the trust system is just as good ;-) besides, it speeds up your playtesting to be able to run across the map! lol
Aah. That could work well, but then there are so many gamers out there that can't stand playing games within the actual boundaries programmed into the game, so why should I trust them with so much freedom? :P Hell, I wouldn't even trust myself.

Thanks, Ilsoap and Xky. :)

>Commander Spleen
User avatar
JosephBurke
Posts: 94
Joined: Sun Aug 31, 2003 9:51 pm

Post by JosephBurke »

Intersting CommanderSpleen, though I have a suggestion, which I don't see on your list. Maybe the player should be able to enter a level after completion, for example the tiles never change to the completed ones, they just stay like they were.
KeenRush
Patch Maker
Posts: 1988
Joined: Sun Aug 31, 2003 2:52 pm
Location: Sand Yego
Contact:

Post by KeenRush »

But what about the story then? And hiding stuff that should be only collected once and so on? :)
Oh, and I mean with that something like making something are where is nothing that can hurt you, no other way out than exit and some stuff on your way to exit that you have to collect; something you can't jump over or something. They could be for example those "yorp statues" that player should see only once during some level.
Hope you got the point from that text maze. :)
User avatar
adurdin
Site Founder
Posts: 549
Joined: Fri Aug 29, 2003 11:27 pm
Location: Edinburgh, Scotland
Contact:

Post by adurdin »

I'll try to CommanderSpleen's queries:

1. How do the sprites that prevent passage until a particular level is completed work? Is it necessary to have them on the same tile as the sprites that indicate which level they are to be associated with?
The sprite number for the blocking level tiles is merely the level number, ORed with 0x8000. This causes it to become a negative number, (-32768 + level number). In KeenWright, you can enter a "*" following the level number to calculate this automatically (e.g. "1*" for the sprite number). When a level is completed, a function runs which searches the map for the first occurence of a level sprite (with or without this "blocking flag"), and marks the level it finds there as done, choosing the tiles appropriately depending on whether the level is 1 tile or 4 (it determines this only by looking for another level sprite to the left or right of the tile Keen is on).

2. Is there perhaps a patch that could be manufactured to set the tile on the map to one of several possible 'done' tiles depending on a variable placed in a sprite value?

3. Could the 'done' tile be placed at a location other than the tile at which Keen enters a level?


Number 2 is difficult, because the sprite number would have to indicate the level number, as well as the "done" tile. But number 3 would not be difficult. It would be a matter of changing the function that does the searching, but also the function that checks the blocking level tiles, so that you could walk through them after you'd completed the level. Also not too hard (I've already dealt a bit with this function, for the map doors patch). I think this would be a good addition to the patches, and one I think is definitely worth making.

I encountered a problem at one point when I completed one level and another showed up DONE, but I haven't experimented any further as yet.
This could happen when using levels > 16 without (and possibly also with) the 30-levels patch. I haven't worked out the specifics yet.
Post Reply