What I did today

@philfrei From NetBeans, I can set the Java platform to be used, wether it be 32 or 64 bits, and then create an app-bundle. (Lol without even knowing it, the first version of Bee Aware was 32 bit Java. I noticed as soon as I got ‘out of memory (heap)’ messages). Unless this is not what you mean, ofcourse, since you mention JLinking as well.
Anyway, how did you manage to associate your .tcd files with your app? I’m guessing an environment variable? And I agree that such an association is certainly a valuable asset.

New gameplay video for Bee Aware!

NXHuYIr-lIo

Just getting back from some chores. All I want to do is nap.

@beeaware
As far as file associations, here is a thumbnail of the steps. Maybe I will go into more detail with a tutorial, later. Hard to do that now as I don’t think I fully understand all the steps and am probably not doing it the best way.

The way the registry works, when you click a file with an extension, Windows searches for the extension as a key value. Associated with it is a command line, which in this case should consist of your executable and the file name of the clicked-on file as a string argument.

Thus, as far as the Java is concerned, a logical approach is to code your program so that the main() is able to handle (if one exists) an argument in the Strings[] array that is the address of a loadable file. This includes verifying that the address points to a valid file of the right type, etc.

Next challenge was having the .bat file created by the JLink process also work in this regard. For example, my .bat is named TCDLaunch.bat, so it needs to be altered so that it can work (from the command line):

c:>TCDLaunch fileName.tcd

Next, is the actual configuration of the Windows registry. I was following the instructions in InnoSetup5. It’s all handled in the configuration file for InnoSetup5. These instructions are pretty good, only a little bit ambiguous once you have some background info about the Registry. The instructions include important clauses that ensure a proper uninstall, too!

I was wondering if it is possible to post non-java games on jgo? I wrote a bunch of (published) freeware games and apps back in the nineties, and would like to show them (well, and boast a bit ;D). Point is, some are written in QuickBasic and some in Turbo-C. I don’t mean posting in showcase or something, perhaps a separate topic? Maybe such a topic already exists? (haven’t found it).

I’d suggest to put them on offtopic or in case you are planning to draw a comparison between these games and java games (or any other thing which links to java game dev) in general discussion :slight_smile:

More progress on IDE. Integrating lua into it. I’ve created a bunch of helper classes for the lua implementation (i.e. vectors, colors, matrices). I don’t think I want to let the user directly touch the java side, but I plan to expose a lot of functionality through lua so it’s neater.

http://magaimg.net/img/5s6h.png

Slowly going back.

Making game sprite and character concept

XkxWQpObsDQ

I discovered that we have here thread like " What I drew today ", maybe I gonna next time send my stuff there?

I’m working on my evil god simulator, Infiltration here

DoIWUCElsSk

Fourth update so far an interesting experience, working only with java and swing :smiley:

Hm, the city/god names sound like the “Elvish” language in Lord of The Rings, however the Elves usually were not evil.

Today I ironed out some hard to find bugs in my game, though there are still some left.
And now the only “big” feature left to implement are bosses. My AI system is pretty solid, but bosses pose new challenges for it. :slight_smile: Does anyone have a few tips about what would be a good approach or pitfalls to avoid?

Cheers

@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).

Started a rendering engine to go along with my ide.

http://magaimg.net/img/5sme.png

So now the user can insert meshes, write scripts to do simple modifications, and see it real-time. I don’t have a way to show it as a gif at the moment, but the teapot is spinning via this lua code:


script.Parent.Rot = 0
game.RunService.Heartbeat:Connect(function()
	script.Parent.Rot = script.Parent.Rot + 3
end)

Working on Scene Editor …

  • Started working on the ui to create the quests that npcs can give. The image above shows what I have so far.
  • Thought of some ui ideas of how I create dialogue in my editor.

Playing around with sandboxed asset creation

http://magaimg.net/img/5sxl.png

Not sure yet if this is exactly the route I want to take, but I don’t mind it so far. You import textures/meshes, then you take those two data types to create models/materials. Then you create a GameObject, and set its model to one of the models in the list.

-ZjtT1VZaUE

Results
…and some character concepts:

I re-arranged my gaming area:

Edit: sorry the picture is gigantic.

Oh, I forgot to mention it here, but I released JDialogue and also another basic palette swapping tool I made for my artist. I think posting them at the same time resulted in people only seeing the palette swapper, which was way lower effort than JDialogue. Anyway, both are released on github and have executable jars you can download.

