• Content Count

  • Joined

  • Last visited

  • Days Won


george last won the day on June 11 2015

george had the most liked content!

About george

  • Rank
    Advanced Member

Contact Methods

  • Website URL

Recent Profile Visitors

2546 profile views
  1. That was it! Thanks. This happened because I worked on master all the time and quick fixed this after completing the fix. I updated the existing PR, now it's find. Phew, what a trip, thanks Ivan.
  2. Hello, I have no clue, I mean it's a single commit on a single file which haven't been changed for weeks plus I based it on the most recent state of the dev branch. But this can be merged manually with little effort. So it's fine for the maintainers I guess. Regards
  3. This is ready to get merged: Have a nice day Regards George
  4. Hello again, here we go. First of all the demo: Test Cases: `old` is the current wrong version `better` is a fixed matrix "new shader" is the shader from the glfx integrated as a new filter for comparison and as our reference. Number 2 looks pretty good in comparison to 3. You can see the error in the current implementation pretty well when you exaggerate the saturation. To do so activate the checkbox 'overdrive'. It looks like the image attached. Here is my current branch for the changes: Here the adjusted matrix: And the new saturation filter and shader: I see no better quality and no other advantages in using a separate hue saturation filter so I would prepare a PR for the updated matrix (Nr. 2) Regards George
  5. Yes! I think this is plain wrong. You should definitely create an issue on github for this This is the currently wrong version in pixi: This is the sane version from glfx: On the first sight they are both doing the same, which is rotating an imaginary rgb cube. But the lum* weights in the expanded rotation matrix look wrong. Here is a nice answer on hue rotation. Regards George
  6. This is my workaround which works superb at the moment. I use a timeout and trigger a resume on the audio context- which is suspended for whatever reason. function fixSuspendedState(ac){ if(ac.state == 'suspended'){ log.warn('AudioContext FIX: suspended. Try to wake it.') if(ac.resume){ ac.resume(); } return ac.state == 'running'; }else{ log.warn('AudioContext FIX: not suspended, nothing to do.') return true; }}function fix(ac){ if(ac.state == 'running') return;//nothing to do setTimeout(function(){ var fixed = fixSuspendedState(ac); log.warn('AudioContext FIX: Applied, state is', fixed); }, 2000)}var ac = new AudioContext(); //wherever you are doing thisfix(ac);//fix it
  7. I updated my testcase and prepared three workarounds. All of them deal with the state of the involved audio context. It's suspened at the beginning and we can resume it without user interaction or even with mousemove until it's fixed. I hope this can fix my project as it's a little bit more complex Her the update:
  8. Hi Alex, so this happen also for you? And yeah I tried many, many different combinations on the way done from my large project down to this example. Sometimes it worked on click, on timeout but I just wanted to get back to a very basic example to get it confirmed. I mean it simply must work on a desktop browser. I will wait for other responses and continue to search an existing bug ticket for webkit for this. Btw I also tried applying chris wilsons monkey patch- as it might fix some known issues. But still the same. Regards George
  9. Hi guys, I need your help. This small page is producing a code in Firefox, Firefox ESR, Chrome on OSX each with its latest release. But it's not working as expected in Safari 9. Here is the very very reduced example: Surprisingly it is working on jsfiddle which doesn't make it any more logical I don't get any sound output in safari 9 (still under yosemite) on the first page load. But if I reload it works as expected for any successive reload. There are no external files involved. So what the heck is happening here? This currently happens in my larger project with large files I am decoding and also in this small example. Can someone confirm this? I'm looking into this for some days now and I just don't get it? What do I miss? It feels like a bug that can't be a real bug but rather is some stupid error on my site. Thanks for looking into this. Btw this is the code- easy isn't it? var AudioContext = window.AudioContext || window.webkitAudioContext;var ac = new AudioContext();var oscillator = ac.createOscillator();oscillator.frequency.value = 200;oscillator.connect(ac.destination);oscillator.start();Thanks for taking your time. Regards George
  10. There is no bug and nobody is to blame. It's clearly the cache. Now do yourself a favor and invest some little time to get a small server running. The whole world is doing it- so you can do it. You don't need to use a full blown lamp, wamp or mamp stack. I hated this in the past too. Guess what? There a faster solutions: Try using the python webserver (`python -m SimpleHTTPServer 8000`) or install node.js and use the fast ws package to boot up a webserver in every folder you want with `ws` within milliseconds. You will a get a webserver which will serve all the files from the current folder. You can do this on every OS in no time nowadays. And trust me, you will sing hallelujah afterwards and thank me for the rest of your life if you don't forget do turn of the cache in your browser- as it's still caching your pages otherwise. Good luck and have fun developing. George
  11. Ok my two last cents on this: 1. You can hook onto the pause event/signal of phaser to pause all gsap tweening actions- see the very beginning of this thread 2. I can't imagine any use case where I need or want to know when a tween update occurs. Have fun coding Regards George
  12. The RAF calls stacked and executed in order every 1/60s. So the only difference is that you have one vs. two or three function calls. There are many things in your code that will call a function much more frequently during a frame. I would suspect that there is no big difference- definitely not for a minigame. Do not overthink that. Maybe you can find or create a test on for this testcase to be sure. Regards George
  13. NO NO NO! Do not explore other options. If you really want to prevent the people from cheating- server side is the way to go. You can't trust the client. Never. The server must be the authority. This is achieved with client-side prediction (since Quake 1, running headless on the server) plus lag compensation (since Counterstrike). Every AAA game and every serious web game is doing this. Server time is cheap nowadays, so you can do this too. If you're serious about your game - talking about thousands of clients make me feel so - then you have to protect the reasonable players from the cheaters with this industry-proven technique. Read those documents and you will get the hang on doing it on the server. 1. A famous read from 2001 by Bernier, an engineer at Valve. I love this piece of science. You will read about client side prediction and lag compensation in context with other parts of a game. 2. The young Carmack writing about client side prediction: 3. I just love this fact. This is again Carmack about a network ping which is faster across the atlantic than the LCD refresh rate. 4. And a very good multiplayer guide with node & How you can achieve this whole networking with Phaser & Phaser Headless? This is another question. Regards George
  14. Have you seen that Pixi v3 has a FXAA filter integrated? Or do you need it for v2 to use it in Phaser? I never used it so I don't know about details with render texture. Regards George
  15. Congratulations! A great monologue with a great outcome! So can you share a final fiddle for all of our helpless minds of the future ?