Ambrosia Garden Archive
    • Why won't any of my ideas work?


      I'm currently working as the main programmer for a Coldstone RPG that desperately needs custom interfaces. Up till now I've figured they're pretty much impossible, but then I realized that stamps could have click links! Unfortunately I can't make my idea work for a few reasons:

      1. I can't make the stamps be visible without moving the player to 1,1 as well. I see no way to make the coordinates relative to the actual screen.

      2. No matter what, I can't get the stamps to arrange themselves correctly in the right layer order. The menu background stamp always gets drawn on top.

      3. I can't figure out how to make the map interface go away.

      Now I know I've seen this sort of thing worked before, e.g. PoG did something like it for the skill screen, and Cosmic Memory uses stamp control extensively to make scores and such change and animations play.

      So I guess the real question here is, how can I make custom interfaces? What I have in mind is a very complex dialogue that comes up every time you level (think Diablo) which wouldn't be a problem if I just knew how to make all that display correctly.

      I know I had some other things that I wanted to mention, as suggested by the subject, but they've escaped me at the moment.

      ------------------
      " Turn towards the trees! "
      "What trees? There's ******* trees EVERYWHERE!!!"
      - A friend and I sailing one lazy afternoon. I was out of my mind with exasperation at my friend's steering ability.

      (This message has been edited by LoneIgadzra (edited 11-01-2002).)

    • Quote

      1. I can't make the stamps be visible without moving the player to 1,1 as well. I see no way to make the coordinates relative to the actual screen.

      The easiest way to do this would be to teleport the player to a small map (the size of the screen) and then teleport them back when the dialog was done.

      Quote

      2. No matter what, I can't get the stamps to arrange themselves correctly in the right layer order. The menu background stamp always gets drawn on top.

      Have you tried the add to foreground and add to background stamp commands? This should get things to layer properly.

      Quote

      3. I can't figure out how to make the map interface go away.

      Uncheck the checkbox for the map location that says 'use interface' or some such.

      ------------------

    • ::looks around for Stark to provide a elegant legible solution/full explaination of the StampControl action::

      in the mean time i'll stab at 3. Did you mean that you want a plan window with nothing floating around in it, EVER FOR NO REASON if so

      let's assume you chose the empty game option when starting your game design,
      create a blank white image set up to the maximum dimensions of your window,
      go to the layout editor and select it
      now click edit and resize the game area zone to the same dimensions
      and drag the remaining zones off screen they won't appear ever during the game

      this will create a window with nothing but the gamePlay present at all times

      Else TEMPORARILY for any given locale
      You should be able to deselect the 'use interface layout for this location' checkbox

      ------------------

      (This message has been edited by ellrx (edited 11-01-2002).)

    • (double post)

      (This message has been edited by LoneIgadzra (edited 11-01-2002).)

    • I cannot implement any sort of drastic solution like that. All I want is to pause the game, pop up a picture, then draw a bunch of stamps on it. There is no way in stamp control to give stamps different levels of foregroundness, and everything has to be created in the foreground so that the terrain in the level doesn't get stacked on top of the dialogue stuff. Switching to another locations is out because that requires switching to another location which means loading. Loading a simple dialogue is not good.

      Okay, better questions. Is what I want possible, and how does PoG do its skill screen?

      I also just remembered what I wanted to know. I have this series of main locations at the beginning of the game, but after the first one, all the screen just goes black (though the local events for location #2 work properly). I don't get it.

      ------------------
      The autotrophic organisms are decidedly more verdent when located on an adjacent surface.

    • Load time is a very good reason not to teleport to another map.

      Well, to draw a stamp relative to the current camera location you can look at the current &&CameraX; and &&CameraY;, these are I believe in movement tile coordinates. To get coords appropriate for placing stamps you need to multiply these by the size of your movement tiles.

      If drawing the stamps in a different order doesn't get the right ones on top, I would guess that they are z sorted by their bottom edge, so to get the right ones on top you need to add sufficient blank space to the bottom of each stamp graphic to cause the sorting order to come out right. Not a pretty solution, but it ought to work. I've never played PoG, so I don't know the dialogs you're refering to.

      When my main locations go black, it's usually because I've used a graphic with 8bit color by mistake, or something else is wrong with the format. But yes, in that case the events still seem to work correctly, the pictures just don't draw. There are probably other reasons for it to go black too though. (like if you're wearing the wrong color shirt... ;))

      --katherine

      ------------------

    • Quote

      Originally posted by Katharos:
      Well, to draw a stamp relative to the current camera location you can look at the current &&CameraX; and &&CameraY;, these are I believe in movement tile coordinates. To get coords appropriate for placing stamps you need to multiply these by the size of your movement tiles.

      Mrs. Katharos is correct, Mr. LoneIgadzra. The reason you need to go to the coords (1,1) to view your stamps is that you are attempting to place them with movement tile coordinants. However, stamps are placed via pixel coordinates. I am writing a guide to help plug-in authors write plug-ins for PoG with Coldstone, and I have a section on the various coordinant types. Take a look here and see if that makes sense.

      Quote

      If drawing the stamps in a different order doesn't get the right ones on top, I would guess that they are z sorted by their bottom edge, so to get the right ones on top you need to add sufficient blank space to the bottom of each stamp graphic to cause the sorting order to come out right. Not a pretty solution, but it ought to work. I've never played PoG, so I don't know the dialogs you're refering to.

      There are 3 types of add types for stamps: Add, Add foreground, and Add background.

      Add: Places the stamp in a layer that is Y-sorted with the player. Thus if the player is below the stamp then the player will appear on top of the stamp. And if the player is above the stamp it will appear as if the stamp is on top of the player.

      Add Foreground: Places the stamp in a layer above the player. The stamp will always appear to be on top of the player.

      Add Background: Places the stamp in a layer far below the player. The stamp will always appear to be underneath the player.

      Quote

      Originally posted by Ellrx: **
      ::looks around for Stark to provide a elegant legible solution/full explaination of the StampControl action::**

      Awww... That gives me warm fuzzies.

      ------------------
      (url="http://"http://stark.evula.net/pogwalkthrough.htm")PoG Walkthrough and Compendium(/url) | (url="http://"http://stark.evula.net/plugins/dev_tools.htm")PoG Dev Tools(/url) | (url="http://"http://stark.evula.net/plugins/spells_expander.htm")Spells Expander(/url)
      (url="http://"http://stark.evula.net")Stark.evula.net(/url) | (url="http://"http://www.evula.net")EVula.net(/url) | (url="http://"http://mail.ambrosiasw.com/mailman/listinfo/coldstone_dev")Coldstone-dev mailing list(/url)

    • Quote

      There are 3 types of add types for stamps: Add, Add foreground, and Add background.

      Right, but he needs to insert all of the stamps in the foreground, since he needs all of his dialog box to be infront of the player (and everything else.) So the question is, within the foreground layer (and background layer for that matter, they're probably the same), how are the stamps sorted?

      So I decided to do some testing, since I was curious. My conclusions are:

      1. All stamp layers are Y-sorted internally. It makes no difference what order you add the stamps in, either with the map interface, or the 'Stamp Control' event.

      2. In the 'Stamp Control' event, 'Add' causes the stamps to be inserted in the layer immediately below the player in the map's layer list. (The layer which the NPC's and Player are sorted into)

      3. 'Add Foreground' causes the stamps to be inserted in a NEW layer that is not in the maps layer list which is immediately below the layer the player is sorted into. What this means is that stamps inserted with 'Add Foreground' will actually appear BELOW any foreground layers in your map, but above the player. This seems a little wierd to me.

      4. Similarly 'Add Background' causes the stamps to be inserted in a NEW layer just above the player layer, so they will appear in front of any background stamps inserted in the map editor, but below the player. This makes sense.

      I can only guess that they were trying to make 'Add Foreground' like 'Add Background' but goofed. Personally I think they probably should have let you just specify the number of layers above or below you want this stamp to appear in, but in general the engine's not general. 🙂

      So like I said, you're going to have to pad the bottom of your graphics to get the foreground layer sorted right. And if you have a foreground layer in your map, you could be in trouble. (You can still MASSIVELY pad the bottom of your graphics, but it begins to get really messy.) And if you want to be able to click on these stamps... well I think you're just in trouble. I would suggest in that case, that you just draw everything into one picture, and then position clear stamps over the bits you want to be able to click on. If it needs to be dynamic, you can chop up the background of your dialog, so that the foreground button/stamps go over the right bits, and aren't padded so the click regions are still right. I think it can be done, but might be tricky. I think I've started rambling, if you have any questions, just ask.

      Hope some of this helps someone,
      -katherine

      (Can you tell I haven't been doing anything but Coldstone development with my time this week? I'll probably get frustrated again in a week, and you'll never see me again for months, but hey, I'm here now... 😛 )

      ------------------

    • Quote

      Originally posted by Stark Bledfast:
      **Mrs. Katharos is correct, Mr. LoneIgadzra. The reason you need to go to the coords (1,1) to view your stamps is that you are attempting to place them with movement tile coordinants. However, stamps are placed via pixel coordinates. I am writing a guide to help plug-in authors write plug-ins for PoG with Coldstone, and I have a section on the various coordinant types. Take a look here and see if that makes sense.
      **

      I understand that; what I don't understand is how to make the stamps appear within the screen without moving the player.

      Anyway, thanks a lot for all the info on the stamp control action. I don't suppose I could achieve anything better with an animation and a spell or something, could I? The characteristics of the add foreground setting are going to a be problem, even now that I know about how everything's sorted. My RPG will almost certainly contain other foreground stamps. I suppose I could do something really complex, like check whether the player is in an area with stamps that might conflict, delete them, then add them again... but that would become a little crazy, and probably still wouldn't even work.

      ------------------
      The autotrophic organisms are decidedly more verdent when located on an adjacent surface.

    • Well i have a solution if you're not abject to making the player 'non visible during dialogs'

      well we've encountered the fact that you cannot force the enfgine to do certain things and most 'work a rounds' never really do anything that the engine won't allow. so i offer this:

      use the 'save location stack' action this will preserve the characters position when you are forced to move the player to 1,1
      well the player's still visible andd the screen is following him, solution change his animation set briefly to an animation that uses an action of type 'unlock camera' make sure this player animation is just white pict tiles of equal size(out of sight out of mind) and move him to an area with access blocks (detention area) make the first stamp you load(the one that serves as the BG) is an animation make one of the frames 'camera lock' now the dialog recieves focus make whatever stamp you use as a cancel or ok button undoes all of that
      (load location stack, which incidentally should revert the player back to his previous map icon, positions, and play the previous music, this is great but actally might reset verialbes i'm unsure, so instead you migh want to use a change global action to set some variable temporarily to playerx and player y and then move the player back to the position using those variable numbers)
      -------->
      stranger still similar to this method but weirder and more functional) is use the save location stack action, create an area on the map that is out of sight and normal range a 'detention area' the size of the largest dialog box, kind of off shore if you will...Example:lets say you have a large black rectangular area(the dialog screen) about 10 movement tiles distance from the area which the player can traverse(the map)...get it??

      okay the player presses space bar(you'll need to either try a engine call:freeze player-or- use access blocks), this calls your custom class selection dialog button, the first stamp which serves as a bg loads (in the dialog area)and uses the camera lock function to recieve focus, and you don't have to wait for it to load just make the camera move to the special area, the cancel and okay button un does all the things you did to the character, unfreeze) ta-da....

      I hope you get the ghist of it.

      ------------------

    • I do, or at least well enough. I'll save that and see what I can do next time I'm trying to make this work.

      Anyway, I just realized that I, being an idiot, have been working with Coldstone 1.0 this entire time. Apparently when I installed Coldstone off the CD, replacing the demo, I forgot that I updated the demo. Anyway, that's fixed now. And wow is the OS X editor so much nicer.

      ------------------
      The autotrophic organisms are decidedly more verdent when located on an adjacent surface.

    • Update:

      I think I've solved my main level up dialogue issue in this way:

      All I'll do is make a level up be a big dramatic event, so that loading another location makes a little more sense. Then I'll just do what Cosmic Memory does and voila!

      I did get my previous method working so that the stamp is drawn right in the screen without moving the player thanks to the 1.0.1 update. While the system has some promise, the events required to establish the locations of all the stamps are absurdly numerous and of course I run into the layering problem. Sure it's kind of nice to have butterflies fluttering around a menu, but a floating arch or door top (is there a word for that?) would not be a good thing.

      Anyway, I still haven't worked out my main location issue, but that can wait.

      ------------------
      The autotrophic organisms are decidedly more verdent when located on an adjacent surface.

    • Why not just use a main location for your level-up screen, instead of going through all this stamp control lingo?

      ------------------
      "There are very few people on the face of the earth that can't appreciate a bit of plot—and none of them play RPGs."
      (url="http://"http://www.evula.org/wolvenstudios/projects/tfm.html")The Four Mages(/url), an unfinished quest-oriented plug-in for Pillars of Garendall. | (url="http://"http://www.evula.org/wolvenstudios/projects/tfm_faq.html")TFM FAQ(/url) | (url="http://"http://www.evula.org/wolvenstudios/projects/tfm_log.html")TFM Progress Log(/url)
      — Cafalll, the only permanent employee of (url="http://"http://www.evula.org/wolvenstudios/")Wolven Studios(/url).

    • Quote

      Originally posted by Cafalll:
      **Why not just use a main location for your level-up screen, instead of going through all this stamp control lingo?

      **

      Because I wanted to avoid having to reload the current level at all costs. Animation would also be a good thing.

      ------------------
      The autotrophic organisms are decidedly more verdent when located on an adjacent surface.

    • Quote

      Originally posted by LoneIgadzra:
      Because I wanted to avoid having to reload the current level at all costs.

      Because you'd reset all the enemies, or because it would be too much work to restore the location based on its name? If it's the latter, just use the Save/Restore Location actions in the Event Lib.

      ------------------
      "There are very few people on the face of the earth that can't appreciate a bit of plot—and none of them play RPGs."
      (url="http://"http://www.evula.org/wolvenstudios/projects/tfm.html")The Four Mages(/url), an unfinished quest-oriented plug-in for Pillars of Garendall. | (url="http://"http://www.evula.org/wolvenstudios/projects/tfm_faq.html")TFM FAQ(/url) | (url="http://"http://www.evula.org/wolvenstudios/projects/tfm_log.html")TFM Progress Log(/url)
      — Cafalll, the only permanent employee of (url="http://"http://www.evula.org/wolvenstudios/")Wolven Studios(/url).

    • Quote

      Originally posted by Cafalll:
      **Because you'd reset all the enemies, or because it would be too much work to restore the location based on its name? If it's the latter, just use the Save/Restore Location actions in the Event Lib.

      **

      How about, because you'd leave the player twiddling her thumbs while a complex level reloads (try jumping in and out of Fantrima some time).

      ------------------
      "I know the stranger's name."
      Turandot

    • wither way the offscreen stamp area would be faster and most people won't figure it out( little fade to black and voila quick loading screens)no separate map to load the stamps are called by events so no constant memory usage...eitherway you'll see i plan onn using everyone of my 'wacky'(/proficient abstract) ideas in furture projects.

      ------------------
      (list)
      (*)(URL=http://www.geocities.com/ellrx/index.html)I shot the sheriff, the deputy, the head of bank treasury. Some mounties in the ounty got a big bounty stressin' me.