Birds with Bombs

After finally getting motivation, it’s out!
Any feedback?

4 Likes

I don’t really like the way you shoot. It lands in an awkward position and I can’t even seem to hit any enemies.

1 Like
  1. That’s kind of the point, you need to find a new way of shooting, as this is kind of the games unique mechanic.
  2. do you have any suggestions to make it better?

Maybe make the battlefield a bit bigger, it’s kind of limited in the ways of space.

1 Like

the gun starts being in the wrong position, when the mouse isn’t moved. Maybe fix this.

also maybe make it so you can bounce bombs maybe? Or how long you hold the mouse is how far the bomb fires?

This would make the game a lot more fun, but it’s a really great start!

3 Likes

I don’t know how to stop the gun from moving, because of the velocity and mouse movement. It was one of the reasons I gave up and procrastinated. If you know a way that works, please do tell.
I’ll start trying to implement your other suggestions soon, but thanks for the feedback.

2 Likes

ok, I’ll make an example later to show you how you do it

1 Like

Is this good?

Also I think the solution is just this:


(Nvm the 60)

you need to be constantly getting the value of the mousemove I think, as it only outputs when the mousemove changes, but even when it doesn’t change, the angle might change between the player and the mouse.

1 Like

The thing is… I used the orbit bundle.

Update:

  • added Sfx and Music, and sound icon to change music
    I love the music!
  • added pausing
  • added a room that you would go to every 3 waves
  • added a wall
  • now the longer you hold, the further the bomb will go
  • fullscreen and a leaderboard
  • probably some other things
    Any new feedback?

(ps: I don’t know how to make the bombs bounce of the walls while keeping the ball with physics disabled, @Flying_Fajita . Also another bug where sometimes the feather runs away from you. Any help would be appreciated)

2 Likes


Sorry but this part of the code has to be the most useless thing I’ve ever seen. You could just connect the mousemove “x” to the point at “x” and the mousemove “y” to the point at “y”. You don’t need number behaviors for it to work. And yes this may also work but is uneccesary in a way unless you’re trying to change the mousemove x and y with an expression behavior or something but other than that this is kinda useless.

Sorry, but you are wrong.

connecting the mousemove to the PointAt directly doesn’t work because when the mouse stops moving, it stops outputting. I want it to continue outputting even when it has stopped moving because the angle between the player and the mouse could have changed, if the mouse stayed still and the player did move.

Also I’m not sure what this means?

I’m not exactly sure how to use the orbit bundle for this. Maybe try using my bundle instead?

