Jump to content

The Wingnut Chronicles


Recommended Posts


Wingnut... nice to see you again :-)

Well, about my fun projects : to blow up a SH with a SPS first !
Didn't you say once that real guys always make things explode from time to time ? :P

I will also probably code very soon (feature or not, I'll see this when it's done) something to get very fast the facet index at (x, y) coordinates on a heightmap. What for ? to morph eventually the height map at this position. 
Behind the scenes, I intend, one of these days, to start to code a 3D artillery duel game (player vs player/computer on the same machine first, network maybe then) : you know, a landscape (height map), two opponent cannons located randomly and bombing at each other. As this is quite a simple game, I'd like to insert many effects : bouncing fragments, camera flying with the bullets, etc... and I'd like to morph the map at the bullet impacts !
This game could be a good prototype for another game then, a tank game : same thing, but the cannons are tanks and move around in the landscape.

As there are plenty of people with good skills and nice ideas in here, maybe could we start this as a collaborative game... I remember a topic with a plane, a gunsight, many coders bringing their fixes and ideas and finally we all got almost a real game in the PG ! That was such a nice experience.

Less fun but useful projects : to implement a Line System, what is something asked by several users so far. 
A tool to declare many lines once and to draw them then with a single draw call (like the SPS, but simpler actually). With the ability to morph them dynamically then, of course (some wind-in-the-hair system ? is a 3D framework a really decent one without a wind-in-the-air integrated simulator, isn't it ?)

And like everyone here, I'm waiting for the promising forthcoming new physic engine from Samuel. This will be my pretext to start to learn, at last, how those physic engines work !


Link to comment
Share on other sites

Artillery Duel... that is a fun game.  Three viewports in the BJS version, though, correct?  ;)  Hero gun/fort view (fire outbounds, use binoculars), enemy gun/fort view (watch inbounds with binocs), and classic 2D-ish cross-screen boulder lobbing with dynamic winds - viewport.  Yeah!  When its time to fire a medieval boulder, a massive green wireframe targeting reticle and grid HUDS-up, which is stupid for a boulder lobber.  :)  25 knobs and levers to tweak, to get the lobbing spring set perfectly and the targeting precise. 

"Ready?  Set?  brrrrrring"  (someone's cellphone rings).  It's the gunner's brother.  He got his 62 Buick stuck in a snowbank about 8 miles from here... wonders if you can pull him out with your Saab truck.  Suddenly, the game turns into "Tow Truck Guy"... and you have to spawn a rigidVehicle and head-out across a less-than-hospitable heightMap... to get to your kid brother.

Just a totally aimless retarded string of games all hooked together by retarded events that connect them all.  hehe.

The whole package is called WebGL Willie... part-time siege weapon operator, part time rigidBody tow truck driver, alcoholic, fat, smelly, bad hobby coder, emotional mess... a far less successful "Leisure-Suit Larry" personality.  heh

Ya know, Jeromino... that EnergyJS is not going to be anything all that different from our current two physics engines.  Do you think the EnergyPlugin will have 20 new and exciting magical commands on it... that are not available on Oimo/Cannon?    They can all do rigidCars and independent suspension.  Energy will be no easier to learn than what you currently have on your plate, Admiral Bousquié.  :)  It's all broadphase and narrowphase and solvers, these days.  hehe.  (I feel like Chevy Chase in Fletch, talking about LearJet ball bearings in the Fetzer valves.)

Gonna do physics balls running on the insides of your world famous parametric tubes?  Huh?  Luge Run!!!  I can't wait!  Steer with applyImpulse thrusters on the luge!  COOOOOL!  (icy)

But, Energy.js... Jerome... you need to cover your butt, friend.  Sammy is working for corporate entities, me thinks.  You cant trust them types.  ;)  He used to be pretty cool.  heh.  (j/k - he was never cool).  hahaha  (j/k)

