(December 2015) Monthly WIP screenshot thread

Heheh. I’m on the other end of the scale, I’m an amateur cabinet maker. Sometimes I buy kit furniture just for parts. :smile:

Makes me wonder… typo or is your accent showing. :slight_smile: Would be interesting to see people type phonetically sometimes.

1 Like

Looks very interesting, fortunately I am about to build the puzzle solving UI for my project, which involve HUD and images, I will give it a try
Thanks @DannyJo and thank you @Empire_Phoenix

Yes JavaFX is quite interesting and powerful …
Recently I created an app which Extract Association Rules from online supermarket transactions.
The awesome thing is that it has an internal browser (WebView) and can render HTML , CSS and JavaScript .

3 Likes

I just made a small JME test project with it, it really works auto magically, with JME3, using the sample in the Github slightly simplified to get the values from controller and added as HUD to 3d moving Cube.

it is another comfort zone, for me as a Java EE developer :smile:

4 Likes

Damn you got me, not a typo. Soon as I read that I thought duh drawers, but yeah I always type draws. I just googled and got an American pronunciation, it sounds ridiculous when I try to say it like that.

I’d be interested to see some of your cabinetry!

Most of the U.S. I guess says “drawers” like droors…as in rhymes with drawers. But there are places in the U.S. where they say “draws”. Nearby you are also likely to find warsh (wash) and wudder (water). “Warsh your clothes in the wudder and put them in the draws.”

In my youth, I liked to collect accents. I still have the ear but can no longer imitate them worth a damn. I can’t even properly switch southern-U.S. vernacular anymore. But I digress…

Wood working is kind of funny. When you get side tracked on a software project, you close those files and open new ones. You can always go back. When you get side tracked on a woodworking project, that half-finished project sits in the corner taking up space. An archaeological dig at this point would be able to pull core-samples of a variety of unfinished projects but they really started with the dining room table I built. Got to final sanding and had a (relatively small) fire in my home office. That table became the central location for stuff that wasn’t quite badly enough burned to throw out (I might need it!!!) but also wasn’t important enough to bring back in the house. Having a giant unfinished table in the middle of your woodshop is a great way to start an unrecoverable landslide of improperly put away stuff.

Anyway, thus, my latest projects are all stuff I can build “on site” with portable tools. So I tend to buy kit furniture and customize it to my use. Most recently, I built a sideboard and some kitchen-style storage in our dining room.

I built this from a standard two-shelf book case like you’d get for your office plus some parts from a closet organizer system… and a bunch of hooks.

That was a while ago, though.

My most recent project was the wheel chair ramp for my wife… which is kind of in a different vein. This picture was some time back… I’ve at least finished putting the top rails on now. Weather and time hasn’t been kind.

10 Likes

Showcasing non jMonkey Project ? Here is Optics, a javascript optical simulator :smile:

Sources, and demo (user interface is not very intuitive)

9 Likes

…so many interesting side projects, you guys pulling off…very nice stuff i see here :+1:

1 Like

Ok one of my old none JME projects, a rover controlled using speech recognition over internet

the browser is web page linked to a remote server with speech recognizer, and it directs the command to the rover

6 Likes

Ahmad it is wonderful . Thanks.

1 Like

My fabulous screen shot with it’s super-awesome graphics using cutting edge 2D technology… :wink:

Seriously, I needed a little test app to test some zone networking issues with Zay-ES-Net and so I downloaded a couple sprite sheets from kenney.nl: http://kenney.nl/assets …and hacked together a simple 2D tile based map thingy.

It would have taken only a day or two but I side-tracked to breaking out the code I cut-and-paste everywhere into a standard library. I’ll probably add some standard client and server stuff to that, too.

In the mean time, enjoy the NSFW picture of a naked human in a field. :wink:

Edit: incidentally, here is the library in its unofficial and undocumented form: https://github.com/Simsilica/SiO2

4 Likes

Even more brazen activity from our little meeples:

Surely they are up to no good.

(What good is a screen shot of a networked game without multiple players visible.)

On the plus side, I’ve already fixed two race conditions (I hope) in SpiderMonkey as a result of this boondoggle… hopefully I’m now to the point I can fix bugs in the higher level code. :slight_smile:

2 Likes

you need to share a screenshots of you tracing the logs ;), in order to show the suspense of bug hunting game

Actually, I’m tempted to write an article or something because these strange timing bugs tend to defy logging. As soon as I added enough logging to find the issue it went away. That’s the nature of timing bugs and then you have to fall back to different techniques.

One of my favorite, I call ‘the wedge’… but it requires one to have already made a hypothesis of where the race might be. Then you drive a giant Thread.sleep(2000) wedge into the process that’s being overtaken so that it happens consistently. This time, I didn’t even have to add logging to know what the problem was once I’d done that.

1 Like

Hell yeah, I have been in this hell for quite some time in my own framework as well.

Usually the aftermath of such things is, that I end up with around 200+ more assertions so that error type cannot appear again. For example many of my worker systems (jme included) are guarded by a ton of assert Thread.currentThread() == expectedThread .
I spend to much time in the past for forgotten jme enqueues and other similar problems.

(And while jme is kinda nice, that you usually get the state update errors, most other frameworks are not)

6 Likes

True, though the irony is that when I get state update errors from jme it is never thread related. My games are setup so that I never accidentally call a spatial method outside of the render thread because nothing else has access to that. My spatials and controls are generally only readers… pure view. (Except the ones that receive mouse events but they call out, not in.)

My other code is generally thread safe or a simple thread == thread assert will not help me unfortunately. Though I sometimes do let the thread show up in the logs to track specific issues.

Cool screen shot. :slight_smile:

Edit: actually, I suddenly remembered my struggles with the pager. I had a few of these assert thread = expectedThread. The interactive life cycle of a thing that can be canceled, needs to clean up its own garbage, etc… is really painful and defies normal simpler threading practices in general. Great fun.

In fact, I have a similar seperation, but using Javafx has a few more additional difficulties.

I have a inventory, inventory objects have a icon. Since they are entities, and I can render them ingame anyway, I did not want to have dozens fo icons. So I have a loader in javafx, that creates a preview task (using async image loading similar to swings possibilities), the preview task then gets enqued via a special seperate rootAppState, that renders a frame and makes a screenshots, then converts the stuff internally to be javafx compatible.

As you can guess this offers multiple thread interactions, so it was kinda difficult to make a reliable system for this. (I use the image from entity generator at a few other places as well).

Hi friends
Merry Christmas :christmas_tree:
Today is my birthday so I thought to share an screenshot of my WIP game . I recently start it.

An special thsnks to @sgold

15 Likes

Those clothes gonna be tricky ;), looks great

1 Like

Happy birthday @Ali_RS :gift:

Cool screenshot :smiley:

1 Like