QUESTION: Level Completion Effects
- CommanderSpleen
- Posts: 1017
- Joined: Sun Aug 31, 2003 12:11 pm
- Location: The Land of Sparkly Things
- Contact:
QUESTION: Level Completion Effects
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
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
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.. :)
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.. :)
re: mapping
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
that way the bold player doesn't feel pidgeonholed, and the meek player feels sheltered.
--Xky
- CommanderSpleen
- Posts: 1017
- Joined: Sun Aug 31, 2003 12:11 pm
- Location: The Land of Sparkly Things
- Contact:
Experimentation...
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.And eh, what do you meant with that first question? :)
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.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 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.
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?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..." :-)
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.
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.Good idea! But too bad it seems many doesn't even read readmes.. :( I always love to read them.. :)
E-MONKEYS STORMED MY SCALP!!
>Commander spleen
re: maps
Ilsoap, i think you're missing what Spleen has in mind... check this out:
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
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
- CommanderSpleen
- Posts: 1017
- Joined: Sun Aug 31, 2003 12:11 pm
- Location: The Land of Sparkly Things
- Contact:
Aaah. Right.
Aha. It all makes sense now.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.
Yeah, that's what I'm trying to do.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.
Well, perhaps the doors-on-map patch would help here, if no patch is made possible before I finish the mod.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.
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.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
Thanks, Ilsoap and Xky. :)
>Commander Spleen
- JosephBurke
- Posts: 94
- Joined: Sun Aug 31, 2003 9:51 pm
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. :)
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. :)
- adurdin
- Site Founder
- Posts: 549
- Joined: Fri Aug 29, 2003 11:27 pm
- Location: Edinburgh, Scotland
- Contact:
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.
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.