Leaderboard


Popular Content

Showing most liked content since 01/15/2017 in all areas

  1. Hello, You will find a small demo made with Babylon here: http://www.studio-ramble3d.com/suunto/ and a car configurator: http://www.studio-ramble3d.com/WebGl/bmw/ And some other projects at this address: http://www.studio-ramble3d.com/temps_reel.html#works Thanks Babylon.js
    8 likes
  2. Hello! I am making a step-by-step strategy game (like Fallout tactics, JA2) i uploaded demo on the site. You can test it now. i am working alone and it is my first experience with babylon engine. i am going to make online PvP battles (in the future), but now you can play with bots only. I made some levels and the boss in the end. Now you can: -run on the map, bots will run to you; -change the player (by clicking on the bottom icons); -shot the bots, kill bots (bots have simple ai and can kill you); -use 3 types of weapons (sword, gun and melee); -open the inventory, move items in the inventory; -finish your turn and see enemie's turn; -refresh browser window (server saves the state). -your players can hide in "invisible mode" (invisible icon located near the inventory icon) Some models do not have textures, it is ok. GUI is quite simple. AI is stupid now. (game is using php server for bot's AI calculatiuons, so you can't play offline) Thank you.
    4 likes
  3. Just having a play around with sps, wanted to see if I could come up with a simple collision system from scratch. Only designed to work with spheres. http://www.babylonjs-playground.com/#1C2HFL http://www.babylonjs-playground.com/#1C2HFL#1 less segments http://www.babylonjs-playground.com/#1C2HFL#2 Have a play around with number of particles, size of particles and max speed. Max speed should be less than radius, too big and the particles escape.
    4 likes
  4. I haven’t visited the forum for a week or so and decided to catch up with the latest posts while enjoying a coffee and large bowl of Kelloggs for breakfast. Reading this thread is fascinating. It’s a bit like watching children in the school playground squabbling over how fast and round the ball is and who is contributing to making it even rounder and faster. Interestingly. there is no arguing about whose ball it is – clearly all the kids see it belonging to the community and each cares about making it better for the good of all. It made me smile and then somewhat perplexed. Allow me please, to put my 2 cents worth into it and to give a perspective as to where I am in my Babylon journey and why I am starting to question whether I should be travelling along this road at all. I am a 64 year old retiree looking to spend my time not festering into senior years but keep body mind and soul active and alert in an attempt to stave off the inevitable. I have run a successful business in my time and while having had almost no exposure to 3D, graphics or script writing am no numbty and quite capable of assimilating new skills and learning. I have a new small business interest that is in the early stage of development and I can see how the global move to all things 3D could be of enormous benefit to that business and hence diving headfirst into to Blender/Babylon will fulfil many of the aforementioned objectives I have set myself. So my take on Babylon so far ……………….. I am truly in awe of those who seem to pour all of their precious time and energy into it’s development. I am amazed at what is achieved by dedication and vision. I am inspired by the commitment others make to it’s development and those who diligently scan the forum offering help and guidance to those, like me, with questions and queries. There are of course, a range of competencies of the various users but I suspect this forum is initially used by newbies like me, primarily as a source of demystifying the fog of ignorance and to lay out bit by bit the path of their development. @Deltakosh and @davrous – keep developing away at whatever pace you deem necessary to keep the product at the forefront of the 3D world. I’m sure everyone admires the initial vision you had for Babylon but also your continued dedication and passion for it’s future. Even after all these years and undoubtedly the trials and tribulations, problems and setbacks you have endured along the way your passion is truly inspiring. To everyone else that so willingly contribute to both it’s development and to this forum - thank you. Each contributor to this thread obviously cares about Babylon and it’s future. So as a newbie BOTH to Babylon and Javascript and 3D modelling in general ………………………. @Wingnut – Babylon IS NOT scary but it is very very frustrating, and for me the Achilles Heal is Documentation / Tutorials that are so inadequate for the newbie. I also see that the innovative Playground could be better used as a teaching aid. I won’t attempt to create a long list of what I personally feel are it’s weaknesses here and now – perhaps something for another time. I have a little time on my hands, so would be very happy to play a part in any future project to improve and expand both documentation and tutorials, not of course from a technical angle - I simply don’t have the expertise - but more guiding the writers to simplify and expand on explanation from a newbies viewpoint. Richard C
    4 likes
  5. Time for the weekly update I have been working further towards the goal of having different skills in the game. So now there is casting complete with a cast time, cast bar and an effect on the target of the cast: You can also cancel your casts by moving or pressing esc. Pressing the button again won't cancel it to allow for "button mashing" to recast as fast as possible. When creating the cast bar I noticed that parts of my ui were not behaving correctly when the browser window is resized. Upon investigation and debugging I found the reason: When using canvas2D and placing something on a fullscreen canvas with marginAlignment, never set x or y on that object, as this will disable correct realignment on window size change. For anyone curious here is a playground for the heal effect on the target: http://babylonjs-playground.com/#1SKP0W#0 All that's needed to get the final effect is setting a circle texture on the planes. Yesterday I was in the mood to try a bit of modelling in blender, here is the new enemy I have created: It's some kind of scopiony monster that will roam the world and sting anyone who comes too close. I decided to name them "Scry".
    3 likes
  6. 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
    3 likes
  7. Eh, my mistake here Sorry dude, I'll post a new screenshot in few minutes Here we are :
    3 likes
  8. Are people expecting to learn a powerful framework in a day? I know every powerful framework I've used required days of tutorials, sifting through forum posts and GIT issues. If BJS is scary try using openCV :/
    3 likes
  9. http://learningbabylonjs.com/ https://www.packtpub.com/game-development/babylonjs-essentials
    3 likes
  10. sorry, I should be more didactic :-) Well, it's a good thing to remember that : Javascript is monothreaded and the variable scope is the function in what it is created. So if some variables are created each call to a function, they have to be cleared by the garbage collector once this function is over. And the garbage collector will use the same global javascript process than your code, so some precious CPU cycles that you would prefer to keep for yourself. Thus, in general, we try to avoid to create new objects (vector3, arrays, etc) in the render loop, what is in BJS a call to the function registred with registerBeforeRender() every 16 ms (60 fps) to keep the allocated memory as constant as possible, so to keep the GC far away our little business
    2 likes
  11. You may take advantage of graphic hardware supported textures on ANY chip architecture! Most of my effort went into adding formal documentation, so I will not repeat my self here. The page has not shown up yet. Will update with link when it does. Upshot is in order to take advantage of compressed textures, you have to know which compressed texture format(s) your gpu supports. If you pick one, all other hardware will not run your scene. Along the way of putting this in, a fall back was added for .DDS files with Direct X, dxt, textures, when not running on Windows browsers. This is much better than that though. For testing purposes, I made a version of the Mansion demo, where based on your hardware, a different compressed format is used. There is also a separate page where this was not enabled. I did not see any performance difference between these two on my hardware. Though the scene uses 105 textures, almost all are much smaller than 2k. Do to textures being multi-dimensional, space requirements explode as textures get bigger (up to 4k). A scene with a bunch of bigger textures would probably show much more of a difference. Enjoy. EDIT: Here is the url as viewed from Github (hope formatting will be same on BJS doc site) https://github.com/BabylonJS/Documentation/blob/master/content/tutorials/02_Mid_Level/Multi-Platform_Compressed_Textures.md
    2 likes
  12. @iTekVR Yes, all you're doing is changing the position & angle of the camera, it isn't actually changing the axis it rotates around. Wouldn't it be easier to do something like this; http://www.babylonjs-playground.com/#2EE9UD#13
    2 likes
  13. I can't see why anyone would use canvas for UI, when they could just as easily use plain HTML/CSS.
    2 likes
  14. Hi Folks, I'm proud to introduce a brand new feature already integrated in the BJS core : FacetData This feature provides some methods to access and to play with mesh facets. Facets are the elementary triangles drawn by WebGL. We call them "facets" here in order to be not confused with the term "faces" : a box has 6 squared planar faces but each face is drawn with 2 facets (triangles). In bulk, you've got : mesh.updateFacetData(); // enables the feature or recompute things mesh.disableFacetData(); // disables it mesh.isFacetDataEnabled; // boolean, as it says ... mesh.facetNb; // number of facets mesh.getFacetPosition(i); // gives the world position of the i-th facet mesh.getFacetNormal(i); // gives the world normal values of the i-th facet mesh.getClosestFacetAtCoordinates(x,y,z); // gives the index of the closest facet to (x,y,z) in the world // etc ... and plenty of other fun tools to play with ! Please have a read at the doc (it should be in the section "Advanced Tutorials" of the doc site as soon as Monday the 23rd of January... if @RaananW accepts my bribes) and at the provided PG examples. For those who cares, all the facet indexes here are the same than the ones used by the object PickingInfo or the pickable SPS, called there faceId. So you can easily mix all these different features. Example : to get the normal of the facet from a picked point on a mesh. Have fun
    2 likes
  15. I did it!!! http://babylonjs-playground.azurewebsites.net/#11OMIX#19 Just to make sure, WASD and Arrows, have fun!
    2 likes
  16. New feature (PR waiting for approval) : Console tab ! With this new tab, you can have access to console output and Babylon logs (used with BABYLON.Tools.Log).
    2 likes
  17. @royibernthal the feature's done, the PG is updated, you can find a sample here: http://babylonjs-playground.com/#1KYG17#1 I hope it fits your needs
    2 likes
  18. 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);
    2 likes
  19. Hi all, I think I found a solution in loading google fonts from your app instead of loading them with the google api. It is inportant to embed your fonts if you want to build native apps. So you can make shure your app works when offline. But using the @font-face in css you still have the problem that your font is not loaded immediatly and text in phaser will be rendered in the default font. Problem description: You load a font with @font-face or google api and you have to trigger a time-out to make shure the font is loaded before you add text in phaser. Using the google api you can write this like phaser.io example http://phaser.io/examples/v2/text/google-webfonts Nice but you can't use a time out when you load your font localy. (maybe a font you created on your own or paid for) There are things like font.js that try to do this but I think it is hard to implement. My solution Get a font Download a .ttf font from google or another place. (not shure if it will work with other types than ttf.) Go to fontsquirrel webfont creator http://www.fontsquirrel.com/tools/webfont-generator upload all fonts to your assets folder (or any other folder you like.) Use the @font-face that was given to you by fontsquirrel so you embed all font types to support almost every browser. Adjust the font-face sources so your path of the font file is set to the correct folder (assets or your folder) Load the font in your html file Put the your @font-face into the header tags of your index file between <style></style> tags. In your body the first element you create is a div with these settings: <div style="font-family:YourFontName; position:absolute; left:-10000px">Font Loaded</div> That is it. Phaser will use this font immediatly. no waiting times. This is becouse the div already loaded the font before phaser is loaded. Just make shure phaser is loaded after document.load. Or in JQuery terms. load it in the function $(function() {}); Kind regards. Lord Garfield
    2 likes
  20. It checks if the player's body is touching down. Glad I could help.
    2 likes
  21. @Wingnut: your wish is my command Wingy Gryff's Desk Maneuver It uses the Action Manager to open and close things - but the pivot points have been set in Blender. Does not use an invisible hinge - although that is another option. Hope it helps cheers, gryff
    2 likes
  22. Other option: http://www.babylonjs-playground.com/#GZ1YB I changed the updatePosition a bit to void the Y component of the camera direction
    2 likes
  23. Note that while that line errors using `let`, it would not error when using `var` due to hoisting. Also, JavaScript is a function-scoped language. Only `let` and `const` are block-scoped. Catching errors like the one in this post are why I usually recommend using let/const whenever possible. Hosting is dumb.
    2 likes
  24. Hi @thiendv, good to see you again. @dbawel is correct, when no pivot point adjusting has been done. You can make an invisible "hinge" object, parent the door to it, and then spin the hinge. I think it's called the "Gryff's Desk Maneuver"... perhaps @gryff will treat us to a URL reminder. BUT, your door already has its pivot point set perfectly (you did it in the modeling, great!) So... you can use a very handy feature of our ActionManager ... called "chained actions" (the wonderful .then feature). Deltakosh gives a couple "chained actions" examples in his ActionManager docs. I used the example shown just before the "Sprites" section. Let's try it on your door: http://www.babylonjs-playground.com/#BUWYF#49 It all happens in lines 11-15. I think it works EXCELLENT. Click the door, click it again, and again, and again. Sweet! It even has an automatic pointer-change on mouseOver the door. Too fun, and SUPER easy, thanks to the ActionManager and its genius inventor. Hope this helps. I think it will. Are you going to do sliding drawers, too? You would do them the same way, except use .position for action-target, and not .rotation. You are becoming an "interact with scene" EXPERT, @thiendv! Soon, you can write interaction book for us. (1000th reply in TWC. yay!)
    2 likes
  25. Hello Everybody, I have just finished and am releasing a small UI plugin for Phaser, it is basically a collection of premade tweens in an easy to use and simple interface with set default parameters(which of course can be overwritten). This is my first time releasing anything to the community and all feedback is greatly appreciated. I have put together a site for the plugin found here, there you will find demos of each tween animation I have included into the project. The entire project along with instructions on how to include and use it can be found on github here. Once again I hope this will be useful to the community as a quick way to either prototype games, or as a tool to quickly add many different tweens with different properties into your project. Thank you all for reading and checking it out and please let me know what you all think, if there are any bugs, or anything you believe should be included in the project. Happy Coding, Get_Bentley
    2 likes
  26. @Rolento Hi, the mostlikely reason is missing pointer event support try this, it might help, it might not // Check pointer support var pPrefix = (!window.PointerEvent && !navigator.pointerEnabled ? "mouse" : "pointer"); //Add event listener; renderCanvas.addEventListener(pPrefix + "down", pointerDownFunc); //.. function to call on pointerdown function pointerDownFunc(evt){ //do something .. evt is the pointer event. } //The reason i use a seperate function is that this way i can remove the eventlistener again if/when it's no longer needed, from outside the function itself. E.g; renderCanvas.removeEventListener(pPrefix + "down", pointerDownFunc);
    2 likes
  27. Ah! Thank yo *so* much for that hint! Yes, that should work. I originally dismissed the dynamic textures because I was so fixed on processing the image first, and then assigning them to the texture. This way I first generate the texture object, access the context and process directly into the texture. Brilliant, saves a couple of copy operations as well. Cheer, -ch
    2 likes
  28. Hi BabylonJS community, here is another update for my challange project: Let's start with a bit of deployment - the game can't be run locally forever, or no one will ever see it: So I want my game to run on a vserver using apache & node. NodeJS will only handle the websocket request. All pages, scripts and resources will be served by the apache. Just as a challange (and maybe to allow it to work with some firewalls) websockets and websever should both run on port 80. I finally found the magic apache 2.4 configuration: RewriteEngine On RewriteCond %{HTTP:Upgrade} =websocket [NC] RewriteRule /(.*) ws://localhost:3001/$1 [P,L] This allows the apache to server pages normally on port 80 but if an Upgrade to websocket-mode is received everything gets routed internally to port 3001. So my gameserver in node is running internally on port 3001. To work this requires apache 2.4 and mod_proxy and mod_proxy_wstunnel. (For debian users this means you need "jessie", wheezy's apache is not up to date enough.) In the last update I had a hand coded 20 x 10 array holding indexes for map data - this works, but I want to be able to edit the map in a nice way. So now the map can be edited in free map editor "tiled". Natively tiled stores the created maps in ".tmx" files. The content is actually a pretty nice xml, so you I can access it this way in my nodeJS server: Step 1: Get the correct module to read xml files: import xml2js = require('xml2js'); Step 2: Use the module to read the tiled map and get to the map info & map data: let parser = new xml2js.Parser(); fs.readFile(__dirname + '/data/world.tmx', function(err, data) { parser.parseString((<any>data), function (err, result) { let width = result.map.$.width; let height = result.map.$.height; let data =result.map.layer[0].data[0]._; … } That was painless (worst part finding the typescript definitions for the xml2js. I can’t seem to find anything on the DefinitelyTyped github repo, I blame github user interface...). The data is a csv representation of the map tiles. You can choose csv in tiled when creating the new map, parsing this into an number array in JS was no problem. As a bonus I now use tiled not only to define the map but also place enemies and the player spawn point. I do this using an object layer in the tiled map and when loading the map the name of the object defines what's happening, the coordinates of the object define where. For example the big "slime" boxes mean, that in the center of the box a slime is spawned and the box area is the area the slime it roams. Here is what this looks like in tiled: The upper left part of this map as it looks in game: I also tested if the game runs in all browsers that are currently installed on my system, so I had a big in game meeting with myself: The result is amazing, the performance seems to differ a bit, but it runs in all four! - big thanks to the babylonJS team And the latest addition to the game is finally the skill bar, you can already see it in the browser screenshots above. It's implemented using canvas2D, the icons are 50x50 pixels and drawn in inkscape - I was surprised how hard it is to come up with icons, let alone make them not ugly. The skills are clickable and you can also use them by pressing the corresponding button, clicking and keypresses highlight the used skill. All done with canvas2D. The features are: The buttons are clickable by mouse and also by keybind. The keybind is indicated on the button. Cooldowns are visualized by graying out part of the button. Activating a button highlights it as feedback to the user. The skills can have a cooldowns, but they don’t have to. Which skills are available and which cooldown they have (if any) is all decided by the server. In this gif you see the test-skill "wave" with a cooldown, and then the attack ability without a cooldown: Okay, that is it for this update. I am still having fun with the project and at this point I am sure that by the end of the challenge there will be a playable result for everyone to try out. How "deep" the game play will be is a question of available time and motivation until the end of February. Also: any feedback is very welcome!
    2 likes
  29. 'Twas the frame beforeRender, and all through the scene, Not a vertex was indexed, the canvas was clean. Observers were hung on event loops with care, In hopes that St. Deltakosh... soon would grow hair. The cameras were nestled on Y-offset peds, The lights well-positioned in greens blues and reds. A box and a sphere and a tube with a cap, A torus, a plane, and a fresh-baked light map. When out of the engine arose such a clatter, It woke-up young Davrous to check on the matter. Away to the Windows... he flew in a flash, To resize the viewport and refresh the cache. The specular shined on a heightMap of snow, The includedMeshes were starting to show. When what to his wondering eyes did appear, A Wingy-made bobsled and 12-pack of beer. The BJS framework so lively and quick, Was rendering elves each with onPointer pick. They all went to work wearing new Christmas formals, Connecting the verts and adjusting the normals. A beautiful pano on isBackground Layer, And cool twinkle lights... it just couldn't be gayer. This holiday playground was now well-awake, So Davrous relaxed with a nice Christmas cake. More rapid than beagles the elves made their fame, They yelled at observers, and called them by name: "OnPointer, onReady, onActivate true." "onAfterUnbind, onBeforeRender, too!" The scene came to life at a fine framerate speed, The particle snows had a great random seed. The post-process pipe added gorgeous effects, The boys at Three JS were all nervous wrecks. Ol' Davrous and DK and all of the puppies, Were dancing and singing like freshly-fed Guppies. And Davrous, he smiled and he started to sing... “Merry Christmas to all, and to all a good ping!” It's party day! Nov 1 - The Wingnut Chronicles reaches 50,000 views, Dec 9 - Wingnut reaches 3 yrs on-forum, Dec 13 - The Wingnut Chronicles - 3 years on-forum, Dec 15 - Wingnut - 59 years of continuous air-usage (piss-poor resources management, eh?)
    2 likes
  30. Thank you! It is a multiplayer idle game - players battle against other players (mini-games) to earn permanent and temporary bonuses.
    1 like
  31. You only get the confirmation message you're looking for once you've created a renderer
    1 like
  32. I believe some of your pause maybe due to uploading textures to the GPU for the first time. You may want give the prepare plugin a go http://pixijs.download/v4.3.4/docs/PIXI.BasePrepare.html renderer.plugins.prepare.upload(textureOrContainer); Upload all of your textures after loading has ended, but before you've hidden the loading screen.
    1 like
  33. Int32Array,Uint32Array,Float32Array,etc are all backed by a slab of bytes in memory (you can create an Uint32Array object that refers to the same memory as another Int32Array). OpenGL (that WebGL is ultimately based on and mostly implemented upon with the exception of libangle) is also a C api meaning that it doesn't really care about the type of data and will just consume it. If you fed data you've written through a Float32Array you'd get errornous results (or more probably nothing since GL is a tad bad at reporting errors). In machine representation however Int32 and Uint32 are identical as long as the value is below 2147483648 (=2^31), the representations only different when dealing with numbers that has the highest bit set (the sign bit) but for all practical purposes you're not going to be dealing with meshes with over 2 billion vertices for the forseeable future.
    1 like
  34. Hi, unfortunately there is no option from UI to change all selected sprites. If you feel like hacking - you can select sprites and run from browsers console: map.selector.forEach(s => {s.anchorX = 0.5; s.anchorY = 0.5})
    1 like
  35. This is awesome!! Why isn't this post sticky? All other solutions are bound to google web fonts which enforces your user to have internet connection on, which is imo not a good solution.
    1 like
  36. Hello, The best thing to do in such case is create a playground that reproduces the issue. By the way, you can set levelVisible = false to hide a given primitive, setting its opacity to 0 will unfortunately...still render it... while levelVisible won't.
    1 like
  37. Try with a canvas renderer, and test some other benchmarks, like PIXI bunnymark.
    1 like
  38. @PrimeArwyn this article is a good start: https://www.html5rocks.com/en/tutorials/canvas/texteffects/
    1 like
  39. might be that your sprites are not aligned properly. I would turn on debugging for such. You can see a demo of debugging in the phaser examples. Take a screenshot with debugging on which would be more helpful
    1 like
  40. I feel he doesnt understand what json actually is and has put his code into the json and not the object data which is why I have explained your original post in a bit more detail. I also formatted it for es5 vs es6
    1 like
  41. Hey thanks for the reply count doom. It was the movement from using: if (game.input.keyboard.isDown(Phaser.Keyboard.LEFT)) { player.x -= 2; i had to change it too: if (cursors.left.isDown) { player.body.velocity.x = -150; I also took your advice and changed it to 3000. Now the collision with the tiles work perfectly. Thank you again for the reply!
    1 like
  42. I have same issue. A quick workaround worked in my case: Detect Mali-400 function MaliDetect() { var canv = document.createElement('canvas'); canv.setAttribute("width", "1"); canv.setAttribute("height", "1"); document.body.appendChild(canv); var canvas = document.getElementsByTagName('canvas'); var gl = canvas[0].getContext('webgl', { stencil: true }); canvas[0].parentNode.removeChild(canvas[0]); if (!gl) return false; var dbgRenderInfo = gl.getExtension("WEBGL_debug_renderer_info"); var renderer; if (dbgRenderInfo != null) renderer = gl.getParameter(dbgRenderInfo.UNMASKED_RENDERER_WEBGL); else return false; var n = renderer.search("Mali-400"); if (n != -1) return true; else return false; } For more information see https://github.com/AnalyticalGraphicsInc/webglreport Create game: if (MaliDetect()) { this.game = new Phaser.Game(480, 720, Phaser.CANVAS, '', { preload: this.preload, create: this.create, update: this.update, render: this.render }); } else { this.game = new Phaser.Game(480, 720, Phaser.AUTO, '', { preload: this.preload, create: this.create, update: this.update, render: this.render }); } I am new to Javascript. Perhaps you can make a more elegant solution.
    1 like
  43. Did you read the docs? You can modify `speed` to get different rates. http://pixijs.download/release/docs/PIXI.ticker.Ticker.html#speed
    1 like
  44. Hi G-man! Umm... I think BJS should "offer" Blender information... when it involves the reasons that imports from Blender... do unexpected things in BJS. (Common Blender importing issues). Hi Oz! Answer: maybe. But we don't want them saying "uh, no thank you" on the first day, or 10th day, or ever. People have varying amounts of time... to work-on/play-with things. IF that thing has a high-enjoyment factor, then more time is allocated, and that time is cherished and sought. Fun work. If that "time" has only difficult reading and repeated coding snags... well, you know. It's a grind. Yes, they are expecting a decent scene and basic framework understanding... in a day. VERY basic understanding... esp if no openGL, math, or js background.
    1 like
  45. 1 like
  46. http://phaser.io/docs/2.6.2/Phaser.Loader.html#spritesheet As per the documentation, those two parameters are: frameWidth number Width in pixels of a single frame in the sprite sheet. frameHeight number Height in pixels of a single frame in the sprite sheet.
    1 like
  47. Hi arek3d, welcome to the forum. Let's ping mister @Temechon and see if he'll offer advice. https://github.com/BabylonJS/Babylon.js/blob/master/src/Tools/babylon.assetsManager.ts#L314 I see no mention in here... about "progress", so, I don't think the DefaultLoadingScreen has a progress feature available. But I'm no expert. You COULD build your own loading screen, and tell users how many assetsManager tasks still remain unfinished (by counting-down a global number... with each task.onSuccess() callback.) Each task's onSuccess function... updates the "count-down" on your custom loading screen. *shrug*. It's not byte-based progress. It's "How many assetsManager tasks still remain". Just an idea. Likely not a very good one. Hopefully, others will comment.
    1 like
  48. Unity can export to html5. But the game takes a while to load. It is very heavy. There are other crossplateform engines : openfl (haxe), libgdx (java), ... You can even developp with a canvas engine (pixijs, phaser, ...) and encapsulate your game in cocoonjs to export it on mobile. But I don't advise you to use unity for html5 plateform for the moment.
    1 like
  49. Hey there, http://www.pandajs.net/demos/interactivity.html This tutorial I found helped me out greatly with creating objects. Using a class to describe them., and then you call the class with a loop. Simply tell the loop how many cycles to perform (or enemies to create). If you need more than just a heads up, I can help you modify the code. Message me back
    1 like
  50. Hi, from what i read from the phaser documentation (http://phaser.io/docs/Phaser.Animation.html/Phaser.AnimationManager.html#paused) the answer for your problem is actually simple: to freeze the animation, use: player.animations.paused = true;to resume, use: player.animations.paused = false;hope this help
    1 like