Popular Content

Showing content with the highest reputation on 08/12/18 in all areas

  1. 2 points
    Is the contest for... MOST words typed-on BJS forums? I win.
  2. 2 points
    Although an old post still good questions. Physics Physics calculations for train simulators can become quite advanced quickly, as many bodies will be connected to each other (the locomotive and each wagon) and the bogeys must be constrained to the rail path. Also the physics working on a train can become destructive very fast. That's why I found a very expensive study book (300 euro) on railroad engineering that almost takes a master's degree to understand how to place real world track that WOULDN'T derail the train in the first place. 🙂 And that's why most train simulators 'cheat' and create their own simplified physics and train operation / track following code. And most train games are simply tile-based or only allow 45 and 90 degree turns etc. But I guess you don't want that much simplification 🙂 If you train simulator doesn't need very strange things like "up side down loops", then you can reduce the complexity by projecting your train and track on 2D plane (X0Z). Straight track is easy. Straight lines 🙂 Use (partial) circles for curves. Connect straight tracks to curves using an Euler curve/spiral segment. Super-elevation can be computed in some kind of post-process (after you placed the track) to counter any physics that would make the high speed train derail in a curve (e.g. go straight instead of take the curve). The "problem" with the standard bezier curves in train simulators is that they may look nice curves but are difficult to evenly interpolate (e.g. when your train needs to move equidistance). Outdoor scenes Whether for a browser based application or for desktop applications, large outdoor scenes may not be your friend in 3D. Unless it's a desert scene perhaps 🙂 For large outdoor scenes you can indeed use sprites for trees. And you need instances (instead of clones). For non-sprites, like buildings, use LOD (Level of Detail) for your meshes. Be sure to 'freeze' the matrix for non-moving objects. That saves some computations. And then there's other optimizations like Octrees. These break down your world into segments. Based on the camera position and view, only parts of the world in front of your camera will be evaluated for rendering. Still, with those optimizations, I'm still struggling to get a good frame rate on low- and mid-end devices. But I believe it can be done on the powerful computers. 🙂 Demo I've been breaking my head on the train mathematics, but your can see my results so far in my BabylonJS Model Train Simulator game here: https://quintushegie.com/gardentrains/ My game is not the 'realistic' Microsoft Train Simulator type, but you'll get the point... most computations and challenges remain the same. Q [Added] B.T.W. Jerome has made an example of a rollercoaster demo, which is also a nice starting point for objects following path. Check out his Roller Coaster demo on http://jerome.bousquie.fr/BJS/demos/ )
  3. 1 point
    Dear community, I would like inform you that "War IOM" v2 have been re-work graphics and added more feature to serve user experience. Here is my banner screenshot: You can access to the website and play it directly on your phone (Chrome mobile, Safari iPhone, iPad) or your Laptop Link to play: https://www.iomgame.com/wariom/ ++++ Game description: The rule to win the game is very simple: buy the soldiers, defeat the enemy army and then destroys the flag. Try to use fireball to wipe out the enemy. The game had the shop to buy new soldier, upgrade soldier and choose the team out. Game data be stored on both user's device and server so never lost data again. ++++ Here is the look and feel of War IOM icon on your Home-screen phone Rumor: You can get double gem receive if you beat the mini boss at level 3. Also win level 3 will give you a lot of Gem, use it to buy new solider and upgrade your army! My facebook page: https://www.facebook.com/Iomgame-245553622715070/ /******** Change log update 08/26 ********/ -- Add new game play for level 6. -- Improve camera. -- Improve game performance. /******** Change log update 08/31 ********/ -- Improve sound load time. No painful for waiting sound loading any more! /******** Change log update 19/09 ********/ -- Add level 7 with new game play. Regards, Gafami .
  4. 1 point
    Play Link: Monster Clean-Up Can you fight monsters with a mop? Thanks to player feedback, I've invested all my time in creating this huge update: - New Monster Types - Boss Events - Different Weapons - In-Game Shop - Score System & Online Leaderboard! - Personal Kill Statistics - And more Gameplay You are the janitor entering a monster-infested building. How many monsters can you clear? Find out in Monster-Clean-Up! Clear floor by floor, collect power-ups, buy new weapons and stack up on dollars to save your progress! Check the leaderboard to compare your score with other fellow Janitors! The game works on all mobile devices (phones, tablets). Art & Design All the sprites in the game have been hand-drawn by me, which is a first. I would love to hear all your feedback regarding the art style as well as the overall gameplay! Game Link Thank you for checking it out Play Link: Monster Clean-Up
  5. 1 point

    GUI feature request - Mask

    Issue created with flag help wanted if somebody is interested to give it a shot 🙂 https://github.com/BabylonJS/Babylon.js/issues/4924
  6. 1 point

    GUI feature request - Mask

    Thanks, I ll create the Github issue in the afternoon
  7. 1 point

    cameraHelper type of thing?

    Thank you @Sebavan, I shall get a PG together soonish and post back here.
  8. 1 point
    Short update on the game. I moved the game startpage to a more official location: https://quintushegie.com/gardentrains/ I've been working on scene optimization techniques like LOD, as the framerate quickly drops for larger track layouts. The level construction may take some time during load (repetitive calls to matrix updates when laying the rail track), so please give it 30 seconds or so for the larger demos/levels. Anyway if you like the work-in-progress game so far and you have some 'special requests' already just let me know, maybe I like the suggestion and include it in the game 🙂 Q
  9. 1 point

    Custom Builds?

    You can do incredibly granular builds of Phaser 3! Literally chop out anything you don't use, right down to single Actions or File Type Loaders. I'll write a proper tutorial on it for a Dev Log soon, but for now the key to it is using webpack to make a custom build by changing the contents of the entry point. Webpack uses src/phaser.js as the entry point for the 'full' build, and src/phaser-core.js for the 'core' build. If you look at these files you'll see they are basically a list of all the things to be included in a build, that is exposed under the Phaser namespace. If you look at the core file you'll see the GameObjects object breaks down into sections and that TileSprite and the Bitmap Text objects aren't in there for example. You can also see it's got far less Loader File Types too. Basically, anything in this file is bundled in. If you just link to a folder it'll take the index.js file from that folder and include everything in it: Actions: require('./actions') Here, every single Action will be included. But you could change it to this: Actions: { GridAlign: require('./actions/GridAlign'), RandomLine: require('./actions/RandomLine'), Shuffle: require('./actions/Shuffle') } Now, only the 3 Actions listed will be included. You don't have to worry about dependencies. For example, the Shuffle action requires the ArrayShuffle function from the utils/array folder, but it will be pulled in automatically because of the way webpack works. So think about the phaser.js file as being what you want Phaser to expose in its namespace. You could literally have nothing other than the 'Game' entry and that in itself will pull in everything it needs for a core, base Phaser to work. There won't be any Game Objects of course and no File Types for the Loader but it would still work. Perhaps if you were rendering a whole game using just the Graphics object then you could skip adding the Loader entirely! That's the basic gist of it anyway. Clone the repo, create your own phaser.js entry point, put in it whatever you use and let webpack worry about the rest.
  10. 1 point

    Mouse Click Event

    Here is a link to the example referenced: http://examples.phaser.io/_site/view_full.html?d=arcade%20physics&f=shoot+the+pointer.js&t=shoot%20the%20pointer