(December 2023) Monthly WIP Screenshot Thread

I made a fun scene using my editor - There are some zombies in the world : )

There are some interesting things about the “Minie” physics, especially the DynamicAnimControl, it’s a great physics engine.

Sometimes I think maybe making an editor is more interesting than making a game.
Since I haven’t decided what kind of game I want to make yet, I’ll probably start by using the
editor to make some fun game scenes and maybe find some inspiration。

This video is a bit long, so I sped it up so you don’t get bored.

11 Likes

How much time did you spend to make this editor?

Are you referring to me?

I have been developing my editor for about three or four years.

2 Likes

Such a hard work and greet result :+1:

Thanks :smile:

From my testing, none of the AI chatbots seem to produce usable results when it comes to shaders, even when I was asking about shaders in bigger engines like Unity or Godot. They get the surface level stuff right, but details fall apart almost immediately.

2 Likes

very cool things :wink:

1 Like

That’s right, I didn’t get any useful results from the AI tools. Sad but true. Unfortunately, most tutorials in Unity use graphics editors that make life much easier for programmers, but hide much of the shader code, so I had to do a lot of research to put the puzzle pieces together and convert the functions to jMonkeyEngine.

2 Likes

Hi @FoxCC, I watched your video and I noticed that when you change the position/rotation of the character’s bones, there is an IK mechanism that also affects the related bones. So if you change the position of a hand, the position of the arm changes as well. Did you write the algorithm for IK in combination with an ArmatureMask or do you use a DynamicAnimControl from Minie? Great editor by the way!

1 Like

Very nice job you did with that editor. great work

1 Like


PixelappOfficial on Twitch
Twitch video is Temporary

Youtube Mirror :slight_smile:

6 Likes

I didn’t write my own IK algorithm, I just used DynamicAnimControl directly, but I added a DacLink (implemented with New6Dof), which is mainly used to constrain the position and elasticity of the bones.

Actually I didn’t use any special technology, I just integrated all the great things that are already in JME, like: lemur, zay-es, minie, skycontrol…etc. They are all great thing.

7 Likes

This month, I spent some time to implement AO soft shadows for the wedge blocks of my game Ialon

Before, with AO hard shadows (see the roofs) :

After, with AO soft shadows :

19 Likes

This month I’ve been working on additional layered viewport support in Tamarin. This allows for additional scenes to be “painted over” the main scene.

This is equivalent to a call in desktop JME like this:

Viewport overlay = renderManager.createMainView("overlay", camera)
overlay.setClearFlags(false, true, false);
overlay.attachScene(overlayRootNode);

(In fact under the hood Tamarin does just that, but it has to have control over exactly how and when)

This might be used for things like

  • Debug shapes (e.g. a physics engine might draw debug shapes to show where the physics objects truly are. Or the hand joints and attachment points might be rendered on the hand, as in this screenshot) that show without being occluded by the main scene.
  • A “seeing through walls radar” effect; where some outline of an object might be placed in the 3D world where the true object is and that gets overlaid on the main view.
  • A pause menu UI that should be rendered even if its technically occluded by the main scene

This may seem like a rarely used and fairly technical thing but I’m particularly happy because JME3-VR was never able to support layered viewports and people were unhappy about it

12 Likes

This month I’ve been working on a few simple assets to make the game world feel more alive and full.

Modeled switches and buttons, little rats roaming around and food items from a vending machine (random fake brands, with dubious nutritional properties that only increase 5% health).

16 Likes

This looks awesome so far.
Did you create your own FPS controller?
Also, what post processing filter are you using to get this look.
It looks very good and old school.

1 Like

Thanks! Glad you like it :smiley:
I made my own thick layer on top of JME and I use the akka-actors framework to run all the game logic (incl. physics) in a separate thread(s). I described my process here:

This game is based on that framework.
Specifically for the movement (which I rewrote since that old post) I took a different direction than the common player controller: Instead of a capsule I have a “flying cylinder” and I ray test downwards to measure the distance to the floor, if too high I calculate the acceleration and move it down, otherwise I move it up (steps). This basically overrides all the bullet physics for the player movement with my custom movement.
It’s surely not physically accurate but it feels so much tighter to me and I avoid some problems like unexpected jumps on steps and sticky walls (but I miss riding platforms which I plan to implement).
I used the original quake source as reference so I can strafe jump and all that makes it feel “proper”.

After some experimentation I ended up using two simple filters.
First PosterizationFilter (from jme3-effects) with 32 colors and I keep texture filtering on.
And second I implemented the most basic chromatic aberration filter, but I keep it very subtle (it’s hard to notice, look at the chess tiles in the last part of the video).

You can download the game if you want to try, I will update it with these changes no later than this weekend.

3 Likes

Awesome work. Thanks for taking the time to explain.

Amazing how many projects there are, and how far they’ve come!

4 Likes

Grass. A lot of grass now. And proper dense forest.

Well, initially grass was looking weird, like this



After some magic, grass turned to totally black patches

But all after all, I managed to properly render grass patches as 2 Textured crossing Quads of Lighting materials, so it looks more or less 3d.

8 Likes