UberLou's Recent Forum Activity

  • Is there any dedicated site where I can view every episode? (Beside youtube I think)

    They also have it On Demand if you get that service.

    The tv show is based on the comic book if you're interested in checking that out too.

  • Not exactly sure what's happening. Is the 3D layering options checked in the layer properties? There's also an option in the project properties called 3D eye distance or something. Make sure that number isn't really low.

  • Yeah thats more if you you have a texture size that's like 32x64. Some graphics cards will pad the texture to make it 64x64. Using two 32x32 textures would save VRAM.

  • Great write up on jumping! I remember reading some jump stats from both good and bad feeling games and how they compared. I'll do a search for it... maybe it was from that article you quoted?

    In the Variable Height Jumps section, should this:

    create an event in the Controls event sheet with the conditions "Player is jumping" and "Control is pressed", and add an action to set Player[Platform].VectorY to 0.

    be "Control is not pressed"?

  • This is probably a question for Davo. Is there a 3D format that saves the vertex colors of a model? And I guess more importantly, can Construct display vertex color information? I'm trying to do some fake lighting without using tons of textures and I've seen some engines support this as a cheap way to do light models.

    -Lou

  • Something like a container? Link

  • PART 2: CONTROLLING THE PLAYER

    Download tutorial file

    Changes from Part 1

    • Scaled collision box to better represent the player
    • Added enemy sprite to "character" event sheet
    • Press 1 to spawn a new enemy
    • Organization, made folders for each character
    • Moved the code to hide "solids" layer into the "system" event sheet

    New Player Variables:

    • hbSpawner: used to spawn a hit box when it reaches a certain time

    Global Variables:

    • hitPause: used for the hit pause effect when you successfully attack an enemy

    Layouts and Event Sheets

    • FXnStuff Layout: For...effects...and stuff
    • Enemy01 Event Sheet: This event sheet contains all of the enemy code
    • System Event Sheet: This sheet is for global game systems. Stuff like controlling particle effects, hitpause, camera shake, debug, etc.

    Hit Boxes

    When you press an attack button, you spawn a hit box. This is the thing that collides with the enemy's mask or collision box to register a hit. Hit boxes store attack data like damage (how much to subtract from enemy health) or force (how much x and y translation). When the hit box collides with the enemy, the hit box is destroyed to prevent hitting multiple times. If you want multiple hits just keep spawning hit boxes like in the punch3 code of the "player" event sheet (Line 41 and 42). The "dir" variable shows its usefulness here as I can use it to scale the hit box width in the negative direction if the player is facing left. Variable "hbSpawner" is used under the animation controls section to create the hit box. I don't usually like to put anything but animation specific code under here, but I made an exception for the hit box code. It just fit neatly in there.

    Hit Pause

    Hit pause is something most action games use to make attacks feel powerful. When an attack connects, there is a short pause in the game to freeze frame the action. The heavier the attack, the longer the pause. It also offers the player a split second to think about what they want to do next. Try longer hit pause timings for a more dramatic effect.

    Hit Effects

    I like to make my own particle effect systems in Construct for VRAM optimization and greater control. It's more optimized for VRAM because you can use one sprite for different systems. You also get more control because each particle is an object. All code for the particle effect is in the "system" event sheet.

    Again, if there are any questions or something needs to be explained more clearly please let me know and I'll update the post.

  • Sounds like you haven't set the Zoom X and Y rates to 0. You can find it in the layer properties of your HUD layer.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Just 2 additions. Not sure if these have been mentioned but just in case:

    • Option for no or 1 bit alpha channel. This would help save VRAM especially for HD games.
  • Wow awesome, that works REALLY well! I was thinking of constantly checking for input patterns, but your method seems much more efficient to only check for it after pressing an attack button.

    This would require us to run multiple loops to differentiate between different attacks

    Maybe this could be done by having multiple special move strings (like your "tatsu" variable) and fill them up as you run through the one loop. I guess you would also need to figure out what was the most recent input pattern just in case there are two special moves in the buffer. Maybe it would just execute whichever move string was completed first. Not sure on that without some testing, but it seems like it could work

    I haven't worked much with loops in Construct. Where does the loop increment "CtrlBuffer.CurrentX"? Is that what the "For each element" does?

    Maybe we should start a specific thread for this one issue so that your tutorial thread doesn't get bogged down more by this?

    I don't mind the discussion here. It is pretty relevant to the topic but it if you want to start a new thread thats cool too. When it's completed it would definitely make a good post in the Uploads section.

  • Ah ok, I understand what you did with branching now. Very creative solution!

    but it's comparing the array which puzzles me

    I have only figured out a brute force way to find special moves in the array by using loops. I think it would work but probably not the most optimized way. For each special move you'd need a loop. So if you're looking for 1,3,2, then you just search for a 1. If thats found then search for a 3 in the remaining values then look for a 2. Then if you push punch you get the special move.

  • Minor thread hi-jack:

    I actually sat down just now to test out a theory. http://www.box.net/shared/9m90tzyf7e

    Nice example inkBot! I only had a short time to look at it on my lunchbreak but I'll definitely check it out more in-depth later on. It looked like your solution was to store each input as a 0 or 1 for about 10ms and then look for a combination of inputs as being a 1? It's a cool solution but I think there could be some problems with that, though I haven't tested it out. The first one you mentioned: you can just hold down and back and get the attack. Another problem would be motions that need 2 inputs of the same direction, like double tap forward or doing 2 fireball motions for a super move.

    I was thinking of a different method. You store each input into an array of size 10. (10 is just a random number right now, it should probably be larger.) So each direction is a number lets say:

    neutral=0

    forward=1

    downforward=2

    down=3

    downback=4

    back=5

    upback=6

    up=7

    upforward=8

    The array will be stacked with each input including neutral. So at the start your array would be filled with 0's. If you roll the joystick in a halfcircle from forward to down to back, your array would look like this:

    0,0,0,0,0,1,2,3,4,5

    Going back to neutral, Your array would look like this:

    0,0,1,2,3,4,5,0,0,0

    So you're constantly deleting the first value and registering each input as the last value. So you would store each individual input for as long as your buffer window allows. Now you would just need to look for certain patterns within the array. So if there is a 0,0,0,0,0,0,0,1,3,2 then you can do a dragon punch even if it looks like 0,0,1,0,3,2,1,0,0,0. And that dragon punch will be in memory (buffered) until the first 1 gets deleted.

    Hope that makes sense. I haven't tested it out yet, but I think that is close to what's happening in fighting games.

UberLou's avatar

UberLou

Member since 4 Sep, 2008

None one is following UberLou yet!

Connect with UberLou

Trophy Case

  • 16-Year Club
  • Email Verified

Progress

17/44
How to earn trophies