jerome Posted January 12, 2018 Share Posted January 12, 2018 Announcement (and shameless auto-promotion) to a new project : meteoritool, NasimiAsl and GameMonetize 3 Quote Link to comment Share on other sites More sharing options...
NasimiAsl Posted January 14, 2018 Share Posted January 14, 2018 can i make one game for that ? JackFalcon 1 Quote Link to comment Share on other sites More sharing options...
jerome Posted January 14, 2018 Author Share Posted January 14, 2018 of course NasimiAsl 1 Quote Link to comment Share on other sites More sharing options...
NasimiAsl Posted January 15, 2018 Share Posted January 15, 2018 r u remember Boomber man jerome and waverider 2 Quote Link to comment Share on other sites More sharing options...
waverider Posted January 16, 2018 Share Posted January 16, 2018 coool! is it ready to play? Quote Link to comment Share on other sites More sharing options...
NasimiAsl Posted January 16, 2018 Share Posted January 16, 2018 need some day Quote Link to comment Share on other sites More sharing options...
Pryme8 Posted January 19, 2018 Share Posted January 19, 2018 I should have one for you here soon as well. Im keeping it asset-less, so that way the player does not have to download any extra files onto their work comp. JackFalcon and jerome 2 Quote Link to comment Share on other sites More sharing options...
Pryme8 Posted January 23, 2018 Share Posted January 23, 2018 @jerome There is a bit I need to do still, but I am almost to the point of setting up the full gameplay. Then I need to do a bunch of optimizing and set it up to build the assets in async (which I have the script in place I just need to shift to the async functions). Im hoping by the end of this week, or beginning of next it should be playable. http://pryme8.github.io/TSO/ *UPDATE* I am like one or two days from turning on all the basic features to be able to play a game. Are there any "rules" I need to follow when doing this development for you? JackFalcon and jerome 2 Quote Link to comment Share on other sites More sharing options...
jerome Posted January 24, 2018 Author Share Posted January 24, 2018 No rules Something targeting the office machine capabilities in first intention would be the only lead to follow Quote Link to comment Share on other sites More sharing options...
Pryme8 Posted January 24, 2018 Share Posted January 24, 2018 well I did not realize the link I posted was broken... I will fix it when I get into work this morning and that above post will make a lot more sense. @jerome, *UPDATE* I fixed it and it is "playable" now. Just gotta finish up some rule logic with winning/losing and drawing new cards. Then its activate the async features to stop the DOM from hanging on initial compile. Then make it look nice and start adding what ever flair. If you don't know the game rules are: don't go off the edge of the board, don't run into another player (same path other paths that cross are ok). you can rotate a tile if you have it highlighted and use the arrow keys. NasimiAsl, jerome, Wingnut and 2 others 5 Quote Link to comment Share on other sites More sharing options...
jerome Posted January 25, 2018 Author Share Posted January 25, 2018 really smart Quote Link to comment Share on other sites More sharing options...
Pryme8 Posted January 25, 2018 Share Posted January 25, 2018 Just enabled the ASYNC build, so it should not hang when compiling the assets now. Also you can choose the number of players now. Just need to add the win/lose logic and work on the dragonToken logic for who draws first when new tiles become available. Some sort of UI to help the user know whats going on and how many tiles are in the deck still/how many are in other players hands. How and when do I submit this? NasimiAsl 1 Quote Link to comment Share on other sites More sharing options...
jerome Posted January 25, 2018 Author Share Posted January 25, 2018 When you want (no rush) Just send me a zipped folder so that I unzip it on the web server (or tar.gz, or whatever you want). It's better that you use the UTF-8 encoding what is the web server default encoding and it's better that you refer cdn or legacy versions of BJS and PEP js example : <script src="https://preview.babylonjs.com/babylon.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.pep/0.4.0/jquery.pep.min.js"></script> <script src="https://preview.babylonjs.com/gui/babylon.gui.min.js"></script> JackFalcon and Pryme8 2 Quote Link to comment Share on other sites More sharing options...
JackFalcon Posted January 26, 2018 Share Posted January 26, 2018 @Pryme8... awesome, that is vNice... Mr Andrew, V...???. Cool game! Pryme8, NasimiAsl and jerome 3 Quote Link to comment Share on other sites More sharing options...
Pryme8 Posted January 31, 2018 Share Posted January 31, 2018 On 1/26/2018 at 7:48 AM, aFalcon said: Mr Andrew, V...???. Cool game! Yup my last name is Butt ^_^... and I wish I was cool enough to claim the game design but :https://en.wikipedia.org/wiki/Tsuro I just enabled the UI, and will finish it up and then activate all the win/loss calculations be the end of this week I hope. Then it will technically be "done". http://pryme8.github.io/TSO/ JackFalcon, NasimiAsl and jerome 3 Quote Link to comment Share on other sites More sharing options...
JackFalcon Posted February 1, 2018 Share Posted February 1, 2018 Hey @Pryme8, Those motion-paths are cool.. Quote Link to comment Share on other sites More sharing options...
Pryme8 Posted February 1, 2018 Share Posted February 1, 2018 Yas ^_^, Ok so after the path was placed, I baked their positions. Then I set the values that I was comparing to a fixed decimal of 4 places (to fix for error margin). Then I test the players position to the available paths, skipping any paths that are on the tile the player was last on. I need to go back and fix some of the paths here to cause the way I am animating them requires the straight lines to have intermediary points but that's another topic. Here is the function that is doing it and some comments to explain whats happening. Let me know if you have any questions. _identifyPaths : function(){ var results = []; for(var y=0; y<6; y++){ for(var x=0; x<6; x++){ //Iterate through all map tiles var _t = this.map[x][y]; if(!_t){continue;} //If no tile on that map position skip. for(var i=0; i<this.map[x][y].paths.length; i++){ //Iterate through all paths on the tile for(var j=0; j<this.players.length; j++){ //Check all player positions for the paths on the tile if( this.players[j].lastTile.x == x && this.players[j].lastTile.y == y ){continue;} //If it was the last tile the player was on skip it. //Otherwise get the players position and the path you are testing then I converted the lineMesh //to a standard 3 step array. Get the start point and the end point. var playerPos = this.players[j].mesh.position.clone(); var path = this.map[x][y].paths[i]; var pathPoints = TSO.ConvertLineSystem2Array(path); var sp = new BABYLON.Vector3(pathPoints[0],pathPoints[1],pathPoints[2]); var ep = new BABYLON.Vector3(pathPoints[pathPoints.length-3],pathPoints[pathPoints.length-2],pathPoints[pathPoints.length-1]); //Do the rounding to fix for slight variations in position values. //and make sure they are a number. playerPos.x = Number(playerPos.x.toFixed(4)); playerPos.z = Number(playerPos.z.toFixed(4)); sp.x = Number(sp.x.toFixed(4)); sp.z = Number(sp.z.toFixed(4)); ep.x = Number(ep.x.toFixed(4)); ep.z = Number(ep.z.toFixed(4)); //these are kind crappy, but if its on the start point they are on the forward version of the path, //If they are on the end point they are on the reverse of the path. //Create animation data, and push that to a stack. if(sp.x == playerPos.x && sp.z == playerPos.z){ results.push({'player':this.players[j], 'path':pathPoints, 'dir':'forward', tileID:{x:x, y:y}, sp:sp, ep:ep}); } if(ep.x == playerPos.x && ep.z == playerPos.z){ results.push({'player':this.players[j], 'path':pathPoints, 'dir':'backwards', tileID:{x:x, y:y}, sp:ep, ep:sp}); } } } } } //Process that stack this.turnPathInfo = results; this._checkForDeaths(); this.state = 'run-path'; } JackFalcon and NasimiAsl 2 Quote Link to comment Share on other sites More sharing options...
JackFalcon Posted February 1, 2018 Share Posted February 1, 2018 TripleLoop, that is awesome.... Quote Link to comment Share on other sites More sharing options...
Pryme8 Posted February 1, 2018 Share Posted February 1, 2018 so the path will normally hold its points as a local thing, so even if I move the path the coordinates stay the same because its local. IE, if point 6 is at vec3(1,0,0); and we move the path 3 units in the x and check the point again it will read (1,0,0). IF we move it and then bake in the current transformations with lineMesh.bakeCurrentTransformIntoVertices(); and then check point 6 it after moving the three units and baking it will read as (4,0,0). This is just to simplify things because after the tile is placed it will never move again, but in the case that your paths constantly move, just add the linemesh position to the point position and it should be good unless you rotated or scaled, then there are other steps. We did just kinda Hyjack @jerome's thread though and should move this conversation to a different post perhaps? JackFalcon 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.