Search the Community

Showing results for tags 'ios'.



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 2
    • melonJS
    • Haxe JS
    • Kiwi.js
  • General
    • General Talk
  • Business
    • Collaborations (un-paid)
    • Jobs (Hiring and Freelance)
    • Services Offered

Found 208 results

  1. basic demo "Video" for HLS source

    Hi, I am trying to draw HLS video stream over PIXI video texture on iOS safari browser (iOS 11.2) referring http://pixijs.io/examples/?v=v4.6.2#/basics/video.js but not succeeded. (Sorry for poor English as I am Japanese) When I set mp4 video as source, the demo code worked over iPhone + mobile safari (OS: 11.2). But when I set url of HLS (m3u8) and tapped play button, video did not drawn. I tried some change but not succeeded to play HLS stream over PIXI video texture. Below is my code, modified part of http://pixijs.io/examples/?v=v4.6.2#/basics/video.js . ... function onPlayVideo() { // Don't need the button anymore button.destroy(); /// modify start // mp4 // (1) mp4 OK : video/audio played (#fvlivedemo.gnzo.com is my own server) // var texture = PIXI.Texture.fromVideo('http://fvlivedemo.gnzo.com/testVideo.mp4'); // (2) mp4 OK : video/audio played // var texture = PIXI.Texture.fromVideoUrl('http://fvlivedemo.gnzo.com/testVideo.mp4'); // HLS // (3) Not work : when play button pressed, loading m3u8 not started. // #http://184.72 ... is effective m3u8 stream // var texture = PIXI.Texture.fromVideo('http://184.72.239.149/vod/smil:BigBuckBunny.smil/playlist.m3u8'); // (4) Not work : when play button pressed, loading m3u8 not started. // var texture = PIXI.Texture.fromVideoUrl('http://184.72.239.149/vod/smil:BigBuckBunny.smil/playlist.m3u8'); // (5) Not work : when play button pressed, loading m3u8 started and audio play started. but video is not drawn on canvas. let baseVideoTexture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://184.72.239.149/vod/smil:BigBuckBunny.smil/playlist.m3u8', mime: 'application/vnd.apple.mpegurl' }); var texture = PIXI.Texture.from(baseVideoTexture); /// modify end // create a new Sprite using the video texture (yes it's that easy) var videoSprite = new PIXI.Sprite(texture); ... Please help/guide me regarding right way/manner to play HLS stream over video texture of PIXI. (i.e. how to fix above code) entire HTML which I modified is attached (pixi_video_hls.html) If more information needed for answer, let me know. Thank you in advance. pixi_video_hls.html
  2. Hi guys! I'm developing a game with Phaser 2.6.2 and it properly works on PC desktop (every browser) and on Mac (every browser). On a 2009 Mac laptop with Safari it struggle. On iPhone SE with Safari it give an (for me) inexplicable blank page. I've connected the iPhone to the Mac and launched the web inspector... but it give me nothing, nor the message "Phaser v2.6.2 | Pixi.js v2.2.9 | WebGL | WebAudio | http://phaser.io". I've tought that maybe a let game: Phaser.Game = new Phaser.Game(1280, 720, Phaser.AUTO, 'content', { preload: this.preload, create: this.create, update: this.update, render: this.updateRender }); was to big, so I've tried let game: Phaser.Game = new Phaser.Game(800, 600, Phaser.AUTO, 'content', { preload: this.preload, create: this.create, update: this.update, render: this.updateRender }); but I've always the blank page. Any suggestion on what can go wrong with Phaser & iPhone?
  3. Hello everyone, I want to present you my game, "Jumping Ninjas Deluxe". Gameplay preview on youtube: https://www.youtube.com/watch?v=L9RSGQvg5lQ Play the game online now: https://showcase.odiusfly.com/jumpingninjasdeluxe Available on google play store: https://play.google.com/store/apps/details?id=com.odiusflystudio.jumpingninjasdeluxe More games available on my website: https://odiusfly.com This game is available for licensing.. If you are interested, please contact me via email! ; -) Best regards, Kyriakos
  4. Hi everyone, I have an issue with texture compression on iOS device : here is the problem : on my PC : on my iPad : the material : { "customType" : "BABYLON.PBRMaterial", "directIntensity" : 1, "emissiveIntensity" : 1, "environmentIntensity" : 0.9, "specularIntensity" : 1, "cameraExposure" : 1, "cameraContrast" : 2, "microSurface" : 0.5, "overloadedShadowIntensity" : 1, "overloadedShadeIntensity" : 1, "overloadedAmbientIntensity" : 0, "overloadedAlbedoIntensity" : 0, "overloadedReflectivityIntensity" : 0, "overloadedEmissiveIntensity" : 0, "overloadedAmbient" : [ 0, 0, 0 ], "overloadedAlbedo" : [ 0, 0, 0 ], "overloadedReflectivity" : [ 0, 0, 0 ], "overloadedEmissive" : [ 0, 0, 0 ], "overloadedReflection" : [ 0, 0, 0 ], "overloadedMicroSurface" : 0, "overloadedMicroSurfaceIntensity" : 0, "overloadedReflectionIntensity" : 0, "albedoTexture" : null, "ambientTexture" : null, "opacityTexture" : null, "reflectionTexture" : null, "emissiveTexture" : null, "reflectivityTexture" : null, "bumpTexture" : null, "lightmapTexture" : { "name" : "CleanedUp_BedroomLightmap-3_comp_light.png", "level" : 1, "hasAlpha" : false, "getAlphaFromRGB" : false, "coordinatesMode" : 0, "isCube" : false, "uOffset" : 0, "vOffset" : 0, "uScale" : 1.002394, "vScale" : 1.002394, "uAng" : 0, "vAng" : 0, "wAng" : 0, "wrapU" : 1, "wrapV" : 1, "coordinatesIndex" : 1, "isRenderTarget" : false, "renderTargetSize" : 0, "mirrorPlane" : null, "renderList" : null, "animations" : null, "extensions" : null }, "useLightmapAsShadowmap" : true, "refractionTexture" : null, "ambient" : [ 1, 1, 1 ], "albedo" : [ 1, 1, 1, 1 ], "reflectivity" : [ 0, 0, 0 ], "reflection" : [ 0, 0, 0 ], "emissive" : [ 0, 0, 0, 1 ], "roughness" : 1, "useRoughnessFromMetallicTextureAlpha" : false, "useRoughnessFromMetallicTextureGreen" : false, "useAlphaFromAlbedoTexture" : false, "useEmissiveAsIllumination" : true, "useMicroSurfaceFromReflectivityMapAlpha" : false, "useSpecularOverAlpha" : true, "useRadianceOverAlpha" : true, "indexOfRefraction" : 0, "invertRefractionY" : false, "emissiveFresnelParameters" : null, "opacityFresnelParameters" : null, "disableLighting" : false, "name" : "MUR", "id" : "39e75ac7-f7b5-4d06-98a0-50fb26b52378", "backFaceCulling" : true, "wireframe" : false, "alpha" : 1, "alphaMode" : 2 } the lightmap texture : I tried to compress with pvr format, to merge lightmaps with a white layer and use it as png, or jpg, and in albedo channel but nothing worked, any advices?
  5. I'm currently working on a game with more than 32x32=1024 sprites on the screen at the same time with animation and everything runs 60fps. (iPhone 6 and iPad 4th Gen) But when I introduce 2 bitmaptext objects for score and level, fps drops to 15fps. Even showing fps in render function using game.debug.text has impact on performance and I have to draw a horizontal progress bar for fps instead of text. Is there a way to improve the performance with bitmapTexts?
  6. Phaser/Cordova/Webpack(ES6)

    I created a quickstart application that I hope would be useful to some of you. It is a Phaser 2.8.8 quick start application that incorporates Webpack (ES6), and Cordova. It supports iOS and Android out of the box, along with all default Phaser supported web browsers. https://github.com/udia-software/phaser-cordova-es6 The code is on Github and is licensed under Apache V2. Enjoy!
  7. Video playback on ios devices.

    The video plays for few seconds and freezes with the audio on ios devices. Is there any workaround for this? If someone can help me with this it will be appreciated.
  8. Hi everybody, To thank the users of this forum who helped me a lot, i put my template available to help new beginners or someone else. This template offers : correct scaling without stretching effect portrait mode (for landscape mode you must invert width and height) works with cocoon in webview+ and canvas+ mode (deviceready implemented) upload the file source.zip in cocoon.io and run it. https://cocoon.io/ NOTICE for canvas+, avoid this syntax, that don't work in canvas+, in webview and webview+ no problem let variable; const anothervariable; var myFunc=()=>{} and prefer this: var variable; var myFunc = function(){}; simple example with prototype and inheritance use the states (i personnaly put all the states in a single file but you can quite put them in separate files, it's necessary to inform them in index.html eg: <script src="src/otherfile.js"></script> This template is based on : https://github.com/EnclaveGames/Cyber-Orb and how to adjust the scale is based on: Now my template for the beginners , index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>example_test_scale</title> <link rel="shortcut icon" href="favicon.png" type="image/x-icon" /> <style> body { margin: auto; display: table; position: absolute; border:0px; top: 0px; left: 0px; padding: 0; margin: 0; background: #ffff00 } </style> <!--necessary for cocoon.js--> <script src="cordova.js"></script> <script src="src/phaser.js"></script> <script src="src/main.js"></script> </head> <body> </body> <script> document.addEventListener("deviceready", function() { setTimeout(function() { navigator.splashscreen.hide(); }, 5000, false); }); (function() { //start with a game with these resolution : 1280-1920 // personnaly i find it offers the best graphics for all devices but may slow some devices. // after put a safe zone //1280+200 > 1480 //1920 +350 > 2270 (350 is 200*1.5 > ratio from 1920/1280) var safe_zone_width=1480; var safe_zone_height=2270; var w = window.innerWidth ;//* pixelRatio, var h = window.innerHeight ;//* pixelRatio; var lw, lh; if ( h > w ) { lw = h; lh = w; } else { lw = w; lh = h; } var aspect_ratio_device = lw/lh; var aspect_ratio_safe_zone = safe_zone_height / safe_zone_width; var extra_height = 0, extra_width = 0; if (aspect_ratio_safe_zone < aspect_ratio_device) { // have to add game pixels horizontally in order to fill the device screen extra_height = aspect_ratio_device * safe_zone_width - safe_zone_height; } else { // have to add game pixels vertically extra_width = safe_zone_height / aspect_ratio_device - safe_zone_width; } game = new Phaser.Game( safe_zone_width + extra_width, safe_zone_height + extra_height, Phaser.CANVAS, 'game'); game.state.add('boot', boot); game.state.add('preloader', preloader); game.state.add('the_game', the_game); game.state.add('next_screen', next_screen); game.state.start('boot'); })(); </script> </html> my main.js //initialize variables here var test="1...2...3"; var text="hello from sprite"; //example of prototype => a simple sprite _sprite = function(game,posx,posy,picture){ this.picture=picture, this.posx=posx; this.posy=posy; //call the class sprite from Phaser Phaser.Sprite.call(this,game,this.posx,this.posy,this.picture); this.anchor.setTo(0.5,0.5); game.add.existing(this); }; _sprite.prototype=Object.create(Phaser.Sprite.prototype); // say hello from sprite _sprite.prototype.say_hello=function(){ alert(text); }; //use another prototype but with the previous parameter from _sprite, it's inheritance _super_sprite=function(game,posx,posy,picture,super_power){ //call the first prototype _sprite.call(this,game,posx,posy,picture); this.super_power=super_power; this.scale.setTo(2,2); }; _super_sprite.prototype=Object.create(_sprite.prototype); // add a new characteritic to this prototype _super_sprite.prototype.show_super_power=function(){ alert(this.super_power); }; var boot = { preload: function() { }, create: function() { //to scale the game this.game.scale.scaleMode = Phaser.ScaleManager.SHOW_ALL; this.game.scale.pageAlignHorizontally = true; this.game.scale.pageAlignVertically = true; //red color to see the background of the game itself // you must change the background in the index.html to have the same color in the background game // > change the yellow in red it's only to see how the game is scalling this.game.stage.backgroundColor = '#ff4000'; this.game.scale.refresh(); this.game.state.start('preloader'); }, }; var preloader = { preload: function() { this.load.image('green_circle', 'img/green_circle.png'); this.load.image('white_circle', 'img/white_circle.png'); }, create: function() { this.game.state.start('the_game'); //do not use arrow function like this var some_function=()=>{alert(test)} //it works on webview+ mode but not on canvas mode var some_function=function(){ alert(test); }; some_function(); } }; var the_game = { create: function(){ //to center an object in your game use this: this.green_circle = this.add.sprite(this.game.world.centerX,this.game.world.centerY,'green_circle'); this.green_circle.anchor.setTo(0.5,0.5); this.game.add.existing(this.green_circle); this.game.time.events.add(2000,function(){this.game.state.start('next_screen');},this); //use prototype => sprite with white_circle this.white_circle=new _sprite(game,this.game.world.centerX,1800,'white_circle'); this.game.time.events.add(1000,function(){this.white_circle.say_hello();},this); //use another prototype with inheritance this.super_white_circle=new _super_sprite(game,this.game.world.centerX,1500,'white_circle','i am superman'); this.game.time.events.add(1500,function(){this.super_white_circle.show_super_power();},this); this.game.time.events.add(1800,function(){this.super_white_circle.say_hello();},this); }, }; //for the next screen => next state, the green_circle move to top and alpha is minder var next_screen = { create: function(){ console.log("next"); this.green_circle = this.add.sprite(this.game.world.centerX,300,'green_circle'); this.green_circle.anchor.setTo(0.5,0.5); this.green_circle.alpha=0.5; this.game.add.existing(this.green_circle); }, }; And finally you could download all the template below(template.zip). To launch the app, go to template/www/index.html or upload the file template.zip in cocoon.io and run it. https://docs.cocoon.io/article/developer-app/ Enjoy ! ps liste of tools i use : image editor => https://www.gimp.org/fr/ vector image => https://inkscape.org/fr/ font to image => http://kvazars.com/littera/ convert music to ogg => https://audio.online-convert.com/fr/convertir-en-ogg reduce png => https://tinypng.com/ particle editor => https://phaser-particle-editor.firebaseapp.com/ text editor the best => https://neovim.io/doc/user/nvim.html plugin with nvim : Plug 'scrooloose/nerdtree' Plug 'morhetz/gruvbox' Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } Plug 'Raimondi/delimitMate' Plug 'rhysd/github-complete.vim' Plug 'easymotion/vim-easymotion' Plug 'terryma/vim-multiple-cursors' Plug 'vim-syntastic/syntastic' Plug 'kien/ctrlp.vim' Plug 'majutsushi/tagbar' Plug 'pangloss/vim-javascript' Plug 'vim-scripts/indenthtml.vim' Plug 'walm/jshint.vim' syntax style correct => http://jshint.com/ colorscheme => https://github.com/joshdick/onedark.vim os : awesome wm on linux with zsh an interesting link to review the basis from javascript in 5 minutes > https://learnxinyminutes.com/docs/javascript/ template.zip
  9. I'm developing a simple game application using BabylonJS engine where I want to move the body parts of a human 3D avatar by using UI controllers. The application runs smoothly on the computer. Then I created an IOS application using phonegap and tried to run it on an Ipad. But it is really slow when it run on the mobile environment. Is there any mechanism to optimize the game to support the mobile environment other than reducing the quality of the 3D model.
  10. Hi, I try to use Multitexture, but I get this log in IOS (Iphone 6) [Warning] setTexturePriority: Image "sAdivinhaAi" was given textureIndex=0 because there is no available texture space (0). (phaser-no-physics.min.js, line 3); [Warning] setTexturePriority: Image "sKeyboard" was given textureIndex=0 because there is no available texture space (-2048). (phaser-no-physics.min.js, line 3); And some textures get framed, taken from another BitmapFont Thansk, preload() { game.load.atlasJSONHash('sAdivinhaAi','sAdivinhaAi.png', 'sAdivinhaAi.json'); game.load.atlasJSONHash('sKeyboard', 'keyboard.png', 'keyboard.json'); // Fontss game.load.bitmapFont('Open', 'fonts/Open.png', 'fonts/Open.fnt'); } create() { var enabled = game.renderer.setTexturePriority(['sAdivinhaAi', 'sKeyboard']); if (enabled) { this.game.cache.getBitmapFont('Open').base.textureIndex = enabled.length + 1; } }
  11. Fluffy Bounce - A unicorn tale

    Hi, your job in fluffy bounce is to save all sweets from falling down. To do so, just move the unicorn to the corresponding point, so that tha sweet can bounce back up. The game was made with HTML5 and compiled to android and ios using Ludei's CocoonIO. Download The game is available for iOS and Android so far. Download it for free below. iTunes: https://goo.gl/JHhUrI Google Play: https://goo.gl/30PM67 HTML5: https://goo.gl/Q4TBc8 Promo Video
  12. Sweet Candy Slide

    Hi! Yesterday my new game Sweet Candy Slide was released. It's made with HTML5 and compiled to Android and iOS using Ludei's CocoonIO. Your job is to collect the sweets coming down from the slide into the accurate basket. You can change the basket by tapping the screen. Any feedback is appreciated! Download Please find the download links below. It's free iTunes: https://goo.gl/CacaQt Google Play: https://goo.gl/T18abp
  13. Browser UI problem on iOS Safari

    Hello, I'm working on a game with Phaser v2.4.6. When I run my game on iOS Safari, UI overlaps game screen.(See the screenshot. And it's totally OK on Android) Is there a way to solve this problem? Here are my settings for the game. Meta tags of html file: <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="chrome=1, IE=9"> <meta name="viewport" content="initial-scale=1 maximum-scale=1 user-scalable=0 minimal-ui shrink-to-fit=no" /> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <meta name="HandheldFriendly" content="true" /> <meta name="full-screen" content="yes"> <meta name="screen-orientation" content="portrait"> <meta name="renderer" content="webkit"> <meta name="force-rendering" content="webkit"> <meta name="format-detection" content="telephone=no"> CSS file: body { background: black; margin: 0px 0px 1px 0px; padding: 0; overflow: hidden; } Initializing Code this.game.scale.pageAlignHorizontally = true; this.game.scale.pageAlignVertically = true; this.game.scale.scaleMode = Phaser.ScaleManager.USER_SCALE; this.game.scale.setMinMax(320, 180); this.game.scale.setGameSize(1480, 860); var xRatio: number = window.innerWidth / 1280; var yRatio: number = window.innerHeight / 720; if ((window.innerWidth / window.innerHeight) >= (1280 / 720)) { this.game.scale.setUserScale(yRatio, yRatio); } else { this.game.scale.setUserScale(xRatio, xRatio); } Thank you for your help in advance
  14. low fps on iphone 6plus

    pixi.js is doing amazingly well for us on all our android and ios devices except iphone 6 plus. First discovered in our own game, later on we found that it can be successfully reproduced using http://www.goodboydigital.com/pixijs/bunnymark/. On most devices, it can keep 60 fps at even 50k bunnies, which is impressive. However, iphone 6 plus seems to be an exception. FPS drops to around 30 with just 3k bunnies, and close to zero with 10k. Anyone has any clue on what's special with iphone 6 plus?
  15. Hello, I have seen some games on Android Play Store that are like 3 or 4MB in size with good performance and others are over 40MB with almost the same amount of graphics contents. Can anyone point me to resource(s) where I can learn about packaging tools and comparisons. I think I need to learn that stuff before planning and starting a project. What do you use yourself for mobile phones? Thanks
  16. Hi guys, I just wanted to show you my latest Phaser app, Pop Pop Bubble Wrap (I know it's simple but I just wanted to get back on track, I haven't coded a Phaser app since the end of 2015). Pop Pop Bubble Wrap is an infinite bubble wrapping popping simulator designed to reduce one' stress and anxiety. You can find it here: iOS: http://apple.co/2uWzooG Google Play: http://bit.ly/2uhg6IJ Website: http://popbub.eu/ #indiedev #indiegame #gamedev #roninmobile Let me know what you think! Regards!
  17. Using Cocoon with Phaser

    I've just made my first builds using Cocoon by Ludei. I've used Phaser/javascript to make the app. I started making some notes to aid me in the future as I don't make many app build builds and I'll have forgotten by the next time I do. I decided to put it here as it may help others. There isn't anything here that isn't available on Cocoon's docs, forums, and a few other places on the web but they are snippets that I wish had been in big red letters when I was working through it. Follow Cocoon's docs. What's written here is essentially the solutions/extra clarity to each sticking point I had. Include this line between the head tags of your index.html. (Code taken from Cocoon's docs) <script src="cordova.js"></script> include this in your body tags. <script type="text/javascript"> document.addEventListener('deviceready', function() console.log("Cordova is initialized and ready!"); }, false); </script> I start my game using the following code in index.html. I tried using the anonymous function as shown in a Phaser Cocoon template but this caused subtle changes to my game. I could not find what the cause was as it seemed utterly unconnected and, although I presume it must be to do with scope, impacted things that were scoped only to a single state. Essentially a Phaser group was no longer updating its children as it was expected to. Be sure to check your game carefully using the developer build as these new bugs can be subtle. I used the following. Uncommenting the first and last lines as in the template still seems to work but introduces those subtle bugs. <script type="text/javascript"> //(function(){ var game = new Phaser.Game(2048, 1536, Phaser.AUTO, 'game'); game.state.add('Boot', BasicGame.Boot); game.state.add('Preloader', BasicGame.Preloader); game.state.add('Game', BasicGame.Game); game.state.add('OtherState', BasicGame.OtherState); game.state.start('Boot'); //})(); </script> Create file structure of js assets src css index.html Zip these files *not* the folder they are in. See zip gotcha below. The bundle id you use in the cocoon builder must not have uppercase letters even though you may have already created a bundleid with apple that you cannot change. Fortunately, if you were stupid enough (me) to have done this a long time ago, it does not seem to matter that they do not match, Apparently Apple, at least, is case insensitive for bundle ids. FOr iOS, if you wish to test the resulting ipa on a device, build it using a development certificate and an adhoc provisioning profile. (Not a development provisioning profile/ensure your devices are added to your dev account before generating the provisioning profile). Just copy the ipa to iTunes and then to the device. Quirks that may be resolved in future updates: The zip file that you create of your project won't work if you use the the native Windows 'send to archive' using winrar results in a zip that does work. The help links accompanying each section are very useful. A minority, however, open in the current window so losing any changes you've made. Best to 'open as new window' just in case. Conclusions I have to say, the service was very good. Aside from the few issues mentioned above it went very smoothly. Uploading a single icon and having the service sort it into the myriad that Apple demands was a bonus time saver. For me, it was a much nicer process than when I used xcode and cordova alone. I've used the free service with a very small app (less than 5mb). I've had to use the webview+ as one section of my app uses the DOM but the performance is still very good. My app has a lot of sprites on screen but they don't update much. Only the zip issue was nearly a showstopper. Whether this is an issue with Microsoft's archiver or Cocoon's reading of the zip I don't know but it was the only problem I found that really needs to be addressed with urgency. The value of Cocoon's service will vary for you, but I'll definitely be considering the paid for version when I'm ready for its extra features.
  18. Hi everyone, We made a simple runner demo with Phaser that works as a base for all our future projects. We are using node modules to make our development easier. We shared it on github so more people can use it and learn from it: https://github.com/Tembac/ChimangoGamesDemo You can try it here: http://chimangogames.com/games/demoRunner/index.html It works great on every device we tested but some people reported that it is running slow on Ipad mini 1gen. We don't have that platform to test so it is hard for us to know how to improve it. Can someone give us tips on how we can improve performance for this demo on that platform? Thanks!
  19. PBR demo

    Hi, is this demo updated to new PBR system? As it have issues on iOS devices and I have similar issues with DDS file in my project on iOS devices. Thanks
  20. Buttons not working on Safari/iOS

    Using Phaser 2.6.2 with Safari on an iPhone, game loads up fine and seems to be running ok but can't get any response out of the buttons.
  21. Hello, I have encountered a problem with iOS, which I haven't been able to address so far and I was wondering, if someone maybe has an idea of what could be going on. I have a cordova-crosswalk Sudoku puzzle game which runs great on a large variety of Android devices, including Samsung Galaxy S2 and Note 1. Apart from bringing groups to top, there is nothing else in the update as the entire game logic revolves around input signals. To my knowledge, the game is decently optimized, given how well it performs on the aforementioned 6-year old devices. The problem comes with iOS. I have tested the iOS build on two different iPads running iOS 9 and an iPhone 6s. They all share sluggish performance. Load times are great, and so are tweened animations, thus FPS is fine. However, a fairly simple request by the user to redraw all cells on the board takes like half a second, effectively freezing the application for the duration of redrawing. The game's renderer is set to WebGL for iOS and Canvas for Android. I've also tried Canvas for iOS, but some textures are missing and the performance is equally sluggish. I have advancedTiming disabled. I've also tried disabling anti-aliasing and lowering the game's resolution, but to no real effect. A colleague of mine suggested the root of the problem could be the WebView used for the project, but I am using WKWebView, so that shouldn't be the issue. One thing I could think of is maybe the large amount of bitmapdatas being created and destroyed, as well as the many sprite.loadTexture calls. However, if that was the case, wouldn't that impact performance on Androdi as well, or am I missing something. Any help would be appreciated! Thanks in advance! Edit: I just tested the app in web. I opened it simultaneously in Safari and Chrome on the same Mac and I performed the same action in exact the same game conditions. Whereas on Chrome in WebGL the operation takes visibly no time to complete (about 50ms, which is almost unnoticeable by the user), on Safari, again in WebGL, it takes about 200-250ms, which is much more visible.
  22. I have a heavy load Babylon scene (all meshes are optimized), which runs sufficiently well on desktops and tablets. The same site is slugish, slow or does not run at all on many mobiles when accesing through the mobiles browsers. I guess this is pretty normal since mobile GPUs are not as powerful as let's say tablets' GPU. So I guess the best thing to do is to test if the site is being accessed by a mobile device and divert the user to a mirror site where the textures are of lesser quality and the mesh sizes are smaller. Is that a correct solution? Is there any other ways of boosting performance Secondly, will wrapping the site into a Mobile app such as Cordova boost performance as compared to accessing the site through the mobiles' browser? Has anybody had experience with Windows apps running Babylon.js and were there any performance gains?
  23. Hey there, let me give you my problem as visual as possible ( attached file ). It seems like safari / fb in app browser does not use my ScaleManager.RESIZE as requested. I had some issues calling my resize function on oriantation change, so i implemented this: window.onresize = function(event) { them.resize(game.width, game.height); }; And finally added this.resize(game.width, game.height); in the end of my create function. But nothing results the correct view in ios safari / fb in app view. Any suggestions? Thanks
  24. ERMO - An Ethereal Puzzle Game

    Hello, I'm developing a relaxing puzzle game, featured by a pleasant aesthetics. SCREENSHOTS You can read more about ERMO on the announcement post. DOWNLOAD Actually, ERMO is in beta status, and you can download it from Google Play | Windows Store | Apple Store. WEB VERSION You can play a mini web version on the Game Page. FOLLOW US Send us any commend and advice. Help us to make a better game. Facebook | Twitter | Web