BioMonkey 1.0 beta starting

checking out the projects, I’ll report back.

and here it is, nice Work @androlo.



http://i.imgur.com/VH1oS.jpg

That’s awesome androlo. Still time for that October post if you’re up to it :smiley:



(And come join us in the chat if you wanna get this plugin discussion separated from this thread and sorted out once and for all)

@erlend_sh

Of course. I will start writing the post right away.

I’ll try to test it also ^^



I just got my pc back! I can finally resume my work!

I’m getting the following exception when trying to run the example:





[java]run:

Out 31, 2012 3:44:57 PM com.jme3.system.JmeDesktopSystem initialize

Informações: Running on jMonkeyEngine 3.0.0 Beta

Out 31, 2012 3:44:58 PM com.jme3.system.Natives extractNativeLibs

Informações: Extraction Directory: G:Projetos à ParteAprendendo jMonkeyEngineBioMonkeyBioMonkeyDemos

Out 31, 2012 3:44:58 PM com.jme3.system.lwjgl.LwjglAbstractDisplay run

Informações: Using LWJGL 2.8.3

Out 31, 2012 3:44:58 PM com.jme3.system.lwjgl.LwjglDisplay createContext

Informações: Selected display mode: 1600 x 900 x 32 @60Hz

Out 31, 2012 3:44:59 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo

Informações: Adapter: igdumd64

Out 31, 2012 3:44:59 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo

Informações: Driver Version: null

Out 31, 2012 3:44:59 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo

Informações: Vendor: Intel

Out 31, 2012 3:44:59 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo

Informações: OpenGL Version: 3.1.0 - Build 8.15.10.2696

Out 31, 2012 3:44:59 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo

Informações: Renderer: Intel® HD Graphics

Out 31, 2012 3:44:59 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo

Informações: GLSL Ver: 1.40 - Intel Build 8.15.10.2696

Out 31, 2012 3:44:59 PM com.jme3.system.lwjgl.LwjglTimer <init>

Informações: Timer resolution: 1.000 ticks per second

Out 31, 2012 3:44:59 PM com.jme3.renderer.lwjgl.LwjglRenderer initialize

Informações: Caps: [FrameBuffer, FrameBufferMRT, FrameBufferMultisample, OpenGL20, OpenGL21, OpenGL30, OpenGL31, ARBprogram, GLSL100, GLSL110, GLSL120, GLSL130, GLSL140, VertexTextureFetch, TextureArray, FloatTexture, FloatColorBuffer, FloatDepthBuffer, PackedFloatTexture, SharedExponentTexture, PackedFloatColorBuffer, NonPowerOfTwoTextures, MeshInstancing, VertexBufferArray, PackedDepthStencilBuffer]

Out 31, 2012 3:44:59 PM com.jme3.asset.AssetConfig loadText

Advertência: Cannot find loader com.jme3.scene.plugins.blender.BlenderModelLoader

Out 31, 2012 3:44:59 PM com.jme3.asset.DesktopAssetManager <init>

Informações: DesktopAssetManager created.

Out 31, 2012 3:44:59 PM com.jme3.renderer.Camera <init>

Informações: Camera created (W: 1.600, H: 900)

Out 31, 2012 3:44:59 PM com.jme3.renderer.Camera <init>

Informações: Camera created (W: 1.600, H: 900)

Out 31, 2012 3:44:59 PM com.jme3.input.lwjgl.LwjglMouseInput initialize

Informações: Mouse created.

Out 31, 2012 3:44:59 PM com.jme3.input.lwjgl.LwjglKeyInput initialize

Informações: Keyboard created.

Out 31, 2012 3:45:01 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread

Informações: AudioRenderer supports 64 channels

Out 31, 2012 3:45:01 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread

Informações: Audio effect extension version: 1.0

Out 31, 2012 3:45:01 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread

Informações: Audio max auxilary sends: 4

Out 31, 2012 3:45:01 PM com.jme3.material.MaterialDef <init>

Informações: Loaded material definition: Unshaded

Out 31, 2012 3:45:01 PM com.jme3.scene.Node attachChild

Informações: Child (BitmapFont) attached to this node (null)

Out 31, 2012 3:45:01 PM com.jme3.scene.Node attachChild

Informações: Child (BitmapFont) attached to this node (null)

Out 31, 2012 3:45:01 PM com.jme3.scene.Node attachChild

Informações: Child (null) attached to this node (Gui Node)

Out 31, 2012 3:45:01 PM se.jod.biomonkey.EcoManager getInstance

Informações: EcoManager was instantiated.

Out 31, 2012 3:45:01 PM se.jod.biomonkey.EcoManager initialize

Informações: No PhysicsSpace provided, physics has been disabled.

Out 31, 2012 3:45:02 PM com.jme3.material.MaterialDef <init>

