• Content Count

  • Joined

  • Last visited

  • Days Won


bnolan last won the day on June 17 2018

bnolan had the most liked content!

About bnolan

  • Rank

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. For cryptovoxels I wrote a non-greedy mesher that creates a really nice lighting effect, but because it has so many faces, it's very slow to use as a collider. eg:,18N&mode=realism It's ok on chrome on my macbook, but on slower devices, there is a lot of time spent in javascript (I assume doing the collider or picking). I understand I can set a collider for a mesh - so I can create a greedy mesh (generate one mesh of faces to use as the collider). Can I then set that collider to be pickable so that moving the mouse cursor around (we raycast every frame so we can highlight interesting things to click on) only picks from the collider? I'm thinking the most efficient way to do this is to merge the voxels into a set of axis aligned cubes (using some kind of greedy algorithm) and use that as the collider / physics model, then greedy mesh the voxels into a non-visible but pickable mesh - is this the best solution or am I overthinking it?
  2. I just found that cryptovoxels has been rendering the scene twice per frame for the past 3 months. Removed that double render and now it's buttery smooth on the Oculus Go and iPhone. I AM AN EXPERT GRAPHICS PROGRAMMER.
  3. Wrote a medium post about optimizing / rewriting the voxel mesher:
  4. Wrote a medium post on using mapnik / chrome headless to generate orthographic map tiles:
  5. Thanks @samid737 I'll try and replicate it. 👌
  6. Hey @vamos! Happy to explain. The world is broken up into parcels (which have an axis aligned bounding box), and these parcel records are stored in our ethereum contract. You can interact with the parcel on etherscan and get the bounding box, and the owner of the parcel. If you are the owner of a parcel, you can log in on the cryptovoxels site, and we let you edit your parcel (placing blocks and signs inside your bounds). The ownership record is an ERC721 token, which is a standard for cryptocollectibles, so once you own a parcel, you can sell it on marketplaces like OpenSea or Rarebits.
  7. Hi @samid737, what operating system are you on? I've not seen any problems with mouselock on chrome using os x and linux - is it asking to grab the mouse before it starts to randomly jump? @losthope - currently you have to buy a parcel to edit the world, but I'm going to create some "free-editing" parcels, that anyone can edit, to get an idea of how the editing tools work. If you want to buy a parcel, there are a few for sale on OpenSea. Thanks for the report on the jump-flying bug too, I've added it to the todo list
  8. Hey everyone, this is my game I've been working on. It's a virtual world where the world is broken up into parcels, and each parcel can be owned by someone via a contract on the ethereum blockchain. I'm using a voxel engine for the world, and there are in-world editing tools. You can see and chat with other players (it has a mulitplayer server written in node.js) as you explore the world. I've built it using babylon.js and node.js, and it's been a really great experience. If you want to purchase a parcel to build on (or hold and sell later), there are a few for sale on Opensea. The game is here.
  9. @Deltakosh do I just add a screenshot and a link to the demos section of that page? I'd love to be on the babylon.js site.
  10. @aFalcon sorry I don't have any code online, but I basically encode the position and quaternion of the players camera and send that to the server, the server then broadcasts that to all connected clients, and I create a player model on each client to draw each other player. You can use json or a binary encoded packet to send the positional updates, and assign a unique UUID to each player that connects to the server. ☺️
  11. Thanks! It's been a really fun project, and babylon.js has made it very easy. I'll try and share some of my code as time goes on
  12. Cryptovoxels is my ethereum virtual world. You can buy parcels of land in the world, then build shops and stores using the in world voxel tools. I started this project in babylon.js about 3 months ago and sold the first parcels of land last week. A video of the editing tools: The world is multiuser, I use websockets + a node.js server (using babylon on the server side) so that you can see other players as they explore the world. The voxel engine uses a greedy mesher with ambient occlusion to generate the meshes, and then a custom fragment shader to do the texture lookup in a texture atlas. The performance is really good on mobile, and it works well in VR as well (mobile VR and desktop). Babylon.js has been really awesome to work with, the typescript bindings are great and the playground has helped me out heaps. I also created a .docset file for browsing the documentation using Dash on os x. Glad to be part of babylon.js community!