(March 2022) Monthly WIP Screenshot Thread

Here’s TestJaime running on Apple Silicon.

Questions and discussion to the MacOS support overhaul, Apple M1 and breaking changes topic please!

15 Likes

Using JME v3.5.0, I’ve ported the example apps for the Heart, Acorus, and Wes libraries to run on Apple Silicon.

Next up: SkyControl!

9 Likes

I got my Crossy Roads Clone installed in one of my Arcade games, and it is pretty close to 100% done. Just doing testing and bug fixes.

It works great. I still have not been able to get it to run on my second arcade machine that has a raspberry Pi4 installed in it. It has RetroPie installed, and one of the video drivers Java opengl needs it not part of RetroPie and I’ve tried installing it but not success yet. Still working on it.

14 Likes

Today, i have shared my testcase on Pi4j website as a featured project !

I have added the initial documentation on how ADC works in general, what’s SPI, how to transfer analog data to digital devices, wiring up, and a pi4j example on the operation.

And for jmonkey i have referenced the hello physics tutorial, i still hope to have more time to adapt the helloPhysics tutorial docs to the hardware and pi4j documentation.

3 Likes

Implementing animations on my games. So I don’t have to use math routines anymore.

Elevator animation depicted above.

3 Likes

Today, i have managed to revive back jmb old version 0.9.10, after a lot of failures on the gradle version due to loss of dependencies and noisy code, this version of jmb is ANT based, next step is removing noisy code and solving the current bugs to reach a stable version.

12 Likes

I’m working on a new open-world map for my game, and am currently designing an Encampment of Dark elves to serve as the main town/hub for this zone. Here’s a short tour of what it’s looking like so far:

I created the town using a set of wood and log pieces that I made with Blender and Substance Painter. And then I used those pieces of wood and logs to make walls, buildings, and furniture that can all be batched together since it uses the same material and texture atlas.

There’s also a few purchased and a few creative commons models I got from other artists on Sketchfab, such as the fire and the barrels.

And here is a screenshot showing how I textured the model. I just used basic colors in blender with the fill bucket to make this color ID map, and then Substance Painter let me drag and drop its fancy PBR materials onto each color group and handled all the texturing magic for me.

This is also the first open-world zone I’ve ever done, since the rest of my game’s maps are all smaller scale single maps for a wave survival game-mode. But now I am going to keep wave survival matches as a bonus mode, and will instead focus on putting the game’s main questline in an open world, since free roam worlds are much more compatible with important RPG elements like professions and exploration.

11 Likes

After several weeks, we finally have another Mythruna progress video. The primary new stuff is the far building/structure stuff. Even though I had all of the basic pieces built in prototype form, integrating this piece with the open source libraries and then getting that working over Mythruna networking… took me two weeks longer than anticipated.

…but now it’s working.

Here is the video:

(I still can’t seem to get a decent quality upload… I partially blame my textures but it’s also possible that I don’t have the right video encoding incantations yet.) Anyway, it shows what’s going on and you can hear me ramble about it for 25 minutes.

Some images for reference…

Far away buildings dot the landscape:

Entrance to an underground structure (getting underground structures to generate well was interesting):


Far away building on the coast:

A little closer:

Cool view from inside the building:

…one of the nice things about the far terrain is those sorts of background views.

Cluster of buildings, more realistic to what the game might actually have when this is done:

Near building, far magic tower:

13 Likes

I got More Advanced Vehicles working on the 5th gen Mac Mini. I used the latest JMonkeyEngine (v3.5.1) and Minie (v4.8.0) releases.

This work is based on “Opel GT Retopo” by Thomas Glenn Thorne licensed under CC BY-NC-SA.

This work is based on “Elvs Racing Fire suit Male1” by Elvaerwyn licensed under CC BY 4.0.

14 Likes

This is really neat and I’m glad the rest of the community gets to benefit from this (and myself, too). And I say this whole-heartedly as someone without the patience of dealing with Apple anymore but would still feel bad if Mac users could not play JME games (my own included).

Historically speaking, some of the most important/influential (to me) Mythruna players were Mac users… and while at least one of those is no longer with us (RIP), it would be sad to think that the rest could never play it again.

7 Likes

One of the cool things about the far-terrain support in MOSS (and thus Mythruna) is that it supports different quality levels. You can reduce the far terrain down to a few hundred thousand triangles and it looks ‘ok’… mostly just extra popping. (I always have an eye on someday supporting VR and lower poly counts will help with that.)

To illustrate the visual quality differences, I made a video with a side-by-side comparison:

Best viewed embiggened.

At any point in the video, you can pause to compare the JME stats for each of the views.

(Also to do this I added some scripting commands that allow me to start/stop/play a recording of me walking around, etc… which reminded me of a few other things I haven’t hooked up yet and got added to the to-do list.)

Still on tracker for a backers-only release by the end of the month.

11 Likes

The far terrain looks nice. I wonder if it would looked good too even if eg.: the far terrain was rendered into cube map and maybe even another cube map for mid-far terrain for parallax effect.
If you’re not okay with popping, you could use fade-in-out transition depending on camera distance, as plus, the transparency can be calculated in vertex shader. The con, would be the need to render both lod levels for x meters, where x is the length of fade distance.

My two sense, is it looks good, but the far distance doesn’t come across as cube terrain but smooth. So it appears to be looking at two types of terrains not a cube terrain.

