Search the Community

Showing results for tags 'plugin'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

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

Found 94 results

  1. Here is one beautiful chrome extension https://chrome.google.com/webstore/detail/webrtc-desktop-sharing/nkemblooioekjnpfekmjhpgkackcajhg which allow you to stream your desktop full screeen (or browser fullscreen with f11 to your mobile. Expecially if you enable VR camera in desktop game in chrome browser and want to stream this to your mobile for your VR gear. And you don't need VR extra bloototh convroller because you can play your game with your keyboard+mouse of Desktop PC and get mirror of your desktop chrome to your mobile browser for your VR gear. Even your friends can watch your chat room with password you give them in URL. No extra coding just reuse chrome RTC extension. Mobile browser (chrome,firefox,opera) are receiver of your desktop PC chrome browser (game with VR camera). Greetings Ian
  2. Hi, I am trying to use the Arcade-Slopes plugin in Typescript, but I'm not sure how to do it. I added a ref to the .d.ts file in tsconfig.json: "files": [ "./src/app.ts", "./vendor/phaser.d.ts", "./vendor/phaser-arcade-slopes.d.ts" ] This is how I'm trying to load the plugin. // enable arcade slopes plgin this.game.plugins.add(Phaser.Plugin.ArcadeSlopes); But when I try to convert the collision layer: // Convert the collision layer to work with Arcade Slopes this.game.slopes.convertTilemapLayer(this.collisionLayer, 'arcadeslopes'); I get the following errors: src/app.ts(71,26): error TS2339: Property 'convertTilemapLayer' does not exist on type 'ArcadeSlopes'. vendor/phaser-arcade-slopes.d.ts(61,5): error TS7010: 'resolve', which lacks return-type annotation, implicitly has an 'any' return type. vendor/phaser-arcade-slopes.d.ts(156,17): error TS2304: Cannot find name 'object'. vendor/phaser-arcade-slopes.d.ts(157,14): error TS2304: Cannot find name 'object'. vendor/phaser-arcade-slopes.d.ts(238,3): error TS7010: 'clear', which lacks return-type annotation, implicitly has an 'any' return type. It looks like the arcade slopes .d.ts file isn't compiling properly either. Has anyone managed to use Arcade Slopes successfully with Typescript? I'm seriously considering restarting with plain old JS to avoid this problems.
  3. Phaser Plugin: NavMesh Generation

    Update 27 Sept: v0.1.0 Released: I've published the plugin and is available on NPM: https://www.npmjs.com/package/phaser-navmesh-generation The SRC can be viewed on the GitHub repo: https://github.com/amaccann/phaser-navmesh-generation Summary (apologies for the long post) I've been working on this for a few weeks now, and thought I'd share the Work in Progress so far: I'm still working on various edge cases, bugs and performance R&D, but it's in a state worth demoing IMO & thought I'd share the progress with the forum, see if there's any interest in that sort of thing. It's a relatively simple plugin to use, where you give it the ref. of a Phaser.Tilemaplayer, a couple of options & it generates a Navigation Mesh for use later by your Sprites & Game Objects. This plugin for now has a very simple set of options; all that's passed to it includes: The Phaser.Tilemap (required) The Phaser.TilemapLayer that's acting as your 'collision' layer (required) Any collision indices that determine the impassable tiles (required) Any debug options you want so you can see the calculations How much you want to offset your Sprites from the calculated path What I call a 'midpoint' threshold - more on that in a minute Demo Videos: (NB: the 'pause' between the drawing of new tiles & the NavMesh update was intentional, so it didn't get run until onMouseUp - it's not performance lag - the NavMeshs are generating / updating in about 15 - 20ms ) This demos basic movement; the test Sprite is a little hard to make out, sorry! I draw some extra impassable tiles to show the NavMesh re-calculating new triangles: https://youtu.be/7v4wIn7mrNY This shows how with narrow spaces, the NavMesh uses the 'midpoint' of the the polygon line segment, instead of trying to turn around corners https://youtu.be/AYUKLRmVzUQ Why do this? This all started with a larger project I'm working on: it's going to (hopefully!) involve large tilemaps, a large number of sprites and procedural generation. A messy combination. As a result, I've been looking into ways I could perform pathfinding around Tilemaps in Phaser, and the most popular choice seems to be the grid-based a*star plugins; while in the main it probably does the job for smaller tilemaps, I don't think they scale very well. One standard method of pathfinding used by other engines is something called Navigation (Nav) Meshes: basically, you calculate all the passable areas on your map and reduce it all to a small array of connected polygons, then figure out how to travel across those polygons. In my R&D, I did come across Mike Westhad's great Phaser NavMesh plugin that does this, but one limitation of it is that it expects the Developer to have manually drawn the NavMesh in the Tiled Editor. IMO, this didn't go far enough as it'd be great if a plugin could 'just' take any Phaser.TilemapLayer, inspect its passable areas and calculate a NavMesh on the fly. Assuming your game uses a larger, more complicated map, then in theory a NavMesh could be much more performance friendly than a giant A*Star grid. Because we're reducing all passable tiles into a smaller number of triangle space, there are fewer computations needed to get from point A to point B, as rather than (for instance) iterating across dozens, or even hundreds of grid tiles to find the shortest path, you're only iterating across a handful of polygons instead. Equally, if you do this at the load of your game level it should be a relatively small footprint of memory in your game. The Science Bit: How does this work? Well, the principle is actually quite 'simple' really. To give a rough breakdown of the process of calculation: Iterate across the tileLayer and merge all the impassable tiles into a series of unified polygons; this is done using what's known as 'Marching Squares Algorithm' - often used for finding the outlines of graphics objects. Recursively do this until we're confident we've found all possible impassable tile groups, and any groups within each other Extract all the corner points for these polygons, and perform 'Constrained Delaunay Triangulation' on these points. Basically, fill the area with connected triangles with these corner points. Loop over all these triangles, and find each others' neighbours. When we actually want to trace a path from A to B, find the triangle underneath the two points, then use A*Star to discover the shortest sequence of triangles to get to that destination. Use Funnel Algorithm to draw a path through those triangles, finding the corners around which to move. - This is where the 'midpoint threshold' comes into play, as some polygons might be too small to properly corner around: so instead we just take the midpoint of the funnel edge instead.
  4. [Plugin] phaser-input

    Hey all, Just wanted to let you know that I created a phaser text input plugin. Should work like a normal input text box, and unlike CanvasInput it also works in WebGL renderer. It's also tested on iOS9 and mobile Chrome. There are some limitations right now for using it, but the basic concept works. Head on to github to check it out :)
  5. Demo | Github | NPM pause, frame step restart camera effects, position, and lerp scaleMode fullScreen sound mute/volume slow motion …
  6. Phaser Plugin PocketDebug

    PocketDebug displays fps and timing graphs inside A HTML DOM Text element for maximum conciseness. Source & Docs Demo NPM pocketplot is the platform independent version . It can be used if you want to add a graph to A plain website. Looking forward to receive feedback (please do), ideas, contributions, optimizations so that the plugin can be enhanced for Phaser
  7. Phaser Web Components UI Plugin

    tl;dr: An HTML based UI component system for phaser. MIT License, and links to pretty pictures and videos at the bottom. So I have spent the last week or so working on a new way to handle ui components with Phaser. Most of the UI plugins out there are created with Phaser which means Phaser not only has to handle the game but the UI as well. Meaning that Canvas/WebGL has to handle both the game and ui. With other games platforms versus web games this is not an issue because performance is expected so the systems typically are beefier. With web games the games can be played on anything from an older tablet to an Lenovo Thinkpad to a raspberry pi. So the systems that these games can be played on can be lacking in power. As a developer you want your game to utilize as much of the accelerated GPU as possible. Chrome and other web browsers tend to offload Canvas and WebGL rendering to the GPU. While some aspect of html nodes, most of which are minimally impactful as opposed to the Phaser created ui components. This is where this plugin comes into play. Introducing Phaser Web Components. A growing library of HTML based elements to handle all of your UI needs. You can use your standard HTML elements to create your UI as well as use the custom components that are packaged as well. One of the great features is that you can attach these components to Phaser game objects and they will move with the objects on screen and the disappear when the object no longer is on screen. Already there is a lot of power with this library and it is barely a week old. First off, its free. Not just free to use but you can customize the library how you see fit with the MIT license. You can create your own custom components and if you wish to give back you may even create a pull request and share your work with everyone else. Also, each component has minimal dependencies and some only depend on the base web component which means you can build the library for your game and cut out any fat with ease. Documentation is a thing that it is currently lacking. However, with each control I release I update the wiki page for that control with the base code to get that component up and running. At the moment it is light but expect the documentation to grow over time. I am also at the constant keeping things up to date with the release chart so that way people can see what to expect with things coming down the pipeline. Also if you wish to see work done on a component that doesnt have a release date yet, to see if it can be focused on, or if you have a new idea for a component then you can request that through the issues tab in github. With all that, if you wish to see it in action, below are some links to screen captures of **some** of the components that are already working. GitHub link Damage Indicator Name Plate and Stat Bars Marker Window Volume bar Video Player Avatar Icon Screen Splatter Component improperly loaded
  8. Source & Docs / Demo / NPM Free bunny screensaver included.
  9. Hi again. I make model as simple as possible. Just Basic Sphere and box colliders. I export it with ToB Exporter to get ModelFinish_Base.js. I include this in playground. I created complete playground. I include playground in attached .zip file. Because I can not save playground! Download attached file unzip and copy text from BabylonJS_ToB_Physics_Collision_Problem_Playground.js and paste it in playground and run it. I would like to know why .physicsImpostor doesn't work? Can anybody debug this and find a problem? Is there problem with babylonjs plugin, cannon or ToB exporter ??? playground_and_files.zip
  10. Draws properties of Arcade Physics bodies. Demo / Code npm i phaser-plugin-debug-arcade-physics
  11. VirtualJoystick

    Hello, I'm developing a game with Ionic 3.5 and PHASER-CE, I recently bought the VIrtualJoystick and when trying to implement I'm getting the error: this.game undefined. ERROR ( core.es5.js:1084 ERROR TypeError: Cannot set property 'game' of undefined at Phaser.PluginManager.add (phaser-split.js:8917) at Fogo.webpackJsonp.274.Fogo.create ( ) Can you give me some help on how to implement this plugin. PS, it's all in typescript create() { this.game.plugins.add(Phaser.Plugin.VirtualJoystick); } Thank you for your attention, I'm sorry, my English, because I'm in Brazil and my language is PT-BR
  12. Phaser Arcade Slopes Plugin

    Hello everyone! I thought I'd share something I've been working on for the past few weeks. A plugin for Phaser that provides collision handling for sloped tiles and half tiles, similar to Ninja Physics but somewhat more concisely. Check it out on GitHub, give it a whirl, let me know what you think! Github: https://github.com/hexus/phaser-arcade-slopes Demo: http://hexus.github.io/phaser-arcade-slopes/ It's still early days for this project, as I've only just released v0.1.0-alpha today, but I look forward to continuing fleshing it out. Why did I make this? I've been intending to make a 2D platformer with Phaser for ages, and I knew I wanted it to have sloped tiles to allow for a liberating way to traverse the Y axis, but I couldn't find anything that worked the way I want it to. I experimented with Ninja Physics, but it's deprecated and its limitations left me wanting. I tried P2, but it was too much in terms of physics for me, and I didn't want to tame a beast like that. I started searching these forums to see if anyone had managed to get sloped tiles working in Phaser, with some success, but not completely. The solutions wouldn't allow for completely free tile placement, and they just stuck physics bodies to the slopes and left it at that. So, with a somewhat limited understanding of the maths I'd need to learn to achieve what I wanted, I started reading tutorials about the Separating Axis Theorem (SAT), particularly the ones from Metanet and one I found magically through a Google search. After experimenting with SAT.js in Phaser, I decided that I could totally pull off my own plugin to solve this the way I wanted it to be. With lots of learning, but with a clear vision of how I wanted the plugin to work, this is what I've managed! I have lots more features planned, as you can see in the roadmap, but for now I'm just glad I've built something that can be plugged straight into any Arcade Physics project that just works. Screenshots
  13. Hello fellow devs, For those of you who use Construct 2 to develop their games, I'd like to share the Google Analytics Plugin which I made. It allows you to track demographics, session duration, and behavior of your players. You can also send custom events and timings. You may download the plugin here Also, sample capx project is available And finally, here is the help page describing how to set things up. I hope you find it useful
  14. Here's a helper function I made to create each shader plugin with just a simple function call like this: createShaderPlugin(name, vertShader, fragShader, uniformDefaults); Then you can create each sprite that you want to be drawn with your custom shader like this: var sprite = createShaderPluginSprite(name, size, uniforms); Update: I started a GitHub repo for it here if you want to check it out. I also made this little CodePen to demonstrate the usage with some comments. The encapsulated code is based on the plugin example and on the worldTransform/vertices calculations that I boosted from PIXI.Sprite. I've tried to optimize and condense for the use case where the Sprite doesn't have any Texture to be filtered.
  15. Plugin for Procedural Dungeon Generation

    Hi Everyone, For Ludum Dare 38 I wrote a dungeon based game using procedurally generated level maps. Its something that I have wanted to play around with for a while, the code didn't work so great in the jam but it something I wanted to take a little further. So I have since split out the code used for the level generation. Given it a cleanup and turned it into a proper Phaser plugin that everyone is welcome to use in their own projects. Plugin code can be found on Github Or you can take a look at a demo of the plugin here Any feedback or comments welcome
  16. My Phaser Plugins

    This is a list of plugins I have done and going to do in no particular order. Help support me in making plugins. Dialog Manager: Dialog system that pulls scripts of dialog based on scripts. Inventory Manager: Complete inventory system that manages multiple inventories. Locale Manager: System for handling multiple locales. "Mode7": Progress, History, Wiki. My attempt at bringing more depth to Phaser.io than your run of the mill perspectives. Projectile Weapons: Various types of projectile weapons. Registry Manager: Simple registry to handle the data for a game. Handles both LocalStorage, Cookies and RESTful API. Selection Manager: Unit selection using html/css/js. To be updated. Sprite Generator: Generate sprites via a back end, as well as saving them via the Registry Plugin via Base64 and cache. Tilemap Generator: Generates a tilemap based on perlin noise. These are ones that I plan to develop later on after I get the others stripped out. Achievement Manager: TBD Battle Manager: Turnbase, or Realtime battle system that handles the flow of combat. Character Manager: Handles various styles of games: Platformer, Topdown, etc, and various types of entities PC, NPC, Vehicles, etc and provides reusable interactions: directional movement, jumping, attacking, etc. InApp Purchases Manager: TBD Notification Manager: HTML/CSS notification system. Quest Manager: TBD Save Manager: Handles saving/loading/deleting game states with using the Registry plugin. Social Media Manager: TBD
  17. I see the plugin's a bit dormant ATM, I think, but perhaps you guys have had enough experience to answer what _seems_ like a simple question: Given I have a Phaser.Group() of Isometric.ISOSprite() acting as the 'floor' tile-map, is it possible to constrain the state's bounds based on this Group? The group will be dynamic so the number of sprites will change. I had initially thought simply going: game.world.setBounds(myGroup.x, myGroup.y, myGroup.width, myGroup.height); would work, but of course those coordinates don't accurately reflect the 'true' dimensions of the isometric grid, given the plugin projects the coordinates. I tried a couple of guess/combinations, but I always got 'weird' bounds as a result. Any ideas? Hopefully the answer's simple!
  18. dragon bones phaser plugin

    I've been working on this in free time on the side. Figured I would share so anyone else working on something similar might benefit from it. It at least works to do some stuff, but it doesn't do mesh or switch skins yet. https://bitbucket.org/silashatfield/phaserbones
  19. Grid-based physics plugin

    UPDATE After posting this I decided to create a repository on Github and I made a new "official" thread in the forum to post updates on the progress, and for anyone to drop questions, ideas and stuff. Github: https://github.com/nkholski/phaser-grid-physics Forum: http://www.html5gamedevs.com/topic/28051-grid-physics-plugin/ ----------------------------------------------------------------------------------------- Hi all, I've been thinking of doing an old-school RPG for a while (haven't we all?), and decided to start with a plugin for grid-based "physics" for me to use. I reached a point where I got most of what I will need, and thought I could share a small demo. If there is interest I might improve the plugin and remove parts that are tied to my game so that others may use it (it would be really easy to make something like Sokoban with this). The demo is here: http://metroid.niklasberg.se/gridPhysics/ The hero is controlled with the arrow keys. Use the controls in dat-gui in the upper right corner of the browser to change properties. Things to do: Push objects (even multiple objects in chains). Walk or push things into one-way directional tiles. Explore the Hero properties. Code examples //Init 8x8 grid physics game.plugins.add(new GridPhysics(this.game)); game.physics.gridPhysics.gridSize = { x: 8, y: 8 }; //Enable grid collision on a tile map layer game.physics.gridPhysics.enable(layer); // Enable grid body on sprite: game.physics.gridPhysics.enable(sprite);
  20. Hi, I'm writing a class that extends Phaser.Weapon and i want that the method update() keep running, like this: class MissileWeapon extends Phaser.Weapon { constructor(game: Phaser.Game){ super(game, game.plugins); } update(){ /*this not execute*/ } } But it not running. If i add this "hack": class MissileWeapon extends Phaser.Weapon { constructor(game: Phaser.Game){ super(game, game.plugins); /*the hack*/ this.active = true; /*active plugin*/ this.hasUpdate = true; var test = game.plugins.add(Phaser.Weapon); /*Only for the game.plugins(PluginManager) start running*/ game.plugins.plugins.push(this); /*add my weapon in the PluginManager*/ } update(){ /*executing */ } } It seems that when extends of plugin Weapon, it not is added direct in the game.plugins (PluginManager), then the method update not executes. How could i make this without uses the "hack"? and i'm using Phaser version 2.6.2 thanks :-)
  21. Hello all, I just released a tooltip plugin for Phaser. You can find it here: https://github.com/netgfx/Phasetips It contains many options already, but feel free to fork or ask me to add something, also accepting pull requests for extra options or functions I hope you like it!
  22. Hey all, So I recently switched my entire game over to Phaser Isometric by @lewster32 and now I keep running into an issue with collision. With just spawning a sprite in and not chaning any of its body properties, collision happens when the TOP of my player's body box reaches the TOP of the sprite's body box. This is a problem because it allows me to just walk through the sprite diagonally, which is not what I want. In fact, what I want is for collision to happen when the BOTTOM of the body boxes touch. (Sidenote: when I say body box I'm referring to the the 3d body shown through a body debug). Here is an example of how it works with no changes made to the body of either sprite. This is collision happening with no modifications: image - side note I am moving up and to the left in this picture, not down and to the left. This is after some changes to the body, the same thing happens too but it more closely represents what I *want* to happen, except it's still happening only with the top of the player sprite and tree sprite. image 2 Similarly, when I go to the top right side of the tree and move down into it, my body will go through the body box until the top of the body box hits the tree's box. When I mess with the Z values it all breaks and no collision will happen either. On top of that, changing the sprites anchors PAST (.5, .49999) also breaks something. Collision will happen at an anchor of (.5, .4999) but not at (.5, .5), it's very strange. Edit: Also, if i set the anchor to greater than (.5, .5) AFTER I enable isoPhysics on the body, the sprite's position gets moved thousands away and sometimes into the negative's. Here is my code to spawn the sprite and player. There is much more that goes into spawning the sprites, but this is anything that could even be related to the issue at hand. player1 = game.add.isoSprite(1000, 1000, 0, 'person'); game.physics.isoArcade.enable(player1); game.physics.isoArcade.collide(player1, itemGroup, null, null, this); createSprite = game.add.isoSprite(1250, 1250, 0, itemGet(chunks.chunks[i][slot]), null, itemGroup); //the anchor and body.setSize code here draws what you see in image 2. With these lines commented out, it outputs image 1. createSprite.anchor.setTo(.5, .49); game.physics.isoArcade.enable(createSprite); createSprite.body.setSize(40, 40, 0, 27, 27); createSprite.body.immovable = true; Any help is GREATLY appreciated. Ive been trying to fix this for a few days now, nothing I do works.
  23. I have purchased the Phaser Virtual Joystick plug-in. It works nicely. In my create function, I have set 50% transparency for DPAD and ButtonA: this.stick = this.pad.addDPad(0, 0, 200, 'dpad'); this.stick.scale = 0.5; this.stick.alpha = 0.5; this.stick.alignBottomLeft(0); this.buttonA = this.pad.addButton(445, 380, 'dpad', 'button1-up', 'button1-down'); this.buttonA.scale = 0.75; this.buttonA.alpha = 0.5; this.buttonA.onDown.add(this.pressButtonA, this); It works well, only that after the game restarts both DPAD and ButtonA are no longer transparent. game.state.start('main'); Any idea? Am I missing something? Thank you! JJ
  24. Failing to add plugin

    Hey everyone, I am currently following the format of this tutorial to try to create a structured Phaser project, where the code is split up. Everything seems to go well, except from the fact that I can't seem to add the Isometric plugin I am using. This is the code I'm using: Main.js window.onload = function(){ var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-canvas', null, true, false); game.state.add('Boot', Boot); game.state.add('Preload', Preload); game.state.add('Menu', Menu); game.state.add('Start', Start); game.state.start('Boot'); } Preload.js var Preload = function(game){ }; Preload.prototype = { preload: function(){ this.time.advancedTiming = true; this.plugins.add(new Phaser.Plugin.Isometric(this)); this.iso.anchor.setTo(0.5, 0.2); this.load.spritesheet('basic_ground', 'img/spritesheet/basic_ground_tiles.png', 128, 128); }, create: function(){ this.state.start('Start'); } } This is the error I am getting when running: Uncaught TypeError: Cannot read property 'add' of undefined at Preload.preload (Preload.js:8) at c.StateManager.preUpdate (phaser.min.js:10) at c.Game.updateLogic (phaser.min.js:12) at c.Game.update (phaser.min.js:12) at c.RequestAnimationFrame.updateRAF (phaser.min.js:18) at window.requestAnimationFrame.forceSetTimeOut._onLoop (phaser.min.js:18) Any help?
  25. Phaser Manifest Loader

    Hi all, I have just released Phaser Manifest Loader for those using webpack. I've been using this code in production for a while now, it makes it super easy to load assets via a simple manifest. Check it out! https://github.com/mattcolman/phaser-manifest-loader Cheers, Matt.