{"data":{"behavior":{"v":"2","nodes":[{"inputCount":3,"outputCount":2,"name":"Attach+","behaviorType":"logic.NodeGroup","x":-270,"y":208,"group":"","id":"619e30bd945c8145","isMenuItem":false},{"inputCount":0,"outputCount":1,"name":"Bundle Input","behaviorType":"logic.NodeGroupInput","x":-90,"y":160,"group":"619e30bd945c8145","id":"619e30bdf3992d45","portId":"619e30bd945c8145i0","tag":"Angle","dataType":2},{"expression":"A*(3.1415/180)","default0":0,"default1":0,"default2":0,"default3":0,"default4":0,"default5":0,"params":2,"version":2,"tag":"","inputCount":3,"outputCount":1,"name":"Expression","behaviorType":"logic.logic.Expression","x":90,"y":128,"group":"619e30bd945c8145","id":"619e30bfe354564c"},{"inputCount":3,"outputCount":1,"name":"Number","behaviorType":"logic.logic.Value","x":90,"y":0,"group":"619e30bd945c8145","id":"619e30bf72f43345","startVal":0,"roundMode":1},{"inputCount":0,"outputCount":1,"name":"Bundle Input","behaviorType":"logic.NodeGroupInput","x":-90,"y":288,"group":"619e30bd945c8145","id":"619e30bfb2545e42","portId":"619e30bd945c8145i1","tag":"Update","dataType":2},{"inputCount":3,"outputCount":1,"name":"Number","behaviorType":"logic.logic.Value","x":270,"y":128,"group":"619e30bd945c8145","id":"619e30bf7cf9d24e","startVal":0,"roundMode":1},{"inputCount":0,"outputCount":1,"name":"Always","behaviorType":"logic.triggers.Always","x":-90,"y":-160,"group":"619e30bd945c8145","id":"619e30bf9bdec045"},{"inputCount":1,"outputCount":1,"name":"Extractor","behaviorType":"logic.properties.Extractor","x":90,"y":-224,"group":"619e30bd945c8145","id":"619e30c0b0a0964a","targetId":0,"prop":"x","version":2},{"inputCount":1,"outputCount":1,"name":"Extractor","behaviorType":"logic.properties.Extractor","x":90,"y":-128,"group":"619e30bd945c8145","id":"619e30c022653e48","targetId":0,"prop":"y","version":2},{"expression":"A+B*Math.cos(C)","default0":0,"default1":0,"default2":0,"default3":0,"default4":0,"default5":0,"params":3,"version":2,"tag":"","inputCount":4,"outputCount":1,"name":"Expression","behaviorType":"logic.logic.Expression","x":450,"y":32,"group":"619e30bd945c8145","id":"619e30c0ec8fe34d"},{"inputCount":3,"outputCount":1,"name":"Number","behaviorType":"logic.logic.Value","x":630,"y":32,"group":"619e30bd945c8145","id":"619e30c0a8d63e42","startVal":0,"tag":"X","roundMode":1},{"expression":"A+B*Math.sin(C)","default0":0,"default1":0,"default2":0,"default3":0,"default4":0,"default5":0,"params":3,"version":2,"tag":"","inputCount":4,"outputCount":1,"name":"Expression","behaviorType":"logic.logic.Expression","x":450,"y":-128,"group":"619e30bd945c8145","id":"619e30c0bed89641"},{"inputCount":0,"outputCount":1,"name":"Bundle Input","behaviorType":"logic.NodeGroupInput","x":-90,"y":32,"group":"619e30bd945c8145","id":"619e30c0f3228746","portId":"619e30bd945c8145i2","tag":"Dist.","dataType":2},{"inputCount":3,"outputCount":1,"name":"Number","behaviorType":"logic.logic.Value","x":630,"y":-96,"group":"619e30bd945c8145","id":"619e30c04fcfcb4b","startVal":0,"tag":"Y","roundMode":1},{"inputCount":1,"outputCount":0,"name":"Bundle Output","behaviorType":"logic.NodeGroupOutput","x":810,"y":-64,"group":"619e30bd945c8145","id":"619e30c090bb2747","portId":"619e30bd945c8145o0","tag":"Y","dataType":2},{"inputCount":1,"outputCount":0,"name":"Bundle Output","behaviorType":"logic.NodeGroupOutput","x":810,"y":64,"group":"619e30bd945c8145","id":"619e30c0a2fa034a","portId":"619e30bd945c8145o1","tag":"X","dataType":2}],"links":[{"input_id":"619e30bfe354564ci0","output_id":"619e30bdf3992d45o0"},{"input_id":"619e30bfe354564ci2","output_id":"619e30bdf3992d45o0"},{"input_id":"619e30c0bed89641i2","output_id":"619e30bfe354564co0"},{"input_id":"619e30c0ec8fe34di2","output_id":"619e30bfe354564co0"},{"input_id":"619e30bf7cf9d24ei0","output_id":"619e30bfe354564co0"},{"input_id":"619e30c0bed89641i1","output_id":"619e30bf72f43345o0"},{"input_id":"619e30c0ec8fe34di1","output_id":"619e30bf72f43345o0"},{"input_id":"619e30bf72f43345i1","output_id":"619e30bfb2545e42o0"},{"input_id":"619e30bf7cf9d24ei1","output_id":"619e30bfb2545e42o0"},{"input_id":"619e30c0bed89641i3","output_id":"619e30bf7cf9d24eo0"},{"input_id":"619e30c0ec8fe34di3","output_id":"619e30bf7cf9d24eo0"},{"input_id":"619e30c0b0a0964ai0","output_id":"619e30bf9bdec045o0"},{"input_id":"619e30c022653e48i0","output_id":"619e30bf9bdec045o0"},{"input_id":"619e30c0ec8fe34di0","output_id":"619e30c0b0a0964ao0"},{"input_id":"619e30c0bed89641i0","output_id":"619e30c022653e48o0"},{"input_id":"619e30c0a8d63e42i0","output_id":"619e30c0ec8fe34do0"},{"input_id":"619e30c0a8d63e42i1","output_id":"619e30c0ec8fe34do0"},{"input_id":"619e30c0a2fa034ai0","output_id":"619e30c0a8d63e42o0"},{"input_id":"619e30c04fcfcb4bi0","output_id":"619e30c0bed89641o0"},{"input_id":"619e30c04fcfcb4bi1","output_id":"619e30c0bed89641o0"},{"input_id":"619e30bf72f43345i0","output_id":"619e30c0f3228746o0"},{"input_id":"619e30c090bb2747i0","output_id":"619e30c04fcfcb4bo0"}]}}}