Oh yeah, blowing stuff up... you bet!  But its MOST important to think about during the modeling and subMeshing phases.  A train locomotive, for example.  A guy needs at least 3 grades of LOD.  The high-poly one is too poly-heavy to ever get into a scene with trees and towns and stuff.  But put it in front of Jerome's rock-lob-ster siege weaponry (Artillery Duel)... and it takes an hour of rock-lobbing effort to level that pig, and gives continuous "flying carnage" laughs the whole time.  Good destruction starts with models made of many parts and pieces.  So far, your SPS has the best "barf of chunks" that I have seen with JS, ever.  POOM!  :)  You don't need a physics engine, J-Man.  You just write your own physics engine in the playground!  Amazing! 

Link to comment
Share on other sites

:D "Leisure-Suit Larry personality"

About physic engines, I know that the Samuel forthcoming won't have necessarily much features then out current two physic engines. Well, it's just... I need a pretext to start to learn of one these (or a kick in the ass, if you prefer) like I need another boot in the ass to start to learn shadders and GLSL. However, Samy's one will be, I guess, hyper fast because it's not javascript but asm.js, you know, kind of compiled JS from C++ original code.

About my duel artillery project (then naval battle one, on a waving ground -sea-, then maybe tank one), I intend to have my own ultra-light physics engine because it's quite simple : ballistic == parabolic curves, keep-on-the-floor == heightAtCoordinates, collisions == either simple BJS mesh collisions, either 2D collisions... so everything should be simpler and faster in the game code than using an external full physics engine.

I'm exactly wondering about 1, 2 or 3 viewports as you suggested for this game and how to organize them on the screen.


Link to comment
Share on other sites


So, Jerome, or anybody, I need help with that applyDisplaceMap to tiled ground -thing.

It started simple, but it went to hell in my brain and I can't seem to recover.

I want to extend subMesh.  Make tileMesh... a sub-class of subMesh.  :)

When folks do world-serving... you know... delivering live world-data to a persistent webGL user...  WHAT do folks send to the client... when they need to draw more terrain?  Might it be a stream of json files... tile tile tile tile?  Those tiles might have location identifiers on them, so that when they get "parsed" by a Babylon.GroundSystem object, IT knows how to unpack a tileMesh and properly deal with it.

Is this what world-serving folks tend to do?  TilePackets?

If so, you can see why... hmm.  Sure, tiles can carry .materials packed with texture urls,  but, they could LITERALLY "carry" a piece of (many) textures, and a piece of heightMap... as data (in an array/buffer).

A tile becomes a free-flyer to a degree.  Self-contained.  It knows what GroundSystem it belongs-to, it knows WHERE it belongs in the grid X/Z, and it HOLDS everything it needs... to render its part of the map.  JSON files.  TileMesh, a division of SubMesh, Inc.  :)

Oh yeah, these tiles can request a piece of a heightMap FROM BABYLON.GroundSystem at tile-install time.  That "piece" might be part of a bigger buffer that was generated earlier by the GroundSystem's dynamic noise feature.  YEAH!

Thoughts?  Anyone?  I got a tile jammed in my brain.  heh.

Link to comment
Share on other sites

oooookay... let's see if I can start a conversation that isn't biologically inert.  :)

MeshBuilder.  What if... all meshBuilder mesh... carried their options object...  in mesh.options?  Barring any user scaling, this would be a fast way to get some mesh information, without needing to query bounding box sizes.

Maybe someday, a user could do builderMesh.options.height = 10, and instantly, the mesh would update to height 10.  Probably not, though.  :)

I suppose the users could stock (set) mesh.options themselves, only when it fits their needs.  *shrug*  Thoughts, anyone?

Link to comment
Share on other sites

9 hours ago, Wingnut said:

oooookay... let's see if I can start a conversation that isn't biologically inert.  :)

MeshBuilder.  What if... all meshBuilder mesh... carried their options object...  in mesh.options?  Barring any user scaling, this would be a fast way to get some mesh information, without needing to query bounding box sizes.

Maybe someday, a user could do builderMesh.options.height = 10, and instantly, the mesh would update to height 10.  Probably not, though.  :)

I suppose the users could stock (set) mesh.options themselves, only when it fits their needs.  *shrug*  Thoughts, anyone?

builderMesh.options.height = 10:

 yes, I think that be possible. If it is not. it would be nice to do