Informações: Loaded material definition: Sky

Out 31, 2012 3:45:02 PM com.jme3.scene.Node attachChild

Informações: Child (SkyDome) attached to this node (Root Node)

Out 31, 2012 3:45:02 PM com.jme3.material.MaterialDef <init>

Informações: Loaded material definition: My MaterialDef

Out 31, 2012 3:45:02 PM com.jme3.scene.Node attachChild

Informações: Child (Moon) attached to this node (Root Node)

Out 31, 2012 3:45:03 PM com.jme3.material.MaterialDef <init>

Informações: Loaded material definition: GrassBase

Out 31, 2012 3:45:03 PM com.jme3.app.Application handleError

Grave: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]

com.jme3.asset.AssetLoadException: An exception has occured while loading asset: se/jod/biomonkey/assets/matdefs/GrassBase.j3md

at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:284)

at com.jme3.material.Material.<init>(Material.java:116)

at se.jod.biomonkey.MaterialSP.<init>(MaterialSP.java:74)

at se.jod.biomonkey.grass.GrassLayer.initMaterial(GrassLayer.java:122)

at se.jod.biomonkey.grass.GrassLayer.<init>(GrassLayer.java:93)

at se.jod.biomonkey.biomes.plants.Grass.<init>(Grass.java:49)

at se.jod.biomonkey.EcoManager.createGrass(EcoManager.java:184)

at basic.VegetationTest.setupBiomes(VegetationTest.java:256)

at basic.VegetationTest.simpleInitApp(VegetationTest.java:105)

at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:228)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread(LwjglAbstractDisplay.java:129)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:205)

at java.lang.Thread.run(Thread.java:722)

Caused by: java.io.IOException: Expected a statement, got ‘ForcedRenderState’!

at com.jme3.material.plugins.J3MLoader.throwIfNequal(J3MLoader.java:80)

at com.jme3.material.plugins.J3MLoader.readTechniqueStatement(J3MLoader.java:388)

at com.jme3.material.plugins.J3MLoader.readTechnique(J3MLoader.java:411)

at com.jme3.material.plugins.J3MLoader.loadFromRoot(J3MLoader.java:495)

at com.jme3.material.plugins.J3MLoader.load(J3MLoader.java:511)

at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:282)

… 12 more

[/java]

@fakizinho

Are you using the non-nightly 3.0 RC2?

Yes. Is this a problem? I downloaded it from this link http://hub.jmonkeyengine.org/downloads/?did=1

@fakizinho

No it’s not. That’s the right version (added that info to the thread).



I don’t know if this will fix, but you could just go into the biomonkey project and remove this from the GrassBase.j3md (line 216)



[java]

Technique {

LightMode FixedPipeline

}

[/java]



Just do that if you want, recompile and try again. Not sure what else could have possibly caused it. Otherwise I’m gonna remove that technique anyways, and I’ll update the lib later tonight.

Didn’t work :confused:

Ah intel card, glsl 1.4. Well then it doesn’t really matter. That card is not supported.

So all in all this library

a) Doesn’t use jMEs terrain system

b) Doesn’t use or support jMEs serialization system for saving and also loads data otherwise

c) Doesn’t support rendering on low-level hardware

d) Uses awt classes

e) Isn’t available in the update center



…sadly that makes it completely incompatible with going to the jME core or even as template for jME implementations. Why didn’t you contact us further about changes you would want in the terrain system or that you stopped doing something like we talked about at all? :frowning: Thats why you had core chat access…

We kind of hoped to have some killer trees for release but alas… t.t

“all in all” it renders trees and grass using jME. it automatically generates terrain height and alpha maps that are compatible with jME, through jME. it automatically creates distant impostors out of jME models, that are compatible with jME. It supports/makes use of jME’s physics, shadows, filters, multi-sampling etc. Basically it uses all the good/great parts of jme, and try to exclude/complements the not so great parts.



It doesn’t support rendering on low-level hardware, because jME doesn’t. The sdk requires glsl 2.0, according to the requirements, so that’s what I’m going with. Not gonna go out of my way to support stuff that not even the core lib supports. Also it doesn’t support crappy intel cards, because they dont really support ogl to begin with. Not gonna go out of my way there either.



It uses AWT classes because it has to, because the image tools that was planned is not in order yet, and I haven’t had time to create something of my own. It also uses AWT classes to export images to regular formats like PNG, and images is a very important part of this lib. I don’t know of any better/easier way to export images to .PNG etc.



I’m not using j3o files to store some terrain data atm, because I’m having issues. Old, recurring issues. The terrain files are otherwise just regular j3o files with some textures and data arrays in them. I also use j3o files for grass and trees, but I’m changing it so that they are all generated together with the terrain data, and not one by one, when the tiles happens to be loaded.



