Hello,
I'm in the middle of creating what I call dynamic assets. The hope is that when fully incorporated into the project a player will be able to create their own buildings, monuments, bridges, and city walls with this tool. I want it to be user friendly. Importantly, once the user has 'designed' their unique structure I want the functions to be able to pop out the needed collision geometry so that the world's Simulin can interact with it as a player would expect it to. Examples of this would be Simulin travelling through door-ways and up stairs and walking around walls and over bridges.
The past three weeks has been a seesaw of conflicting interests. If I make the dynamic asset tool too user friendly where sky is pretty much the limit it would be a nightmare trying to come up with the necessary algorithms to try and generate the necessary collision geometry. If I make the tool too rigid then the appeal I'm going for ( enticing players with this tool ) will become lost after a few sessions working with the tool because it'll be outed as a fraud tool. The Ooooos and Ahhhhs turn into pfffts. I'm giving it a shot because this last tool, dynamic assets, will be the icing on my framework cake and will bring together all the functionality I've been working on.
I'll be updating my progress regarding dynamic assets in this blog post.
As of today I've been working on allowing the user to place foundation blocks, what Simulin will walk on, into the game world and have the server generate the necessary collision geometry using the same technique I'm using for navigating Simulin around the world. Nodes and collision faces between nodes.
I'm posting a video of the progress so far, it shows two clients, one client is making the foundations, the other is strictly viewing the resulting collision geometry generation. For the most part a user can become very creative in placing blocks where and how they please and function creates Node loops. As of right now It seems things are working nicely. I've been busy testing all sorts of scenarios and modifying the code accordingly. The code is incredibly finicky and if a line is out of place or ordered wrong the whole thing crashes down. It's like Fine China, haha.
Right now the block's are set to an arbitrary height of 5. But users will be able to modify this at a later time. Probably increments of 4. The set increment thing is what I've been seesawing about, we'll see if I can just get it to work before I lower the increment value.
Anyways here is my incredibly exciting video of testing if this stuff all works ( p.s what I want to see is a continuous wall that surrounds the blocks to form a loop. Also they are only 1 sided faces so that the collision geometry can only be triggered from one direction. )
The genius has re-surfaced! Welcome back! I like what you're doing here with the dynamic approach.
I miss seeing your posts! Keep us updated!