Link to comment
Share on other sites

I agree.

Hey, check this out, Chronics...


My first ever...

...tolerable Blender model.
...Windows font loaded into Blender  (Clarendon Blk BT Black).
...Blender text object, alt-C-converted to curve object, then alt-C-converted to mesh object.
...use of the easy Blender->Babylon exporter (worked great).
...use of our cool Sandbox (worked great).
...use of drag'n'drop to upload to GitHub (didn't work, but "select a file" did).
...use of Gist and GitHub to allow a CORS-clear .babylon file (worked great but I was scared) (learned it here).
...use of our scene and mesh importing (worked great, but I had some problems with mesh vars scope.  Plenty of help on the forum).

First time... for all that stuff!  Wow!  It's rendering a bit strange, though.  Stay tuned.

I had some early problems with pivot points (Blender 'origin').  A bit of study in a forum thread about loading scenes versus loading meshes... did the trick. 

I'm SO proud!  YAY!   I'm finally somebody!  :)  (no?  not yet?  unh.  Pivot point?  Alt-period?  *nod*  I'm on it.)

Link to comment
Share on other sites

Very nice Wingy :).  Blender is not "overkill" - just makes things easy to do huh?

Funny you should be playing text objects, I just submitted an entry  to rich's Forum Banner Contest using an animated Blender's text object to celebrate my 2nd anniversary on the BJS forum

Now you need to bend the text and animate it on a curve :D

cheers, gryff :)

EDIT : "use of the easy Blender->Babylon exporter (worked great)." Yes JCP and DK have done a great job with the Blender exporter.:)

Link to comment
Share on other sites

Hi Gryff!  Good to talk to you again!  Nice animated scene, Gryff, and thanks for the kind words.  Nice still-pic banner, too, but the animated 3D version is WAY cooler (as one would expect).

Blender makes MANY MANY MANY things... somewhat easy to do.  hehe.  It's all about familiarization, as you surely know.  Can you drive it completely by keyboard, yet?  I bet it can be done... but ohhh... scary.  :)

I once saw some high-output production modelers using 3D Max at a high-end video production facility in Minneapolis.  They occasionally reached over to the graphics tablets to pull a puck (not a hockey thing)... but... their left hands were all over the standard keyboard... jumping from mode to mode. 

They were girls!  Whooda thunkit?  They were compositing 3D gfx atop video... and blazing fast... probably just shuffling frame after frame to the render farm.  The girl I watched... was flying an arrow with a suction-cup tip... to a man's forehead where it stuck, and its shaft wobbled a bit after impact.  Pretty amazing.  Hours, days, weeks, months, years... of driving graphics software.  I was told not to talk or make noise.  I wonder if those girls had ANY personality remaining at all... or if they were essentially vegetables.  :)

Come to think of it... they may have been using Lightwave... and if so, they were probably driving Silicon Graphics Iris's.  $$$$$  For standard cartoons, I wonder which is faster/cheaper... a SGI Graphics Workstation driven by a vegetable girl... or a warehouse full of low-paid oriental cel tweeners?  (Phew, that's pretty racist, Wingy, but it happens.) 

Probably... hmm... Archer, Simpsons, Family Guy, Bob's Burgers, South Park... all less-than-optimal tweening, and definitely using computer-assist in every way possible.  I heard it takes 2 months to do one episode of Archer... and that's with nice gear and what... 4 people animating... I suppose.  Maybe more.

Link to comment
Share on other sites


Can you drive it completely by keyboard, yet?

Well two things - firstly I'm a "two fingered typist" so all those Shift +, Ctrl +, ALT + are almost alien to me. Secondly, I don't know all of Blender functionality with either KB or mouse - so unlikely I will know all the  KB shortcuts :o

And then of course Blender is built for "addons" - and there are a lot of those. There are some KB commands I use regularly ( A, B, C, Shift + C, G, R, S ) but mostly I use the mouse.

As for other software, I've tried 3DMax and Lightwave but I will stick with Blender. Mind you, to me, Truespace had the interface from hell. 