It just takes an angle, a distance, and it will go that angle and distance from that object, and give you the xy for it. (where the gun should be)

2 Likes

I mean connecting the x and y outputs from a mousemove to a number is useless unless you’re trying to change the number via expression behavior or something.

The same things happens with this bundle.

Where is the “Angle” global coming from?

1 Like

Weird, it seems to do with the camera offset, I’ll look into it tonight

1 Like

It’s in the mouse in the bird body if you want to check.

@Kasamir, I found the solution! You can use the player’s position as the center of the camera, and you can add that to the mousemove (screen coords, not game coords.)

And then you have to subtract the screen size x 16 (subtract X from X, Y from Y)

Your updated code:

{"data":{"behavior":{"v":"2","nodes":[{"inputCount":0,"outputCount":2,"name":"MouseMove","behaviorType":"logic.triggers.MouseMove","x":270,"y":-224,"group":"3d7f5f2dda17d24f","id":"3d7f5f2d3b1db343","gameCoords":false},{"inputCount":0,"outputCount":1,"name":"Always","behaviorType":"logic.triggers.Always","x":90,"y":-72,"group":"3d7f5f2dda17d24f","id":"3d7f5f2e80c02041"},{"inputCount":3,"outputCount":1,"name":"Global","behaviorType":"logic.logic.Global","x":720,"y":-64,"group":"3d7f5f2dda17d24f","id":"3d7f5f2ecf7ef940","tag":"mouse y:Number","version":2,"dataType":2},{"inputCount":3,"outputCount":1,"name":"Global","behaviorType":"logic.logic.Global","x":720,"y":-200,"group":"3d7f5f2dda17d24f","id":"3d7f5f2eab22a148","tag":"mouse x:Number","version":2,"dataType":2},{"inputCount":3,"outputCount":1,"name":"Global","behaviorType":"logic.logic.Global","x":1080,"y":-112,"group":"3d7f5f2dda17d24f","id":"3d7f5f32a2c2ca4b","tag":"angle:Number","version":2,"dataType":2},{"inputCount":2,"outputCount":1,"name":"PointAt","behaviorType":"logic.components.PointAt","x":900,"y":-152,"group":"3d7f5f2dda17d24f","id":"65a790a46209eb40","skipRot":true},{"inputCount":1,"outputCount":1,"name":"Extractor","behaviorType":"logic.properties.Extractor","x":270,"y":-128,"group":"3d7f5f2dda17d24f","id":"66ca989c8e66b34a","targetId":0,"prop":"x","version":2},{"inputCount":1,"outputCount":1,"name":"Extractor","behaviorType":"logic.properties.Extractor","x":270,"y":-32,"group":"3d7f5f2dda17d24f","id":"66ca992bc785514f","targetId":0,"prop":"y","version":2},{"expression":"A+B-256","default0":0,"default1":0,"default2":0,"default3":0,"default4":0,"default5":0,"params":2,"version":2,"tag":"","inputCount":3,"outputCount":1,"name":"Expression","behaviorType":"logic.logic.Expression","x":540,"y":-224,"group":"3d7f5f2dda17d24f","id":"66cad8c9c71ee542"},{"expression":"A+B-192","default0":0,"default1":0,"default2":0,"default3":0,"default4":0,"default5":0,"params":2,"version":2,"tag":"","inputCount":3,"outputCount":1,"name":"Expression","behaviorType":"logic.logic.Expression","x":540,"y":-56,"group":"3d7f5f2dda17d24f","id":"66cad96276050e44"}],"links":[{"input_id":"66cad8c9c71ee542i0","output_id":"3d7f5f2d3b1db343o0"},{"input_id":"66cad96276050e44i0","output_id":"3d7f5f2d3b1db343o1"},{"input_id":"66ca989c8e66b34ai0","output_id":"3d7f5f2e80c02041o0"},{"input_id":"66ca992bc785514fi0","output_id":"3d7f5f2e80c02041o0"},{"input_id":"3d7f5f2ecf7ef940i0","output_id":"66cad96276050e44o0"},{"input_id":"3d7f5f2ecf7ef940i1","output_id":"66cad96276050e44o0"},{"input_id":"65a790a46209eb40i1","output_id":"3d7f5f2ecf7ef940o0"},{"input_id":"3d7f5f2eab22a148i0","output_id":"66cad8c9c71ee542o0"},{"input_id":"3d7f5f2eab22a148i1","output_id":"66cad8c9c71ee542o0"},{"input_id":"65a790a46209eb40i0","output_id":"3d7f5f2eab22a148o0"},{"input_id":"3d7f5f32a2c2ca4bi0","output_id":"65a790a46209eb40o0"},{"input_id":"65a790a46209eb40i0","output_id":"3d7f5f2eab22a148o0"},{"input_id":"65a790a46209eb40i1","output_id":"3d7f5f2ecf7ef940o0"},{"input_id":"3d7f5f32a2c2ca4bi0","output_id":"65a790a46209eb40o0"},{"input_id":"66ca989c8e66b34ai0","output_id":"3d7f5f2e80c02041o0"},{"input_id":"66cad8c9c71ee542i1","output_id":"66ca989c8e66b34ao0"},{"input_id":"66cad8c9c71ee542i2","output_id":"66ca989c8e66b34ao0"},{"input_id":"66ca992bc785514fi0","output_id":"3d7f5f2e80c02041o0"},{"input_id":"66cad96276050e44i1","output_id":"66ca992bc785514fo0"},{"input_id":"66cad96276050e44i2","output_id":"66ca992bc785514fo0"},{"input_id":"66cad8c9c71ee542i0","output_id":"3d7f5f2d3b1db343o0"},{"input_id":"66cad8c9c71ee542i1","output_id":"66ca989c8e66b34ao0"},{"input_id":"66cad8c9c71ee542i2","output_id":"66ca989c8e66b34ao0"},{"input_id":"3d7f5f2eab22a148i0","output_id":"66cad8c9c71ee542o0"},{"input_id":"3d7f5f2eab22a148i1","output_id":"66cad8c9c71ee542o0"},{"input_id":"66cad96276050e44i0","output_id":"3d7f5f2d3b1db343o1"},{"input_id":"66cad96276050e44i1","output_id":"66ca992bc785514fo0"},{"input_id":"66cad96276050e44i2","output_id":"66ca992bc785514fo0"},{"input_id":"3d7f5f2ecf7ef940i0","output_id":"66cad96276050e44o0"},{"input_id":"3d7f5f2ecf7ef940i1","output_id":"66cad96276050e44o0"}]}}}

This works!

1 Like