TPorter64's Forum Posts

  • Well maybe no one likes Bee-Chinko... Still! I have a first pass at a dynamic music system in play for anyone who wants to check that out.

    Basically I wrote a short 30-40 second music loop with three elements, bass, drums, guitar. I edited them to be sample accurate across the board (I'm an audio engineer by trade!) One track has bass, one track has bass and drum kit, and the final track has bass, drums, and guitar. On beginning of layout I play all 3, and mute everything but the bass. So I tell the system

    On layout start - mute everything except bass track

    If Bees > 0 - mute bass track, unmute bass/drum track

    If Bees > 25 - mute bass/drum track, unmute bass/drum/guitar track

    If Bees < 25 - mute bass/drum/guitar track, unmute bass/drum track

    If Bees = 0 - mute bass/drum track, unmute bass track

    You can check it out with the version I have online right now. I start you with 100 bees so you can play with these numbers.

    Things to address

    • Muting and unmuting is too harsh. Next iteration will be fading in and out volumes vs the hard mute.
    • The tracks stay in sync but for a few successive loops, so I will probably end the loop at game end with a nice stinger/outro and restart it when a new level is seleted.
    • Other sfx have been silenced temporarily, but I like having the music in the forefront so I will keep the rest of the sfx to a minimum, probably no collisions sounds (too crazy) but definitely for scoring and other game elements of note.
    • High scores are even wonkier so don't bother with it quite yet. Getting some extra help on that...phew!
    • Someone asked, are there more than just the one level? Yes, three currently. At level end a 1-1, 1-2, and 1-3 appear. Click on them to try other levels. Need to delay bee spray at beginning of levels. Clicking on the triggers to start level starts you on-click and you waste a bee or two unknowingly.

    -Webfonts are mixed right now. I used to get security errors when trying to load them but I may have said yes to them all so I don't get that anymore. Is that common with webfonts?

    The game may be a harder sell than I thought without seeing it, and most importantly the bee swarm in action so I'll work on getting a small vid up just to show some action. Otherwise, thanks for those who have tried it and look forward to any public feedback or suggestions!

  • I'm in love with the audio really. the music fits, the sound effects are perfect 8-bit fare. I would love gamepad support and let my kids wander around in it! Full screen is best, but anyone who has to play it smaller than that lose a lot of detail in the characters, mostly their faces which I think is important in this game, right? :)

    -Tony

  • Fun test. What elements of music are you trying to sync? Starting specific phrases at beginning of waves?

  • It's like Peggle but with bees!

    ...

    8/15

    Subscribe to Construct videos now

    https://dl.dropbox.com/u/41449088/index.html

    <img src="https://dl.dropbox.com/u/65931997/wsob_promopic_01_062012.png" border="0">

    The Wrong Sort Of Bees

    v.085

    Left Click - Spawn Bees

    Right Click - Puff

    Hold Right Click - Attract/Bees

    -Spawn Bees on Pegs to Dislodge Pollen

    -Help Guide Pollen to Collectors By Puffing

    -Redirect Wayward Bees By Attracting

    Anyway...

    This is a pure score attack type game. Shoot Bees to dislodge pegs, pegs will spawn pollen. If pollen land in cups in bottom of screen you get their score. Keep Bees alive as long as possible!

    Bees swarm, sometimes they flit, sometimes they flutter, sometimes they hone in on things, sometimes they steer clear of them. It took a lot of tweaking and even more fun accidents with the physics system to create their behavior. They die after enough collisions with objects. You get a bonus for how big your swarm gets as well as how long the swarm persists.

    <img src="https://dl.dropbox.com/u/65931997/wsob_promopic_02_062012.png" border="0">

    The more pollen bounce off objects, the more valuable they become once harvested and can even earn you more bees, so combining bees swarming and proper puff usage you can really boost your scores.

    Puffs started out as a way of dislodging stuck balls, which it does. But it has since been upgraded to do a lot of things. Puffs, blow eggs and honeydrops useful for juggling and saves, attract all bees momentarily, drug bees who come in contact momentarily, and kill ants.

    High SCores have been disabled for now because they breakeded things!

    Haven't tested Touch Controls yet but I've been mindful of them. An amber partially transparent circle in the top left is a toggle to use the left mouse/touch as either the bees or the puffs. I've also made the toggle button drag droppable so the user can adjust it to whereever they see fit or on the other edge of the screen for lefties :).

    Once I get enough statistics for scores I will probably be setting score "goals" in order to pass the levels. I have an upgrade system I want to implement that will produce hardier bees, and modifications to your puffer (will probably start the puffer to only juggle balls, then allow user to upgrade to bee attraction, etc.)

    So far made with just the free version, it's at this point that in order for me to get the rest in shape and add more content and features I'll need the full license. It's also at that point where I'll either find the time to do the HUD and replace some art assets properly or pay someone with time.

    I would love for any feedback anyone has in any department. Here are my release notes:

    -All audio is temporary. At first I started with a pinball sounding set, but then had a great idea to make everything more musical. Have the swarm size change the music to be more dense and varied as time progresses. A basic implementation of this is in place with a bass loop playing while bees are on screen and stopping when there is zero.

    -HUD is temporary. I like the font, but I need to streamline the presentation of this. This includes final placement of the scores, and other feedback text throughout (especially post game/high score! yech).

    -I will probably keep the background artwork but I'd like to upgrade the pegs, their fonts, the shooter, the eggs and honeyballs, and possibly tweak the obstacle appearances. I like the simple silhouette quality to them, fits the font and the theme.

    -Will definitely have a tutorial level that shows off the basic mechanics.

    A bit about myself. I'm a professional audio engineer who works for a commercial game developer. (http://tony-porter.weebly.com, to see my credits) I picked up construct because it seemed a quick way of prototyping ideas, but I'm really liking what I see here and plan on sticking with it for final deployment. It's really addictive, and I like its speed of use. It tends to keep up with all the crazy things in my head fairly well so I give it credit for that. I mean, who says I want to make a patchinko game with bees and goes for it?

    Anyway, thanks for any time you spend with my game. I'll be updating this thread as I make notable upgrades. Thank you!

  • So far, pretty nice. Like the animations on the player, but he seems to skate instead of walk. Is that the case? He should have a rocket thrust behind him (or in front when he's thrusting backwards) and a sound for it. If that's the case, otherwise he seems to be skating around. I only played it for a few minutes, but its certainly a start.

  • my player character currently has a speed boost/dash using the space bar. I just have it set for

    player default max speed at 100

    Space bar is pressed (not held), set player max speed at 150

    Space bar is released, set player max speed at 100

    then throw in appropriate animation changes on each event. The space bar will still register as "being pressed" and continue to have him dash at 150 while holding it down. But with it on pressed (not held) you can interrupt the dash with collisions and other events, making the player retrigger the dash manually as they see fit, vs being able to just hold dash down which will basically tell the character to constantly dash forever regardless of what is happening or whatever rules you set in place.

  • yeah, Is between angle works pretty well for switching now. I'm basically trying to get the AI and animation behavior of say the guards in Zelda: LTTP. They kinda do their own thing and upon drawing aggro start approaching the player, of course I don't need my guys to move diagonally. Thanks for the idea. I knew there was a quality shortcut.

  • I know how to change the player sprite/animation based on whether they are moving up, down, or left and right to imply movement. What I can't figure out is how to make an entity not controlled by the player do the same. The enemy doesn't have a "patrol" per se. He kind of wanders in a random fashion bouncing off solids. But every few seconds I have it reset it's angle to face the player, giving a vaguely "zombie like AI pathfinding" (also repositions angle based on "loud" elements caused by the player...etc. Anyways, I can think out the math but can't figure out how to make construct agree with me :)

    If your x speed (absolute) is greater than your y speed (absolute) then you are moving predominantly on the x axis or left/right.

    If your x speed is negative you are heading left = play "walk_left" anim

    or

    If your y speed (absolute) is greater than your x speed (absolute) then you are moving predominantly on the y axis.

    If your Y speed is positive you are heading up = play "walk_up" anim

    and so forth. But I can't find the ability to compare x and y speeds so I can start making this determination. Am I over or underthinking this?

  • okay, removing the 8 way directional from the crate and moving it on overlap at player.8direction.Speed/32 pixels at angle player.angle gets it to move at the right speed. Three questions arise.

    Is there a way to restrict the crate to only move along the axis I want (top, bottom overlap = y axis movement. left, right overlap = x axis movement)

    How do I set up the math and behaviors to allow the crate to run into other crates and carry it along somewhat believably? using the pin behavior they act like sticky crates and catch each other at any angle and begin.

    Inversely, how would I create it so a moving block can not push another moveable block but instead is blocked by it?

    I guess i really need a top down physics system to get what I want out of this feature. Thanks to any who try to wrap their brains around it. I will be, too.

  • I have two issues with pushing boxes in my top down game.

    I've imported a picture of a crate, given it 8-direction movement and enabled custom movement so it doesn't move when the player does.

    I have made the character "Solid" 8-direction movement. He can now push the box around but only on diagonals it seems. This is of course relative to whatever the base angle might be I'm assuming, but why would the default be at a 45 degree interval?

    I have tried limiting the movement of the crate to up and down, left and right, 4 directions, 8 directions and at every angle interval the pull down menu will allow (including none) and the behavior never changes.

    The bounding box of the player character is also a square. The only way i could make sense of it was to put each box at 45 degree angles so at least the pushing was consistent with the face you pressed on.

    I don't need the box to snap to a grid space or move at defined periods, I just want the box to move logically. I do want the box to be restricted to 4 way movement and not to rotate, but it seems to be doing that already, albeit at an angle I wasn't expecting.

    Secondly, there doesn't seem to be a way of creating inertia for these moved boxes, they simply stop moving upon collision. I'd love if there was a "physics" solution to this, but the current physics behavior seems to be only designed for sidescrollers.

  • For this instance, no. I'm not playing it on tick or any other timing variable so it's not that the item is spamming on one ammo+enemy overlap. It's that my weapon is a constant stream (not particles) and can cover multiple enemies. And each one of those enemies that is affected by the stream is told to play a pain sound. What I want to be able to do is say, "ok, 7 enemies are in the stream, but I want to cap the pain sound at only 2 or 3 possible globally at one time".

    I'm still experimenting and feel I'm getting close, but it's never quite right...yet.

  • yeah, tagging them helps it a bit so they don't stack now. Thanks for that. But I don't want the new one to replace the old, I want the old one to play out before a new one will play (or at least be audible).

    Closer now!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Thanks for the try. My first stroke of genius was to add a counter. For every of this instance playing add one to counter. If counter is above 1 then stop sound. Sounded logical. But it stops all sounds, not just the offending one.

    The same would apply to your idea. Once you throw in that stop sound, it stops all certain sounds. Not just one, or the most recent one.

    I think my ultimate solution lies in some of the timeline and cooldown plugins for C2 that I'm checking out now. Essentially adding a cooldown to a sound so it can't play until the cooldown ends. Still a bit hacky.

    I'm an audio engineer by trade for the video game industry and I'm kinda spoiled on audio middleware like wwise and fmod that allow you to create a basic rule and priority system for audio.

    I'll keep trying stuff out though, thanks!

  • How can I limit instances of the same sound from playing? I have a weapon that can overlap multiple enemies each causing them to emit a "hurt" sound. What I don't want is to trigger them all at the same time necessarily, which can start clipping and distort. I want to be able to say only play one of a certain instance of sound while one is still playing.

    Inversely, is there support to stop a currently playing sound if it is asked to play again, effectively interrupting and replacing the original one with the new instance?