Good luck.
Hope you can get it all done.
Thanks, I’ve created a PR here that will save anim layers: Minor refactor to allow for saving AnimLayers by neph1 · Pull Request #2307 · jMonkeyEngine/jmonkeyengine · GitHub
I’ll probably do something for tweens/actions, too.
Hey all.
I have been busy today with my game editor. I am now making use of a PBR material for my lighting models on mobile devices.
Have a look at this little video, where I have PBR, Lightproble, skysphere, shadows, bloom and animations running.
It is only a test and I thought I would share the FPS of 120 I get.
Finished getting the list of nodes for Breadth First Search - Shortest Path calculations.
I’ll start adding the enemy to a test case in JMonkey so I can test it live.
Edit 2:
New Pixelapp logo revision. Might or might now use it.
I’ve been getting A LOT better at creating my logos game cover art. Indispensable skills for rolling out games.
Edit 3:
Alllllmost ready to deploy this solution to the actual game.
Implemented a tree planting routine. The images below show it running in the actual game.
This second image shows that it’s using a weight paint image for tree planting.
In the images I’m using a 16x16 png for weight painting. This is more than enough for my vegetation. If I were to use a 512x512 it locks the rendering loop which would force me to use Threading.
Since I’m not using Threading I don’t have to maintain all that code.
Note: simple threading is simple even without “all that code”… but I understand the sentiment.
For one-off “run this job and come back” style threading, it’s really easy. Doesn’t need to be any more complicated than:
new Thread(() -> {
// do my stuff that takes a long time
app.enqueue( () -> {
// do stuff with the scene graph again
});
}).start();
For something more ‘frameworky’, that functionality is encapsulated in:
…which also makes sure not to run too many “do stuff with the scene graph” in the same frame.
Probably you need your planting plan “right away”, though… so that expands the amount of “do stuff in the background”, I guess.
Me avoiding threads:
I’ll be using the two below for the Ai, though. Since we cannot pre-compute dynamic Ai.
You can check back with my link when you get random giant frame drops.
Update for today: just ordered a new hard drive so I can install Linux.
I’ll no longer have to worry whether my computer has the most expensive parts on the market in order to continue using it. I’m looking at you, certain OS company.
Testing Shadows and Ambient Occlusion before I make a decision to include it in the game or not. So far it’s all good.
So, I am still busy working on my game editor. So many addition in the last year.
And I how so many more things more to add.
I decided to take some time the next few months and work on a demo release of the editor.
I am working on stabilizing the editor and improving performance as much as possible.
Here is a little scene after which I have added pbr waving grass. You can now adjust the weather/wind in the editor for a given scene.
This work is based on “Tree” (Tree - Download Free 3D model by farhad.Guli [7016d1d] - Sketchfab) by farhad.Guli (farhad.Guli - Sketchfab) licensed under CC-BY-4.0 (Deed - Attribution 4.0 International - Creative Commons)
Finally I support multi-threading.
The image shows “First way list element: 4”. This is a hard coded line that shows after I put a second thread to sleep for 20 seconds. As you can see I can still move the scene graph while this is happening. Nothing special just explaining the GIF.
Moreover, I’m currently using ScheduledThreadPoolExecutor but I think I’ll step down to ExecutorService instead. That way I’m able to learn. If I start by using ScheduledThreadPoolExecutor which provides everything I will not comprehend the concepts.
Update for the day: finally learned the topic of Quaternions. I’ve been trying to learn for such a long time. But you have to review so many topics before Quaternions in order to properly learn it.
I kind of feel like half of “learning quaternions” is unlearning all of the wrong stuff that was picked up over time. So many years of articles where I get part way through and it becomes clear that the author thinks quaternions are just angle+axis.
And honestly, you can get very far treating the insides of a quaternion like a magic black box if the API is good enough… and then for the most part they are interchangeable with a rotation matrix (a few caveats aside). At least at the black box level.