The new terrain system wasn’t really planned. I happened to see it, found it awesome, and so i wanted it. Simple as that. Now I’m making it.



Despite all this work, for some inexplicable reason you’ve complained and trolled me to the point that this thread is now ruined. I don’t think I’ve ever met a bigger idiot.



I’m not gonna post anything or collaborate with jME devs as long as you’re among them. Period. This is insane.

@androlo said:
"all in all" it renders trees and grass using jME. it automatically generates terrain height and alpha maps that are compatible with jME, through jME. it automatically creates distant impostors out of jME models, that are compatible with jME. It supports/makes use of jME's physics, shadows, filters, multi-sampling etc. Basically it uses all the good/great parts of jme, and try to exclude/complements the not so great parts.

It doesn't support rendering on low-level hardware, because jME doesn't. The sdk requires glsl 2.0, according to the requirements, so that's what I'm going with. Not gonna go out of my way to support stuff that not even the core lib supports. Also it doesn't support crappy intel cards, because they dont really support ogl to begin with. Not gonna go out of my way there either.

It uses AWT classes because it has to, because the image tools that was planned is not in order yet, and I haven't had time to create something of my own. It also uses AWT classes to export images to regular formats like PNG, and images is a very important part of this lib. I don't know of any better/easier way to export images to .PNG etc.

I'm not using j3o files to store some terrain data atm, because I'm having issues. Old, recurring issues. The terrain files are otherwise just regular j3o files with some textures and data arrays in them. I also use j3o files for grass and trees, but I'm changing it so that they are all generated together with the terrain data, and not one by one, when the tiles happens to be loaded.

I didn't say anything about why you decided this or that, I was asking why you didn't communicate that in the chat. The last time we talked via chat we were talking about something completely different. I don't force you to do that but at least saying you won't do it would be nice. We talked pretty specifically about Controls and Serialization, didn't we? If all you gathered from the chat is that you think I am an asshole then you could have said that (at least to somebody else in the team).

As you don't react to the plugin topic at all I checked out the code and I am talking from the perspective of the engine. The thing is with these kinds of additions jME3 would end where jME2 was. A loose collection of libraries that are incompatible among another. So I just stated why this cannot go to core, also for everybody else to explain why.

Edit: Also the baseline is OpenGL2.0, which means GLSL 1.20 afaik.
@androlo said:
The new terrain system wasn't really planned. I happened to see it, found it awesome, and so i wanted it. Simple as that. Now I'm making it.
Despite all this work, for some inexplicable reason you've complained and trolled me to the point that this thread is now ruined.

Again, I don't say anything about that, its your decision and its ok. But where you left us (or at least me as I had the impression) at was that we'd get something that would be compatible to core, so I wondered why there was no plugin at least to download the jar libs.

When you said you don't know what the plugin would be good for I posted the video because I explained it in chat to you, I posted the links with the docs that contain the info on how to make such a jar wrapping plugin and everything.. I could not feel else but trolled by you, so I trolled back. And the whole "trolling to the point" was exactly 5 posts 'til you asked for silence, so come on.

@androlo said:
I don't think I've ever met a bigger idiot. I'm not gonna post anything or collaborate with jME devs as long as you're among them. Period. This is insane.

Its insane? What? That I state the truth? That I don't applaud for the hundredth time or boost your thumbs because of pretty pictures?
I also have to swallow a lot during this development but I do it for the engine, thats what teamwork also means and its certainly more than you had to suffer from me.

Maybe you are right I should just use the best I can get out of the engine and leave the rest alone, then complain why people ask for stuff I promised, certainly better for my blood pressure. Your code looks good so try and get the other Eclipse and OpenGL4 fans and general normen haters together, with all the frustration lately you might get what you want quicker than you think.

@androlo, I’ve been watching your work with interest as while it’s not any use for my current project it certainly looks spectacular and I never know what I might need in the future :slight_smile:



Now I may not have phrased it the same way as @normen did (and obviously I have no authority over anything anyway) but I can see where you are both coming from here.



You are focussed on your project, you are wanting to get the best possible results for the work you put in. However that does leave a problem:



Normen is worried about the consistency of the overall project. By that I don’t mean coding standards etc but I mean things like JME3 is advertised as working on Android, that means all the main components within it have to work on Android. It’s advertised as OpenGL2. That means all the main components have to work on OpenGL2, etc. It may not all be there yet but that is the goal and adding a major new feature that also moves away from that goal is a problem for the overall strategy of the engine. It’s all very well you saying you don’t care about crappy intel graphics card but the decision of what graphics cards to support is a big-picture one that needs to be taken by the whole core team and can’t then be over-ridden by a plugin without having a fall-back plan of some description.



