What I did today

Introduced parallax scrolling with multiple backgrounds in my platformer today (thanks, opengameart.org :slight_smile: ). That really adds to the overall feeling.
Also added some sound effects for water etc. (this time from freesound.org).

I wish I could invest into a VR set as well, amazing tech. But thatā€™ll have to wait till I earn my own money in a few monthsā€¦

Cheers

Moved the full source and assets of my project Nine Levels (JGO WIP posts) to GitHub. Maybe someone will find it or parts of it useful.

WTbgPIJwIso

Note that the source is not intended to be a tutorial or article so itā€™s not very tidy, apologies for that.

Today Iā€™veā€¦ integrated my game with discordā€¦

Play via discord! Itā€™s the future! (xD)
I wanted to put it here because itā€™s so funny concept :slight_smile:

Stream:
https://mixer.com/ByerN

Discord:

WIP (more info):

Ahā€¦ Lifeā€¦ I miss you so much :frowning:

I made a short and low effort demo video of some random features!

ZWW-jLhOQA8

EDIT - The video above is already outdated, I just redid the item transport tube textures. Before, I hadnā€™t realized some essential things about the perspective. Now they should look decently better:

(The image looks kinda strange because the higher-up Crafter block is rotated, causing the IO nodes to rotate but because I havenā€™t implemented rotated textures the hole in the front stays in the same place)

Some good suggestions made by beeaware were implemented today. The one that got me excited enough to post about was the creation of a new messaging protocol that fits in perfectly with the ā€œNoteListenerā€ system I already have working.

I should maybe provide a little background to explain. Java doesnā€™t have ā€œreal time guaranteesā€ and this can make it hard to coordinate sounds with graphical events. But what I am calling the ā€œAudio threadā€ does seem to be steadier in terms of timing than any other thread. I use the term ā€œAudio Threadā€ to refer to the last accessible stage before bytes are shipped to the OS audio outputs: where the SourceDataLine runs. I have been using that thread to send ā€œNoteListenerā€ messages, as a way to signal to other threads, and it has been successful in terms of timing fidelity. Whenever a Note (originating from a synth) starts, releases or ends, a message is sent to the NoteListeners at the stage where the corresponding audio signal is packed into the SourceDataLine.

What I added was a MessageListening system built on the same framework. I can schedule it like a Note, and have it deliver a coded int to a MessageListener. This is perfect for when something needs to happen at a musically dependent time, but where there is no ā€œNoteā€ event that corresponds (e.g., rests, or during held notes). It eliminates the tempting kloojiness of using Notes with 0 volume as a trigger vehicle.

So, as a result, some GUI controls that were just metrical placeholders now flash, with precision, exactly on the beat they are placeholding.

Next up: am working on learning enough about drag-and-drop to be able to drag ā€œnodesā€ from one copy of my application to another copy. Am having to learn about custom Flavors and other stuff (am unfortunately chained to Swing on this application). I bet the JavaFX implementation is much easier to grok.

The usefulness increases dramatically if one can save ā€œtemplatesā€ and drag and drop from them onto a target. It becomes feasible for people to design and build their own musical scales and implement custom tunings.

Hope that wasnā€™t too much gobbledigook.

Shipping kind of works, but there remain a couple glitches to work out concerning appropriate minimization and whether the .bat command shell really has to linger for the duration.

Implemented checkboxes into my UI solution for LWJGL. Need to find a better font for the checkmarks though. Iā€™m using entypo, and itā€™s ugly!

[EDIT]
Updated the selection outline, and the checkmark graphic. Does it look more clickable now?

Implemented Radio Buttons

Not looking forward to implementing tree views or text editors :x

Added animated, noise based volumetric fog to the voxel cone tracer in my custom Java engine :slight_smile:

RSF-FyNLbbY

That looks fantastic, h.pernpeintner! Love seeing 3d java stuff ^^

I implemented a context menu type thing for my UI solution

Modified the context menu and implemented it with a MenuBar

Works just like JavaFX:


// Create Menu Bar
MenuBar bar = new MenuBar();
container.getChildren().add(bar);

// Create File Menu
Menu file = new Menu("File");
file.getItems().add(new MenuItem("New"));
file.getItems().add(new MenuItem("Open"));
file.getItems().add(new MenuItem("Save"));
bar.getItems().add(file);

// Create Edit Menu
Menu edit = new Menu("Edit");
edit.getItems().add(new MenuItem("Undo"));
edit.getItems().add(new MenuItem("Redo"));
bar.getItems().add(edit);

Hey, if it matters I find it very useful! Especially the use of the camera. Iā€™m going to dig more into it this weekend and see if Iā€™m majorly messing something up with LibGDX.

Just implemented BorderPane

Iā€™m on a roll! haha

that looks awesome Orange! iā€™m wondering if youā€™re using any image assets (apart from the fonts obv)? i had done kind of a gui library type thing for lwjgl a few years back as well (though a lot less advanced) and it looked really ugly hehe

No images used yet. Everything drawn is handled by NanoVG. Itā€™s a really nifty library, and Iā€™m glad it was added into LWJGL :slight_smile:

It matters.
Thank you for taking the time to comment on it.

Iā€™ve finally completed my BASIC V2 cross compiler that allows one to compile programs written in Commodore BASIC V2 on the PC for the C64.

Hereā€™s a small example from the C64ā€™s manual:

1 REM UP, UP, AND AWAY!
5 PRINT "{CLEAR}"
10 V = 53248
11 POKE V+21,28
12 POKE 2042,13: POKE 2043,13: POKE 2044,13
20 FOR N = 0 TO 62:READ Q:POKE 832+N,Q:NEXT
25 POKE V+23,12: POKE V+29,12
30 FOR X = 0 TO 200
40 POKE V+4,X
48 POKE V+8,X
50 POKE V+5,X
58 POKE V+9,100
60 NEXT X
70 GOTO 30
200 DATA 0,127,0,1,255,192,3,255,224,3,231,224
210 DATA 7,217,240,7,223,240,7,217,240,3,231,224
220 DATA 3,255,224,3,255,224,2,255,160,1,127,64
230 DATA 1,62,64,0,156,128,0,156,128,0,73,0,0,73,0
240 DATA 0,62,0,0,62,0,0,62,0,0,28,0

The compiler first compiles this into an intermediate language, which looks like this:

http://pastebin.java-gaming.org/afa807560571c

And then it converts this into 6502-assembly language and links the needed runtime routines to it, which looks like this:

http://pastebin.java-gaming.org/a8050976c5e17

ā€¦which then gets assembled into actual machine code to be run on the target platform (this binary will run in any C64 emulator): https://jpct.de/download/++example.prg

iā€™ve taken my engine in a bit of a different direction of late - the old features still exist but i have been building a ground-up solution for visual novels, itā€™s got an integrated editor and scripting is provided through nashorn (so javascript scenes)

another thing iā€™ve been working on (as part of this) is a system for effects and animations that can be placed on top of any object in the scene

volatileimage is a blessing but i wish it would work with custom composites.

I implemented a nice way to allow the user to draw their own OpenGL content underneath a specific element in the scene

What font do you use for UI? Is that the OS X system font? Iā€™m getting tired of tahoma.

Itā€™s Roboto from google. Was used in the NanoVG sample code, so I stuck with it in my UI thing