Jump to content

Bjs is moving fast


Pryme8
 Share

Recommended Posts

Here's a good one right here...  http://www.html5gamedevs.com/topic/27488-best-practices-for-changing-facet-color-in-custom-mesh/

User:  I want to make a single triangle face... be a different color.

DK:  I suggest using vertex colors  (with demo, where NOT ONE triangle face was its own separate/discrete color)

How long are we going to wait before we tell this user about needing .convertToFlatShadedMesh or about adding 3 more verts around the chosen face (to get a unique non-dithered solid face color)?  How long will we be stringing-along this user... with Swiss-cheese help?  (information holes)

Does user have fear of "shit, I'm not going to be able to do this", yet?   Do we have a missing mesh.getThreeVertsByFaceId()... so user can clone those three original face-verts, and their UVs, and their lighting normals, then set the same colorsKind on all three new verts, then finally update (append) all that crap to vertexData positions, indices, UV's, normals, and colors?

(adding them atop original vert positions, and appending onto vertexData arrays, not replacing original verts.)

At what point do we want to address the user's original question (loose quote)... "What's the best practice for discretely coloring one face?"

When do we say "Hey Zhutq... the best practice for coloring one face is...

1.  Be afraid.  Be very afraid.
2.  Learn about what BJS does to a mesh... when doing mesh.convertToFlatShadedMesh()
3.  Pull-out large clumps of your hair... trying to get a ref to the three verts that surround your chosen face.
4.  If you are already flat shaded, pull more hair finding the MANY verts that surround your chosen face.
5.  If smooth shaded, clone those 3 verts, and ADD those vert positions, with some indices hooking them together (in the correct clock-direction), with some cloned normals and UV's if they exist, and add your chosen three vert colors... to the vertexData object.  Uh oh.  Does the colorsKind array exist by default?  Is it stocked with color data?  Oh no!
6.  If user survived at all, and is still within 1000 miles of BJS, check for ulcers and brain tumors.

What are we doing?  Is this a team, or is it everyone for themselves? 

Hey Dav... if you REALLY want to see something that you "don't really get", take a look at THIS dog'n'pony show. 

Yay HoloLens?  Yes, I know this is off-topic for this thread.  *shrug*  Sorry.  Just... hoping to point out some interesting things we do and don't do.
 

Link to comment
Share on other sites

I hear ya.  I dislike my post, too.  But try to answer.  For how many more posts... do we give this user the run-around, by not telling him the full story, or by not having a doc that tells this story?  Where's our priorities?  Do I dare ask?

Link to comment
Share on other sites

@Wingnut I will tell you the exact same thing that I did about a year ago: right now you spend your time by arguing and we spend ours to arguing back. The result is non productive.

@jerome addressed the user's issue pretty quickly so I guess the user is fine. now if there's no overview/tutorial about "how to edit a mesh's content", then I suggest you spend time on this, looks like (I'm not being sarcastic) you know about this, so why don't you write something about it. I think we all agree that it would be better to have this doc than not having it.

Where we disagree is how we judge this matter. I've seen much worse in almost every libs I used. Man, I wish that you knew about how to write a 3DS Max plugin 10 years ago, where this commercial product was very expensive, a leading product in its own category but with a doc that made you beg to have the API source code, then begging more to have part of the software source code to understand what were going on and how to use things (and btw Autodesk finally released this source code because that was their best way to get out the trouble).

 

Link to comment
Share on other sites

@Nockawa, it is my opinion that "adjusting" the way we interact with new users... is VERY productive... IF you have a goal of ensuring new users... stay with BJS and have a great time.

If that's NOT important to some, so be it.  I'm not here to argue.  I'm here to try to adjust some priorities and open some eyes to things that might be unseen.  If folks get pissed for me trying to do that, then they don't understand why I am doing it.  Arguing is certainly not anywhere in my objectives.

@adam - I'm not sure WHAT DK was trying, there.  Did the demo show one face solid colored?  Noooooo.

Sigh.  I'm sure I'm being unfair.  Sorry.  I'm not arguing, but I bet I'm saying some things that folks don't like hearing, and possibly refuse to own-up-to/admit.

Link to comment
Share on other sites

Well, I tend to agree with @Nockawa on almost he answered and disagree with @Wingnut with almost he said here. ;) 

