Leaderboard


Popular Content

Showing most liked content since 11/20/2016 in all areas

  1. 20 points
    Hello everybody, As you surely noticed it, the old debug layer has been reworked in something bigger... called the "inspector". This tool has the goal to become the 'F12 tool' of our beloved engine, without replacing the official editor. It's dedicated to HELP the developer by providing some debug features. You will find almost every feature from the debug layer, and much more: display shaders code, display textures used on materials, check stats, enable lights... All properties are refreshed almost in real time (actually every 200ms for performances reasons). AND you can update any value (among strings, numbers and booleans) by clicking on it and pressing 'enter'. Sure, there is still work to do and bugs to fix. But in the current state, we decided that it is already more useful than the debug layer was. I'm still working hard on it, don't worry ! You can also help me a lot by reporting every kind of bugs in this thread and even contribute to its development. In the next days, I'll first fix all the annoying display and integration bugs. Then, I'll work on : - Restore clickables labels from the old debug layer (for Dad72 and DK ) - Update the documentation (of course) - How to contribute (add a new tab, add a new tool, change panel color theme...) - Add new features ! (Cameras, particles, textures, audio, animations...) - <insert your suggestion here> I'm having a lot of fun to work on this, and I really hope you will find it as useful as I do ! Cheers
  2. 20 points
    Deltakosh

    Babylon.js 2.5

    We're done my friends!!! Thank to this wonderful community we managed to close and ship v2.5: https://github.com/BabylonJS/Babylon.js/releases/tag/v2.5.0 Here is the announcement tweet: Please RT
  3. 19 points
    Temechon

    New Playground features

    Hello community! As you know, the playground is a very valuable tool if you want to try, experiment and share your Babylon scenes. You can even search for a specific word in the whole snippet database from the documentation website, that make it easy to find and discover a new snippet. And because we know it's a very powerful tool, we worked hard last month with @Deltakosh on a better user experience when searching for playground. From now on, when saving a new playground, you'll have to fill several information: a title, a description and some tags. It will be asked only once at the playground creation, and all next iterations of this PG will share these metadata. You won't be able to redefine it afterwards. For all PG that don't have any metadata, you will be asked to fill it only once. The search has also been improved. You can search for a word in the PG code like usual, but you can also search for a word into a PG title/description, or a specific tag. The overall quality of search had also been improved (ou can now search with several words, that will return all PG that contain these words, and several bugs have been fixed). All this work couldn't have been done without @Jaskar and @DeathSoul who wrote all the code (back and front-end), and @Deltakosh of course So go try it : http://doc.babylonjs.com/playground Please helps us by reporting all bugs you can have in this thread Thank you very much !!
  4. 19 points
    Deltakosh

    Announcing Babylon.js v3.0

    We did it again Congrats to all our great community, we've just shipped Babylon.js v3.0: https://github.com/BabylonJS/Babylon.js/releases/tag/v3.0.0 I hope you'll like it! And the blog post: https://github.com/BabylonJS/Babylon.js/releases/tag/v3.0.7
  5. 18 points
    Deltakosh

    Road to Babylon.js v3.0

    Hello all, next version will certainly be 3.0 depending on my progress regarding WebGL2.0 support I'll use this thread to track progress. Done so far: WebGL 2.0 context initialization Shaders migration Texture LOD: used by PBR shader Depth Frag: Used by logarithmic depth buffer Vertex Array objects: Used to speed up vertex buffer submission Standard derivatives: Used by bump Multisample Rendertarget: Used to apply antialiasing to render targets (mirrors for instance) Uniform buffer objects: Used to speed GPU communication up Multiple render targets: Used to render to multiple textures simulteanously I also started a documentation page to better explain every feature: http://doc.babylonjs.com/overviews/webgl2
  6. 17 points
    Deltakosh

    Announcing Babylon.GUI

    Hey all, I'm really pleased to announce the availability of Babylon.GUI. http://doc.babylonjs.com/overviews/gui In a nutshell, Babylon.GUI is a GUI layer which can be used inside your scene. It is an alternative to DOM or Canvas2D. Please try it and give me any feedback
  7. 17 points
    Hello team! Since the very first version of Babylon.js materials are working in a pull mode. This means that every time a mesh needs to be rendered, its material has to ask the engine about a lot of information in order to compile the best shader possible for the given mesh. For instance, here is an incomplete list of states required to compile a shader: - Lights affecting the mesh (taking in account inclusion and exclusion lists and masks) - Textures and channels (including associated parameters like parallax for bump or reflection mode for reflections) - Fog, clip planes, point rendering or wireframe - Mesh attributes (does the mesh contains UV? tangent? colors?) This leads to a pretty expensive function named Material.isReady. Due to the previous reasons, the function is really CPU intensive. Here is for instance the profile of the "materials" playground: The highlighted functions are part of the IsReady root function. The scene is extremely simple and you can see that the isReady is taking almost 13% of the CPU time While it was ok because of the complexity of the task assigned to this function, I decided recently to change it to a clever model: The push mode. When a material is in this mode, instead of asking on every frame for every state, the states will push updates to the material when they change. Obviously the performance boost is immense. Look at the same profile with the new mode: We are now at 2.51%. On bigger scene like Sponza, this function could take up to 30%: And now with the new mechanism: ONLY 3%!!!!!!!!!! But obviously with such a big change, there will be some bugs.. So please use this thread to report any issue with StandardMaterial. If everything is fine, I'll update the PBR to push mode in one or two weeks. Associated PR: https://github.com/BabylonJS/Babylon.js/pull/1959/
  8. 16 points
    Deltakosh

    Build your own Babylon.js

    Hello team! I'm glad to announce the availability of Version Builder: http://www.babylonjs.com/versionBuilder/ Now that we have a lot of satellite services, you can use this page to build a custom merged version of babylon.js!
  9. 14 points
    Deltakosh

    Help wanted!

    Hey team! we were clearly heads down working on 3.0. Now that we successfully shipped it I would like to get the help of our wonderful community. I would like to improve the content of our documentation. If you go there: https://github.com/BabylonJS/Documentation/issues you will find a list of issues related to the doc. There are 2 kinds of issues: Missing documentation: These issues are used to flag a missing tutorial / documentation / overview Incomplete documentation: These issues flag articles / topics where we consider we should add more info If you want to help, you can: Create more issues to help identify what is missing / incomplete / unclear / using bad english / whatever could be wrong Take one issue and fix it: My favorite one Pick an issue, read this small tutorial and contribute to the best doc ever made for a 3d engine One of the goal of the 3.1 will be to add helpers everywhere to make common tasks even simpler. And I'm convinced that doc will be an important part of this simplification as well. Thanks a LOT
  10. 14 points
    Sebavan

    Webgl Spector

    Hello, I am happy to announce the release of my last Dev: http://spector.babylonjs.com This will help any of you willing to troubleshoot or understand what are the webgl commands generated by the engine ! Have fun,
  11. 14 points
    Hello team! as part of 3.0 version, I'm proud to announce the availability of ESM shadows (Exponential Shadow Maps). I updated the great doc done by @Wingnut to take this in account: http://doc.babylonjs.com/tutorials/shadows VSM (variance shadow maps) were removed (to keep backward compatibility the properties are still here but they will trigger a warning in the console). ESM are great because they can be blurred. Here is an example of all kind of shadows we have now: http://www.babylonjs-playground.com/#20FROK#2 ESM are great because they allow you to deal with selfshadowing: http://www.babylonjs-playground.com/#1CXNXC#3 Hope you like it!
  12. 14 points
    Deltakosh

    Happy Christmas!

    Hello my beloved community! It has been a really cool year for our little babylon.js! We (as a community) did so many improvements to the engine, the doc, the website that I can't count them I wanted to wish a WONDERFUL CHRISTMAS to you and your families. I won't be too much available until early January as this is the first Christmas for my daughter (the first where she can understand what is happening). But I'm not worried as I know that we have a team of extraordinary people dedicating time to help each others. Please take some time to spend time with your friends and family. I'll try to swing by sometimes but not like right now (my current pace is once or twice a day :)).+ PS: If you really need my help, just wait for early January and ping me on your topic!
  13. 14 points
    gryff

    A Ghost of Christmas Past

    I had hoped to create a brand new Babylon Christmas Card - but real life gets in the way of virtual Reality So I decided to bring back my first Christmas effort with a few changes - I know @dbawel likes it. Basically some added geometry - a cottage, a sign and chimneys. The chimneys gave me the opportunity to experiment with particles - in addition to the particle effect I stole from @Wingnut; a long time ago. I had to create 5 textures, and I also tweaked the terrain. Anyway here it is: A Babylon Christmas Card You can also change the volume of the music Up or Down with the "u" and "d" keys, and if you, for what ever reason, would rather have no music, it can be toggled On/Off by hitting the "o" key. The camera speed can be made slower or faster with the "s" or "f" keys. Have fun. Ohh and the sign - do whatever you can do Nadolig Llawen, Merry Christmas, Joyeux Noel, Feliz Navidad, Frohe Weihnachten, to one and all. Next year, hopefully a new Village cheers, gryff
  14. 14 points
    Hi, One of our intern in Microsoft France and now core member of the team, @Luaacro, has been working with us building an online editor for Babylon.js: http://editor.babylonjs.com. In order to showcase what you could do with it, he decided to build a complete impressive scene: http://www.babylonjs.com/demos/ruins Yes, it has been entirely built with our editor! It uses a lot of high end effects we have in the engine like a standard pipeline, dynamic shadow generators and particles. He has written a small article about it: https://medium.com/babylon-js/babylon-js-editor-demo-is-now-live-a8fc217a6324#.wp85aq2kx As the scene could be a bit hard to render on every machine (you need a GTX970+ to render it without issue), I’ve added some code to monitor performance based on the last 60 frames rendered. If the fps is too low, I’m: - First lowering the size of the render canvas to 66% and removing the standard pipeline (post processes cost a lot of perf) - Lowering the size of the render canvas to 50% if it’s not enough If fps goes up again, I’m doing the opposite but will never re-enable the standard pipeline. It means that if your machine is able to render the complete demo in full resolution from the first frame to the last one, it has a great GPU and/or a great browser. Enjoy! David
  15. 13 points
    javalang

    PBR composer ( node based )

    Hello, I'm happy to announce that the node based PBR Composer is on the road. What is PBR Composer ? In short, PBR Composer helps you design and visualize a PBR Material in an efficient way. Parameterizing takes place by dragging and connecting specific nodes from a palette (typically textures, colors and uv-coordinates) to the output node, which represents the PBR Material. A preview panel lets you see all changes in realtime and the corresponding js-sourcecode will be updated as well. The resulting graph can be downloaded in JSON format for later use. Images can be inserted via preview fileselect dialog and/or Drag&Drop, in latter case the images will be transformed to embedded data-urls so the javascript functions can be reused without dependencies. Different meshes and environment-maps are available to see the material under different geometry and reflective light conditions. Motivation for PBR Composer: Due to the complexity of the PBR material (soo many combinations with soo much amazing effects) there is a need of having realtime feedback reflecting the changing parameters. Other than some editor already out using a bunch of parameters in confusing properties panels, nodes lets you to concentrate only on the parameters you need giving a nice overview in form of a graph. Nodes can also be shared and avoids therfore redundancy in the sourcecode. The goal is/was to make the user interface as efficient as possible. The idea for realizing the PBR Composer was inspired from Shader Editor. Technical details: PBR Composer is a web application based on dat.gui, w2ui, litegraph.js and of course on BABYLON.js TODO: At the moment, PBR Composer is customized for PBR-Glossy materials. The current activity is realizing a function for switching between Glossy and Metallic paradigms. Any questions? Let me know... PS: PBR Composer is still in alpha stage but will be deployed in beta stage soon Here it is te demo ...
  16. 13 points
    rich

    Forum Downtime - The forum is moving

    Hi all, Yesterday, starting at 4pm GMT, the forum suffered a comprehensive, well-coordinated DDoS attack. This was a properly distributed attack, meant to disable the site (which it did), not just some script kiddies playing around. We had thousands of open connections blocking ports and exhausting our httpd service, with sustained inbound traffic floods of 20GB per second (the equivalent of saturating a dedicated 40Mbps T3 line). I spent the entire night working diligently with my host to resolve the problem. As a side effect, the attack also took down other sites hosted on the same server, including the Phaser site. The target, however, was the forum. We finally managed to block the attack, but there were 12 hours of downtime and ripples of it carrying on throughout today. It cost me a lot of time, money, and effort. Although no-one has claimed to be responsible we have evidence indicating it was related to a previous altercation that took place on the forum. As a result, several things are happening: 1) The forum is moving to a different host. It will be hosted directly by Invision, the company who make the forum software. They are in the process of transferring the forum, and in approximately 6 hours time it will be offline as the transfer takes place. They will retain all member accounts, forum posts and file uploads. Custom plugins will also be kept. My thanks to the Babylon.js team to helping fund this move. 2) The Chat room has been disabled, and will not be bought back after the move. 3) The forum will be offline as the domain name is transferred over the course of this weekend. Honestly, I'd just wait until Monday and come back then. 4) I am personally taking the decision to remove a member of the community a lot of you may know: TrueValhala. To be clear, I do not believe he is responsible for orchestrating the DDoS at all. However, he constantly clashes with other forum members (some of it warranted, some most certainly not), and I am regularly receiving complaints to the point where I cannot ignore them any longer. This DDoS attack was the final straw. I've given this situation a lot of thought, and for many years I have let his actions slide because it was always just a form of 'passive aggressiveness' and over-reaction, rather than anything malicious, and sometimes it was justified too (he receives his own fair share of vitriol now and again.) If you are one of those who has attacked him in the past, perhaps you helped contribute to his polemical responses? But I've moderated forums for over 20 years now, and can confidently say this is one is the most helpful and friendliest ones I've had the pleasure to be part of, and I'm not willing to let it be negatively impacted like this any longer. I'm genuinely upset it had to come to down to this. I know a lot of you follow TV and admire his work, and personally, I admire greatly what he has achieved with html5 on a business level. I'm only writing about him here because I know a lot of you will ask why he is 'banned', I didn't wish to single him out, but he's a prominent part of the community, and you don't just remove that without justifying it first. I genuinely wish him the best for the future and hope he can find another forum to share his insights on, for when you strip away the scathing elements, what is left is usually really informative. You're welcome to email me directly about any of this.
  17. 13 points
    ozRocker

    3D scan using a single iPhone only

    Most people here know that I have an 82 DSLR cammera scanning rig. I use this specifically for scanning in people at the shortest time possible (which is currently 1/300th of a second). However, such a complex rig is not required for scanning objects. You don't even need a DSLR camera or a handheld scanner. In this demo I used a simple iPhone 6+ and walked around a statue. We took 89 photos from different angles. My web designer had to stand on my shoulders for the top row of photos. The bust needed to have smooth shading but the base has sharp edges which I needed to preserve so I wanted flat shading for that. With babylon.js you can't pick and choose which edges to smooth. In order to pull this off I made the base and bust 2 separate meshes and turned off smooth shading on the base. It still doesn't look perfect, but it was much better than everything smoothed or everything flat. This is my first test scanning with an iPhone and I usually scan people so this is a rough demo. www.punkoffice.com/statue
  18. 13 points
    Wingnut

    The Wingnut Chronicles

    '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?)
  19. 12 points
    Deltakosh

    Introducing morph targets

    Hey team!!! I'm pleased to announce the availability of morph targets! Please read more here:http://doc.babylonjs.com/tutorials/how_to_use_morphtargets
  20. 12 points
    Deltakosh

    Babylon.js v3.0 is almost done

    Hey team! we plan to ship bjs 3.0 on 7/12/2017. Please consider adding what you want before end of this week (7/7) or it will have to wait for a couple of weeks (We will keep the code frozen for one week to do the final validation)
  21. 12 points
    Thanks to the awesome Babylon framework, I'm creating a city building and simulation game; I thought I'd share the progress so I can ask some questions in case I get stuck. Here's a sample town (read-only at the moment because the UI is far from complete): http://misc.blicky.net/c2/?id=1 (desktop only) Some screenshots.. Current issues: Shadows are way too 1990's, even though the targetTexture is 4096 in size. It would be nice if the shadowGenerator's matrix would adopt to only include faces that are in the camera frustum. That way shadows would look good from afar and close-up. Solved Road intersections are a pita. The current solution, using CSGs on the road segments (extruded shapes) and some math to create a plane is barely acceptable and rather slow/error-prone. Performance. While 'idle' FPS is not bad, when adding more structures, the browser will lag because it is using MergeMeshes() to merge the new structures to the existing meshes. I'm currently transitioning to SPS meshes, because they build a lot faster, however are also more restrictive. So my question is: why is MergeMeshes() slower than SPS.buildMesh() and can it be made to match the latters' speed?
  22. 12 points
    Hi guys, This weekend I joined ludum dare again and I managed to build a game using babylonJS. The theme that was chosen was "one room". This is the game I created: http://jppresents.net/static/ld37/ You play with the mouse, holding down the mouse button fires the laser. Not much more to say.. obviously you don't want them to reach the bed. Pressing "s" toggles sound on and off. And here is a short timelapse of the creation within about 13 hours. (This includes creating everything from code to assets, except for the custom loading screen.) Thank you guys for the cool engine and the awesome playground examples. Special thanks to everyone from http://www.html5gamedevs.com/topic/21992-creating-a-scanning-laser-effect/
  23. 12 points
    jpdev

    Bird vs. Stars

    A small kind of Christmas themed flappy bird style game. Click or press space bar repeatedly to fly and gather as many stars as you can in one minute. Don't touch the ground, that resets the multiplier. http://www.yavsadventskalender.de/fly Features I played around with for this: - fixed aspect ratio - shadow generator for bird & stars - wrapping around an area - 2dCanvas for score & time display - custom loading screen - also more tinkering with blender animations
  24. 11 points
    Just a simple demo displaying the power of the ParticleSystem by creating a low-hanging fog. Not cinematic quality and it can no doubt be done better with a shader, but pretty nice looking for the very low performance impact it has. http://www.babylonjs-playground.com/#BHNVUE Thanks to @Wingnut for finding the PG used as base for this demo. Have a nice saturday
  25. 11 points
    Samuel Girardin

    New Physics Engine Progress

    Hi, Few news about energyJS, It's still in dev. Here is a quick very alpha preview with examples. This is not a bjs plugin version. @RaananW worked one year ago on the plugin. We need to talk about that, For the moment it reproduces more the c inteface of ODE c++ project(http:// www.ode.org). It's quite usefull, ODE documentation is really good, and I kept all the method name. Energyjs is port of Open dynamic engine to JS with EMSscripten (http://kripken.github.io/emscripten-site/) . Tuto1_friction Tuto2_friction2 Tuto3_bounce Tuto4_rolling_friction Tuto5_rolling_friction2 Tuto6_contact_cfm_erp Tuto7_contact_cfm_erp2 Tuto8_motion Tuto1_auto_disable_body WoodMachine BallJoint Trimeshes Vehicle (maybe you need to refresh the html page - loading is async and I forgot to fix that,, same for v+trailers) Vehicle+trailers (arrow key to control the vehicle, d to flip the vehicle) It's only cpu dependent, maybe a little more faster than oimo and canon. Really well documented on ODE's part. You may have a TOTAL_MEMORY bug, search '167108864' in js/energy.js and increased this value. This is just a start. I will publish this week the the typescript dev commented on github .
  26. 11 points
    FunFetched

    Shell Shockers

    http://shellshock.io My first BabylonJS project is a whacky multiplayer first person shooter featuring, well, eggs, of course! It's in very early development and still fairly rough around the edges, but it's super easy to jump in quickly and play. It's just been made public, so finding people to shoot may be a little hit and miss (pun intended). Enjoy! Facebook: http://www.facebook.com/ShellShockGame Twitter: https://twitter.com/eggcombat
  27. 11 points
    Deltakosh

    Improved shadows

    Hey team! We ( @Sebavan and I) spent a lot of time improving the accuracy of our shadow engine. This means that we have now better precision and more reliable shadows generator. You should need less tweaking (bias, etc...). But as the topic is pretty complex please use this thread to report any issue regarding shadows that you may have
  28. 11 points
    Deltakosh

    Playground version selector

    Hello my friends!! I'm happy to announce that the Playground can now let you pick the version you want to use (latest or 2.5 so far). We did it because of the upcoming breaking changes introduced by 3.0 (I'm removing all functions or features marked as deprecated in previous versions)
  29. 11 points
    jpdev

    Multiplayer games challenge - The games

    Hi guys, First of all, thanks to everyone who played my game! Congrats to pepa, BlueManCZ and Athelios! Why congrats? Well they killed the Megaslime together! This is so very cool! I love that you guys organized to play all three classes together, level up and then coodinated to kill the boss. They did that on March 7th and I didn't even notice until now. I am very happy about this - I was really hoping some group of players would do exactly that. Some stats: There were 75 characters created, 7 reached the maximum level of 5. 50 of the characters stayed at level 1, so they just had a quick look at the game/class. Thanks to @RaananW for coming up with the challenge and managing it. Thanks to @Nockawa for implementing Canvas2d. Thanks to all contributers to babylonJS. And a very special thank you to @Deltakosh for creating and maintaining babylonJS!
  30. 11 points
    I'm going to answer that as I'm the one who forced @Deltakosh to switch to TypeScript. First, TypeScript is "just" a superset of JavaScript, adding types and supporting future features of ECMAScript by transpiling down to ES5 or ES6. This means that we don't break anything with regular users that will just use the compiled JS version in ES5 or ES6 and will never see it comes from TypeScript. Thanks to the switch we've made 3 years ago, we've managed to find bugs that were just under our eyes and difficult to find in plain JavaScript and we've also managed to boost our productivity on the engine, which is good for us and our community/customers. @Deltakosh has done a great article on that: https://www.eternalcoding.com/?p=103 On my side, 3 years ago, I was also concerned on the fact we were spending a lot of time answering basic questions of our users, trying to understand if there was a bug in their code or in our code. All this time was our spare time and wasn't used to improve the engine. I've then started to discuss with @Deltakosh on ways to solve that and again TypeScript was a good candidate. Why? Again, thanks to the types exposed, I’ve discovered great possibilities such as the TypeScript playground: http://www.typescriptlang.org/play/index.html I’ve then told to @Deltakosh we could do something similar, having autocompletion in the browser, building some basic sample codes to help our users, learning by live discovering the API. Deltakosh ended up building a much better playground with great features such as saving your code to share it with your colleagues or on the forum for review, downloading the ZIP, etc. Something which would have been much more difficult without TypeScript. TypeScript also offers us to use future features of ES now to add clarity to our code: module, class, arrow functions, generators, async/await, etc. Those are not TypeScript specifics. You will have to learn them to be able to write ES2016/ES2017 code anyway. Regarding the fact it comes from Microsoft, this is really not what influenced us (everybody knows deltakosh and I are MSFTees). Deltakosh was even against at the beginning but quickly changed his mind when he discovered the potential behind without affecting our users. Even if it comes from Microsoft, the web community enjoys TypeScript and other big companies such as Google is using it for Angular 2. TypeScript also offers another great benefit for us: we managed to attract talented developers such as @Nockawa writing the awesome Canvas2D extension who was mainly a C# developer. C#, C++ and Java developers tends to have difficulties understanding some paradigms of JS at the beginning such as the prototype oriented programming, the classical issue with capturing this for closure, writing module/class like with self-executed anonymous functions, etc. TypeScript is hiding that by still generating perfectly written JavaScript under the hood. I tend to find TypeScript also better to work as a team. At last, as said before, we managed to attract some customers using Babylon.js because it is written in TypeScript and you can them fully develop with the .ts version of our engine instead of the .js to have a full typed experience during your development process. Another great benefit: I can compile an ES6 (ES2015) or ES7 (ES2016) version today without changing a single line of code of Babylon. If we would be in plain JavaScript, we would have been forced to rewrite everything to switch from ES3/ES5 to ES6 for instance. The only caveat is that it’s a bit more complex for contributors to the code to do PR to fix bugs or add features. But to be honest, as said, it’s just the JavaScript we will all use in 1 to 2 years. Except this small part, TS doesn’t affect our users because it’s transparent for them, we’re improving the quality of the code, we’re going faster, we’re attracting more diverse talented developers, we’re ready for the future. I really don’t see where the problem is then.
  31. 10 points
    end3r

    js13kGames 2017

    It's that time of the year again - time to start thinking about the js13kGames competition. The sixth edition will start on August 13th, 13:00 CEST and will run for a month. For those who don't know it yet: it's an online competition for HTML5 game developers where the fun part is the file size limit set to 13 kilobytes. Check the rules for details. There are always notable judges, lots of cool prizes, and free t-shirts for all entries shipped worldwide. See the forum topics from previous years for reference: 2013, 2014, 2015, 2016. Follow the compo profiles on Twitter and Facebook to be up to date with all the news and announcements. I'm looking for prizes and sponsors, so if you can help with either of those please get in touch! So, who's going to participate?
  32. 10 points
    jerome

    SPS experiments

    Hi, People usually love the Solid Particle System (aka SPS). Some of them sometimes ask for new features like the ability to extend it once created (coming soon) or for some extra speed by the ability to disable some computations. I made some study about how things could get faster. The short answer is : go to a lower lever in the implementation (replace the arrays of objects by typed arrays of floats, for instance), then use if possible other processes (GPU or workers). Well, here are the current status of my prototypes, so you can compare on your computer and browser the differences. The SPS of reference is really big, filled with 40K (yes, 40, 000 !) boxes and tetrahedrons. It's far more than we usually ask to a SPS with animated solid particles in the PG examples you could find in the forum posts. So your browser may suffer a bit ... Reference legacy SPS : http://jerome.bousquie.fr/BJS/test/spsReference.html Then comes the lighter typed array based version : http://jerome.bousquie.fr/BJS/test/spsBuffer.html As you can notice, it's a bit faster. Not only because of the usage of buffers/typed arrays, but also because it has less features than the legacy SPS for now. Let's go on... [EDIT] (from here, your need to have a browser with sharedArrayBuffer enabled) Here comes his new friend, the worker based SPS : http://jerome.bousquie.fr/BJS/test/spsProtoWorker.html This one is really faster. In this version, the particle logic (what the user want them to do) is still in the main thread and the worker only computes the transformations (the final vertex coordinates from the particle rotations, positions, scaling values, etc). At last, here's the second worker version : http://jerome.bousquie.fr/BJS/test/spsProtoWorker2.html It looks faster ... at least on my browsers. In this last version, the particle logic is deported in the worker. The main thread only carries for updating the mesh from the vertex buffers. In both worker versions, the worker computations are decoupled from the render loop. This means that the worker computes, then answers the main thread it has finished and this one just order it to compute again, whatever the render loop is currently doing at this moment. The render loop just reads the data currently updated by the worker in a shared buffer (shared between the worker and the main thread) Next study step to come (not soon) : the GPU based SPS Please wait for a while until the frame counter stabilizes to the current average value if you run the tests.
  33. 10 points
    davrous

    BabylonJS Mansion in WebVR

    Hello, I'm having fun while writing our next big tutorial on building WebVR scene with Babylon v3. Here's a preview of what I'm working on. The Mansion scene is really a great experience in VR! You can use the VR controllers to teleport, it sends a yellow ray by default. If the ray turns blue, it means you're pointing to an actionable item (using our Action Manager). Pressing the VR controller button will run the action on it, most of the time an animation + sound like in the regular version of Mansion: http://www.babylonjs.com/demos/mansion Enjoy! David
  34. 10 points
    Sebavan

    Metallic Workflow

    Metallic workflow is now supported by the BJS PBRMaterial: http://www.babylonjs-playground.com/#12CWQQ#0 You can now precise your metallic texture and what channel to extract the roughness from with those properties on the pbr material: material.metallicTexture = new BABYLON.Texture("https://dl.dropboxusercontent.com/u/55657011/metallicmerge.jpg", scene); material.useRoughnessFromMetallicTextureAlpha = false; material.useRoughnessFromMetallicTextureGreen = true;
  35. This post cannot be displayed because it is in a forum which requires at least 5 posts to view.
  36. 10 points
    Saafine

    Furniture designer

    Hey guys, I've made a furniture designing app using babylon js. Go here to start customizing -> http://portfolio.meble.design/app/ Go here to view a premade model: http://portfolio.meble.design/app/?conf=10041720 or http://portfolio.meble.design/app/?conf=19031726 or http://portfolio.meble.design/app/?conf=19031728 I've also designed a furniture model in the app and then produced it myself to fit into my apartment, it looks like this -> http://i.imgur.com/E06iE5B.jpg
  37. 10 points
    Hi beloved community, The implementation of WebVR 1.1 is in pretty good shape, @RaananW has done an impressive work. We're still in the process of polishing and finding ways to make it simple & powerful, the spirit behind Babylon.js since the beginning. You can read the documentation here: http://doc.babylonjs.com/overviews/webvr_camera and you'll discover that you can map your controllers (HTC Vive Wand or Oculus Rift Touch) to a mesh to the final sample shared at the end: http://www.babylonjs-playground.com/#5MV04 (you need a recent version of Chromium or Firefox with gamepad extension enabled you may find on http://webvr.info) I'm in the process of integrating the 3D models of both controllers. For instance: - HTC Vive Wand model: http://www.babylonjs-playground.com/#NCLFI - Left Touch: http://www.babylonjs-playground.com/#NCLFI#12 - Right Touch: http://www.babylonjs-playground.com/#NCLFI#13 I'd like to animate them by default when you'll press the trigger & the button to enhance immersion and provide you a default behavior that'll match most use cases. We still need to work on that with Raanan. I'm also experimenting turning Sponza in VR mode: http://aka.ms/sponzaVR . You can play with it if you've got a WebVR 1.1 device but beware, I'm still breaking it frequently. It also works on smartphone using Cardboard as we're falling back to VRDeviceOrientation camera in case of non WebVR support. VR for all!!! Regarding WebVR, it currently works in: - Edge Windows 10 Insider fast version that ships WebVR on by default. You can try it using the Mixed Reality Portal simulator: https://mixed.reality.news/news/try-windows-10s-mixed-reality-portal-your-pc-with-insider-build-15048-no-headset-required-0176419/ - Chromium with HTC Vive & Oculus Touch Stay tuned, we're continuing building great stuff you'd like. Cheers, David
  38. 10 points
    mouse_max

    My babylon js game

    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.
  39. 10 points
    Deltakosh

    Open-sourcing the Playground

    After ages of discussion, I'm thrilled to announce that the playground is now OPEN SOURCE Feel free to PR https://github.com/BabylonJS/Babylon.js/tree/master/Playground
  40. 9 points
    Edit 10: New "blog"-post: New post 27.2.2017 Edit 9: New "blog"-post: New post 25.2.2017 Edit 8: New "blog"-post: New post 21.2.2017 Edit 7: Gameplay Video: Video Edit 6: New "blog"-post: New post 8.2.2017 Edit 5: New "blog"-post: New post 1.2.2017 Edit 4: New "blog"-post: New post 21.1.2017 Edit 3: New "blog"-post: New post 14.1.2017 Edit 2: New "blog"-post: New post 6.1.2017 Edit 1: New "blog"-post: New post -- Hi BabylonJS-Community, Last friday I joined the Babylon.js 2.5 challenge. I decided to post my progress here. Maybe this will motivate others to join the challenge and I hope it will keep me motivated to finish the project I came up with. Also there might be some tips or things I find out that might help others. Here is my vision: A cooperative multiplayer action roleplaying game that is real time and is designed for a play session of about 15 minutes. It should offer content to a single player as well as a challenge that is only beatable by three or more players. This way you can just open up the game and try it out, if you like it you can coordinate with friends or people from the html5gamedevs board to beat the multiplayer part. Since I am going to make everything from scratch things will be created as simple as possible. This means: flat shaded low poly blender models. Here is what I have so far: The blue girl is the heroine the players control. The yellow slime is the first enemy, controlled by the server. The slimes idle around, if a player comes too close they begin to follow and attack the player once they are in range. Upon loosing all health the player dies. The green & red highlight at the end is the mouse over effect that is going to be used to indicate targets and if they are friendly or not. Some info on the tech: node.js server (using "ws" for websockets) that controls all gameobjects babylon 2.5 client using the browser webSocket object for communication Communication is done via sending JSON objects over the websocket. Since I struggled a bit putting text on billboards, here is a small playground showing my solution: Nameplate Playground I also ran into a small hickup with the highlight layer, using the it together with cloned meshes: Cloning a mesh does not generate a new unique id. If you add one cloned mesh to the highlight array all clones will be highlighted. The solution I found: Set unique Ids (mesh.id = …) for all cloned meshes. That's it for now. Hopefully I will have more to show next week.
  41. 9 points
    Zygomatic

    500 HTML5 games in 4 years.

    Today, we finished number 500 of our growing list of html5 games. We (Arjan Haverkamp and me, Bram Schoonhoven) started this journey at the end of 2013. Our first html5 game was a remake of our Flash game Animals Connect. Now almost 400 different games are launched on our various portals. Our next goal: 1,000 HTML5 games. If we keep releasing 2 new games a week, it will take us another 5 years. All our games can be licensed for your game portal or you can distribute our games for free. Some statistics: Our most played game is Candy House with 2.5 million game plays. We have around 6 Million game plays per month with 1.25 million unique users playing our games. Average playing time is 12 minutes per game. Interestingly enough, our games are played 69% on desktop, 16% tablet and 15% mobile. Top 5 countries: United States, Germany, Brazil, Poland and Russia. Chrome is used in 58% of the game plays. Some of the tools/technology we use: Howler.js for audio. Hammer.js for touch support. Cloudflare as CDN solution. Javascript Obfuscator for obfuscating Javascript code. Browserstack for testing the games in various browsers. Google IMA SDK for monetization. Google Analytics. Add to Homescreen for adding game to the home screen. Screenfull.js for full screen support. Webfontloader.js for loading custom (Google) fonts. Cordova for creating apps. Website2APK for creating Android apps. PNGquant and JPEGoptim for optimizing images. Wavepad for creating sound sprites and optimizing MP3's.
  42. 9 points
    Hey guys, My name is Mike and I'm from Korea. Me and 14 other guys are making a HTML5 MMORPG called "Mad World". Here's its trailer. And here's rain animation The game has all the familiar features of MMORPGs but the combat is more face-paced. It has hand-drawn artstyle like you see here. I will be posting some updates here from now on, and maybe some development tips we learn along the way. We want to be a pioneer in the area HTML5 in Korea which is still very new in the country. We want to make it available worldwide by the end of 2018, so we still have a long way to go. Any feedback is welcome by the way. Thanks and let me know what you think of the game! For more information on the game, you can visit our website: www.jandisoft.com or follow us on Facebook Twitter Youtube Here's the latest update We are throwing an in-game Halloween event next week from October 30th to November 1st. Anyone interested here's a link to the game. http://halloween.madworldmmo.com/ We will open the server during the event time. Hope we see you guys there. =) Here's a wip customization system,. Oh, and we recently opened a forum. Come by and say hello if you're interested. =)
  43. 9 points
    Hi, @Deltakosh and I were delivering several session during a big French event named Microsoft Experiences 17. We've done a couple of babylon.js related session. One of the most popular session is named Coding4Fun and I've created a small demo scene intro acting as the agenda of the session. You'll find it there: It uses our new GUI engine, some cool Post Processes like VLS/Godrays and so on. I've also composed the music for it. Thanks to @Stvsynrj who has created most of the awesome content used in this demo! During the same session, I've been building a fun WebVR experiement I'll share later on my on blog Enjoy! David
  44. 9 points
    Hi beloved community, We're proud to announce that we've got a full support of the Windows Mixed Reality headsets AND Spatial Controllers in v3.1 : We even have very cool animation of the controllers to enhance immersion. We're also working on simplifying a lot the creation of WebVR experiences in Babylon.js via the VRHelper. Stay tuned. But using only 2 lines of code, we will soon be able to cover 80% of use cases David
  45. 9 points
    renjianfeng

    A zombie FPS game demo

    Hi~ I'm from Hangzhou, China. I wrote a FPS game with babylonjs, but there are still many things to do. I uploaded some complete code to GitHub, and if you're interested, you can always download it, and I'll synchronize the latest code with GitHub in time github url:https://github.com/renjianfeng/BabylonFpsDemo (click Star) github.io url:https://renjianfeng.github.io/BabylonFpsDemo/example/index.html (Thinks satguru) Also, please remember to bring your headphones and enjoy the perfect sound effects. (at least I think so.) Some screenshots
  46. 9 points
    Deltakosh

    New Gui in Babylon

    hehe:) good catch ! This is my new project. The plan is to provide an alternative to Canvas2D. The main difference is that Canvas2D is full GPU oriented (text constructrion, animations, etc..) while Babylon.GUI is CPU based (it is an extension of the DynamicTexture) While it could be seen as a less performant aproach, it is also more flexible. It support alignment, margin, events. Controls are: Textblock, Button, Image, Container It is still under heavy working. Documentation will be soon available with samples.
  47. 9 points
    Hey guys, I think it has been almost a year since the last challenge. The Babylon challenge is back! For the new guys - I used to post a monthly challenge focused on a specific topic every time. The winner would get amazing prizes such as respect from the community, free access to the documentation website, or the secret cheat codes for the sponza demo. And also beer, if you are ever in Berlin! There is a single change to the rules - the challenge will span 2 months and a half instead of one. Other than that, the regular rules apply: Code must be original! Don't copy and paste someone else's code. You can use external resources. The game must be playable. No static animations when pressing a mouse key. As we are celebrating 2.5, Babylon.js 2.5 must be used. Extra points for open-sourcing your code! The 2.5 challenge: Very influenced from the (amazing!!) new demos that were created in the ISART School (http://cdn.babylonjs.com/wwwbabylonjs/Scenes/prosecution/index.html for example, @Temechon can explain everything much better than me), we will create games! Multiplayer games. Simple multiplayer games! The game's theme doesn't matter. It also doesn't matter if it is roles-based or real-time. Also, no one expects you to be master of websockets. You can work alone, or in teams. You can take an existing game and make it multi-player. Do whatever you want! If you need deployment tips, help with development, financial aid, french lessons, dev-env suggestions, please don't hesitate to contact me! (I don't speak french, but I know a few others that do ) You guys have time until the 28th of February! Which is a long time. Prizes: The winner(s) will get a Babylon.js t-shirt! And honor and glory. For the rest of the participants - I will need to see what's possible. Oh, and since this is self-financed, please be considerate to the amount of people in a team I hope to see a lot of activity! I will do my best to actually participate in this challenge (I have participated in all challenges until now), but it will be great if we will have at least 4 submissions! Party on! Examples of previous challenges:
  48. 9 points
    Numa

    JigSpace

    Hi there, I thought I'd share what we've been working on. JigSpace is a platform for creating and sharing 3D, step by step instruction for anything. Kind of a 3D powerpoint! To create these instructions we have a very simple web editor based on Unity, and for viewing them we use Babylon. It works on computers and phones but also in VR and AR (we have dedicated apps for android/ios/oculus/hololens) Here's a link to our library: https://jig.space/explore.html We decided to use Babylon for speed and portability and it has been fantastic. It's a young engine so of course we ran into hurdles along the way but always received great help from the community. Let me know what you think!
  49. 9 points
    The server ran out of electricity powder, and the administrator forgot to fill it up. The Pico 735 extension was also acting funny, and overall the nginx server started getting really emotional. I made a threat to replace it with apache, and it actually worked. You know those servers, they sometimes need to be dealt with a firm attitude.
  50. 9 points
    Hey guys, I've created a template project using BabylonJS + Colyseus, and made it available here: https://github.com/endel/babylonjs-multiplayer-boilerplate There's a button to deploy your own in the README. Here's the live demo: https://babylonjs-multiplayer.herokuapp.com/ It's basically a simple BabylonJS example from the website, connecting to a Room on Colyseus. If you open the developer tools you'll see a new log appearing for each user visiting the page. Feel free to ask if you have any question and good luck with your games