Search the Community

Showing results for tags 'Physics'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • HTML5 Game Coding
    • News
    • Game Showcase
    • Facebook Instant Games
    • Coding and Game Design
  • Frameworks
    • Phaser 3
    • Phaser 2
    • Pixi.js
    • Babylon.js
    • Panda 2
    • melonJS
    • Haxe JS
    • Kiwi.js
  • General
    • General Talk
  • Business
    • Collaborations (un-paid)
    • Jobs (Hiring and Freelance)
    • Services Offered

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Website URL





Found 661 results

  1. So I am working on my just general knowledge of how phaser works, I have only done two tutorials. But I think I have a decent grasp on it so far. But I am running into a little problem, I am trying to use the Follower object, so that I don't have to create the vec2 and attach it, but I don't seem to understand the documentation or what it means by "If this Game Object is enabled for physics then this property will contain a reference to a Physics Body." I have scoured the docs for hours. I see how to 'enable' in arcade physics but I cannot find any reference to how with impact physics. I am able to create a body object, and assign it to the game object, as well as assign the the game object to the body, but they do not move in tandem. in fact the body does not move at all. P.S. This is not the only bug, when converting from matter.js to impact.js physics my logic on pausing player movement when the dialog modal broke. but one problem at a time.. P.P.S I know its not the best code //SHIVA path3 = new Phaser.Curves.Path(550, 450); path3.lineTo(450, 450); path3.lineTo(450, 505); path3.lineTo(550, 505); path3.lineTo(550, 450); path3.lineTo(450, 450); shiva = this.add.follower(path3, 550, 450, 'shiva'); //Phaser.GameObjects.BuildGameObject(this, Phaser.GameObjects.PathFollower) //, impact); shivaBody = this.impact.add.body(550, 450, 16, 12); //TRYING DIFFERENT WAS TO SET BODY //shivaBody.setOffset(550, 450, 16, 12); shiva.body = shivaBody; shivaBody.setGameObject(shiva); = "shiva"; shiva.setRotation(); shiva.depth = 30; //ALT WAY TO GET NAME // = "shiva"; shiva.setData(npc, true); shiva.setData("name", "shiva"); npcBodies[2] = shivaBody; npcs.add(shiva); shiva.startFollow({ ease: 'Linear', duration:6000, yoyo:true, repeat: -1, _delay: 200, delay: 100 }); P.P.P.S I also tried;; dialog_plugin.js game.js index.html city.json
  2. Hi all, I have been playing with Babylon in an attempt to create some browser-living simulations, e.g. "interactive permanent magnet electricity generator to help in the visualization of flux". The syntactic feel, playground examples, and this community, everything has felt awesome. But, I have really struggled in (story to let you seniors have a sense of my level): 1. creating a 3D vector field (my grid-based euler-integral curve drawing algorithm was crashing the browser; got it partially working by copying starting points approach from here: 2. I am having trouble in creating a simple fixed viewplane and fixed camera 2D view. (This is noob, but confidence denting, if I may say that) So, my questions are: 1. Is Babylon the right tool to create educational content inspired physics simulations, and lightweight games (user interactions + scoring + webapp data bindings ) around it. Or, is it an overkill? Is something like p5.js more apt for my purpose? 2. Should I be using phaser for (strictly) 2D environments? If I should, would using Babylon and phaser hurt code (e.g. say having a single script file for air drag force )? 3. Is "Learning Babylon" book a right start (it's lagging in the version support)? I am kind of lost in the jungle; please bear with me not being to the point. And I hope this forum will be kind enough as usual to point me to the right resources. P.S. I am willing to pay for book/resources, if you have anything in mind. Also, I would prefer "getting in the run" asap, if that's possible. Thank you all!
  3. Hello, I'm a web programmer with 3 years of experience (currently a senior developer). I've always been a fan of videogames and now I'm starting learning game development just for fun. Like in any type of development , you always face problems and learn of those. Sharing is the strongest tool to learn, you help other people to prevent/fix mistakes and they help you. What am I looking for?: People like me that is learning to develop games and want to meet other people to make games with them, share experiences, ask&answer questions. How will we organize? I have experience managing large Telegram groups and also creating bots for groups. It is a good starting point since most of the people always carry the phone everywhere and also has a web/desktop application, also Telegram offers us a direct communication without compromising your privacy (you don't need to give real info or phone number to the rest of the group). If we start growing, we can just move to another platform you want (Discord, Slack, whatever is of your preference). Do you have any project scheduled? Yes, I want to build a fun roguelike, here is my current roadmap of the game: I am an artist, can I join? Sure! I'm sure you can learn from us and we can learn from you, Keep in mind that sound artists, level designers, programmers.. work together and they need to understand all the other positions to work properly. Of course this is a flexible diagram, I don't do this as my job and I don't have any deadlines, creating a roadmap just helps me with organization so I don't start wrongly (which with end even worse :P). Have in mind that my only goal is just learning, I'm not in a rush to make money or finding a job Just feel free to contact me if you want to join or if you doesn't like something of my post.
  4. Hello! I was wondering if this is the correct approach, regarding management of the collider when restarting a scene. I have added this collider in my scene: this.physics.add.collider( this.traps, this.player, this.playerTrap, null, this ); I restart the scene as soon as this collision happens in the playerTrap() function: private playerTrap(): void { this.player.setAlive(false); this.cleanScene(); this.scene.start("GameScene"); } The cleanScene(): private cleanScene(): void { this.physics.destroy(); } Without the cleanScene() function he restarts the scene infinitely. I always thought that when using this.scene.start he auto cleans everything and reboots.
  5. I'm trying to make a Mario styled platformer, and i'm running into a problem where the jumping animation is overridden by the walking animation when pressing the up and right(or left) arrow keys together. Here's what i have in regards of the update and playing the animations. The character sprite is loaded as a spritesheet if it makes a difference. if(this.cursors.right.isDown){'walk', true); this.mario.flipX = false; this.mario.body.setVelocityX(500); } else if(this.cursors.left.isDown){'walk', true); this.mario.flipX = true; this.mario.body.setVelocityX(-500); } else{ if(this.mario.body.onFloor()){'stand'); }else {'jumping'); } this.mario.body.setVelocityX(0); } if(this.cursors.up.isDown && this.mario.body.onFloor()){ //'jumping'); this.mario.body.setVelocityY(-600); }
  6. I'm attempting to use NullEngine in node.js as a component of the server side simulation for a multiplayer game. When using *just* NullEngine + nengi.js (a multiplayer engine) mesh intersection and rays work great. I can get somewhere in the realm of 50-150 ccu (that's players, not NPCs). The performance is really awesome. Now I'm trying to get some more advanced physics in place. However when I attempt to include OimoJSPlugin on the serverside I get " TypeError: Cannot read property 'World' of undefined " const BABYLON = require('babylonjs') let engine = new BABYLON.NullEngine() let scene = new BABYLON.Scene(engine) let camera = new BABYLON.ArcRotateCamera('Camera', 0, 0.8, 100, BABYLON.Vector3.Zero(), scene) scene.enablePhysics(null, new BABYLON.OimoJSPlugin()) That last line there is the one that throws the error. Any idea what I'm doing wrong? I also get a warning that 'oimo' module cannot be found (related, I presume?). I setup babylon via `npm install babylonjs` (as opposed to downloading something) and the version is 3.2.0. Thanks for reading! And BJS + NullEngine is a dream come true!
  7. Hi, i'm newbie. i need a help to setup hoverboard. The player should have physics engine and the same time the player always maintain a some gap between the board and track.
  8.;; var wallCollisionGroup =; var playerCollisionGroup =; var doorCollisionGroup =;; // I've created all the necessary collisions as in expamle: and it works perfect. player.body.collides(wallCollisionGroup); player.body.collides(doorCollisionGroup, wrongDoor, this); cursors =; } wrongDoor() { player.body.velocity.x = 0; player.body.velocity.y = 0; //player.body.setZeroVelocity(); //player.body.velocity.x = -20000; //player.body.velocity.y = -20000; //player.body.static = true; result = 'You last hit: The wall :)';'Message', 'text'); } update() { player.body.velocity.x = 0; player.body.velocity.y = 0; if (cursors.left.isDown) { player.body.velocity.x = -300; } else if (cursors.right.isDown) { player.body.velocity.x = 300; } if (cursors.up.isDown) { player.body.velocity.y = -300; } else if (cursors.down.isDown) { player.body.velocity.y = 300; } } Hello. I'm making a game where player have to reach the right door and created all the necessary collisions and it works almost perfect, except the call back function wrongDoor. I want to create a dialog line when player collides wrong door and make his velocity = 0 while dialog line is on screen, but I can't. Every time player colldes the door dialog line displays on screen but the player sprite still moves. How can I make him stop on collision with door? All the //commented stuff I've tried and it didn't help. I tried to add this function in Update function but it triggers wrongDoor all the time and displays dialog line again and again from the start of the game. I've tried set velocity = -20000 but it doesn't set -20000 velocity, like it doesn't see the player. On screenshots I press up and right buttons so character moves up and right after wrongDoor triggers.
  9. Hi, I am trying to make a goalkeeper game, which require goalkeeper mesh body to be able to "block" any football that hit toward him. The best would be the mesh collider that represent the goalkeeper to be reasonably precise while not being overkill, so I created boxes, set their physics imposter, and attach them to each bone. which look like this: however, I don't know how to make each box collidable to the falling sphere, did I miss anything, or does it require more complex way of implementation?
  10. Hello, I am working on a project where i can drag an object in X-direction only(like in a abacus). Is it possible to drag objects in one direction only? I created a simple task where i can move two objects with mouse (link here). The issue is that objects are pushing inside each other if i drag one object to another. I need them to be hard like diamond. Can i achieve that with p2 js or i have to use box2d plugin (like here). Also is box2d will be availabe in phaser v3. Thanks
  11. I have a sprite using (arcade) physics and I'm setting velocity to move around. When the player overlaps with a weapon, you can press a key to pick it up. I want the gun to be at an offset-ed position to the player and follow it around.. I thought parenting it was the easiest, but I can't figure out how to do it. Can anyone help me with this? 😃
  12. I was noodling around and trying to create groups of game objects that had 3 sprites that were cropped from one image. Similar to a 3-panel round cornered web button. The reason for this structure is I need variable width with the outer left and right images being fixed. But I also need it to be a game object with physics and collisions. I tried adding tileSprite to physics to make this, but it did not work with physics. ("Error: Not a function") this.blockLeftCap = this.physics.add.tileSprite(100,100,44,43,'button-001'); In the end I can just cut solo images individually, and then add as sprites to physics with no issue: this.blockLeftCap = this.physics.add.sprite(100,100,'btn-001-cap-left'); Since I can do this other ways it is no big deal. But I did like the way tileSprite allowed for easily adjustment of the image cropping. Just wanted to double check if I was missing something. Thanks, Matt
  13. Hello, I am new to phaser and trying to learn phaser 3. I need a revolute constriant for a project. There are examples for phaser 2 using box2d and p2physics, but they wont work in phaser 3. I tried looking that in documentation but i don't think it is complete yet. Can anybody please tell me how to create a revolute constraint (or pin joint) in phaser 3 (preferably in matter js). Thanks
  14. Hi Guys! I haven't been active here for quite some time and haven't done anything with Babylon.JS for quite a long time. But after checking out the changelogs, I saw that we can now run Babylon.js Server Side, how awesome is that! So I had to squeeze in some time and implement a proof of concept multiplayer simulation with Client and Server side physics engine. It's quite basic. The Client can control a ball by spinning it forward or backward (with W and S). By changing the camera angle (with A and D) you can change the direction of the impulse. With Space you can jump around. To check out how it behaves with multiple players you can either ask someone to also visit the site at the same time or just open a new tab in your browser. Technical it is rather simple. Server and Client communicate via Websockets. The client applies impulses to it's ball, these parameters for these impulses are sent to the server. The server applies these also and keeps the state for the whole world up to date. Each render loop the server sends the current state to all the clients (ideally 60 Hz). The clients then correct the position, direction and velocity of all objects including their own ball if needed. I haven't tried it out with higher delays, but I would suspect the result will be quite "jumpy". Interpolation for correction and prediction of movement is not (yet) implemented. Added Server Update Rate and Ping to see lags and delay in perspective to these metrics. Here is the code: Here is the Demo: Here is a great article about Server-Client Game Networking techniques: which was somewhat the motivation to implement this proof of concept.
  15. Hello! I'm working in a game that use physics like asteroids, the arcades game, but i'm having trouble making "the ship" to move. I'm using whatever sprites I found for testing, so right now the ship is the guy from the first official tutorial in the page of Phaser 3. TL;DR How do I use velocityFromRotation() work for my sprite. I've read the documentation but I just don't get it. Thank you, btw. I put here the code. For now, "the ship" is called "dude". game.js
  16. Hi everyone, I just wanted to share a new Phaser Plugin called phaser-tilemap-plus, that extends the tilemap loader and factory to support tile animations defined in the Tiled editor. It also allows you to implement collision detection against the map using polygons and rectangles within an object layer, enabling the use of sloped and curved surfaces. It will eventually also support custom properties and region-based events via the object layer. You can access and build the library from GitHub or install it directly as a Node package via NPM. Please note that it is still a work in progress, with features that are yet to be added and kinks to iron out. Anyhow, let me know what you think!
  17. Hi Forgive me if I've missed this, but I can't find it in any of the documentation. Is there a way to specify the the rotation of an arcade physics body? I can rotate the game object image, but that has no effect on the physics body. I would have expected a .setAngle or .setRotation method to be available on Phaser.Physics.Arcade.Body. Seems such a simple one to miss, but I keep needing this and having to use matter, which is just a little more fiddly. Thank you!
  18. I saw this on Facebook, from a mate of mine: Pixel perfect cloth physics and collision in realtime. Also works on mobile devices. Can Babylon.js do this? Edit: Just realised, maybe the physics was baked into vertex animation instead, 'cos it doesn't look like you can interact with that animation
  19. Hi all, I'm trying to figure out the best way to collapse a wall 20x20 boxes all 1x1x1. The boxes are just stacked on top of each other so when applying either cannon or Oimo the wall eventually falls down but I'm only getting around 40fps with Oimo and even less with Cannon. I'm using instances, no textures. I've looked into SPS but doesn't seem like it'll help here. Is there anything I can do to speed this up? It looks like it's just the massive computations needed to process all the collisions. This needs to scale as well. I plan to add a lot more to the scene. At this point I'm thinking to implement my own engine with drastically simplified physics (for example no rotations). I'll post a PG later if that's useful. Just wanted to get this out there before I have to shoot off.
  20. So i had a project that i used cannonjs and setLinearVelocity with setTimeout to set the linear velocity to 0 after a given time. However after many tries i kept getting different position changes. So i tried to simplify it and made a playground: What i realized was setLinearVelocity was very dependent on frames after couple runs where sometimes the impostor would even move only half the distance. Does anyone know a more reliable way to more impostors? PS: I added an ss with positions before and after the movement.
  21. Hi! Thanks for joining me from my previous thread or if you're new here! Previous thread: MAJOR GOAL: Create a multiplayer game using websockets. GAME CONCEPT: Attempt to be the last ball surviving as other balls and environmental effects attempt to knock you off the platform. STATUS: Finessing the single-player version where it is just player vs. environmental effects. Check out the current incarnation of the single-player game here: Github: CHALLENGE #1 Currently, I'm looking at finessing the controls. They accelerate too quickly, since holding down the key doesn't provide immediate repetition of the trigger. It's awkward. Looking for smoother acceleration. CHALLENGE #2 We are implementing a game reset, but in its current incarnation it doesnt properly rebind the controls after it resets. Definitely open to thoughts. This is our current control system: scene.actionManager = new BABYLON.ActionManager(scene); scene.actionManager.registerAction( new BABYLON.ExecuteCodeAction( { trigger: BABYLON.ActionManager.OnKeyDownTrigger, parameter: 'a' }, function () { console.log('a pressed'); playerMesh.applyImpulse(new BABYLON.Vector3(10, 0, 0), playerMesh.getAbsolutePosition()); } ) ); scene.actionManager.registerAction( new BABYLON.ExecuteCodeAction( { trigger: BABYLON.ActionManager.OnKeyDownTrigger, parameter: 'w' }, function () { console.log('w pressed'); playerMesh.applyImpulse(new BABYLON.Vector3(0, 0, -10), playerMesh.getAbsolutePosition()); } ) ); scene.actionManager.registerAction( new BABYLON.ExecuteCodeAction( { trigger: BABYLON.ActionManager.OnKeyDownTrigger, parameter: 'd' }, function () { console.log('d pressed'); playerMesh.applyImpulse(new BABYLON.Vector3(-10, 0, 0), playerMesh.getAbsolutePosition()); } ) ); scene.actionManager.registerAction( new BABYLON.ExecuteCodeAction( { trigger: BABYLON.ActionManager.OnKeyDownTrigger, parameter: 's' }, function () { console.log('s pressed'); playerMesh.applyImpulse(new BABYLON.Vector3(0, 0, 10), playerMesh.getAbsolutePosition()); } ) );
  22. So hello, I am working on a maze game project. There are two players and both of the players send 2 velocity data as i try to simulate the players like a line follower robot(left motor and right motor). I use Cannonjs to create a heightmap impostor as the maze and 2 sphere impostors as the players. I move the players inside the maze as one of them tries to catch the other. Data is communicated with websocket. When players send 2 velocity data(left motor and right motor) i send them back their positions and an array of 180 distances like a view so they can locate eachother in the maze and decide where to go. So i move each of them like this: left_motor, right_motor as the velocities one of the players, i calculate angle with motors and use the angle for x_vel and z_vel, linear_vel = (left_motor + right_motor)/2 player.physicsImpostor.setLinearVelocity(new BABYLON.Vector3(x,0,z)) setTimeout(function(){ player.physicsImpostor.setLinearVelocity(new BABYLON.Vector3(0,0,0)) }, 10) and when sending message back to players i put a setTimeout(sendmessage(player1, player2), 50) so when i create a test game and set players' velocities to 10 for both motors and print players' positions everytime players send new values, i realised that the difference between positions of both players change by 10 and sometimes 20. This happens for both players and it does not happen at the same time to both of them. I use a password system so i am sure a player's data does not get sent over to other player. I tried to increase the timeout on send message to 1000 and that made no difference. I checked that linear_vel is always 10 so it never gets doubled. I am curious about the reason why it is sometimes 20 sometimes 10? Is it some weird interaction between setTimeout and setLinearVelocity?
  23. Hi everyone, I'm pretty new to Phaser, only started with it yesterday. I'm building a world with some image assets, in this case, trees that my player object will have to collide with. The code looks like this: var treeLeft = this.matter.add.image(0, (gameHeight - 96), 'tree', null, { isStatic: true }).setOrigin(0, 1); As you can see I'm adding them with Matter.js and then telling them to be static. However, my setOrigin(0, 1) is throwing off the bounding box that Matter.js assigns to the image object. Do you know of any way to make the physics bounding box coincide with my image's visible bounds? I'd like to keep the setOrigin as is because it simplifies the actual map building process for me greatly. Thanks in advance, Emile.
  24. Howdy friends! I'm proud to share my first production WebGL project: (Scroll down to enter the game mode) Uses: GLTF assets Metallic Roughness Physics Camera Movements Force Touch on compatible devices Screenshots: Huge thanks to the community for helping answer my questions as I got up to speed! Especially @Deltakosh @bghgary @donmccurdy and @Wingnut
  25. Hi Everyone, i'm using physics editor software for apply p2 physic in phaser. i will apply the JSON in phaser game.load.physics('Physics', 'assets/sprites/newSize.json'); but i will get this layour in my png how to hide the marked area of the JSON