Kisai's Forum Posts

  • if you want to know if it's sound effects

    why not save your cap,

    then remove all the sound objects

    or sound events

    and then test your cap?

    Thank you Lucid. After doing that, I never got the error. I wonder what's going on with the sound there.

  • I swear it's sound-related, because as I said, it always seems to happen right after one of the sound objects stops working. Not only that, but I could SWEAR it never happened when I had NO sound effects running during that. Also, it seems to lag a lot with a lot of sound effects going on. The frame rate seems to drop a lot more.

  • "Construct encountered an error in the display engine.

    The error code was: 0x8876017c (Out of video memory!

    Construct has asked for the following amounts of VRAM:

    5.84mb textures

    16.72mb targets

    22.56mb total)"

    I say "sound-related" because when doing something with a lot of sound, it usually happens, and especially after the sound suddenly cuts out.

  • Ooooohhh yeeeeaaah.

    Enter = Pause

    Z = Run/Cancel

    X = Jump/Accept

    It's very NES-ish by design.

    [quote:25pjppyf]Care to share how you did it? We get questions about menus and inventory all the time

    I'd post my .cap, but I doubt it's organized and commented enough for anyone to understand what I was doing, even though I HAD clarified what events were doing what just so I'd have some "signposts" of where I was in the sea of events used for that pause menu. Since I don't have anywhere NEAR the skill you or anyone else like Ashley has, I sorta winged it and threw it together.

    Some things here are pretty simple. For one, there's a "Selector" object that has a "Selection" variable. When Up is pressed, decrease "Selection" by one. When Down, increase by one. If "Selection" = 0, set position to "SQUSIHYoption".X, .Y. If = 1, set position to "WEAPONoption".X, .Y.

    Selector: Selector:  Value 'ExpandedMenu' Equal to 0
    
    Selector: Selector:  Value 'Selection' Equal to 0
    

    SelectorSet position to SQUISHYoption 0 .X, SQUISHYoption 1 .Y

    Selector: Selector: Value 'Selection' Equal to 1

    SelectorSet Y to WEAPONoption 0 .Y

    [/code:25pjppyf]

    Then, if "Jump" is pressed, our "A button", then that sets "ExpandedMenu" to 1, so we're not accidently messing aruond with the main menu, and enables group "Squishy Select" and has its own similar set of rules on how the cursor moves, where the cursor is depending on the "Selection" value, which is shared for almost every single seperate thing, and whatever.

    There's some events that are ordered to move down in the "Squishy Select" event group, depending on who they are. For example, in the character selection there, our bottom-most option, "QUIToption" is ordered to set its Y position to its Y position -16 if its Y position is less than 352.

    Or to put more simply, if its higher than we want it to be, it shoves itself downward to make room for the character selection. This has no effect on the OTHER options, though.

    All options whose X = 48, that is, any text options that are in the "main menu" alignment, and no others, and whose Y is greater than 32, which is ANY option below the "Squishy" text, but whose Y is less than "QUIToption"'s Y, which is to say, still above the "Quit" option, shoves themselves downward with the command of "Options: Set Y to OptionsY+16".

    And to put THIS more simply, it selects all the options that are in-between "Squishy" and "Quit" and pushes them downward only so far as where the "Quit" option is. The "Quit" option just moves down as far as we need to have enough space to present the characters, leading the OTHER options to follow. The specification of the "X = 48" thing means we only drag down the "main menu" options with it, otherwise EVERY little option behind the scenes would be pulled out of whack.

    There's a lot of copying and pasting with that little thing to present the space we need for whatever options I wanna throw in there. Then we enable a group event to handle the other stuff.

    For example, with the "Options" group event, we still have the "Quit" option move on down, leading the other options with him. At the same time, all the other options for "Options" come in from behind the scenes to their designated position.

    System: Always (every tick)
    [/code:25pjppyf]
    
    Under this, in a sub-event...
    
    [code:25pjppyf]TextSpeed: TextSpeed:  X Less than 80
    

    TextSpeedSet X to TextSpeed 0 .X+64[/code:25pjppyf]

    That above tells the "Text Speed", if it's NOT in its designated position, which it won't be to begin with, to move into place. It moves in from the left side of the screen, from which it hides. During the "Options" event group, it yells at "Text Speed" to start moving to the right if its X position is too far to the left.

    And below, in another sub-event for THAT, we create some insurance.

    TextSpeed: TextSpeed:  X Greater than 80
    

    TextSpeedSet X to 80

    [/code:25pjppyf]

    This is in case "Text Speed" trips past its cue. If it goes BEYOND its designated position, we forcefully shove that thing where we want it to. It happens so instantly that I've never really noticed it.

    We can keep experimenting with this further on, having designated positions for every single little option, telling it to run into its place when its Event Group is enabled, and when disabled, I have a master, "Go Home Menu Items!" Event Group that tells EVERY single piece of text to go running back to the edges of the screen, and it's always enabled, but all the Event Groups below it can overtake whatever options it needs.

    As for making it functional, I've had it boiled down to a few private variables in our "Selector" object:

      Repeating Selection ExpandedMenu Sub-Selection X Selection Y Selection

    You saw how "Selection" and "ExpandedMenu" worked before.

    In the case of opening up "Options" in our pause menu...

    MouseKeyboard: On "Jump" pressed
    Selector: Selector:  Value 'ExpandedMenu' Equal to 0
    Selector: Selector:  Value 'Selection' Equal to 5
    System: Timer is Greater than 10
    

    SelectorSet 'ExpandedMenu' to 5

    SelectorSet 'Selection' to 0

    SystemEnable group "Options"

    XAudio2Play music "button-11.wav"

    [/code:25pjppyf]

    And with "Selection" set to 0 with "Options" Event Group enabled, the Selector object highlights our first option, "Text Speed". If = 1, its position hovers over "Music Volume" and so on.

    Then, if "Text Speed" is chosen...

    Selector: 28 Selector:  Value 'Selection' Equal to 0
    

    SelectorSet position to 80, 224

    [/code:25pjppyf]

    Enter sub-event...

    MouseKeyboard: 27 On "Jump" pressed
    TextSpeed: 127 TextSpeed:  Y Equal to 224
    TextSpeed: 127 TextSpeed:  X Equal to 80
    MusicVolume: 126 MusicVolume:  Y Equal to 256
    MusicVolume: 126 MusicVolume:  X Equal to 80
    SoundVolume: 137 SoundVolume:  Y Equal to 288
    SoundVolume: 137 SoundVolume:  X Equal to 80
    ScreenMode: 135 ScreenMode:  Y Equal to 320
    ScreenMode: 135 ScreenMode:  X Equal to 80
    Coloring: 145 Coloring:  Y Equal to 352
    Coloring: 145 Coloring:  X Equal to 80
    

    SystemEnable group "Text Speed"

    SystemDisable group "Main Menu Selection Values"

    SystemDisable group "Options"

    XAudio2Play music "button-11.wav"[/code:25pjppyf]

    First, let me explain that I've set it up so that ONLY if all the "Options" selections have assembled together, into their proper places, can you choose a selection. I did this because otherwise, some glitchy stuff happens if you try picking options and stuff before they're in their positions.

    Secondly, we enable ANOTHER Event Group, "Text Speed" to handle the display and picking of options for that, and at the same time... disable the "Options" event group. Why? So that we're not accidently messing around with anything in the "Options" stuff.

    And we disable "Main Menu Selection Values", which is an event that handles the variables of "Selection", but only when "Up" and "Down" are pressed. This can be universal for the main menu AND "Options". How? Well, "Up" adds 1 to "Selection", "Down" subtracts 1. We don't have to alter this between the main menu and "Options" since we can STILL tell the Selector where to go depending on the "Selection" variable's value. "Text Speed" is a different story, and requires its OWN set of rules to allow for "Left" and "Right" to make selections, since it's unique in that aspect. If we let "Main Menu Selection Values" handle this, we'd need to push "Up" and "Down" to move the cursor left and right from "Slow" to "Fast".

    There's a lot of other stuff, but like I said, I'm not as imaginative or clever as others on this board, so the .cap is a pretty big mess. It's like if I introduced you into my messy house with things scattered all over the floor and was like, "Watch where you step." Not only that, but Construct actually crashes if you try opening the "Pause Menu"'s layout directly. You have to open up another experimental stage layout FIRST.

    I kinda wish there was a way to make the coding more efficient, but I'm not sure how. This was pretty much the best I could do at the time of making this. When it comes down to programming in Construct, from some examples I've seen, like with Deadeye's tutorials, it's not so much a matter of skill and know-how, it's puzzle-solving and imagination. There were lots of things in some .caps I've downloaded from people here that did some cool stuff with VERY few events that were easily understood, it was just a matter of thinking of them, a matter of coming up with those ideas. The imagination to THINK of those sorts of simple work-arounds, and I always found myself saying to myself, "I wish I could've thought of that!" Things that I KNEW how they worked, I just never would've had the creativity to use them in such a way.

    And that's what's what bugged me about the topic about "Tileset RPGs" in the Help Forum. If you just sit down and think of a way to do it, put forth a bit of imagination, you could EASILY create something like that. My whole pause menu is DEPENDANT on 16x16 tiles, especially in appearance. The border for the pause menu was made in Photoshop, creating 16x16 tiles that I stretched out and placed accordingly.

    This was pretty long-winded, and I barely explained how anything worked, and just a few things about my thoughts. It would be much harder to explain in more specific detail HOW everything works, and I doubt looking at my .cap would be any more helpful, but I hope what I've explained gives SOME idea on how I did this. ^^

  • But since I had made quite some progress with my pause menu so far, I thought I'd show people my progress thus far. ^^ Most noticibly, the "Coloring" option took all day today to finally get down, and the little window that opens up from the side I did last night, and just today I got around to trying to figure out how to get the coloring customizations to work, with a lot of copying and pasting.

    But a lot of the other stuff I did took quite a bit of effort and work too, like the inventory that fills in items in order of which you got them, and when you empty out the stock of a certain item, you can refill that spot with something else. ^_^;

    http://www.megaupload.com/?d=SIZCVOG4

  • That Construct immediately crashes? Just to test this out, I even made a new Direct-X game, made a new layout, and then promptly tried to remove it.

  • [quote:49dgvsuk]I think there's an issue with using effects on objects in a layout that is inside a layout object.

    Well yeah, I pretty much confirmed that to an extent, but... I suppose I was wondering if it was an actual glitch within Construct itself or if there was a way around it that I just didn't know of. That's a bummer if there isn't. Combined with the fact that you can't change to full screen with a layout object open, or have a screen size change without effects being glitched up, I kinda wish they would start on fixing these sorts of things first. Of course, everyone's got their OWN priorities on what should be fixed first. ^^;

  • Seems glitched. I've provided an .cap example of this, and it's something I noticed originally in my own game when trying to add a full screen object. I have no idea why, and I can't figure out how to fix this. I've noticed that if I manually resize the layout to match that of the application, it works fine. Does anyone know WHY effects on layout objects don't seem to work? Or how they can be remedied? If there's no way around this, I'll probably just have to get rid of the idea of ever adding a customizable resolution and full screen settings to this.

  • Posting an example of my .cap that I made to demonstrate the strange things going on with effects in layout objects that I asked about at Help/Tech Support.

    Note that this happens weather you make it a Modal Layout or not. Checking it and unchecking it does nothing. But try resizing the object itself to match the width and height of the layout. THEN it'll seem to work just fine.

  • I'd rather NOT use .ini files, since those could be easily edited and messed with, but I'm sure creating a unique file that the game could read wouldn't be too hard. I imagine an image file of sorts would have to come in as well.

  • I noticed in Retorun that they MUST have used that objcet for their scoreboard thing, but how on Earth did they get the HTTP object to do that? I wanna know partly out of curiosity, to know more about how every little thing works, but also because I MIGHT consider it for my own game. Personally, I feel it MIGHT be out of place, but I also love scores. They're a classic element of gaming, and the old standard by which gamers used to compare each other with. Not weather you beat a game, or did this accomplishment, but what your "hi-score" was. One of the things I loved from Sonic Adventure 2, and other games like Trauma Center: New Blood and NiGHTS: Journey of Dreams that lets you upgrade your scores. It gives a nice competitive feeling with that most classic element of games. So I might try making it work, but in the meantime, I'm just wondering how it works.

    Also: I assume HTTP can be used for things like scoreboards and whatnot, but can the Download object actually allow for downloadable content, like levels, weapons, etc. if one was so clever enough?

  • I noticed that COnstuct's default screen ratio is 4:3, which I started making my game in. But I noticed that almost all screens nowadays are widescreen. Laptops, PC monitors, everything. I was going to have an option to switch between fullscreen and window mid-gameplay (assuming that Construct bug gets fixed), but that would just stretch the image out. Should I just change the game's screen ratio to 16:9? It'll be a little weird, since you're pretty limited on what custom resolutions you can have in widescreen, as I've discovered with some experimentation.

    Also, speaking of screen changes, is there any possibility of finishing up that feature that detects all the compatible resolutions for a player's PC? I'd love to allow an option for window or full screen, and allow for the player to change the resolution of the game to anything their monitor can support, like most common PC games do now.

  • That's pretty nifty! Although changing the color of the player doesn't work.

    Apart from that it looks like it could be fu-DAMN TURRETS.

    Also I noticed you've got 6 frames for your jumping and falling animation, did you run into any problems when doing that?

    Mine decides to only show frame 1 or 2 (depending on how it's feeling) of both animations, unless I use the set frame command, then it just displays the first.

    Edit: Last thing, you ever considered using box.net? Doesn't have those annoying wait times and it has a good interface so you can update files easily.

    Thanks! ^^ And no, it doesn't yet because I haven't properly progrmmed the changing of the characters yet. Might be the next thing I tackle after I program the "Abilities" and "Cheats" portions of the menu, and once that's all done, I might finally go onto programming the main gameplay I've had in mind. I'm just getting this menu stuff done first since that's probably going to be the hardest part for me. ;_; Also, those turrets were meant to help me test the feasibility of me creating player health... Notice that for some reason you can only really be harmed by the bullets if your back is facing toward them. No idea what's going wrong in the collision detection there.

    And the jumping and falling animation tends to be a bit glitchy. I've seen instances where at the peak of a jump, he'll revert to walking animation, or that the walking animation will sometimes freeze and he'll be stuck in a standing position. I gotta figure out what's causing these glitches. But... it doesn't even play the full animation for you? o_O Really? Geez, I really gotta try and pinpoint that problem... This n00b still has a long ways to go... ;_;

    Box.net? I've never even heard of it. ^^;; The only one I really knew of was megaupload.com. I'll have to see what box.net is like then. ^_^ Thanks.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • I guess you can't edit your post more than once... And thanks for the suggestions, but neither of those are capable of doing what I had in mind. Using Global Variables, I DID end up figuring out a way to get the inventory system working EXACTLY the way I intended. ^_^ Check it out! I'm quite imrpessed someone like myself was able to get something like THIS working at all. The items are shoved into the ivnentory in the order of acquisition, and if you use up all of an item, that slot becomes empty and can be filled by that same item again, or an item of a different type. ^^ All as planned.

    http://www.megaupload.com/?d=K200BCR6

  • Awesome. ^_^ Spiffy. Glad to hear that. Thanks. ^^