What I did today

Hi

Been playing around with new blocks I have recently added to my map editor using jMonkeyEngine and put together a block plotter script in groovy to speed up the process.

Some screenshots :slightly_smiling_face:

in edit mode

and a toon style water

also wrote a block plotter script that I can feed it a 2D island texture (procedurally generated with mapgen2) and get a voxel map out.

Here is an early test! Borders are yet a bit buggy :wink:

Input texture

Output voxel map

Regards

5 Likes

Implemented Conwayā€™s Game of Life with OpenGL compute shaders. This is the first naive version (with simple shader already using shared memory) but more is to come, like much bigger universe using OpenGL sparse textures.

EDIT: Epic Game of Life Spaceships and Gosper Gun battle:

6 Likes

Very first 3D attempt :smiley:

moment_3

1 Like

Reminds me of the last supper and the board game clue.

Practicing out my level design-fu as a programmer.
Some screenshots of my beautiful islandā€¦ :slightly_smiling_face:

8 Likes

Created a single-file/no-fuss/no-abstractions/direct Vulkan Ray Tracing demo (VK_KHR_ray_tracing_pipeline + VK_KHR_acceleration_structure) tracing a single triangle:

Java: https://github.com/LWJGL/lwjgl3-demos/blob/main/src/org/lwjgl/demo/vulkan/raytracing/SimpleTriangle.java
GLSL: https://github.com/LWJGL/lwjgl3-demos/tree/main/res/org/lwjgl/demo/vulkan/raytracing/simpletriangle

The goal was: Simplest possible setup and straight-forward code, following best-practices regarding LWJGL 3 Memory Management, without any abstractions in order to put the core Vulkan API calls in the focus.
Most other example code is scattered around dozens of classes, C++ template constructs and are therefore generally very hard to grasp because one is constantly following caller-callee in the IDE and fighting C++ language constructs.
This demo does not do that. It instead focuses on the pure Vulkan API calls that can be read from top-to-bottom through, with a bit of comments sprinkled in.

EDIT: New demo with recursive ray tracing for reflective windows (wellā€¦ not ā€œrecursiveā€ in the sense of calling shaders recursively (that is actually discouraged), but simply iteratively)

Java: https://github.com/LWJGL/lwjgl3-demos/blob/main/src/org/lwjgl/demo/vulkan/raytracing/ReflectiveMagicaVoxel.java
GLSL: https://github.com/LWJGL/lwjgl3-demos/tree/main/res/org/lwjgl/demo/vulkan/raytracing/reflectivemagicavoxel

7 Likes

Because it was hard to control 3 chefs at the same time, I thought what can I do ā€¦ and my kitchen game becomes now a programming game like HumaneResourceMachine. The ā€œGUI Botā€ can do the same tasks as the Java API Bot and it works. I am very happy with the result.

1 Like

I just put up a ā€œbeta testā€ of my first Spring project that is not just someoneā€™s tutorial.

Itā€™s kind of like a game. ā€œTest yourselfā€ is a common game theme, yes? You can use this site to test your ability to judge some simple musical intervals. Itā€™s not installed as a service yet, so the URL/site will come and go. Iā€™ll edit this post when I change the URL to something more definite or permanent.

IntervalWidthTest
Down for now. Will edit when Iā€™m live again.

At this point was just trying to get a proof-of-concept working. This is written using Spring Boot. Java is used to generate the audio PCM data on the fly, based on the question parameters, and the audio data is shipped to the browser using Thymeleaf inlining to the Javascript, where it is stored in a Web Audio API AudioBuffer.

Some of the tests get rather difficult. The Fifths are harder than Octaves or Unisons. Pure tones are harder than richer tones. Descending may be harder than ascending. It helps to know something about the musical intervals involved. I may have made some of the ā€œeasyā€ interval tests so wide that they get confused with an adjacent interval. Further development will be needed, for sure.

1 Like

Connection refused atm.

I had it up until around 3AM last night (Pacific Time). Was up late due to binging ā€œShadow & Boneā€. When I took a look at the console there was a message I didnā€™t understand that I think must have been a hacking attempt. It certainly wasnā€™t from the System.out.printlnā€™s. (I should have taken a screen shot before closing down. Dang.) Iā€™m not totally up on security issues, and the next section in a tutorial Iā€™m reading is on security basics for Spring. IDK if it will answer the questions I have, but I thought Iā€™d give it a read before launching again.

I opened port 8081 to run this. Iā€™m unclear if the security measures Iā€™ve put in place for this virtual server (Ubuntu Linode) are enough to prevent hacking. If security on 8081 is ā€œthe sameā€ as for 80, is opening 8081 a concern?

For example, SSH requires RSA. Logins via password are not permitted. Login as root is not permitted. And the spring code I exposed has no place where a user can send in executable text, afaik. The only queries executed are the result of logic based on evaluating inputs. I am pretty sure SQL injection or other forms of injection are not possible here.

I took two courses, one on web security & another on network security and canā€™t confidently answer this question. Courses alone are dubiousā€“one really need to get hands on experience, I think.

A post was split to a new topic: Spring app ā€œinvalid character found in method nameā€

I finished today:


Itā€™s really much easier after a few math courses.
3 Likes

Made a java port of vk-bootstrap
https://github.com/YvesBoyadjian/vk-bootstrap4j

2 Likes

Today I read a news announcement from Rayvolution (creator of steam game Retro pixel castles on this forum). Such honesty and motivationā€¦ the ones failing are losers for life and the ones winning are heroes, the heavens want him to succeed: https://store.steampowered.com/news/app/328080?emclan=103582791436524758&emgid=5127884013766587984

I guess he canā€™t distinguish virtuality from reality and plays life like a game!

Today I implemented the Vulkan Guide chapter 5 example in java in the vk-boostrap4j project:
https://github.com/YvesBoyadjian/vk-bootstrap4j/tree/master/vk-bootstrap/src/vulkanguide

2 Likes

80 is a privileged port whereas 8081 isnā€™t. Personally, my server doesnā€™t run as root so that a hacker exploiting a flaw in it wouldnā€™t get root privileges without an elevation:
https://sourceforge.net/p/red-feed-aggregator/code/ci/master/tree/minimal_self_hosting_setup.sh#l294

Thx @gouessej. Iā€™m not running as root either. I think my worries were more due to this being new to me.

After a long time, Iā€™ve removed the backups of old JGO that I had from my site today. I just deactivated the server hosting them in case Riven or any moderator is interested in them for archiving purposes. If no one claims, Iā€™ll be removing them entirely in the new year.

Btw, due to holidays, I wonā€™t be active here for a few days. So if needed, you can email me at hello@goharsha.com

As I already said, I have removed them today.

I wish you all a very happy and prosperous new year 2022!

2 Likes