JDialogue thread
Palette Swapper thread

pls gib medals

Here’s a little library I’ve coded last week as a helper/utility Java 8 library at work (runs under Java 8, 9, 10 and 11). It has become quite useful for us now and I think it could be useful for other people, too.

https://github.com/httpdigest/propertyname

Some small test cases: https://github.com/httpdigest/propertyname/blob/master/src/test/java/propertyname/PropertyNameBuilderTest.java

In a nutshell: It allows refactoring-safe naming of POJO properties.

What do I mean by naming of POJO properties? Certain things like JPA queries, be it either string queries or JPA criteria queries, or Hibernate Search/Lucene queries and other reflection-based libraries require that the programmer names the desired properties of one or more entity/POJO classes using simple strings.
In the early stages of a project however, there is the tendency to rename entity properties quite often, either when those properties map to an interface of an external/third-party system which is developed alongside ones own application or to reflect the business meaning of what’s been modelled better.

Of course, then tooling cannot know which string literal actually refers to which class property when refactoring/renaming such class properties. This has caused a lot of errors for us in the past due to exception only being raised at runtime or in some cases no exceptions being raised at all because the property was renamed and afterwards another property with the same name re-introduced.

This little library now allows to replace something like [icode]“customer”[/icode] (meaning the customer property of a Purchase) with [icode]nameOf(Purchase::getCustomer)[/icode] and [icode]“customer.name”[/icode] with [icode]name(of(Purchase::getCustomer).getName())[/icode] and therefore helps tooling to either refactor the use of the property accordingly or generate a compile-time error when the property does not exist anymore.

Some motivations for getting to this solution:

It should be said that an alternative for JPA exists: JPA Static Metamodel. But I disliked that this requires an additional build step.

Started work on a PBR workflow. Though after a lot of tweeking, it doesn’t seem quite right yet. I can’t put my finger on it.

http://magaimg.net/img/5uhy.png

[Edit]
Decided to implement tone-mapping and a different lighting-equation:

http://magaimg.net/img/5uim.png

I think it looks much better.

[Edit 2]
Added some IBL (or at least this is how I /think/ you do IBL…)

http://magaimg.net/img/5uj2.png

http://magaimg.net/img/5ujp.png

I like it! :slight_smile:

If you want an example of what the IBL looks like:

http://magaimg.net/img/5ukr.png

I wasn’t exactly sure how to apply it, so it’s done by overriding the fresnel. If no IBL exists, it just does a normal white fresnel based on metalness/roughness.

I’m spending a good part of today reading about the Windows Registry and figuring out to deal with some packaging hoo-haa that arises with the use of Java 9/10 modular programs and custom runtimes.

The runtime I created with JLink results in a set of file folders and an entry point: /bin/MyProgram.bat

Packaging for Windows, using InnoSetup5, we give the entry point as a value for specifying what the StartMenu or Desktop icon will call. We also make use of the entry point when specifying what a .xyz (your extension) will call.

The issue is that InnoSetup is not expecting the entry point to be a .bat. We get unwanted behavior, such as the .bat file opening its own Window prior to the call to the Java program. InnoSetup has a provision called “runminimized” that has the .bat files run in the background rather than an open window. But the behavior is a bit flaky, as there is no way to specify if the Java program, once it is called, will have the focus or not. (I found that calling from StartMenu, it did, but from a desktop icon, it didn’t, and sits behind other open Windows or opens minimized.) Also, there is no “runminimized” option for opening the program from its associated extension.

The folks at InnoSetup recommended one of two courses of action:

inline the contents of the bat into the Registry
recreate the bat as an exe.
(A third path to look at will be to confirm whether the JLink necessarily creates .bat, or if we can have JLink create some other executable than a .bat.)

It seems to me this is well worth figuring out, and sharing with the Java Gaming community. It would be a real plus to be able to package our games and applications as self-contained, using smaller, customized runtimes, yes?

Am wishing we had a section specifically for posting deployment related questions. I’ll probably just post in “Newbie” unless there is a better suggestion. Once solved, will commit to making some sort of resource document or tutorial that summarizes the process I’m going through with deploying with a self-contained, customized runtime.

Back to the car game Ive been tinkering with for ages, started implementing a basic engine which has a start delay when you get into a car, added some exhaust fumes and dust.

The dust takes the velocity of the car at the point of creation to add some movement to it, the dust is red while I am testing it.