All Activity

This stream auto-updates     

  1. Past hour
  2. No, it does not work better. I have the number of corresponding textures (that's ok) but setTexture () is run in infinite loop so that I end up with a loading of the terrain with a texturing randomly. I turn at 1 FPS. There is really a problem Dk. It's been at least 8 months that I use onBindObservable in this way that Nasinmi advised me to use and I never had this problem. But since a few weeks, can be (I do not check my projects every day working on other) then, that's not good anymore. All my projects are broken: HeroonEngine, TerrainEditor, and another project that I'm working on too ... I can not fix them. It worked for several months, why not now? I almost want to abandon all my projects that I fail to make them work as before. I lost 100% of users because of this, without realizing it. No other solution that onBindObservable works, it's the only thing I can use it seems. When you advise me, it works well, why now it would be a bad idea. I am convinced that there is a bug somewhere that I can not say where and how, but it has always worked well for more than 6 months or 1 year. Why would it be normal that I have his problems on all my projects. They are all unusable, but they have worked for a long time. Thank you Dk to check, there is really a problem that is huge. See this PG and in the console : http://www.babylonjs-playground.com/#ICIAGK#23 I still have his mistakes in the console?
  3. Hey wingnut, it's true i was not able to find the Billboard function. That's why i tried to implement it by myself. A tutorial would be great - a small official Playground Example even better. I was looking for: - React on camera rotation / movement - Mesh facing camera - mesh rotation matrix camera.onViewMatrixChangedObservable did help me. A hint from this observale to billboard would be great too. Thanks for your work and effort!
  4. Hey ziguri... glad you found the solve. "Billboard" is sort of a strange word for "mesh look-at cam", isn't it? I think so. Can I ask... Did you do a docs search for 'lookAt' or 'look at' or something else? I'm just curious. That search would have failed to find info about billboard. I'm trying to figure a way to make billboardMode easier to find information-about. Or maybe more precise, easier to find THAT TERM and what it is used-for. I'm wondering if a new tutorial might be wise... "Aiming, Tracking, LookAts, and Billboarding" (or similar). All about making stuff aim-at or follow other stuff. - Teaches about the unwanted z-rotation problems of billboarding when nearing poles. - Tells about targets and lockedTargets. - Getting and setting directions for ALL types of nodes. Perhaps teach Up(), Forward(), and maybe POV stuff. - Teaches how to build a lockedLookAt() (when camera is the target, mesh lockedLookAt == billboardMode, right? hmm.) - Shows how to derive directions from one thing to another, and what can be done with those directions and magnitudes. - Getting distances (maybe) You know... cool aim-at junk... for dummies... like Wingnut. Thinkin' But yeah, ziguri (and anyone else), if you DID search our docs, can you tell us what words you tried? 'aim'? 'direction'? 'face'? 'lookAt'? 'towards'? *shrug*. (thx)
  5. Today
  6. Horse Race 2 - Grouping example

    Hi, good idea, will check that out. But that would only work in cases where the sheets are identical other than colour. I guess the main thing i'm looking at here is using different spritesheets within a group. It would be nice if you could specify the animations and the sprite sheet independent of each other. so you don't have to create 5 sets of animations...
  7. @Gijs, you are totally right. This completely solves my issue. I didn't know that the billboard mode exists at all. Thank you. Appreciated. Issue solved!
  8. You can do that, I've used JSZip to do this same thing. No need for the File API as such, you can extract data from the zip as blobs or Uint8 arrays or whatever suits your needs. To be honest it does speed things up a bit, but there may be better ways. For example if you use HTTPS then the client can do batched requests, and that's a big speed up. The big disadvantage of the zip approach is that you can't cache individual files - if you need to change one asset, you need to change (and the client needs to re-download) the whole zip.
  9. Maybe not for this forum. But anyway. Anybody can use "Windows Defender Browser Protection" with Chrome browser now on Windows OS. Very good stuff from Microsoft. https://chrome.google.com/webstore/detail/windows-defender-browser/bkbeeeffjjeopflfhgeknacdieedcoml Salute to Microsoft ! If you use chrome and would like to have better secure checking on any visiting web site. Try it. Use Windows Defender extension with Chrome. I try extension with Chrome on my linux OS but have I get message "it is currupt". I don't know if windows defender is only form chrom on Windows OS. Greetings
  10. yep, I mean, it is a big struggle to get insured for HTML gamedev. To convince insurers to cover me, I need to be able to answer questions that I have no idea what the answer is as I did not sell a game yet. For instance, when I sell an licence of my game to a HTML5 publishers: - do they own the game and related IPs? - do they process and sign-off a Quality Assessment? - do they take responsibility for quality assurance and IP checking prior to game release? - do their API limit my game so that, for instance, it cannot infringe the data protection laws of the different target countries? Basically, I need to be able to reassure the insurers that there are mechanisms in place that limit the risks that I get into a law court. The problem is that I do not know if these mechanisms exist.
  11. Hello there. Reducing the number of files downloaded is important for faster loading browser games because often the number of parallel connections is limited to 2, 4 or 8. So, i was wondering if it could actually work to load all the assets as an archive, extract it afterwards and then let the game grab and assign them. Has anyone experimented with that? Maybe with some magic of the File APIs, somehow? Does that actually work? Regards
  12. Contributing to documentation 101

    Thanks to some helps, Resources have now a playground filter. And PG textures page get a big cleanup.
  13. Blender Exporter doc needs feedback

    To note for the future: Blender 2.8 now have Blender Render officilally deleted
  14. OK, I finally found it. No need for deepmerge here (as it throws the error above probably because the material objects are too big to be processed that way) All I needed to do was : mesh.material = BABYLON.Material.Parse(material, this.scene) The UVs and normals aren't fine for now but the materials are loaded correctly !
  15. Thank you. My problem is solved. The coordinates of the model in 3ds Max are x: 70000, z:80000, and the position of the camera is Zero(), so far away.
  16. Detecting doubleTap in PhaserJS

    Thanks samme.
  17. rendering objects from tile map

    Having still a little issues when I sat down and tried to access the tilelayer data. Where are you getting these last two arguments from? 'characters', m.gid - charTilesetRaw.firstgid Thanks again.
  18. Car game project

    That square is showing position updates from server. You probably got disconnected from server for some reason... I like working with 3D objects, and already done other project with Babylon.js, so I'm familiar with it.
  19. Camera offset not working

    I'm trying to offset the camera's follow on my player so that the player is closer to the bottom of the screen rather than being right in the center of the height. I'm using this code as per the example: game.camera.follow(player, Phaser.Camera.STYLE_PLATFORMER, 0.1, 0.1, 0, 300); And it does absolutely nothing.
  20. Best way to render graphics

    All I would like to know is the best way for rendering rectangles, circles, coloured things on to the screen which are fixed to the camera in a GUI. I've searched and searched and I can't find how to do this. Can anyone let me know what the best way is to do this? It seems like there should be some easy way and I'm just missing something. And how do I make it render something each frame, and at the end of each frame the screen is cleared so I'm not left with everything that's been rendered previously hanging around on the screen?
  21. [Solved]How to loop time.events ??

    Thanks @onlycape Thank you very much!!!!! Thanks for your help Have a nice day!!!!! I am happy
  22. [Phaser] Cubxer

    I don't think this is something most people need to consider. You could just say, great job! Don't find reasons to be offended over everything
  23. Learning Paths

    Hey everybody, so I've been learning to code on and off for about 9 months and have decided to try and make simple 2D games to help my ESL students. I have tried several approaches including the A Smarter Way to Learn book series, freecodecamp, codeschool, a couple of books specifically for pure javascript games, udemy tutorials, and an online tutor. I think in another month or so my core javascript skills will be decent and I'm wondering if anybody would have any ideas of how to proceed after that?
  24. NeutrinoParticles - the best particle effects editor for PIXI

    Thank you very much. Do you have a Chinese version? I can pay for it.
  25. We are a startup company and we have built a mobile app that hosts instant mini-games. We already have instant mini-games that have been developed by freelancers who we hired thru Upwork. We would like now to explore the option of hiring game studios or development teams to provide us the complete service from graphics design to development. We are looking for game development teams who have expertise in Three.JS because our boilerplate for the instant mini-game is based on three.js framework. The project size of each instant mini-game will be small since we prefer that the mini-games would only be single-page, single level and as simple as possible to ensure the filesize is less than 1MB. We would prefer to finalize the hiring in freelancer websites like Upwork to ensure proper delivery and payment.
  26. Spawning sprites randomly for endless runner

    @Mickety Thanks again! I've finally found a way to spawn obstacles randomly, but they seem to be falling through the ground. I've double checked and I did check for collision between the right things, but it's still falling through. Any help would be appreciated!! var game = new Phaser.Game(820, 360, Phaser.AUTO); var mainMenu = function(game) {}; mainMenu.prototype = { preload: function() { //preloading assets this.load.atlas('sprites', 'assets/img/spritesheet.png', 'assets/img/sprites.json'); }, create: function () { // background this.background = this.game.add.tileSprite(0, -30, this.game.width, 390, 'sprites', 'background'); this.background.autoScroll(-100, 0); // ground this.background = this.game.add.tileSprite(0, 310, this.game.width, 60, 'sprites', 'ground'); this.background.autoScroll(-200, 0); // player this.player = this.add.sprite(30, 253, 'sprites', 'bunny'); this.player.animations.add('run', Phaser.Animation.generateFrameNames('bunny', 4, 5, "", 4), 10, true); this.player.animations.play('run', 10, true); // logo this.splash = this.add.sprite(this.game.world.centerX, this.game.world.centerY - 40, 'sprites', 'logo'); this.splash.anchor.setTo(0.5); }, update: function () { if (this.game.input.activePointer.justPressed()) { this.game.state.start('gamePlay'); } } }; var obstacle; var timer = 0; var gamePlay = function(game) {}; gamePlay.prototype = { preload: function() { //preloading assets game.load.atlas('sprites', 'assets/img/spritesheet.png', 'assets/img/sprites.json'); }, create: function () { // physics engine this.game.physics.startSystem(Phaser.Physics.ARCADE); this.game.physics.arcade.gravity.y = 2000; // background this.background = this.game.add.tileSprite(0, -30, this.game.width, 390, 'sprites', 'background'); this.background.autoScroll(-100, 0); // ground this.ground = this.game.add.tileSprite(0, 310, this.game.width, 60, 'sprites', 'ground'); this.ground.autoScroll(-300, 0); // player this.player = this.add.sprite(30, 253, 'sprites', 'bunny'); this.player.animations.add('right', Phaser.Animation.generateFrameNames('bunny', 4, 5, '', 4), 10, true); this.player.animations.play('right', 10, true); // physics on sprites this.physics.arcade.enable([this.player, this.ground]); this.ground.body.immovable = true; this.ground.body.allowGravity = false; this.player.body.collideWorldBounds = true; //give player slight bounce this.player.body.bounce.y = 0.5; this.player.body.gravity.y = 200; this.player.body.collideWorldBounds = true; //create group for obstacles obstacle = this.add.group(); obstacle.enableBody = true; //create the hill obstacle //var hill = obstacle.create(((Math.random() * 800) + 550), (Math.random() * 700), 'sprites', 'obstacle'); //hill.body.gravity.y = 0; //spawn obstacles this.makeObstacles(); }, makeObstacles: function () { for (var i = 0; i < ((Math.random() * 3) + 1); i++) { var hill = obstacle.create(((Math.random() * 900) + 800), ((Math.random() * 500) + 20), 'sprites', 'obstacle'); //hill.body.immovable = true; //hill.scale.x *= -1; hill.body.gravity.y = 6; hill.body.velocity.x = ((Math.random() * -200) - 100); } }, update: function () { //spawn more hills if(timer % 300 == 0) { this.makeObstacles(); } //look for collisions between hill and ground this.physics.arcade.collide(this.obstacle, this.ground); //look for collisions between sprites this.physics.arcade.collide(this.player, this.ground); //add arrow keys for movement var cursors = this.input.keyboard.createCursorKeys(); //reset player velocity this.player.body.velocity.x = 0; //moving player if (cursors.up.isDown && (this.player.body.touching.down)) { this.player.body.velocity.y = -850; } else if (cursors.right.isDown) { this.player.body.velocity.x = 60; this.player.animations.play('right'); } else if (cursors.left.isDown) { this.player.body.velocity.x = -90; this.player.animations.play('right'); } } }; var gameOver = function(game) {}; gameOver.prototype = { preload: function() { //preloading assets game.load.atlas('sprites', 'assets/img/spritesheet.png', 'assets/img/sprites.json'); }, create: function () { console.log('create'); game.stage.backgroundColor = '#4488AA'; //click to start text this.game.add.text(this.game.world.centerX - 100, this.game.world.centerY + 80, 'Click to return to main menu', { font: "30px Raleway"} ); }, update: function () { if (this.game.input.activePointer.justPressed()) { this.game.state.start('mainMenu'); } } } game.state.add('mainMenu', mainMenu); game.state.add('gamePlay', gamePlay); game.state.add('gameOver', gameOver); game.state.start('mainMenu');
  1. Load more activity