(June 2021) Monthly WIP Screenshot Thread

I can’t take credit for the shader. I just did a search for crt shaders and once I found one I liked, I took it and adjusted to fit my engine, and then tweeted the settings to basically 4 preset crt settings. I think they where the best.

It was easy to take that java code from my engine and make changes to work with JME.

1 Like

I did not locate anything in the store related to sprites. What is the library called?

I found the library to be very sparse. Most of the categories are empty.

I confess that most of my knowledge about what is/might be on the store is based on forum threads. So it could be that the interface is lacking. It’s also very likely that many of the available external JME libraries don’t have a store presence yet.

So I may have overstated the significance of the store interface… but there are a lot of third party JME libraries and I know of at least one that is a sprite library. (I don’t recall its name.) Whenever I needed sprites, I just added the 2-3 lines of code to my shader that I needed for my situation and never thought about a separate library. But I also wasn’t making a sprite-based game at the time… just using sprite-like atlases for other purposes.

1 Like

Who summoned me?

4 Likes

Pesegato is not the only one, there is Galaga. It also has a Sprite sheet feature.

I didn’t like those because they are constantly updating the VBA/VAO and updating the GPU on new text coord and indexes. Which mean every time you update your sprite sheet to a new image you are having to update the GPU with new VBA/VAO data. That is very bad in my view. That is the point of using VBA/VAO, to give the GPU data once.

I didn’t see that it was instance rendering. Maybe I over looked it but you can let me know if I did.

Having to update the GPU every time you do a frame update will not be good for a large game. My 3D grid based game is like DOOM so everything things is a QUAD with a texture. I used sprite sheets all over the place, 10,000 of QUADS using just a couple of sprite sheets and having to update all the time.

It is faster to set it once, and calculate inside a shader. It allows you to continue with only one GPU update on setup and then you do one simple math calculation inside the shader.

From what I can tell from unity, it uses a shader to handle sprite sheets, most mean that are not altering the text coord every single frame. They have 2 type of shader interface, non-shaded and a shaded shader.

These are not very proficient use of the GPU time, when updating 0.1/sec to a new animation and doing that 1,000 of time every second.

My opinion, if I’m wrong let me know.

1 Like

Yes, the idea of the store is good, but it is so bare. There are libraries out there on github, if you can locate them. Sometime it is very hard to locate libraries or samples on github.

People at JME should be going through github and attaching them to the store or something to let people know there is a ton of things available from github. Also, some of those github are so poor in description on what they do, that most people skip them. Author need to explain better and show examples of what you can do with their library to get people wanting to use them.

This sounds impressive.

1 Like

it could be anyone to do it, You too :wink: Maybe there were some reasons, but i dont remember them, so maybe there were no reasons to not do so. If you want, you can create pages for review. Ofc best if author himself would do this pages.(so would need notify them)

Same about Engine itself it can be anyone to fix github issues. (if fix is proper)

Hey jMonkeys, I decided to post on one of these threads once again and share what I’ve published over the long period of time since I last posted on these threads, as I haven’t done so in a long time.

I’ve released a couple of games, with varying quality, and even though I’d love to show you them all, I’m just gonna show two which I consider to be the best. You can see all of my games on my website, however.


The first game is called InfiRunn.

It is an infinite runner arcade game, where you dodge spikes, fireballs and lasers. Collect coins, powerups and mystery coin boxes. Then, use your points to buy new maps. You must try your best to survive as long as you can!

I actually showed a bit of this game a long time ago, but it became abandoned for a while until I picked it up again and got it finished! The game can be found on the Google Play Store, and IndieDB for Windows.


The second game is called Techn0Haunt: Prelude.

Techn0Haunt: Prelude is a short story-based sci-fi first person shooter, which takes place in the Techn0Haunt universe and is the third game in the series. Fight your way through the T.F.R’s deadly robot army, facing against the electric rolling-bots and laser-turret enemies. Make your way to the Orbital Strike Signal Command-Post and survive with medkits and ammo kits in each stage. Utilize your arsenal of a recharging blaster-pistol and the standard-issue laser-rifle, and save the day…?

This game is probably the utmost best game I’ve made to date, as the planning and build-up to the project were grand. Even though the game has its flaws (specially, level design and the voice acting), the game serves to be more of a proof of design, as a starting point for future games, as the system I created for the game allows for ease of level creation and game systems, which I plan to utilize in the future for more complex and well-designed games. You can download this game on IndieDB for Windows, MacOS and Linux.


Of course, none of these projects would have been possible without the jMonkeyEngine, and I am grateful for the contributions and support this community has brought to keep this engine alive and kicking. Thank you! :smile:

8 Likes

Got the random building algorithm to where I want it. Only thing left is to package up the generators into its own library so I can use it in Mythruna.

So here is a quick video with Just one basic block theme in a half-dozen generator templates… over and over. (Early access to chaotic source code available to patrons: https://patreon.com/pspeed42)

Note: I forgot until the other day that this tool also exports directly to j3o and I’ve confirmed it works. I won’t be using it that way but it’s still kind of cool. I’ve also exported a few OBJ files to 3D print the next time I’m playing with the 3D printer.

12 Likes

Looks really cool!

1 Like

Testing a relatively “heavy” game on PC vs low-end Android device

2 Likes

This weekend, I’m back on terrain generation. I need to finalize the fractals a bit before adding rivers. Rivers and caves are the prerequisites for figuring out where random towns and cities will go… so needs to get done.

Anyway, one of the terrain types I still needed to work out was plateaus and canyons.

I have interesting results with the standard perlin noise based fractals but it wasn’t where I wanted it to be and getting it there was going to be too hard:

So I finally dug in and implemented cellular noise (think: Voronoi in Blender):

On its own, that’s mildly interesting for stuff (especially if you invert the function to make ‘pillows’)… but what we really want is the edge threshold:

Now we start to see something.

In its simplest form, it already makes some pretty interesting stuff:

Note: I place random buildings around the ship now because it’s even easier to determine human scale if you have a little town sitting there.

Layer that cellular noise a few different ways and you get something definitely workable:

In the end, I’ll add a layer of additional perlin-based fractals on top of this to rough it up a bit… and mix it in with the regular terrain, rolling plains/dunes, etc…

(I also discovered an interesting performance bug in Java’s built in sin() function that took me a couple hours to track down… tl;dr: apparently it doesn’t clip its inputs and takes 3-4x long to run if you feed it a really big value. “But Paul, why would you do this?” See: random2() or random2f() used by just about any cellular noise shader.)

4 Likes

Tweaked the fractals some more and incorporated the rocky crags in with some mountains and rolling hills. Not done but “done enough” to work on rivers because there is enough interesting and subtle landscape to see how they do.

So here is where it is at this point, zooming in as we go:


9 Likes