The only point I'm interested in with what @Wingnuttries to point out is around newbies. Having played with several 3D engines, I can tell you that Babylon.js still fulfils his promises of being one of the most accessible and simple 3D engine to start with. But as @Nockawa said, there is still a lot of 3D concepts we can't hide to the users when he will start to build some custom solutions. We try to cover 80% of what a user usual needed with simple code, like our camera approaches: change a unique line of code to have support for touch, gamepad, VR, etc.

We won't be able to provide this level of ease for all the features of the engine, I hope you'll understand why.

To me, the only area where we need help or where we need to improve is the documentation / tutorial. I fully disagree with you @Wingnut on the fact that noobs could be lost because of the Framework itself or because we're moving "too fast". The problem is that we will need a step by step tutorial helping him to build a game and trying to cover as much as possible the main difficult points he may find when he will decide to code his own project.

We've discussed about that with @RaananW but didn't have the time to build such a tutorials serie yet. 

This is where the community could help. Some of you have very high expectations on us, saying we're kind of genius being the only one to fix or improve Babylon.js. First of all, this is not true, I can guarantee you that almost anybody could fix our code or improve it. It's just a matter of time and motivation. But I can understand that you don't want to spend your time on that. As us, you're free to spend your free time on what you'd like.

So, if you really want to help babylon.js becoming even better to welcome the noobs, help us to write quality tutorials to make something attractive.

On our side, we've spent a lot of our time building solutions to make it as easy as possible for noobs:

- the architecture of the engine itself
- porting the engine to TypeScript to have a broader developers' audience, like C#/Java developers that were afraid of some JavaScript patterns
- the playground
- the documentation
- some blogs article we written
- doing tons of conferences

You've already help us a lot in the past @Wingnut on some of those topics. I would advise you to rather spend some time or energy on those points rather than trying to argue on some technical features we'd like to implement. I convinced you're targetting the wrong problems, but you're free to don't change your mind, I'll still respect your point of view, still being strongely against it. ;)

David

 

Link to comment
Share on other sites

2 hours ago, Wingnut said:

See how little I know about this subject?  I thought a face == facet.  I always called 2 - triangles... a side/quad.  But yep, you're likely correct.

I might be wrong but I believe a facet is an edge.  Actually that's kinda sad I'm not to sure anymore I think it's time to do some refreshment reading.

 

i have been bored as hell the past 4 days I do t get internet in my office till Thursday so I've only been able to look stuff up on my phone.  

Stuff like this I'm gonna squash and make cheet sheets for terminology or something because if we can get everyone on the same page with what we're talking about I think communication will go smoother.

 

Link to comment
Share on other sites

Ok, reading all this since I posted is a bit much, only skimmed.  My concern got addressed with roadmap update.  There were conflicting signals about WeGL 2.0 first being in 3.0 then 2.6.  Also no real mention of anything beyond compatibility till now.  So personally, all set.

Constructively, I wonder about the possibility of using one of the interactive dev tools that have been built, more on the forum.  Many people give likes and way-to-goes, but those are just other dev's who you know are not really going to use it.  Can a question be answered in terms of some metadata or saved scene data that is input a scene dev tool as opposed to doing a playground?

If so, might handle the more novice questions or people just starting better.  The playground running the alpha version is pretty low level.  Someone just starting normally does need the alpha version.  You see on those "10 best webgl" pages a category of GUI dev tool.  Presumably, because "7 year old girls" want them.

Link to comment
Share on other sites

7 year old Gryffbekistan girl, so reduced English explaining, and increased symbols and diagrams, where possible. 

How's the new editor and its docs?  i18n-ready?  Any symbols and icons used, instead of words?  Are those icons ready to be used throughout our docs and other BJS tool apps?

But yeah, I like this idea.  I have another thread "out there", trying to read TS files into the PG.  Why?  A possible future "select camera inputs" and maybe "select an observable".

 

What do they call this phenomena... "Hey, I HAD TO GRIND THE ANSWERS from a crappy English-written tutorial and 1000 tests,  SO THEY SHOULD, too!"

What is that attitude... called?  Child resent?

Is it a dog eat dog world "out there"?  "Buck-up"?  "If you can't take the heat, get out of the kitchen, dude"? 

Some of us are conservatives, some of us are liberals, on various subjects, I suppose.  The techies vs. the artists.  The techies claim that the artists need to be more digital (black or white), and if you can't read the docs, then you didn't really want it that bad.   The artists want the techies to be more analog... caring, emotional, and never hard-lined.