What you have produced is really good - and the recognition for that comes with things like the biomonkey area being set up etc. But you also have to keep awareness of its context within the overall project and that is what is easy to lose sight of when you are buried in doing your own thing.



There is a lot of enthusiasm for this project out there. I’m fairly sure that if you asked some people would be happy to pitch in and help make the changes needed but I’m afraid that looking on as a “neutral” observer I have to agree with the gist of what Normen said if not the tone. The simple fact at the moment is that what you have here isn’t integrated into JME3. It uses JME3, it adds new features to JME3, but it isn’t integrated into JME3 :frowning:







Incidentally I got mailed a patch for ImagePainter the other day that someone did to move it over to ImageRaster. Hopefully next week I’m going to have time to take that and wrap it together and make a plugin out of it. You would then be able to make the biomonkey plugin dependant on the ImagePainter plugin and hopefully that would solve some of your dependency on BufferedImage.

4 Likes

I don’t like it when you fight. Please be friends instead.



Also, what Zarch said.

Eeek. This thread got hotter than expected :stuck_out_tongue:



I have to say I can understand both sides

@normen I have noticed you often have strong views and your posts are often quite blunt. I think a little softer approach could be beneficial at times. As such a key person the way you express yourself does reflect on the whole team/project. That said, you are usually right. No doubt the core needs to be fully integrated and stable and you’re definitely not the only one a little disappointed that this isn’t as expected after all the cool screenshots :slight_smile:



@androlo Your work is amazing. No doubt about that. It’s by far the best anyone has achieved in terms of trees and grass for JME and it makes the engine far more game-ready for those of us needing outdoor environments. I think what you have done wrong though, in my opinion, is to keep things under your hat for so long. We’ve all been waiting to test this for months and months but there have been no demos or waypoint releases along the way… as such you’ve gone a long way down a road without getting any feedback on the implementation, good or bad, from the community. If you had worked more publicly and uploaded your tests and experiments to the repo along the way, people would have been able to help you more and Normen and the core devs would certainly have picked up on the issues he is concerned about much earlier on and given more constructive-sounding feedback :slight_smile:



Really though, I think whenever we work on something that is a major passion… whether that’s a biomonkey component, or the core jme engine itself, we put a lot of ourselves into it. Discussions like this one where one person’s pet meets another’s can often get emotional, but at the end of the day I think everyone wants these little pets (and their owners) to learn to love eachother and work together, because ultimately, they do need eachother. :slight_smile:

5 Likes

^What a guy

1 Like

So, as it seems androlo decided to delete all his BioMonkey sources from the gc repo (even though the main page states it would still be available). I am sorry it turned out this way for you monkeys who were waiting for some cool vegetation for their games.



I am not really sorry for anything I said here though, after all I was called an idiot. The video I posted was admittedly trolling a bit but as said, I explained it a hundred times, androlo even already did a jar library plugin, I actually felt trolled by HIM. Also please think about it, the guy I make most fun about in that video is myself, I am Hitler for gods sake.



My post with the rundown on why it can’t go to core… Please tell me where that is aggressive or has a “tone” that others would want to avoid? I am using a sad smiley and a crying one, for all I know thats “weak” emotes. Also I say “sadly”. If that comes across aggresive then its either my non-native english or simply the reader projecting the image he has of me onto the text.



@monkeychops is surely right when he says this “stance” is having effects on the team and project and lately the whole “normen is an arrogant asshole” stigma got out of hand. People jump in my face when I just say something not positive, THATS insane. But…! In fact I AM representing the teams opinions most of the time. We are all “hardliners” and I am at the forefront breaking the waves. But I am certainly not the most complicated person to deal with in the team.



Its ok for me being the asshole in that role but as said lately it got so silly that I am seriously thinking about stepping down from the forums and team responsibilities and letzing the only decisions I make for the engine be if I can help in case the team asks for my help.



So again, I can understand how one might think I’m an asshole but I also think you’d have a hard time finding any post in my post history that is unreasonably bashing anyone. Mostly I only do that when I posted all the info in the form of links already and still get asked exactly the questions that are answered in those links (just like I did here).



Obviously androlo is a very feeble character if his own forum, 500+ thumbs for nothing and loads of accolades can be wiped away with one criticism and make him delete all his code. I suspect some mental condition that also affects his ability to remember things he talked about with us and possibly also his coding abilities. As he called me “the biggest idiot he knows” I think I can post this suspicion here as it also calms me a bit. This here really got me, possibly more than him.



Anyway, looking forward he seems to have forgotten that he put up his first forester beta including the sources in our contribution repo :wink: So if anyone cares to grab the project and get us monkeys some vegetation, you’ll have all the support we can give :slight_smile: For release there will be none of this I guess :frowning:



Cheers,

Normen

To bad, even if i could not use the whole biomonkey library, i was really interested in the impostor generator.