Leaderboard


Popular Content

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

  1. 12 likes
    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
  2. 10 likes
    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.
  3. 9 likes
    New Terrain Splatmap Material (Based Off BABYLON.TerrainMaterial)... Supports up to 4 splatmaps using up to 12 textures for terrain painting. The new splatmapMateral.ts will be added to the the babylon Materials Library soon but check out how i am using it for native terrain support using the U3D BabylonJS Toolkit. Of course you DONT NEED the toolkit to use the new BABYLON.SplatmapMaterial... I am just using it in the toolkit by default. U3D - BabylonJS Toolkit: Terrain Splatmap Material Overview Hey @Deltakosh , @Sebavan , @davrous , @RaananW , @Dad72 , @MrVR ... Hey guys please check this out... I am pretty proud of this... Its my FIRST venture into the low level shader parts (using the terrainMaterial.ts as a guide)... But i think it turned out beautifully
  4. 8 likes
    Hello, I have created a full terrain editor for the community. It is easy to use and can be improved by your contributions. With this editor you can: - Create a new terrain - Sizes terrain of: 64*64, 128*128, 256*256, 512*512 and 1024*1024 - Delete terrain loaded - ScreenShot of terrain - Up and down vertex (Key CTRL for down) (Thanks to @Deltakosh with WorldMonger) - Creating plane vertex - Create holes (Key ALT for filling a holes) (Thanks to @jahow) - Create ramps (Thanks to @Gijs ) - Smooth meshes - Paint the terrain with an 8 textures diffuse. (Create one splatmap) (Thanks to @joshcamas for paint on canvas and @NasimiAsl with ShaderBuilder for the splatmap) - Assign textures for paint with save and load setting. (dblClick on slot for change texture) - Export the terrain with textures splatmap and texture painted in a zip with file html and setting. - Register your work - Load a terrain recorded. - Moving the camera in "edit mode" with the keyboard spacebar and the keyboard keys ZQSD (FR) or QWSD (ENG) I think to add it to the extension of Babylon soon. I hope that will useful. Repository GIT : https://github.com/dad72/TerrainEditor Test of editor online: http://www.babylon.actifgames.com/TerrainEditor/index.php
  5. 8 likes
    simple loading method for make cylinder or sphere around of target object http://www.babylonjs-playground.com/#1JUXK5#0
  6. 7 likes
    Galaxy with 360.000 star http://www.babylonjs-playground.com/#1QC9DP#96
  7. 7 likes
    Hi people, I'm about to implement a new useful feature to the core. For now, it's called addRotation(). What is it for ? Well, usually the BJS users aren't big fans of quaternions to manage their mesh rotations, although the quaternions are the best tools to achieve it. Quaternion aren't intuitive, so people prefer the Euler angles, right ? Moreover BJS imposes the rotation order, what is, if I'm not wrong, YXZ. This means that, when you set a mesh rotation (x, y, z), it is rotated first around Y, then around X and finally around Z in its local space. This is important because the rotation is not commutative : if you rotate a mesh for, say, 30° around Y and then for 20° around X, you won't get the same final orientation than if you rotate it first for 20° around X and then only for 30° around Y. In brief, the rotation order really matters ! So, you want to use only the Euler angles and you are constrained by the engine rotation order : no surprise you can hardly achieve the rotation you really want. Here's comes addRotation(x, y, z) to the rescue ! addRotation() will do 3 things for you : - to let you use only Euler angles, whatever the internal mesh rotation is Euler or quaternion based (note : under the hood, addRotation() works with quaternions, but it's hidden for your convenience) - to allow you to decompose your rotation by steps in your custom order to achieve your final orientation : you can rotate a mesh first around X, then around Y, then around X again, then around Z, etc. - to update the initial mesh rotation values for you : if the rotation is Euler based, it's updated as Euler angles (mesh.rotation), if it's a quaternionRotation (mesh.rotationQuaternion), the quaternion is updated. How does it work ? Just give the mesh an initial rotation, or none, (this rotation can be Euler angles or a quaternion, as you want), then add your rotation steps to achieve the wanted final orientation : mesh.rotation.x = Math.PI / 4.0; // initial rotation around x mesh.addRotation(0, Math.PI / 3.0, 0); // the mesh is fisrt rotated around X, then only around Y for PI/3 // you can even link all the rotation steps // here X first, then Z, finally Y mesh.addRotation(x1, 0, 0).addRotation(0, 0, z2).addRotation(0, y3, 0); // the mesh rotation property is computed for you console.log(mesh.rotation); First demo :http://www.babylonjs-playground.com/#1PON40 The left box is the model box. The central box is rotated as usual for PI/3 around X and PI/2 around Y. The BJS rotation order makes it rotate first around Y, then around X. The right box is given an initial rotation for PI/3 around X, then a rotation step is added for PI/2 around Y. You can see that the final orientation differs. If you have a look at the console where the box2 rotation is displayed : http://www.babylonjs-playground.com/#1PON40#1 you will notice that the Euler angles needed to achieve this final orientation have a z value, although you didn't specify anything about Z. Simply because this is the Euler rotation to be done in the required BJS rotation order to achieve this final orientation. Something you wouldn't probably have found by yourself just playing with Euler angles ... Let's go further with the torus wheel challenge. Remember the number of times that, in this forum, people tried out to use the BJS provided shape called torus and to use it as a car wheel. It's damned complex because the torus is designed horizontally in its local space and we need to make rotate either around its central axis (rolling), either around a vertical axis (wheel direction). So some head hache with quaternions or mesh.rotate() once in the local space, once in the world space. Let's try an easier way. Here's the just born torus : http://www.babylonjs-playground.com/#1PON40#2 Let's set it vertical as an initial rotation around Z : http://www.babylonjs-playground.com/#1PON40#3 Too bad the method debugLayer.shouldDisplayAxis() doesn't currently display anything, just keep in mind the torus local axis at this step : Y is the torus central axis (so now horizontal after this first rotation around Z) X is, now the torus is vertical, the vertical axis, Z keeps unchanged along the world Z axis. So in order to make the wheel roll, we will give each frame, from this initial rotation, an extra rotation around X first (wheel direction) and then a rotation around the torus central axis Y http://www.babylonjs-playground.com/#1PON40#4 As you can see, the code is quite short and intuitive : I don't know the BJS required rotation, but I know how to set my torus orientation step by step using only Euler angles. No need for quaternion or space switching here. I just "build" each frame the way to achieve the final rotation with my own rotation steps and my own order. Then it's quite easy to animate car wheels : http://www.babylonjs-playground.com/#1PON40#5 Have fun
  8. 7 likes
    After the playground failed me on my last try I did a local version and ported it back to the playground: http://www.babylonjs-playground.com/#2GGYT7#2 (can't let that little playground defeat me ). No imported meshes, just the textures for the ground. The geometry is all build with native babylon tools. Push the button to open close the gate. That's all there is to it Edit: updated playground, added fancy button animation I thought about playing around and creating a scene wir PBR materials, but I stopped here since I already liked it and I have no clue about PBR yet... but one day I will use PBR for sure! By the way: I actually wanted to use starfieldProceduralTexture, but it didn't work. I left it in there anyway and reported it in the bugs section.
  9. 7 likes
    Alright, enough. I'm locking this thread. Ozdy, please leave TV alone. TV, please stop being so 'personally offended' by what was actually a quite legitimate question. Even I thought it was a fair question. - it's clear English isn't the OPs first language, it was asked as best I feel they could have. Rather than assuming it was a personal attack, you could have simply said "I target offline / non-mainstream publishers on purpose", it would have been enough.
  10. This post cannot be displayed because it is in a forum which requires at least 5 posts to view.
  11. 5 likes
    Hello everyone, Recently i finished my first medium-sized HTML5 game - Medieval Defense Z. I came from flash background and developing for HTML5 presented with some new challenges. So i would like to share what worked and what didn't. This is more like review/tutorial type of thing, so hopefully someone will find something useful. • Goals: • 60fps. • Smooth gameplay and animations. • Quality comparable to flash games. • Tools: • Language: Haxe. Strictly typed programming language, similar to ActionScript 3.0. Compiles to all major languages, including javascript. • Editing: HaxeDevelop IDE. Freeware, great code completion and very fast compared to everything i tried. • Debugging: Chrome. Has console, debugger and profiler. • Rendering library: Pixi.js. Uses display list concept like flash. Works well. • Sound library: Howler. Good enough, the id system is a bit weird though. • Bitmap font exporter: http://kvazars.com/littera/. Free and web-based. • Sprite Sheet Packer: https://spritesheetpacker.codeplex.com/. Freeware and very simple. • Graphics: • Scaling will look ugly if you use many small png files for textures. • If you want nice scaling, fast load times and fast rendering - pack everything to 2048x2048 spritesheets (include bitmap fonts too). • Resolution of assets: 1024x768, background can extend to 1382x768, so it covers most aspect ratios in horizontal orientation. • To get proper native resolution in mobile browsers i scaled up renderer and scaled down canvas by window.devicePixelRatio. • Sounds: • Library: Howler. • Sound formats: ogg for Chrome and Firefox, m4a for Safari and Internet Explorer (note: mp3 has licensing issues with play count). • ffmpeg: because of licensing issues and whatnot can't convert to m4a, unless you recompile ffmpeg with m4a, which is a pain to setup. • I used MediaHuman Audio Converter (freeware) to convert from wav to ogg and m4a (64 bit). • iOS Safari: keep in mind that before any sound could be played, user must first tap on the screen. • Mouse Events: • Used pixi.js API to open links. • iOS Safari: window.open under "touchstart" event won't open links in new tabs, use "tap" event instead. • sprite.on("mousedown", callback) for desktop. • sprite.on("tap", callback) for mobile. • Performance: • Reuse frequently used sprites. • Avoid creating too many objects every frame. • I would recommend looking up data-oriented programming to get more juice out of Javascript. • Record timeline with Chrome profiler to find performance bottlenecks. • Masks are slow. Use trim if you only need a simple cut. • Game Debugging: • Simple CSS + DOM side menu. • Basic field view/edit. • Simple buttons with callbacks. • How to debug html5 game on android (mobile) with desktop chrome (PC): 1. Upload game to your website. 2. Go to (desktop) chrome: chrome://inspect 3. Connect Android device with USB and run your game on android chrome (your android device must be enabled for development). 4. Open Command Prompt and enter: adb devices (must have Android Debug Bridge installed). 5. To quit debugging enter: adb kill-server • Conclusions: • Programming in Haxe instead of pure Javascript probably saved hours and hours of debugging. • Pixi.js is great, but i wouldn't recommend doing very complex scenes. • Would have liked more automated solution for spritesheet and sound stuff. • Poor performance bites sooner or later, so be prepared to do extensive profiling. • Stable 60fps is very hard to achieve, even if you keep your code below 1-2ms per frame. • Overall i am happy with the results, however it took longer than expected to make this game. Any feedback is appreciated. The game is not yet released, but here is gif trailer:
  12. 5 likes
    Checkout the new U3D - BabylonJS Toolkit: Maya Art Workflow Tools @MrVR This is for you bro
  13. 5 likes
    This is still a work in progress, i plan to finish this in my spare time (i am working as a webdeveloper). Will be a simple RPG (not mmo). The only static map will be the town, the other maps are (will be) generated at run time, same party will join the same map instance. I can import the models (with animations) from an old game, maybe some of you will recognize it (a korean game). There are plenty of private servers and nobody care so i guess it's fine, at least for now. ================================== Initial video: https://youtu.be/iyab7EGtuH4 Server working but a lot of things are hardcoded (on client side too) Update #1: Post Original post:
  14. 5 likes
    Hi, I am a beginner to Babylon.js, but I decided to create a game about helicopter and... I don't know what to add next. Here you can see the latest update: http://babylonjs-playground.azurewebsites.net/#11OMIX#23 The CONTROLS are: -Arrows to tilt the helicopter -W/A to fly up/down -S/D to turn left/right -Spacebar (press) to change perspective You can pick up the minecraft block by landing on it. Crash into buildings (yes, these big blocks). If you have any ideas how to develope this project let me know in comments. I am pretty sure I will need help with placing textures on the ribbon, it seems to be hard to do because it has the width and height equal to 0, I see just one pixel, but I want to fix it later.
  15. 5 likes
    Official Trailer: Learn more: http://striketactics.net/about
  16. 5 likes
    fire sample http://www.babylonjs-playground.com/#1JUXK5#5 http://www.babylonjs-playground.com/#1JUXK5#7 http://www.babylonjs-playground.com/#1JUXK5#10 http://www.babylonjs-playground.com/#1JUXK5#11 i think i need drink now but this is illegal in iran
  17. 4 likes
    Hi! I have finished my first HTML5 game and I must say it doesn't look that bad! Please, take a minute to try it and rate it on Kongregate: http://www.kongregate.com/games/camaleonyco/poing You can also play it fullscreen and on mobile devices on my website: http://teleponk.com/Poing/ I plan to make more games like this, little tributes to the arcade classics from my childhood. So, even if your feedback doesn't help to improve this game, it certainly will help me with my future projects. A little background: When the Flash Game market collapsed I knew I had to quit game development. Until then, I was making a living mostly from Flash Games. Some of my most popular games are Moby Dick I and II, Days of Monsters, Clarence Saves The Day and Wild King. I tried the AppStore and PlayStore with a couple of projects (Bunny Cannon, Ketopix), but they didn't perform as well as I needed in order to become a Mobile Game developer. However, a colleague told me that there is money in HTML5 gaming if you become proficient. He is very prolific, releasing a couple of games every month, and it seems like he is doing alright. I was used to spend several months making my games, but I was tired of that and the idea of making quick games was very appealing. I tried several frameworks/toolsets/engines, but decided to use Phaser because it looks like it has the fewer caveats. Coming from ActionScript, making games with JavaScript is a lot easier than I expected. I started with a very simple project, but I can see how easy it would be to work on bigger games. Anyway, I don't expect to become rich making small games, but I hope can still pay the rent with my them. Please let me know what do you think about it. Sorry for my English!
  18. 4 likes
    Here's a list of the tools I use daily for game creation, coding, animation, etc. I hope you'll find some useful info, let's begin. Art and Animation ########################################################################## Photoshop: The daddy and mommy of raster editing. I've tried lots of alternatives over the years but I always came back to it. Even though it's not a specialized tool (creating pixel art for example) I've found that it's quite flexible and it allows you to work on a variety of project types. I USE IT FOR: Text manipulation, logos, etc. GUI creation - shape tools and the alignment tools come quite in handy. Add effects (strokes, shadows, etc) and you're golden. Overall finishing touches. Playing with curves,intensity, blending modes to give my graphics that extra visual boom. ALTERNATIVES: GIMP: Also called the poor's man Photoshop. It's a pretty decent and powerful program and it has many of the features offer by it's more expensive brother Photoshop. I gave it multiple spins over the time and I was disappointed in the GUI arrangement and the overall workflow. Asesprite, Pyxel Edit, Graphics Gale: These are 3 different pixel art creation software packages. I don't do pixel art and I only tried them for a short amount of time but I hear good things about them. ########################################################################## Illustrator: One of the most famous vector editing programs out there and rightly so. First of all it's an Adobe product so you have good integration with other Adobe products (such as Photoshop) and a certain level of quality. Although it's a bit tricky to get into it at first it's really worth it - there's nothing more powerful out there in terms of vector editing (as far as I know) and you can really create some awesome art for your games. ALTERNATIVES: Corel Draw: Altough I am a big fan of PainterX (digital painting at it's best from Corel) I'm not so taken aback with Corel Draw. Obviously you can create artwork in it but I had the sensation that it is more geared towards desktop publishing. It's a good product all in all but you should rather take the time to learn Illustrator - it will be worth your time. Inkscape: This is a free vector editing software and you would probably expect it to be bad in some way. It's really not. Very easy to learn and with an intuitive workflow it allows you to create art simple and fast. True, it lacks the sophistication of Illustrator but it's the perfect choice for a beginner artist - the guy behind game art for programmers uses it extensively so he must know something. ########################################################################## Moho: IMHO the best 2d skeletal animation software out there. The only decent competitor out there is Toon Boom but it lacks in the bone setup area and it's mainly focused on frame by frame animation. Spine it's simple and intuitive but it lacks the power required for more complex setups ( it also lacks vector drawing). It's only drawback is that it can't import properly .psd's and .ai's but it compensates by having it's own (very powerful and sometimes more intuitive than Illustrator) vector drawing tools. Oh, and I mentioned that it also has particles? Motion Blur? Z Depth layer ordering and animation? IK animation? Animation Morphs (like the ones you can find in Maya)?Smart Bones? Animated strokes? 3d capabilites? You get it, I'm hooked. I USE IT FOR: Character and prop creation 2d Animation ALTERNATIVES: Spine: A lightweight 2d skeletal animation program. Intuitive and friendly especially for artists that are new to animation. ToonBoom: This is Moho's main competitor as it has similar complex animation tools. It has a steep learning curve and it offers lots of features in terms of animation. I think it is more geared toward animation movies rather than games but you can definitely create great art and animation in it if you invest in learning it. Adobe Animate:Adobe's 2d animation flagship product. Since it's Adobe you know you'll get tight integration with other products from the Adobe Suit (Photoshop, Illustrator) and a certain standard of quality. One thing I liked about it was the particle creation capability and the large variety of brushes. Although it's a bit weak in the area of rigging and bones (specially compared to Toon Boom or Moho) it is a powerful and complete piece of software so it might be worth your time. ########################################################################## Cinema4D: Altough I've been infatuated with Maya I've come to love this friendly 3d editing software. Why? Because it just works. It works fast, it works good and it's easy to learn even for 3d noobs. I USE IT FOR: 3d Text creation Various object renders ########################################################################## Lightroom:The best photography catalogue out there. I had 50 thousand photos once (paintings pics mostly) and other similar programs died just trying to read them. Not Lightroom. How can a dev might use it? For me it's useful when I gather lots of art inspiration from various websites, games, etc and I can browse and rate them with ease and pleasure. I USE IT FOR: Inspiration Management ########################################################################## SqCheck:A nifty little utility that allows you to preview rendered frames (sequenced) of animation at various speeds. It might not seem as much but it's much easier to focus on the animation final result without all the clutter of a big animation program. I can spot common mistakes quite easily - like having too much static extra frames at the end of an animation (like having a walk cycle and the foot stays just a bit too much at the end of animation). Or I can load it each third or second frame sequence to see how it looks without all that interpolation in between (because smaller spritesheets and snappier animation - Richard Williams said in it's incredibly inspiring animation book - The Animator's survival kit. I USE IT FOR: Animation final touches ########################################################################## Timeline Fx: A particle editor for all your particly needs. Explosions, flames, bubbles, etc. It has the best blend of usability and ease of use. Another particle editor beast that I like it's Particle Illusion - altough you can create the same particle effects with the standard particle properties (particle life, velocity, lifeOverSpeed, etc) it really shines at particle assembly - you can combine multiple particle effects, animate them, create deflectors/blockers/wind, clip them to alpha masks, etc. I USE IT FOR: 2d Particle creation and FUN ########################################################################## Irfan View: An image viewer that can cook, clean and take out your garbage. Well, maybe not but it does have a motherload of options and it supports a large variety of image formats (.psd, .tiff). It even reads .txt for god's sake. My favourite shortcut in Irfan View is Shift + 1. It opens your image in a predefined application - you guessed it, Photoshop. And it's very fast. I USE IT FOR: Image viewing and fast access to Photoshop. ########################################################################## Programming ########################################################################## Sublime Text: "The text editor you'll fall in love with" - says in the website title. Well I did...over the heels. Coming from a C# background I was used to Visual Studio - awesome IDE, ideal for large projects and with lots of little helpful features. Sadly using JS in Visual Studio it's a drag. Intellisense it's basically useless, go to code definition doesn't work well most of the time, starting it takes quite some time. Sublime Text to the rescue. Lightweight, uber customizable, lightning fast, works like a charm with JS. I recommend installing JS Hint for linting and Js prettify to make your code readable. Also learn some general shortcuts for a better workflow. And if you really wanna fly in it learn either Emacs or Vim shortcuts (it has plugins for both). I used Emacs first - a bit too heavy and a carpal tunnel risk. Switched to Vim and after the rather abrupt learning curve I feel much more comfortable. And if you really wanna protect your hands and increase your touch typing speed I'd reccomend switching from Qwerty keyboard layout to Dvorak. ########################################################################## Phaser: Html5 game framework. Why? You probably know why since you're on this forum so you're probably a dev yourself. Easy to learn, quite powerful, good performance. ########################################################################## Other ########################################################################## Sprite Sheet Exporter Photoshop Script: Altough you can create spritesheets directly from many 2d Animation programs I find it it allows for much flexibility to import sequenced frames in Photoshop (using File > Scripts > Load Files into Stack) and doing various refinements -I usually get rid of all transparent pixels with Image > Trim and apply various color corrections - this will be my master animation document. After that I can resize it to fit my needs (can happen multiple times during the life of a project) and export it to a sprite sheet with the Exporter script. ########################################################################## Audacity: Simple yet powerful sound editing software. While I can't create music/sfx by myself I can greatly improve it by mixing it, fading in/out, applying various effects. ########################################################################## AutoHotkey: A nifty little utility for Windows that allows you to remap various shortcuts, exe paths and other commands to custom keyboard bindings. It increases the workflow speed enormously and it makes a working day more pleasant. Imagine double clicking on Photoshop.exe 30 times a day. It might not seem much but if you're in another application you'll have to minimize it and hunt the icon on desktop - it interrupts the creative process and takes a bit of time. It's much easier just to press a combo keyboard shortcut (mine it's Ctrl + R) and there pops Photoshop. Or my current working folder. Or sublime Text. Try it - you'll love it. ########################################################################## Wamp: Web Development Environment. You'll need it to develop Html5 games and it's very easy to install and use. ########################################################################## Sumatra Pdf: For all your pdf reading needs - programming, animation and design books. First it was Acrobat reader and it was good but then it got bloated and sluggish. Then it was Foxit and it was so much faster than Acrobat Reader but then it got bloated and sluggish. Now it's Sumatra and altough it's simple it's very fast and it supports .mobi and .pdf. Let's hope it stays clean. ########################################################################## Various Online Tools ########################################################################## Tiny Png: Incredible png compression with very little quality loss (if any). I even saw 90-95 percent file reduction on my png's - that's going from 1 MegaByte to 50 KiloBytes - pretty impressive) ########################################################################## Trello: Task management and collaboration. I heard good things about it but I think it's better suited for larger projects and I still prefer to keep track using pen and paper. ############################## @Goblet Ed################################## draw.io: "draw.io is completely free online diagram editor built around Google Drive that enables you to create flowcharts, entity relation, mockups and more. Your data is stored only in Google Drive, so no additional third-party to trust with your data (or extra accounts)." It has good object snapping which makes placing and aligning things very pleasant. ########################################################################## I USE IT FOR: Creating screen flowcharts One page designs Level designs (can import your sprites) ############################## @Goblet Ed################################## Coggle.it: Pretty mind-mapping tool. I USE IT FOR: Creating pretty mind maps to organize new information ########################################################################## *************************************************************************************************************************************** Feel free to contribute in comments (link and your personal experience) and I'll try to keep this updated - just tools and utilities please, there are lots of resources lists already. ***************************************************************************************************************************************
  19. 4 likes
    Hello all, next version will certainly be 2.6 but it could also 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
  20. 4 likes
  21. 4 likes
    @gryff & @hunts: At least in my case (maybe because I don't know any better) the server stuff in itself isn't all that different from just writing a normal gameloop that moves objects around. It's even in the same language, since I use nodeJS for the serverside. The next thing it's about getting the stuff to the clients (not complex either, since you can just serialize a bunch of objects with a simple call to JSON.stringify and get them back on the client side with JSON.parse). Now it's the clients job to represent the server objects to the user. For me the complexity (and bugs.. lots and lots of bugs) come in at these points: - On the server side: not sending everything all the time to the clients (tracking on the serverside what has changed and only sending those objects) - On the client side: haveing things keep moving while waiting for the next message from the server (server says playerA is moving from (10, 20) to (20,20) - the server will only mention this player again, when he reaches 20,20 or he cancels his move or does something else - so now the client has to animate the player moving there on its own, with the same speed that the server moves stuff) That pretty much describes what is going on in an abstract way. When the game is done I will most likely release the source code (which is a mess, keep in mind this an experiment). @Deltakosh: Thank you again for the encouragement - I feel the need to say: The goal & scope of this game is to provide something to play for a few minutes that requires 3+ players that coordinate a little. I say this so nobody expects a mmo-experiance or something like it. With that out of the way, here is a small update: The last fighter skill is something to press when there is a lot of damage incomming (or maybe when the healer is busy running away from something) to keep you alive a little bit longer. It's an energy shield. Here is the playground I used to come up with an effect for the shield: http://babylonjs-playground.com/#LFUNT#1 Also the scry mentioned in an earlier update got (kind of sloppy) walk & death animations and is now in the game. Here is a fighter using all skills, first a charge and then swipe & shield to fight a scry: I have started working on the third and last character class, the caster. Here is the full team: Last weekend I had a friend visiting and we took about 20 minutes to test the game, he played the healer and I played the fighter. It quickly became obvious, that as a healer you need to see the health bars of everybody and a better way of targeting who you want to heal. He also found a bug where the healer would attack other players if you first attacked a monster and then heal a player. All those things are really hard to notice when solo testing the game, which shows how important it is to get help testing multiplayer games.
  22. 4 likes
  23. 4 likes
    Thank you Delakosh & joshcamas for the praise. In reply to the idea that this could be a community thing: I fear this project is a long way of from something that can be easily extended. Since it is my first attempt to create a multiplayer game it lacks structure and uses many "hacks", just because I make it up as I go along. Anyway, here is my newest update: The fighter character has learned to charge at enemies. I started with this playground with the goal to create something like a heatwave/shockwave: http://babylonjs-playground.com/#JNOJX#4 I improved on it a little when adding it to the game, this is what a charge looks like: Next up I finished the healers skills. They consist of a normal heal with moderate casttime and no cooldown, an instant heal with no casttime at all and a group heal with a longer casttime and a cooldown. Here are the heals "in action": When experimenting with the charge effect I came across this thread: I now finally understand the difference between hasAlpha and adding a opacityTexture: hasAlpha: This is 1 bit transparency. A pixel is either fully see-though or completly solid. (alpha test) opacityTexture: Smooth alpha values from the texture are used. (alpha blending) Next I made a playground to add an effect to a swiping attack for the fighter character. It deals damage around the character. http://www.babylonjs-playground.com/#OJCYN#0 When put ingame the swipe attack now looks like this: Notice that it is completly overpowered in this version - you will not be able to just swipe a bunch of enemies and kill them in one hit.
  24. 4 likes
    Hi an welcome to the forum. I will try to give a simple explanation. Here is a picture of the sun. Print it out. Take the printout into a dark room. The room will not light up because it is an image of the sun not the sun. A skybox is just an image it is not a light object. You need a light object to light a scene. Read about the basic things you need in a scene here http://babylonjsguide.github.io/begins/Introducing_Babylonjs
  25. 4 likes
    @iiceman 1. Explode without Direction (hover on the mesh ) http://www.babylonjs-playground.com/#1JUXK5#21 this source need refactor i do that after i completed all effect
  26. This post cannot be displayed because it is in a forum which requires at least 5 posts to view.
  27. 4 likes
    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".
  28. 3 likes
    I'm happy to see that my tutorial about raycasts is now online, thx to Deltakosh and RaananW : http://doc.babylonjs.com/tutorials/raycasts So now the questions about that on the forum will be lighten and people can have directly the answers on the Documentation. _____ I have some other ideas for improving existing tutorials. I don't know if I'll do it or someone else : - Collision system : precisions on ellipsoid dimensions, talk about oncollide (new features to add : draw ellipsoid, onGrounded variable and slope factor maybe) - Animating bones : talking about the new features of 2.5 rotating bones, blending, playing animation only on certain bones (new features to add : importing multiples animation from different action and timeline in Blender ?)
  29. 3 likes
    Hi and welcome! Firstly, BJS is a pretty mature library and the devs are quite active about adding missing features - so probably better to do forum searches and whatnot before you consider starting and maintaining a fork. As for main loop timing, yes, you can ignore the default way (engine.runRenderLoop) and do engine.beginFrame() scene.render() engine.endFrame() according to any timing you like. I'm not sure it's actually necessary for your purposes though, since the default behavior drives itself from requestAnimationFrame, which is what you'd probably want to do anyway. Physics is a different matter. As far as I know BJS currently assumes that physics and rendering happen at the same rate - so it ticks the physics engine once per render, and then updates all necessary mesh positions without any interpolation. To decouple them, I think your best be would be to ignore BJS's built-in physics handling and manage your own physics world separately. In this case you'd want to just tick your physics engine at whatever interval, and then add a scene.beforeRender() handler that moves necessary meshes to interpolated positions. (This is what I do in my project, since I'm not using one of BJS's default engines.)
  30. 3 likes
    @adam set and get pivot points now added to guide Using pivots page http://babylonjsguide.github.io/advanced/Pivots
  31. 3 likes
    Sorry, let me back up. When I say it's impossible to eliminate jitter, I just mean that (discrete, integrated) physics engines are inherently inexact, so there's always some jitter going on (if the objects are awake). The only difference between a stable scene and an unstable scene is whether the jitter is noticeable or not. It's certainly possible to avoid noticeable jitter! As for auto-sleep, you should think of it as a CPU-saving feature, not a way to avoid jitter. The "sleep" feature in physics engines isn't supposed to perceptibly affect the simulation - it's supposed to skip bodies whose movement is imperceptibly small. In other words, auto-sleep isn't a good way to fix jitter because bodies should only be falling asleep when their jitter is too tiny to see. I don't know what you're referring to, but I didn't mean to be unkind. Since there are a lot of non-native speakers here, I try to keep my answers brief and clear, that's all. That said, there is no wild goose chase here - it's a very simple scene and it should be working fine, with no need for manually turning stuff on and off. All it needs is a suitable timestep!
  32. 3 likes
    Here is the old fog: https://jsfiddle.net/usxek13s/7/ This new fog is a great improvement. http://babylonjs-playground.azurewebsites.net/#1QMRN6#1
  33. 3 likes
    You're making me laugh. We would've saved even more time if you bothered to search the docs or examples or google it yourself or give more details when asking the question. Also a condescending tone won't get you far when asking others for help. But maybe english it's not your first language so you're not so versed in using it (it's not mine either but I manage). Let me give you hand with that since I couldn't answer your original question "I'm sorry if the question wasn't clear enough, here's exactly what I'm looking foor...insert details...The documentation wasn't very helpful either or maybe I didn't know where to look. Anybody else have other ideas?" You're probably new to Phaser - so am I! Here's how my train of thought would be if I had this particular problem, maybe it will help you somehow. "Hmmm....so I'm using physics and I need an event to let me know when I touch the wall. Let's try....Phaser physics event on google. Top link is a phaser example describing collision events for Arcade Physics and the second one is P2 Physics impact events. Well, let's take a look at the first example: bla blabla bla bla, AHA, face1.body.onCollide = new Phaser.Signal(); face1.body.onCollide.add(hitSprite, this); Huh, dunno much about this onCollide thingy, what is it precisely? It says a Phaser.Signal. Let's look for that shall we? Google it and the first link points to Phaser.Signal - 2.4.4. Click on it and switch to version 2.6.2. Let's see, bunch of text describing what it does, couple of properties which I don't need now and HEY....there's the method I just saw - add. Let's read it and try to understand what it does....got it. I still don't know much about physics though so let's get back on that body thingy. Let's try.....Phaser Body on google . Sure enough, the first thing that pops is Phaser Physics Arcade Body. Let's see what we have here...scanning the page....it's not a property so let's move to methods....scanning further....well damn, there's no onCollide property. Where did we go wrong? Let's take a look back at the code and ..... oh yes, where creating a new property using the new keyword. But why? Let's go to back to Phaser Signal page and we see that: As well as listening to pre-defined Signals you can also create your own: var mySignal = new Phaser.Signal(); This creates a new Signal. You can bind a callback to it: mySignal.add(myCallback, this); I hope this short Google tutorial will help you with your future programming endeavours.
  34. 3 likes
    They pretend to sell your games for you, but actually just sell their own games at exorbitant prices. The so-called "market" is just a front these days and has been for years.
  35. 3 likes
    Hi Wingnut, Thank you for your quick reply. > . good to have you with us. The pleasure is mine. : ) > Can you elaborate on the version-builder failure? Sorry for not being more specific: When I used the the Babylon.js Generator the day before yesterday, I got a “babylon.custom.js” as expected when hitting the “Generate”-button. But the download of this custom library js file never finished (same behavior in several browsers). Now it seems to work again and today it I was able to download my custom build and use it to load some *.gltf files. So all is fine again. : ) Thank you for your help anyway.
  36. 3 likes
    You are not a publisher - you are a thief Looking at the various aliases that 'zapbooster' uses on the app store I've found several of my games you have stolen and uploaded - along with many others I can see from other devs here you are the problem, not Famobi - stop stealing content and uploading them to the app stores
  37. 3 likes
    @Nabroski theoretically, what you said makes sense. But the reality is modularization is something that must be planned from the get go. Babylon.js is growing and we do try to make modules when it's possible. The best example being Canvas2D. I designed it from the start to have the lowest coupling possible from BJS to C2D so it could be a separate module the day we wouldn't have wanting to do so. It was pretty easy for me too, because it's a 2D Engine, using the core engine of babylon, so very low coupling with the 3D engine. When the size of Canvas2D got bigger, we decided to make it a separate module, for all the good reasons you know about. It's good for the main file's size, it's good for the users, for learning, even for me to keep developing C2D (I don't have to recompile all the .ts files of bjs). But I want everybody to understand something: it was possible to do it, so we did. It's all about coupling. If you want to put physics in a separated .js, well, it's not that easy, because the coupling with the 3D engine is tight and strong. The effort it would take, the risk of major regressions that could occur afterward just make this dangerous to do. Now you talk about 10ms of decompression, come on, that's a true valid argument you think? Do you realize how users loose time due to latency of network? 10ms to uncompress is totally acceptable. I wish more people would contribute to see how it is on a daily basis: remember, it's not a pro project and still we're doing pretty fine! We had this discussion internally when C2D started to be big, I mean to break down all bjs into several modules, we evaluated all the possible strategies and at the end of the day, @davrous 's point made a lot of sense to me: the assets are really most of the data that will be downloaded and refactoring bjs being really dangerous: we don't want to do that. Remember that all the time spent on this would be time that couldn't be spent elsewhere! And most of the browser will put the file in local cache, so it's not a 300kb load every time: just once in a while! Yes: bjs could have been design with a better separation of concern, yes it would have help to make module out of it. But that's not the reality, that's the ideal world! Reality is: like many OSS projects developed on spare time I bet than @Deltakosh and @davrous never envisioned from the start how far bjs would go! I bet they didn't start the project saying: "ok, we're going to develop the most feature complete 3D Engine for the Web in OSS!" Criticizing is good, as long as it's going in the right direction. And honestly, my take on all of this: it's a bit of a waste of time when people criticize without helping to find the best answer and helping to put it from an idea to a concrete feature/dev/action: contributing! One year ago @Wingnut were helping but mostly criticizing in a way that wouldn't help us and I'm glad that I saw a dramatic change in behavior from him: helping the beginners, helping us to triage the forum questions, helping us to be the link between users and the dev team and even contributing on GitHub. We need more people like that. And the more you contribute, the more you become important in the decision process. It doesn't mean we don't take the feedback of users, we really do, but my take on this: the people that will have to bear the consequences of the decisions, the actions, the code they produce are clearly more heard when a decision is to be made.
  38. 3 likes
    No, we won't work on making Babylon.js smaller or components based. We already had this debate several times and nobody was able to convince the core team members of the interest of doing that. It would require a huge amount of work for no convincing scenarios. Creating a simple mesh with a simple texture will often take more bandwidth than Babylon.js itself. If people are concerned about the speed of loading a page and/or bandwidth, they definitely should focus on optimizing their assets rather than hoping that shrinking Babylon.js would help them in any way. David
  39. 3 likes
    Hi We make LOTS of games - so I figured out it's better to have a single post I could update every time we publish a new game rather than post info about the games in separate posts. Atm. the BlackMoon Design team (consist of 2 full-time developers, 2 part-time developers and 2 graphic designers) made roughly 80 games. You can check them all here - http://m.blackmoondev.com All feedback is welcome:)
  40. 3 likes
    Babylon.js is a ~300KB file when you serve it from a http server with gzip option turned on. We also provide this tool to help you shape it according to your needs: http://www.babylonjs.com/versionBuilder/
  41. 3 likes
    I used Agisoft Photoscan. The screenshot above is from that. However, Photoscan will give a jumbled mesh with thousands of polygons so I used a combination of Zbrush and Blender to retopologise. I really wish babylon.js could show the actual topology I was working with instead of just tris so I could demonstrate it right on the web-page. People always ask about topology and the best I can do is turn on wireframe mode and tell them to use their imagination to see the squares
  42. 3 likes
    Hello everybody, Some updates: Primitive Collision Manager (PCM, @ller request) The PCM is finally done! Well, first release, I've already spotted some not supported cases... Anyway, you can check a PG demonstrating the feature here: http://babylonjs-playground.com/#1PXWLR#2 (I've commented the PG for you to see how it works) Turned out that I didn't do what I wrote in the previous message, I didn't check for OOB and I've implemented a generic triangle set versus triangle set intersection algorithm right away. Basically all primitive types now create/update a Tri2DArray which contains a list of triangles describing the primitives surface. It needed to be that way because an Ellipse with a intersection of 8 is graphically not shaped like a perfect ellipse: there's not enough polygons, so I couldn't use a intersection algorithm involving a true/perfect ellipse, same goes for the Rectangle2D with round corners. So I decided to go for the most generic and accurate way. All primitive types are supported except the new WireFrame2D one. Through the PCM object you have a list of all primitives intersecting with the Canvas' border (if you activate the feature), it's useful. You also have a list of all the pair of two colliding primitives. From a given prim you have the intersectWithObservable and intersectWith properties to get notified of new/removed intersections and to access the full list of them. New Text Alignment (vertical and horizontal) and word wrapping features for Text2D (coded by @adam, I'm very thankful to him! It's good to feel less alone on this whole coding...) Basically now you can set a left/center/right text horizontal alignment and a top/center/bottom for the vertical one. If you specify a size for your Text2D primitive you can now have auto word-wrapping if the line exceed the horizontal limit. Maybe @adam could share a PG demonstrating the feature! New Primitive Type: WireFrame2D Well, I needed it to draw the debug World AABB and Cluster of the PCM, so I wrote it. The Primitive accept many WireFrameGroup2D, each one having a default color and contain a list of lines. Each stored vertex has its own color. Basically you create a WireFrameGroup2D instance then use its method to fill it with vertices. Note: it's Line List, not line strip: each line is defined by two own vertices. You can use an API to start, fill, end a LineStrip but internally it will double the vertices for everything between the first and last vertex. Right now this Primitive doesn't support any kind of intersection (point or prim-prim), I'll add an intersectionThreshold and implement the algo any time soon...It's not a priority right now... Misc things The BoundingInfo2D now support a WorldAABB with an efficient dirty/update, I obviously needed it for PCM Each Prim Instance has now a uid property which is a unique id (a GUID), I use it as a key to store the prim or prim related data into a StringDictionary, it's an efficient way to retrieve a given prim without going O(n). There's a Triangle versus Triangle intersection method in the Math2D.ts file, its implem is slow. If someone has the code for a Tri-Tri in 2D implemented using the Separating Axis Theorem (SAT) algo: I'm in ! What's next? I will update the doc in the next few days with more PG and explaining the latest implemented features. Fix the TrakNode bug reported by @royibernthal asap. Well, the highly awaited Group clipping/masking feature. I won't have time to work most of the next week, so don't expect it soon. Then I'll certainly make a break on C2D (except for bug fixing) to finally get back at the GUI coding!
  43. 3 likes
    Wanted to show off some progress of the tilemap plugin. Should be packaging it up here sometime tonight or tomorrow.
  44. 3 likes
    I have been looking over the forum and such and through various resources and decided to throw together some things for new comers and such. If you want to add to the list, just reply and I will get around to it. I will be adding more as I come across them as well. Legend [$] Must Purchase [/$] Purchase but has Trial Version [//$] Must Purchase if for commercial Assets SoundImage Books, Tutorials and Videos [$] Create a procedrual endless runner [$] Create a vertical endless runner [$] Discover Phaser [$] From null to full HTML5 [$] Interphase [$] Mobile Development [$] Scale Manager Guide [$] Tween Manager Guide Full Source Games Phaser Games Pack #1 Plugins Arcade Slopes by hexus [$] Box2D Premium by Photonstorm Grid Physics by crffty Island JS by luckylooke Isometric Plugin by lewster32 [$] Particle Storm by Photonstorm Phaser Animator by Kody Bentley Phaser Bones by silashatfield Phaser Inspector by netcell [//$]Registry Plugin by Phreaknation [$] Virtual Joystick by Photonstorm [$] Waveforms Path Editor by Photonstorm Tools Leshy SpriteSheet Tool by Leshy Labs [$] Phaser Editor [/$] Texture Packer
  45. This post cannot be displayed because it is in a forum which requires at least 5 posts to view.
  46. 3 likes
    unrelated but still cool - stargate: http://www.babylonjs-playground.com/#1SLLOJ#232 Edit: still unrelated: it feels like I am pretty close making the iris work..but to tired to keep trying: http://www.babylonjs-playground.com/#1SLLOJ#234 anybody care to help? Edit2: I was kinda done with the iris and it was pretty cool... then the playground crashed...all progress gone...sucks Back to topic: can't you just add the water features like @jpdev demonstrated after importing the mesh? I mean leave them out in the 3D model and be creative with code to at them in the right shapes, place and rotation... you get waterfall all over the place: http://www.babylonjs-playground.com/#UHILW ... add some particles to the end of the waterfall, too, to make the water splash!
  47. 3 likes
    I've got some progress, press space when flying to crash http://babylonjs-playground.azurewebsites.net/#11OMIX#21
  48. 3 likes
    Thank you so much @JCPalmer This is a big deal for me because I'm trying to earn a living off webGL and I realise that the majority of people now surf the net on their mobile devices. I really appreciate what you've done here
  49. 3 likes
    Well, a silly demo, but - http://www.babylonjs-playground.com/#3PCLR
  50. 3 likes
    @Wingnut hi, I understand the growing BJS community and it is reasonable for questions being missed sometimes. And as the GearVR is currently not with me, I will test it on tomorrow morning(I currently stay in Singapore, it is now 12.01am). But based on my previous trial and error, there is something I am certain about while testing BJS WebVRFreeCamera with Samsung Internet using GearVR: 1. the device is certain in webvr mode during the testing ( I have seen the "WebVR is not enabled on your browser" error before when I first tried on GearVR,but that is because I have to manually type in internet://webvr-enable in Samsung internet url bar to enable webvr feature, after that the error's gone) 2. I had a button for switching between VRDeviceOrientation Camera and WebVRFreeCamera, if I pressed it to switch camera, it will do scene.activeCamera = new BABYLON.WebVRFreeCamera(...); and log window would return the current scene.activeCamera name. But everytime I pressed, there is no log result which I suspect the failure of WebVRFreeCamera initialisation. @davrous hi, I've seen this video which leads me to the Sponza demo, and I had tested the Sponza scene in GearVR. I can't remember the exact result of pressing the VR button already, it is either 1. switch to deviceOrientation camera(which i should see the two vr viewport display on the flat Samsung internet screen in front of me in GearVR( which is weird, because for what I remember, navigator.getVRDisplays return true during the beginning of each of my testing in GearVR), 2. or the scene shows no changes upon the button press, i will check again tomorrow, and it could be Samsung Internet is using webvr 1.1 too, so I am looking forward for Raanan's new WebVRFreeCamera! Finally, thank you all for the helps, BJS is very easy to learn and it helps me to build 3D scene on web page in a convenient way, I really appreciate all the active responses I got every times I ask a question here.