And as for CGI and making movies have you seen this Blender one : Sintel

And lastly a couple of tips when creating text in Blender.

1. Once you have converted the Text Object to a mesh - go into Edit Mode ->Select all the verts - **then choose Tools Menu, and  click the "Remove Doubles" button**. You will be amazed at how many verts you lose :o

2. Still in Edit mode and mouse in 3d Window -Spacebar->type limited into the box and chose "Limited Dissolve". Adjust the angle in the toolbar - more verts go :)

Keep learning Wingy - you will be a Blender scholar soon :)

cheers, gryff :)

EDIT: ** ... ** added at Wingy's request

Link to comment
Share on other sites

Thanks Gryff!  Excellent tips!  Yep, I've seen Sintel.  (Drool).  I don't like to think about it.  heh.

You wrote, or contributed-to... the exporter installation docs, right?  They got the job done fine, first try, no bitchin'.  I wanted to mention that.

I might someday learn to drive Blender like you, but YOU DA MAN when it comes to creating the art.  You have "the touch"... and the massive patience to apply it.  I love your scenes.  You always have good stories and/or mystery behind the art, and cool historical references.  You know how to make "the gravy", yessir.

On a different note, I thought about sparkly particles (sparticles) spraying from the bottom of text mesh...  you know... thrusters... to keep heavy mesh from putting undue strain on my monitor stand.  Well, how about 24 emitters... for a single particle system?  Yikes.  http://www.babylonjs-playground.com/#WQBB3#4 

We should be able to fly an entire paragraph with THAT much thrust.  :) 

Making new vector3's over and over... is pretty stupid, and I'm not sure about the wisdom of a switch/case.  Oh well.  It gives the experimenters something to make more efficient.

Now let's sneak into Jerome's YCEMR-Series Explosives Lab and blow something up.  POOM:D

Link to comment
Share on other sites

You flatter me Wingy. If you looked at the Sintel movie - Lee Salvimini is someone I have a lot respect for :)

And as for jerome's Explosives - blow up your 3d text - Blender meets jerome :o

And as for history, I was crap at school - but now it intrigues me, but not kings and presidents but rather people's history.

cheers, gryff :)


Link to comment
Share on other sites

Think the biggest improvement in Blender exporter is actual user documentation.  Due to all the mapping of settings from Blender to BJS, I found I did not even how to set all of the things that the exporter transferred.  I still have to refer back to it often.  You can even set things like Billboard mode, if you only knew you could & how.

FYI, I am mulling a direction change for the Blender exporters, or at least the Tower of Babel variant.  It seems that you can specify files for add-ons with an extension of .PY & .ZIP.

While the exporter is getting very large, it is still broken out into a set of OO classes.  Editing a 3800+ line file is starting to be a problem.  I could break it into multiple files, if it were a ZIP.  I could also put a .blend file in there, and start to perform pre-export operations I am considering.  There are just somethings that can only be done after you have a .blend file.  Putting it in as part of the ZIP means you know it is there, and the is a way in python to know "where you are", so the path of the .blend is known.

Link to comment
Share on other sites

hehe.  What the heck?  How the heck?  Yeah, that's exactly how it is supposed to be.  I was busy making a fresh model because I thought I screwed up my Blender save(s).

What the heck?  (thanks!)  That's lookin' gooood.  Flat shaded... yuh yuh yuh.  I'll be darned.

Well... now I need to try the 'remove doubles' again... because it removed 5 million of 9 million vertices, but it went non-flat-shaded after that, and I thought I lost a bunch of rez. 

Ok, continuing my fun... thanks for fixing my stuff, T!  Off to try a "remove doubles" version.  yay!  I wonder why I didn't need to convertToFlat for the first version.  Weird.  How does the sandbox know whether we want flat or not?  hmm.  And maybe the sandbox could use a "toggle a hemisphericLight" button, too  (for viewing models without lights).  *shrug*

@JCPalmer Thanks for the info about the exporter, JC.  It's working real nice for me... mainly because... you made it automatic (hands free)... it seems.