Both groups are here on the forum.  Could there be a darned good reason WHY girls don't play with BJS?  Thoughts?

The fears are here.  Can we fig a way to smooth them out?  I dunno.  According to some, I should write more tutorials and make our giant tutorials list... scarier.  (Esp. scary for those who poorly read English).  I dunno.  Maybe it's not our job.  I'm willing to be convinced of things, and change my attitudes... if I see/hear something strong enough to do that.

Link to comment
Share on other sites

Ohh man @JCPalmer that is a great idea, add a feature on the forum that if a question is awnsered and there is a PG demonstrating it to some how accosiate it with the thread and have it at the top of the page if you go to that question.    And maybe even an option to link it to a whole other thread if it's a repeat question, like not just a link on a post but like a whole redirect.

 

maybe that will be too much, but wouldn't we talk to like @mattstyles for a feature like that?

Link to comment
Share on other sites

6 hours ago, NasimiAsl said:

i think babylonjs need move faster ( not in technology more in tools   and editors )

i like collaborate with anyone for make that 

for start '.babylon' extension  online management

 

 

@NasimiAsl we should have linked up months ago.   I think if I give you the script to Tower and other things and couple that with your geo builder, we could producer something like playcanvases cloud editor.

Link to comment
Share on other sites

I, personally, like how Babylon is progressing. The only lacking aspect is documentation/tutorials. For one, I had (still have) hard time getting my head around local vs global, specifically when it comes to Rays. I can usually google my way around or just browse through Classes, but a good doc section with examples, not just listing of methods with params, would be a godsend!

Link to comment
Share on other sites

Interesting debate, I think I understand both sides :

 

Some users say it would be easier with more documentation.

Yea, for example the raycast thing with predicate, it is not explained in the doc and there is no tutorial for that.

I had to look on the forum. It is not difficult but it is the second process normally.

We could improve that by completing the documentation or tutorials with important posts of this forum or our contribution to make it official.

 

Some contributors's priority is not so much documentation.

And they are not passionated by writing tutorials, easy to understand.

They prefer to code. And they may have a different point of view, for them matrix (for example) is an easy thing so they don't understand how much beginners can be stucked.

BJS is already good documented and beginner friendly (more than three.js) so I'm happy and very grateful for that.

 

But it could always be better (nothing is perfect). So we could together help to improve the documentation.

I want to add this tutorial page about raycast but I have to learn how to contribute to documentation with Git (i learned) and Grunt (i didnt have yet).

We could create a wiki to make it easier to contribute ?

But for some tools, only the contributor can help because nobody else knows how to use. Who else can know better its tool when its an advanced one ?

 

BJS is like a bunch of tools. You have to choose the right ones and assembly it like a puzzle to make your game.

Do we guide the user ?

With my modest Babcity, I will try to find a way to resolve a puzzle.

 

 

Link to comment
Share on other sites

@getzel interesting and positive post! :) I share your point of view.

To contribute to documentation you don't need to know about Grunt, you need to know about how working with Git locally, there might be a more recent on the bjs web site but I use this tutorial each time I have to clone a repo. lol.
Then you can follow the instruction on this page to build/run the doc locally, add pages, etc.

After that, to write doc, you need to know only two things:

  1. Writing in Markdown, google will be your friend, if you want to include picture, I personally choose imgur.com.
  2.  Don't forget to update the statics.json file

You can make your documentation like a Wiki, that's what I did with Canvas2D, the Home page is here then it points to all other pages, just take a look at the raw version of the home page to see how it references other pages, and then look in the statics.json (link above) how these pages are listed: basically they have the "hidden: true" setting added for them to not appear in the main list of the Overview Doc.

After you done, you submit a PR, it's reviewed, and when it's merge and then merge to the Production Branch of the Documentation project, then the online doc is automatically rebuilt to include your changes. Remember, if you don't list a new page in the statics.json, it won't be processed by the doc builder, so all you did won't show up.

About your concrete contribution for Raycast, you should have a short talk with @Deltakosh to know where to put this doc (tutorial or overview, mainly).
I personally think it would be good to have a BJS Home in overview, acting as the entry point for any beginner and this page would reference other pages that explain the basics and intermediate concept of bjs. Well like I did with Canvas2D...

We're here to help everybody, specially those who start to contribute: we never have too much of these people! :)

 

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...