Used some basic math last night to improve my car dust placement, when a vehicle is generated I use the middle point and one edge to calculate the radius of a circle that would surround the rectangle.

When I decide dust or smoke is to be added I can use that radius and the current angle of the car to place decals around the wheels of the car, not sure if this is the best way to do this but it works well. This also makes smoke and dust appear in the correct place of all the vehicles whose tires are at the edge of the rectangle.

I now have dust being added when the car is accelerating from a stand still and when it is skidding. Improved the skid mark placement as well:

@Gornova Looks nice! Any specific reason for using Swing instead of JavaFX? I think working with the JavaFX canvas is easier and faster (performance wise) than the canvas in Swing (correct me if I'm wrong). Plus, JavaFX has some nice effects, and if you combine them with a timeline you can do cool stuff (ofcourse, not AAA-quality, but cool nonetheless).

@beeaware was just a prototype and in this case.. work with something I already know is the must

I finally figured out a nice way to load my game world. It's probably old news to most of you but here's how I did it. The game world is divided into "chunks", 8 x 8, so 64 chunks in all. Each chunk consists of a tile based grid of a tile map, the tile map being a grid of 68 x 50 "smaller tiles" ("smaller tiles" are each 32 x 32 pixels). So that makes the world 17,280 x 12,860 (I think). But only one or two chunks are rendered at a time, depending on if the player is within the chunk's bounds. Is that how you guys do it for a large tile based world? This is like my fourth iteration trying to get this to work and this seems like the best way to go about it but I'm super open to advice!

I also got my hair cut. And going to McDonalds later to get a happy meal to get a Super Mario toy.

Just posted a draft (in Chit-chat Monster) of what will eventually be an article or wiki here.It is a long one, took three posts to put up the complete.I did not do any formatting except for some code tags. The article will be fully formatted.

Topic: Packaging a custom, self-contained Java program for deploying on Windows 64.

It was very difficult to do the packaging, as I could not figure out how to alter the examples given in the deployment guide to work with a jlink file system. So after struggling with and giving up on both JavaPackager and Ant, I went through the process via the cmd.exe shell.

After getting it to work (for my ToneCircleDrone project) I decided to spend a couple days writing up the steps for others. But it turned into a two-week project. Going on three weeks.

Part of the reason it is so long is that my DOS is weak and I spent a lot of time thrashing with that aspect. I wrote up a bunch of explanations to help other programmers like myself who have jumped into it self-taught and rely on Eclipse or another DAW and are weak with system aspects.

I went to a meet-up the other day, asking other game programmers about "signing" and "certificates". I am still researching these things, how to handle issue while not spending too much. Universal reply: "Oh, I use [Unreal/Unity/whatever] so I don't worry about that."

How big a factor is this for why new coders gravitate to these platforms? If we show that packaging a Java game can be accomplished without too much hassle, will people be more encouraged to code games with Java/JavaFX?

How big a factor is this for why new coders gravitate to these platforms? If we show that packaging a Java game can be accomplished without too much hassle, will people be more encouraged to game code with Java/JavaFX?

It is a massive factor. Deployment is just bullshit irritating busywork that gets in the way of people playing your stuff. If you can make it trivially easy to deploy to multiple platforms that helps a lot. Unity is several steps ahead though with deployment to web and consoles too... but that's because Java still doesn't run on a single console.

Really great work Philfrei. I used your guide together with Java 10 and it worked brilliantly in only 15 minutes. I was only interested in using JLink and not Innosetup so I stopped at step 5B. Some things that I thought could help make it easier for others:

-Small typo, change Demo.Java to Demo.java in "Our package statement, for Demo.Java, is the following:"

-To make it more clear what the project folder is, remind the user it's dpproject: "From within the current directory dpproject, run the following cmd.exe command:"

-Maybe suggest how to set the current directory using the 'cd' command in windows: "cd C:\Users\You\Desktop\dpproject\".

-In step 5B it's hard to find the two executable files since they're nestled amongst a bunch of random other files in 'dpproject\dist\bin\'. Maybe add the following: "With the inclusion of this option, two files are created in 'dpproject\dist\bin\' based on the name "LaunchDemo". These files are named LaunchDemo and LaunchDemo.bat.

-Perhaps add a zipped downloadable folder with the directory structure together with the compiled and dist directory output there in case someone made a small mistake in these steps.

-Java 11 will be released soon and it will decouple javafx, so to future-proof the demo, maybe make it use AWT rather than javafx or modify the instructions to cope with an external javafx.jar file.

Thanks so much for your guide. I tried using JLink to make a slim distributable exe file a few months ago and gave up. I thought the netbeans IDE would automatically use JLink to make an installer but I couldn't work it out. Your guide will help lots of people. You might consider posting a question and your answer guide on StackOverflow for maximum visibility.

OK, posted the walk-through in the wiki section. It ended up taking most of the day, so this really is a "What I did today" post.

I figure we should have a more general wiki for deployment and packaging regardless. I hope that was an okay choice to start that up. The tutorial I wrote only covers one of many possibilities. I'm thinking we can use the thread to have more help for this important topic.

Big thank you CommanderKeith for the excellent suggestions and encouragement. I tried to respond to all suggestions with positive changes.

OK, posted the walk-through in the wiki section. It ended up taking most of the day, so this really is a "What I did today" post.

I figure we should have a more general wiki for deployment and packaging regardless. I hope that was an okay choice to start that up. The tutorial I wrote only covers one of many possibilities. I'm thinking we can use the thread to have more help for this important topic.

Big thank you CommanderKeith for the excellent suggestions and encouragement. I tried to respond to all suggestions with positive changes.

Am very much open to more thoughts and corrections.

Really, really appreciating your work on this. Building / Packaging my Java game has been a huge challenge for me quite a while. Especially because of the embedded JRE part. Hopefully I can test your guide out asap with Slick2D and Maven (I'm not sure if Slick2D works with Java9 tho, since they remove Java Applet in WebStart functionality and Slick2D still has dependencies to those) and provide you some feedback. I really think something like this might help a lot of people.

Something I just noticed: I think at the top of your entry you might add something like: Requires Java9 (since we use jlink). Just in case someone is reading your tutorial step by step and is wondering why there is no "%JAVA9_HOME%\bin\jlink". In case I simply did not see the hint that this tutorial requires Java9 or this is the wrong place for feedback I'm sorry

The thing with path tracing is that cards still need to become ~1000 times faster to avoid any sorts of tricks and allowing to use 1000 samples per pixel. But that is not going to become a reality, so we end up with lots of noise in the traced image, and so far there have only been two promising techniques to get rid of that:- various image filtering techniques- image reconstruction (Nvidia proposes to use convolutional neural networks for this)Since image filtering is basically a solved problem and is absolutely real-time capable, the only thing Nvidia can dramatically improve on is to accelerate image reconstruction using dedicated hardware for neural networks, which is exactly what they are doing with the Tensor chips.So I think we will see great improvements in real-time path tracing based global illumination and new rendering engines facilitating this in the near future, such as EA's SEED project which seems to be the most state-of-the-art right now: https://www.ea.com/seed/news/hpg-2018-keynote

The idea is that the user can import models via the Assets folder. The final asset object is called a Prefab (created from meshes/materials). You can create a game object in the world, which is backed by a prefab. The prefab is just used for drawing. Then you can add a physics object into the game object. When a physics object is inside a game object it "links" to it, which is where it creates a rigid body representation of that game object in the physics engine. The player game object (in the GIF) contains a controlling script (shown below). That captures user-input, and updates the camera to stay with the player.

Still brushing up on what's hot and what's not in current ray/path tracing computer graphics. There have been some great papers at the High-Performance Graphics 2018 conference. The second-best voted paper "Gradient Estimation for Real-Time Adaptive Temporal Filtering" discusses how the weights for blending between previous frame and current frame in temporal antialiasing can be adapted based on the change in scene color/light information (light bulb going on and off) or through specular reflections in order to avoid the "ghosting" effect which is inherent in temporal antialiasing techniques.They do this by re-evaluating a path traced sample from a previous frame using the same random number sequence/seed and checking whether the sample still evaluates to the same color/intensity. If not, then obviously something has changed and the previous frame information should be discarded or at least weighted less based on how much the color/light changed (the gradient) and based on material properties (specular reflections should be weighted even less). Quite a clever solution.

Did you know that you can use Java to make cross platform mobile apps? Yes, pinch yourself, you read that right the first time! I’ll teach you the basics of how to use your existing Java knowledge to create performant apps on Android and iOS in 12 easy steps. We will do this all using JavaFX as the GUI toolkit.

Working on the deployment issues has me quite bottled up. I try to push forward with it, but decided to not make that my only Java activity. Since so much time is spent in resisting unpleasant tasks, I decided to start giving myself an hour or two on actual coding of other projects instead of allocating all available programming time to deployment issues. Working on the PTheremin today, to set up an experiment for an alternate sound source that makes use of the phase modulation feedback loops (or rather, simulates them). It would be neat, also, to try an experiment I've been wanting to do with coding vowel formants. Better that than simply blocking on the unpleasant tasks of setting up sales site and dealing with certificates and other stuff. Yes?

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org