All Activity

This stream auto-updates     

  1. Past hour
  2. Thanks ivan, I found the solution now, I use Plane instead of Rope to solve the turn issue
  3. Today
  4. Okay so I only ended up making two fully functioning implementations, though I did go down a few paths just to benchmark varying techniques. I have not yet done any techniques with instancing (I've only been doing webgl for a few days and need to study some more). Hopefully someone finds this useful. So a few details about the underlying map data before getting into the specific techniques. The game is networked (nengi.js) and sends chunks to the game client as the player nears them (like minecraft more or less, but just 2D). Each chunk is an array of tiles, it happens to be a 1D array with some math to turn it back into 2D, but this detail probably doesn't matter. The map as a whole is sparse collection of chunks, which also doesn't matter too much but means that the chunks can be generated one at a time -- the whole map doesn't have to be filled in and exist when the game starts. The clientside chunk graphics generator, for both techniques below, would only generate one chunk per frame and would queue them so as to avoid ever generating too many graphics in a single frame and experiencing a noticeable hitch (sounds fancier than it is). Let's say that the chunks are 8x8 tiles, and each tile is 16x16 pixels (I tested many variants). The network data for receiving a chunk then contains the chunk coordinates and 64 bytes. If not using a network or using different dimensions then this would vary, but I'm going to stick with these numbers for the examples. They were also benchmarked on two computers which I will call the chromebook (acer spin 11, Intel HD 500) and the gaming rig (ryzen 1700, 1070 ti). The first experiment uses render textures. So it receives the 64 tiles, creates 64 sprites according to the tile types, and then takes the whole thing and bakes it into a single texture. That chunk sprite is then positioned as needed (probably at x = chunkX * chunkWidthInPixels, etc for y). On the gaming rig many varieties of chunk and tile sizes and multiple layers of tiles could be baked without any hitches. The chromebook was eventually stable at 8x8 chunks with 3 layers of tiles but anything bigger than that was producing notable hitches while generating the chunk graphics. It is also worth mentioning that the above technique *minus baking the tiles* is probably what everyone makes first -- it's just rendering every single tile as a sprite without any optimization beyond what pixi does by default. On a fast computer this was actually fine as is! Where this one runs into trouble is just on the regular rendering time for the chromebook-level device... it's simply too many sprites to keep scrolling them around every frame. The second experiment was to produce a single mesh per chunk with vertices and uvs for 64 tiles. The geometry is created after receiving the network data and the tiles in the mesh are mapped to their textures in a texture atlas. I feel like, as far as webgl options go, this one was relatively simple. The performance on this was roughly 4-6x faster than the render texture scenario (which already worked on a chromebook, barely) so altogether I was happy with this option. I was reading that there would be issues with the wrapping mode and a need to create gutters in the texture atlas to remove artifacts from the edges of the tiles as they rendered, and I'm not sure if I will need to address these later. My technique for now was to make sure the pixi container's coordinates were always integers (Math.floor) and this removed artifacts (stripes mostly) that appeared at the edge of the tiles due to their texture sampling. That's all I've tried so far, but I'm pretty satisfied with both the render texture technique and the webgl technique. I'll probably stick to the mesh+webgl version as I'm trying to use webgl more in general.
  5. Hi for all, share mi game in crazzygames, please playt it and tell me your opinion:
  6. welcome to my web: gmail sign up please to come to see and to feeling ☺️
  7. I love what you guys tend to be up too. This type of clever work and reporting! Keep up the amazing works guys I’ve included you guys to our blogroll. gmail login
  8. Thanks a lot for the post. It has helped me get some nice ideas. I hope I will see some really good result soon. gmail sign up
  9. At least, Notify in official website 'News' and 'BUY NOW' page that the editor is closed off and stop support as a temporary. @enpu is a versatile.he can act, sing, coding, music making, video director and video editing..... I guess his life is colorful and busy. Hope @enpu still working on Panda 2.
  10. Well, I’m up to 1,960 tracks…it’s hard to believe…I might actually reach 2,000 by the end of the year! Anyhow, I just wanted to send out a big THANK YOU to those of you who have showed your support for my work and my website…your contributions have allowed me to make my monthly payments on my synths. They are all top-of-the-line instruments and I think it’s reflected in the quality of the sound they put out. The whole point of my soundimage project was to make good-sounding music available to anyone regardless of their budget…and it’s definitely working thanks to you! I’ve been spending time learning my newest synth which will enable me to create tracks in genres that I haven’t done before. I’ll let you know as I open new pages on my site to release them. In the meantime, here’s what’s new this week: A brand new music track on my Action 3 page: FUNKY RUNNIN’ – (Looping) – Maybe for a funky endless runner game? Some cool electronic sound fx on my new SFX – Electronic page: ELECTRONIC STATIC and TELEPHONE STATIC – Perhaps for situations where communications have been knocked out. (They actually sound pretty cool.) On my SFX – Creepy page: EERIE INDUSTRIAL DRONE – (to add to my other creepy drones.) And on my SFX – Environments page: UNDERWATER RUMBLE – Maybe for deep sea environments? Have a great week!
  11. Yesterday
  12. What do you mean by shift? I am not that familiar with mesh, is that something like this? This is the problem i am facing:
  13. Please see this related issue: We are in the process of generating typings for all packages. Until then, that issue contains a workaround for hooking up sub-package typings.
  14. I'm trying to use this tool: I'm having troubles with getting the types to be imported. Could not find a declaration file for module '@pixi/constants'. '.../node_modules/@pixi/constants/lib/constants.js' implicitly has an 'any' type. Try `npm install @types/pixi__constants` if it exists or add a new declaration (.d.ts) file containing `declare module '@pixi/constants';`ts(7016) Does anyone know how to solve this? I know that in the main pixi.js import, the types are already there. I followed the tool and did this to get the modules: npm install @pixi/constants @pixi/core @pixi/display @pixi/math @pixi/runner @pixi/settings @pixi/ticker @pixi/utils
  15. ozgun

    Hello Exca,

    It seems this link is not working anymore. Can you please send me that code?

  16. You can make your own rope that is not affected by tangent shifts. Just take pixi rope, add "shift" param to each point, move vertices somehow. I bet I could do that but im too busy with people's requests already
  17. Hi, I'm a sound designer and I'd be glad to join the group if you need some original music, also chiptunes!
  18. Ah! Didn't know that, thanks for that pointer. Yeah, I am kind of blocked on how to access playfab sdk. Most of my game's code is running on cloud script, so need some support for it.
  19. Yeah, unfortunately, problems with payment continue. I'm missing that August payment as well. Maybe @Iurigenovesi could give some comment?
  20. I want to create a light trail effect of the border of the popup, the effect is similar to this: I tried with rope + sprite animation, however, the glow around the texture will become very weird when the trail has a 90 degree turn I heard that shader can handle something like this, but I have no idea how to do that Anyone has a idea?
  21. it interesting to see matter.js are the only one seem have a gpu compute, this is maybe good ? Edit: oups no forget me!
  22. hum from individual test on Vivaldi browser (chromium) ~2sec test, ms per frames . (100% cpu usage for all!). It a fast test, if you guys can also take and shares same kind of screen plz. Hardware. Result link source code used:
  23. Hi @jonforum I didn't make that test but if you click on the links above it should show the same "tumbler test" using the different engines, you can then see the FPS for your machine. The hard coded FPS are those achieved by finscn on his machine, they aren't "dynamic" @ivan.popelyshev I personally liked matterJS as it wasn't too old and had good documentation and was really easy to get running with PIXI. However as @mobileben has used both this and the typescript box2d and has demonstrated that box2sd is more accurate I am going to look into this in more detail before making a decision. I think if you wanted something quick and easy matterJS would be acceptable but perhaps box2d might be more accurate in the long run. I think this is also a good contender: It is a javascript rewrite of box2d and still has an active repository.
  24. if your say it , i trust you, because your are Ivan, but i want just say the bench upper are not a good valide bench data ref! we can't take those data for ref.
  25. I remember back then i used box2d or box2d port with fluids, but of course now im doing it , but it was in 2014. I didnt even measure it back then, but yes, box2d was very performant
  26. i like your link here because you share data, but the issue here is your link is not a bench! it juste string html data ! I get same result from all my web browsers , firefox,chrome,vivaldi,edge... After look in deep the link compute nothing, and cant be a good reel reference. need a reel bench here, this cant be a bench values to take. Those values cant be take for reference, there only html strings values. i dont know if box2d is >70% more speedUp, but please guys don't take this ref.
  27. Thank you, I learned a lot about event loop timers. I forgot to mention my game uses socket io so I couldn't get PM2 to work as it should. I'm going implement the cluster module manually, but there's a couple of issues. Im trying to make a proxy server on the top of the node workers so when a client connects to the server, the proxy server makes a decision on which worker the client should be routed. I want to redirect the client to the node instance for which some conditions exist. Like for example if the client wants to join a room search all node instances and connect to the instance the first free room is found or if the client wants to make a room, redirect him to the instance which has the least rooms. I have no idea how to make a proxy server though, is this even a good idea?
  28. The engine itself is opensource, so we can still update as necessary. Just the editor is closed off.
  1. Load more activity