• Content Count

  • Joined

  • Last visited

About webdva

  • Rank
  • Birthday 01/11/1993

Contact Methods

  • Website URL
  • Twitter

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. https://tibibi.herokuapp.com/ This is a prototype for an HTML5 multiplayer game I'm making. This prototype is actually defunct as I'm now starting up a new game--a 3D multiplayer game, in fact. The data and experienced gained from the development of this prototype will be used for the success of the 3D multiplayer game. Some of the technical aspects: Initially, socket.io was used to establish real-time communication between the client and the server, but the ws WebSocket library was then migrated to. A client-server protocol of binary data is primarily used to share game state between the clients and the server. On the client-side, the Phaser game development framework is used to render the game and perform client-side collision detection. On the server-side, a small and simple custom made game headless game engine made with Node.js is used to manage game state and also distribute the game state to the connected game clients. How to play: To move, use the WASD keys. To shoot, aim with the mouse and press the left mouse button in the direction that you want to shoot in. You can shoot and eliminate other connected players, making them respawn after five seconds.
  2. Thanks. I didn't know about the Phaser.Sprite.pendingDestroy sprite property. It does seem like a more beneficial solution instead of what I proposed. I used Phaser.Sprite.kill() so that the sprite would no longer be rendered to the screen as the sprite doesn't get removed inside the Phaser.Physics.Arcade.overlap function during the current frame. Setting the Phaser.Sprite.visible property to false may have been a better decision.
  3. I believe that there is a high probability that this problem is the exact same problem that I recently had for a game I'm making. That's the same belief I had when I encountered this problem, but as you said : I believe that the reality is that how Phaser handles collisions in its Phaser.Physics.Arcade.overlap function is the cause of this unexpected phenomenon. What I did to solve this problem was to create an array that would allow you to enqueue the sprites that you wish to have killed and then actually kill those sprites with the use of that array, but only after the current frame as the sprites cannot be properly removed during the current frame due to the way Phaser processes the sprites in the Phaser.Physics.Arcade.overlap function. this.spritesToBeKilled = []; At the beginning of Phaser's update function, or at least before each collision checking iteration, the enqueued sprites are killed with the use of iterating over the this.spritesToBeKilled array: this.spritesToBeKilled.forEach(sprite => { this._sceneObjectsLayer.remove(sprite); // Or however you wish to remove the sprites from the game. }); this.spritesToBeKilled = []; // Resets the array for subsequent collisions. And during the actual collision checking, inside your collision checking function, the sprites to be killed are added to the this.spritesToBeKilled array instead of being killed inside the collision checking function. But you can still disable the visibility of the colliding sprite during the collision checking: function onObjectCollision(cat, item) { this.spritesToBeKilled.push(item); // Enqueues the sprite for removal from the game during the next frame. item.kill(); // The sprite is not actually killed and removed from the game here, but at least it's not visible anymore. } P.S. I noticed that I'm replying to a month-old thread. Have you solved your problem?
  4. I can tell that a lot of effort went into making this game. I played the tutorial level and the visuals and the gameplay are well made.
  5. @Tom Atom, thank you very much for your help and for sharing that code snippet. I'll do what you suggested, seeing which GPUs the game performs badly on and make the game use Canvas instead of WebGL for them and set game.preserveDrawingBuffer accordingly.
  6. I would give the gameplay both an "okay" and a wee bit "too complex." It looks like it can become a "hard-to-master" type game that creeps up on you unexpectedly.
  7. @dude78, very well then. Then I may have to have the game.preserveDrawingBuffer value set to true on default. I'm not entirely sure, but setting it to true makes the game even slower. If I'm not mistaken, I believe that the flickering (as well as the slowness) occurs only on old or low-end devices, though. And I do intend to support those types of devices so as to not leave them out. Nonetheless, thank you again for your help. EDIT: Never mind, I just changed the variable to true and it works well on itch.io.
  8. Thank you for your help. So, what you're saying is that, when someone tries to record gameplay, the resulting recording flickers when the game.preserveDrawingBuffer value is set to false and that the value should instead be set to true to prevent flickering when recording the gameplay? In that case, then, I will create an options screen that will allow the player to set the game.preserveDrawingBuffer value.
  9. I'm making a new video game named Strange Platformer Game. It involves trying to reach the next level. I'm really passionate about this game and I want to work together with you, the player, to make this a great game. Many more levels and features are being planned, but I would love to receive feedback from you to make sure the game is heading in the right direction. https://webdva.itch.io/pantsu-versus-baka
  10. High quality game design and unique theme.
  11. Thanks for the encouragement! I'll iterate as time progresses.
  12. Oh my gosh! Thank you so much for the feedback and praise! I'll add the feature of letting the difficulty start slow and then letting it ramp up.