Again, 2pennies

Something to keep in mind is that this is a work in progress. In the original Mythruna I would fall down rabbit holes of spending 8-12 hours tweaking the color of fire from various distances. I’m trying really hard to stay focused on features over aesthetics wherever possible. And in this case, even the short cuts have turned out pretty cool.

But let’s dive in a bit.

From far away, block terrain does devolve into smooth terrain. And while we might argue over the contrast of the ‘walls’ and so on, that’s more of an “aesthetic rabbit hole” than anything else.

As an example, here is a view that has plenty of far away buildings: (click to embiggen)
https://imgur.com/3fLsvgg.png

a) the block versus ‘terrain’ separation is not so obvious here.
b) the very far away buildings (that are ultimately made of blocks) are small enough that they are barely a few pixels… which means the blocks that would make up the terrain there are sub-pixel.

For reference, the block/terrain line in that picture is here:


…which the trees make obvious. (Feathering is another aesthetic rabbit hole.)

Also, in a lot of case, we will not be seeing the transition from that angle and might not even see it at all because it’s over some hill, etc…:
https://imgur.com/7XV4vvk.png

Here is another point view where the line between blocks and terrain is pretty obvious (mostly because of the trees):
https://imgur.com/EHliJ6x.png

Without far trees to make it even more obvious:
https://imgur.com/c0iybZs.png

And here is the wire frame of that terrain with the default quality:
https://imgur.com/5CVuiy7.png

Plenty of geometric resolution there.

(Another thing to remember is that I run around with 128 meter clip… which is small for a blockworld game. A larger clip would push the transition even farther away where a single block takes up even less space on screen.)

Here are the settings and triangle counts for the higher quality view:
https://imgur.com/IBeh5Oz.png

And the lower quality view:
https://imgur.com/Z9uWqAO.png

A significant difference.

So while the transition in the lowest quality view is quite obvious and the far terrain looks very squishy (especially without trees and buildings). I suspect that users running on a potato will be happy to have it versus nothing. Especially when the focus of the game is usually on the blocks in front of you.

In some of the VR games I’ve played, the distant terrain looks even worse than this (if it’s real geometry at all).

This turns out to be a lot of trouble, actually. And in the end it messes with things like the far buildings or far away objects (or creatures) that want to properly z-sort into that terrain. Note that other players can be modifying those buildings off in the distance and this player would see those changes.

The popping that you are talking about is not really the same popping that I’m talking about. The tree/building popping can be dealt with as you say.

The popping I mean is that the terrain and terrain details pop around as the low quality geometry intersects the height maps in different ways.
You can see this quite clearly when we start walking at this point in the video (90 seconds in if the link doesn’t work):

The coloring of the terrain does a noticeable and jarring shift. Sometimes dramatic far geometry will do the same thing where the ridges of mountains will move around. These cases are not so easy to blend between because of how the technique works. I have some ideas but they will wait.

Until the game itself is working, it’s hard to decide how much these quality problems will actually matter. The fog currently isn’t right and there’s no depth of field or anything. It could turn out that the things that seem to matter a lot right now won’t matter in the future and entirely new things will matter.

As stated in my rambling in the first video, the technique I use for the far buildings shouldn’t work at all… and the fact that it works as well as it does against the Mythrtuna buildings with essentially no color/texture matching at all was a totally nice surprise. Means yet another thing I can fix later. (Thatch cottages are the most noticeable mismatch to me… though the shingles transition is not great either.)

So I’m very wary about guessing what really will matter. Next is more gameplay related stuff as this piece is essentially “working for now”.

9 Likes

And for those who didn’t feel like clicking to embiggen that first image, this is the far-away buildings in that screen shot that I was talking about:

In the upper right the arrow is pointing to one of the tall white magic towers and it’s barely 5 pixels high.

1 Like

I attempted to modify the basic sky box shader to work with basic day/night cycles by interpolating between 2 cubeMaps. I’m not quite sure it worked out very well, there’s some hard edges on the corners of the night time cubeMap since they were created by editing the original skybox textures in gimp. Overall its not very dynamic or entirely realistic, nothing moves it just changes colors.

Definitely not as great as something like SkyControl that is more dynamic and also handles moving clouds. But nonetheless this does make the scene look more realistic in the darkness than it did beforehand with just a static day-time SkyBox. I’ll probably keep playing around with different sky options for a while until I find what works best with my game and for each different map.

9 Likes

Seeing that M1 Mac is now supported, I upgraded my pong project from 3.1 to 3.5.1. Nearly zero code changes minus not using audioRenderer.deleteAudioData (I used to unload audio, probably not the right way to unload audio), and adding assetManager.registerLocator for when running not as a jar file. I did need to drop jm3-bullet-native as 3.3.0 was the last release? I replaced it with jm3-jbullet. Lastly swap jme3-lwjgl to jme3-lwjgl3. Well and also upgrade Gradle.

Certainly ecstatic for M1 support :slight_smile:

6 Likes

well, about physics you can use Minie that as i seen should work on Mac (if im not wrong).

1 Like

Did you run your app on an M1?

Yup its running well on my M1.

Even got the JDK’s jpackage to create an app bundle. Also looking into Minie as a replacement for bullet-native (thanks for your work on that!)

6 Likes