Update:  Works!  http://www.babylonjs-playground.com/#1CMD3G#7  Too good!  Went from 422kB to 338kB... gotta love it!  Yay!  This is fun!   I might have over-extruded just a little, though.  (no, we're not talking about a bathroom thing)  :D

Link to comment
Share on other sites

SO... hmm... if a person wanted to ... umm... texture/color each letter/character differently, would a guy make each letter... a subMesh, and then use multiMaterials to do that?  SubMeshes of a "gizmo" invisi-master-Mesh?  Would subMeshes allow each letter... to rotate individually, as if each was hanging from a single string?  Can subMeshes be positioned and scaled individually, too?   Am I asking enough noob questions?

Or would subMeshing be more painful than making each letter be an importedMesh of its own?  (yet, all letters would be inside of a single .babylon file, of course).  Thoughts, anyone?  Thanks!

Link to comment
Share on other sites

Ya know... (yes, he's STILL typing!)  hehe... umm.

When I looked in my Windows/fonts/ folder... there's a CRAPLOAD of fonts in there.  TrueTypes... I think that's the type that Blender likes.

Ok, so, umm... using WScript... or Cscript... some batch script... we make Blender automated... running on a beefy computer in a closet somewhere.  Let it render... letter after letter, font-style after font-style, automatically uploading each letter... to a big fat "3D font server" somewhere.  A font-model repository... that people can 'live-link'-to.  WOW!  

You would need some $bucks$ to keep that joint operating, eh?

In 2-3 years... the font rendering machine in the closet... would finish rendering every letter-shape known to man... caps/lowers/italics/i18n (but not subscript, underline, line-thru, and nothing involving sizing).  Shape server... v1.0.  Be famous... NOW... esp if you promise to never ever charge for DLing shapes or live-linking.  You'd be a 3D hero, for sure.  Folks would pet you hard.  :)

That'd be something, eh?  Maybe part of the International Public Library System?  International Postal System?  New World Printing Consortium?

Link to comment
Share on other sites

Updated my original post on "Remove Doubles" at Wingy's request. That OK Wingy?

A feature that could help with origin setting. Before you convert the text to a mesh, in the panel where you adjust the amount of extrusion look for the "Paragraph" section - try playing with the "Align" settings.

Also I would add a small amount of "Bevel".

Lots of features to play with :)

As for materials, apply a material to the text then go into Edit Mode and then select the vertices of just one letter, create a new material for it  and with that material selected click the "Assign" button under the materials box. Repeat for each letter. The BJS exporter will create the multi-material for you.

If you want to get fancy,  have a look at this video "Making Text Holes"

Think of creating a lot of children's blocks :D Or getting a 3d Printer and making name/address plates for doors.

Just run wild Wingy

cheers, gryff :)


Link to comment
Share on other sites

hehe.  Well, you didn't HAVE-TO do all that hoopla over the edit I requested.  We could have kept it all secret.  :)

Roger-all... on the font features, and thanks for the added tips.  Good tips on subMesh/subMat, too.  I'm not sure if subStuff will give me the needed power to dangle each letter from a physics link string... blowing around like wind chimes.  :)  Okay, okay, that's too far gone for now.  I suspect I'd need a vertices-transform to individually pos/rot/scale subMesh.  Not a problem.  heh

3D Printer?  A toothpaste stacker?  How uneventful.  No, we want a 3D water-jet cutter.  I want to chisel those house numbers out of granite or titanium, as needed.  :)  Buy me that!  Hell, just borrow me that.  Yeah!

Link to comment
Share on other sites

Hi guys.  This comment, and likely some comments to follow... is a branch of http://www.html5gamedevs.com/topic/20699-how-to-auto-rotate-box/

I address everyone, here... but first, some comments to deltakosh:  DK, this is a bur (also sometimes spelled 'burr').  If you were a cowboy... riding your horse on the lone prairie, and you had a bur under your saddle or under your butt, it might make you grumpy, or make your horse grumpy.  You might draw your gun and shoot somebody for a poor (and fixable) reason.  Your horse might throw you for a poor and fixable reason, too.  Specifically speaking, it might mean that you are not in a proper mood to custodian the forum.  In my opinion, in that thread, leaving no comment would have been better than the comment you posted.

Now, let's talk about Raanan's rules of posting:  http://www.html5gamedevs.com/topic/19861-welcome-to-the-new-forum-please-read/

Trust me, I know about long posts being ignored, and this is an issue with translation, once again.  Does anyone really think that Raanan's rules for proper posting... is being read?  For people who speak/read less-than-optimal English, Raanan's rules are nothing but noise.  Heck, that post might be more difficult to understand than the Babylon Animation system, and that is no small feat (it is not easy to accomplish, as Babylon Animations are miserable to understand).

Now... back to an issue that I once tried to learn about... in a thread called Tutorial Talk:

Is it better to heavily and thoroughly explain something to a user, and possibly have them be overwhelmed by the amount of English to translate?
Is it better to use a short post and "hint" at the answers... trying to promote the user to find the answer themselves?

Deltakosh and I do this differently from each other.  Deltakosh needs to answer A LOT of forum questions, because he knows TONS about the framework, and he can see all the other things that are affected.  In other words, he sees the big picture.  He knows and understands the "far-reaching ramifications" of something.  Where I might tell the user 4-5 things to try, Deltakosh already knows the BEST thing to try... the wisest way.  But Deltakosh (and other big dogs) might answer with something like "yeah, you need to decompose the world matrix and then divide it by the local matrix, and then apply the DOT factor".

Few of us "weekend users" understand what he said, speak nothing of how to code it.  Deltakosh knows this, and I think it frustrates him to "stoop" to puppy-talk (noob terminology).  I think Deltakosh longs-for (dreams-of) having a conversation with ANYONE... that can talk on HIS level.  I don't think there are many people on the forum who can speak 'Deltakosh-ese" language.  I think I see a trend... where Deltakosh WILL do large posts WHEN he feels that the listener understands what he is saying.  That is rare.  I bet Deltakosh and Mr. Doob could talk for LONG hours and maybe even have sleep-overs.  :)

Me?  I'll write a complete 10-screen tutorial to answer a user's question.  Not only do I try to answer the question, but I try to predict WHAT they are building, and try to teach things that the user might encounter in the near future.  I try to blaze a trail for them that is like an interstate highway.  I often build a playground FOR them.  And... I think I am doing the homework FOR many students who are in school for webGL.  But again, we run into the same problem.  Translation.  Some users see my long posts and say "Holy crap, no thank you, I'm not reading THAT pile of English over-explaining".

So, where does this leave us?  I don't know.  What IS "too helpful"?  What is "not helpful enough"?  We are dealing-with TWO kinds of translation, here.  One... the English translation.  Two... the translation from Deltakosh-speak... to 14 year old student speak (puppy-speak).  And old-people-speak... also requires student-speak (puppy-talk). :D

I mentioned this once before:  Many users here... are learning 3-10 different things at once.  They are learning 3D computer graphics, Javascript, HTML, physics engines, and the BJS framework.  AND... some are learning GitHub, NodeJS, and Blender, too.  Overwhelming, to say the least.

My point?  I guess I don't have one.  I suppose I am suggesting that we always try to see the situation from others' viewpoints.  View the situation while "wearing the other person's shoes".  Check ourselves... before we answer a forum question/issue.  Being rushed for time... is our enemy, but sometimes it is an unavoidable enemy.   This forum's "learning many systems at once" -situation... is unusual and unique, and I think it will require (or suggest) a different way of looking-at and working-with this forum and its users.  This is quite an unusual forum situation. 

I guess we just do our best.  Heavy amounts of forum questions, and repeat forum questions... are frustrating.  But, that shows that BJS is getting REAL popular, and that is what we wanted, correct?  I think we need to cherish and nurture the "commune" part of "community"... which brings us forum-custodian help from MANY users.  That will eventually reduce the question-answering workload (in theory).  :)

Long post, eh?  Not very appealing to read.  Control-mousewheel... make the fonts big... it all gets friendlier.  :) 

Thoughts, anyone?  Thanks.

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.

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.


  • Recently Browsing   0 members

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