Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (800)
Games in Android Showcase (237)
games submitted by our members
Games in WIP (867)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
   Home   Help   Search   Login   Register   
  Show Posts
Pages: [1] 2 3
1  Discussions / General Discussions / libGDX appears at first place! on: 2020-01-17 06:31:25
Without comments:
2  Games Center / Showcase / Re: Game Release - Marble Marcher JJ on: 2020-01-15 19:28:32
Wow, congrats!
3  Discussions / Miscellaneous Topics / Re: What I did today on: 2019-12-29 20:06:47
In the last couple of days I continued my Defcon like strategy game (using only LWJGL and other small libs such as nanovg).

  • Refactored UI system with clickable buttons
  • Zoomable map with cities

According to my roadmap(, 0.0.1 is ready soon.
4  Java Game APIs & Engines / Engines, Libraries and Tools / Re: SVG rendering; Ballistic path calculation on: 2019-12-10 13:35:11
I don't want to open a new topic, so I ask a new one here. The best way I could solve the world map is using an obj file (, so it can be zoomed without distortion and it's easy to handle.

As a next step I wanted to put cities on the map via lat/lon. I use formulas found here:

I tried it with these cities: Budapest, Rome, Cape Town. I'm definitely screwed up something as Budapest & Rome looks OK, but Cape Town is not. Any idea what I did wrong? The radius, standardParallels and centralMeridian are just guesses as I don't really understood all, just the standardParallels.

    static Vector3f toWorldPos(float lat, float lon) {
        System.out.println(String.format("X: %f Y: %f", COORDS_TEMP.x, COORDS_TEMP.y));
        return COORDS_TEMP;

    private static float radius =0.4f;
    private static float standardParallels = 10.2f;
    private static float centralMeridian = 0f;

    static float x(float longitude) {
        return radius*(longitude-centralMeridian)*(float)Math.cos(standardParallels);

    static float y(float latitude) {
        return radius*(latitude-standardParallels);

The code I use for converting world space to screen space:
    private static final Vector4f WORLD_POS_TEMP = new Vector4f();
    private static final Vector4f CLIP_SPACE_TEMP = new Vector4f();
    private static final Vector3f NDC_SPACE_TEMP = new Vector3f();
    private static final Vector2f WINDOW_SPACE_TEMP = new Vector2f();
    private static final Vector2f WINDOW_SIZE_TEMP = new Vector2f();

    public static Vector2f convert(Vector3f worldPosition, Matrix4f projectionMatrix, Matrix4f viewMatrix) {
        WORLD_POS_TEMP.set(worldPosition, 1f);
        WINDOW_SIZE_TEMP.set(Engine.window.getPreferences().getWidth(), Engine.window.getPreferences().getHeight());

        return WINDOW_SPACE_TEMP;
5  Java Game APIs & Engines / Engines, Libraries and Tools / Re: SVG rendering; Ballistic path calculation on: 2019-11-29 18:22:37
Thanks. It motivates me really, I just have not enough time to advance fast. I found out that rasterizing svgs with nanovg and rendering that way will not that be good in the end for various reasons. I found a good article in webgl how to triangulate svg paths hence I can build a VBO out of it.

There are some libs I might port to Java, if I won't find anything better.

Here is the article:
6  Game Development / Newbie & Debugging Questions / Re: How do you guys test your games? on: 2019-11-27 19:57:34
I’m the one who is in the first line when tests are missing and say: “I dont fckn care about deadlines but we are gonna write tests or I quit! You can tell that to PM QA, CEO or other titles”.

But in game development I would agree we with princec. Write tests if you are not sure about something. Other than that... just finish your game first! Cheesy
7  Java Game APIs & Engines / Engines, Libraries and Tools / SVG rendering; Ballistic path calculation on: 2019-11-26 08:10:16
Hey Everyone.

I managed to write a game design doc ( with exact milestone plans hoping it will finally help me develop my game rather than just gamejamming and prototyping. I went through all of the problems I might have to implement and I see two area where I need little help.

- UPDATE: Finally I found I can use nanovg. Zoomable SVG rendering. I'd like to import an SVG file (a world map) into my scene and render it in a way that is will be zoomable without quality issues. I found only one topic here: Do you have other sources I can check or an already existing tool I can use?
- Mouse Pos to world pos: I'd like to later identify points on the map via lon-lat, as I think that's the best way, but I have no idea how to do it as the map will be zoomable. So let's say I'm over New York (zoomed in) and I'd like to get where exactly I am (lon-lat) based on the mouse cursor.
- I'd like to calculate ballistic path from point A to point B (maybe using lon-lat coords). Am I right that this is what I'm talking about?

Thank you!
8  Discussions / Miscellaneous Topics / Re: What I did today on: 2019-11-17 15:30:48
Have to say, I was(am?) a Javascript hater, but in the last few years, when I needed a quick web server, a quick literally anything running, I always chose Javascript. And if possible, I always choose Typescript.

What kind of tutorials are you making?
9  Discussions / Miscellaneous Topics / Re: What I did today on: 2019-11-10 17:38:02
Today I implemented AABB recalculation when an entity is transformed (scaled, rotated). See more here.

Video (watch it in 1080!) (AABB recalculation):
<a href=";hl=en_US&amp;start=" target="_blank">;hl=en_US&amp;start=</a>

Video (watch it in 1080!) (AABB intersection point):
<a href=";hl=en_US&amp;start=" target="_blank">;hl=en_US&amp;start=</a>
10  Java Game APIs & Engines / OpenGL Development / Re: AABB and transformations on: 2019-11-10 13:53:39
I think you've saved some of my spare hours with this comment. Thanks! I'll get back to you when I tried it out Smiley
11  Java Game APIs & Engines / OpenGL Development / Re: AABB and transformations on: 2019-11-10 13:44:51
Hm, interesting. Don't know why this idea didn't pop into my head.
So basically the transformation is done on the Java side, I upload all entities' AABBs into a single VBO, draw it with a single (not even instanced) draw call, and if any of the entities' transformation matrix changed, I just use
and update the VBO I have.

12  Java Game APIs & Engines / OpenGL Development / AABB and transformations on: 2019-11-09 19:26:39
Hi All.

I'm so humble that rather using Unity or Unreal, I still spend my spare time on poking my rendering whatever as I still have a Starcraft like RPG idea. Which will never be released if I progress as good as I do right now Cheesy

BUT, I'm at least learning and posting here.

The problem is a common one. I have AABB boxes around my models. If I rotate or scale the models, the AABB boxes rotate and scale as well, which is not good. I removed then the rotation and scaling part from the transformation matrix, hence the AABB boxes only move without scale and rotation, but obviously it's not perfect as the bounding box will not be accurate if the model is high and thin at the same time.

I found a great solution that I should store the original AABB and when a model is rotated or scaled, I should recalculate the AABB itself from the original AABB using the translation matrix. This is good, but the problem is that I not just use AABBs for calculations like ray tracing, but also for visualizing it with a renderer and I have problem there.

The rendering logic is based on batches and instanced rendering. Of course, I can change to simple draw calls per model when I render AABBs, but then I have to render AABBs per model, which will be slow if I have too much models.

I agree, that if I want a game ASAP out, I must skip this or choose an alternative path. The thing is that currently I'm more interested at solving this math-like problem instead of releasing anything.

So any idea?
13  Discussions / Miscellaneous Topics / Re: What I did today on: 2019-11-05 16:44:26
In the last 2-3 nights I implemented AABB into my framework. It will be used for raycasting and object picking later if I ever finish(start?!) my game Cheesy

<a href=";hl=en_US&amp;start=" target="_blank">;hl=en_US&amp;start=</a>
14  Discussions / Miscellaneous Topics / Re: What I did today on: 2019-11-01 16:44:00
In the last few free evenings I've been working on an RPG camera and the Input system in my framework to be prepared for controlling characters from a starcraft like view. Both are ready, except some Linux problems with mouse clicks: (please check it if you have time Smiley).

Soon I hope I have a small video about the progress.
15  Discussions / General Discussions / Re: Start Fresh? on: 2019-10-31 18:38:51
Guys, I tried to login with my jgo credentials but it says my password or username is incorrect. Tried to send a forgotten password email and it said the username is registered and I must have gotten the email, but I got nothing.

I might missed something though.
16  Discussions / Miscellaneous Topics / Re: What I did today on: 2019-09-30 19:30:51
Here it is Smiley

Today I managed to refactor my camera into something more general (Camera interface + AbstractCamera parent), and now with a small code change I now have an RPGCamera that has the right view angle and movement. Initally I wanted to create a camera arm that holds the camera itself. It tought its easier to have a camera rotated and the arm moved, but I use ECS amd when I started to think on parent-child relationship between transforms I realised that ECS is not meant for this Smiley So I ended up with a Camera refactor.
17  Discussions / Miscellaneous Topics / Re: What I did today on: 2019-09-30 02:23:04
I’ve been in game dev for 3 years now. I made three small games for jams with Unity and Godot. I tried out Unreal, I like all, but still, the joy I have when I run my own rendering code is still bigger... so yesterday I finaly managed to update the rendering and obj loading logic to be able to load obj files with submeshes and materials. It worked at the first run, and tests were also green for first!
18  Discussions / Miscellaneous Topics / Re: What I did today on: 2018-10-22 02:14:00
This one looks really promising. Is it done via opengl? Is it for your engine or just for fun?
19  Game Development / Newbie & Debugging Questions / Re: Multirelease with modules, java9 on: 2018-10-21 05:53:52
And it's really as simple as you mentioned. My java9 knowledge lacked this info. Thx!
20  Game Development / Newbie & Debugging Questions / Multirelease with modules, java9 on: 2018-10-20 19:04:39

I require a lwjgl module (org.lwjgl.vulkan.natives) in one of my modules. The compilation (as Spasi explained) fails on windows/linux as natives are not needed there (so its not available during the compilation).
If I remove the requires than it does compile on windows/linux/osx, but it does not run on OSX as the needed lib is not on the classpath during runtime.

The thing is that without requiring natives, after compilation and BEFORE jlinking, there is a
in my mods directory, so I thought, I would just need to add that too when jlinking (on OSX) and it will be fine.

So I use jlink then:
jlink --module-path $JAVA_HOME/jmods:build/mods --add-modules org.lwjgl.vulkan.natives --add-modules --launcher APP=mymodule/Main --compress 2 --no-header-files --no-man-pages --strip-debug --output build/release

--add-modules org.lwjgl.vulkan.natives
did not help, it still fails to run on OSX as it does not find the moltenvk libs.

What did I miss?
21  Game Development / Newbie & Debugging Questions / Re: OpenJDK10, OpenJFX 11... wtf on: 2018-10-09 05:23:53
You can
22  Game Development / Newbie & Debugging Questions / Re: Pathfinding distance algorithm on: 2018-09-28 03:30:31
Tried to connect diagonal nodes, it looks totally OK now, zigzag effect went away.
23  Game Development / Newbie & Debugging Questions / Pathfinding distance algorithm on: 2018-09-27 11:43:35
Hi. I implemented a pathfinding solution with gdx-ai in my tile basede game, and I used Manhattan distance formula in estimation:

Math.abs(startX - endX) + Math.abs(startY - endY)

If the shortest path from point A to point B is diagonal, it's OK for ground units, the movement a little bit like zigzag, but it's OK.

I was thinking if there is a better solution to avoid that zigzag behavior to get a smooth movement, like in starcraft2. I tried pythagorean:

and Euclidean
Math.sqrt(Math.pow(Math.abs(endX-startX),2) + Math.pow(Math.abs(endY-startY),2))

but both resulted me a similar result.

So if the map looks like this:
01 02 03 04
05 06 07 08
09 10 11 12
13 14 15 16
and the point A is at 13, point B is at 04, than those takes a path like: 13->14->10->11->07->08->04 instead of 13->10->07->04

Any idea how can I achieve this?

UPDATE: is that a good idea to add the diagonal nodes to the node's connections?
24  Game Development / Newbie & Debugging Questions / Re: A* pathfinding library for libgdx on: 2018-09-12 06:30:29
Yes, I already solved it and I use gdx-ai. It was not hard tough, I would say it was easy.

The question was only about that as it's not maintained anymore, is there any other libraries. But as the answer is possibly no, I chose gdx-ai then.
25  Game Development / Newbie & Debugging Questions / Re: A* pathfinding library for libgdx on: 2018-09-05 05:04:22
Yeah, it's a good point what you're saying. Probably I stick to gdx-ai then and I'll make it transparent so if I find something newer, I'll be able to replace it. thx!
26  Game Development / Newbie & Debugging Questions / Re: A* pathfinding library for libgdx on: 2018-09-04 17:55:08
Cmon, this code is also 10(!) years old Smiley I’m not saying that the A* implementation should be different, but I’m looking for a maintained lib, or if I have to implement it myself, I’ll use the latest code available (gdx-ai) as a resource Smiley

27  Game Development / Newbie & Debugging Questions / A* pathfinding library for libgdx on: 2018-09-04 06:52:00

Is there a pathfinding library available somewhere? I know gdx-ai, but it's not maintained and PRs are not accepted for a year now. It's needed for a top-down tilebased game.

Of course, I might implement it by myself, but if anyone has a good library, I would use that for now instead Smiley
28  Discussions / General Discussions / Re: The Discord makes me sad on: 2018-08-24 18:56:52
As I wrote several times, this is an age related stuff.
Younger people don’t like (usually as I observed) to read a lot, slowly. They need instant messages, quick short chit-chats. I don’t like it, but lots of them does. This is how life works, nothing special.
29  Game Development / Newbie & Debugging Questions / Re: OpenJDK10, OpenJFX 11... wtf on: 2018-08-23 11:53:58
Unfortunately I have to work in javascript/nodejs/typescript in my dayjob now, and what I see that because javascript and "doing it strict" are almost the opposite meaning, everyone does everything. Therefor I have to face with bugs, when one my dependency's dependency's dependency fails, because of a wrongly architected visibility/permission.
Of course, hacking was always been a habit, but nowadays it's getting more popular, especially in the mentioned field.

I might be too young with my 32 years and 15 years work experience, but I do love how strict the new module system is. And as its not obligatory to use, everyone will be happy. And I think, trying to stay on the track with other languages in today's development rush is good, because I don't want to see more nodejs applications on the server side then I see now Smiley

But this is my opinion only.
30  Game Development / Newbie & Debugging Questions / Re: OpenJDK10, OpenJFX 11... wtf on: 2018-08-23 05:59:40
So many confusion here... Guys, the course I linked above, has a module system section, which takes you around 2hours to check. Like a good movie Smiley

But anyways, here are what I know:
  • You don't have to use modules. It's just an option
  • If you use modules, you can define strictly visibility for packages, even for reflections, which is really cool, I've programmed in Rust, C#, C++, PHP, Typescript, etc, but never seen a better solution
  • You can use it for services with ServiceLoader
  • As the whole JDK is now modularised, you can create your own JRE with jlink, ship your game with it without expecting the user having java. In my experience, I built a JRE that took 28MB only!
  • If you use modules, but one of your dependencies is not modularised, java handles it, and treats it as an "automatic module", which mean it will export all of its packages by default
  • You can't jlink automatic modules, but there is a solution for that, I wrote about it here:
  • Intellij IDEA supports modules, as maven

I see mixed feelings on the internet, but I see negative ones where the author has not checked it out in detail, how it really works. One who spent some hours to learn it just wrote positive thoughts on this (me too).
Pages: [1] 2 3
Riven (351 views)
2019-09-04 15:33:17

hadezbladez (5164 views)
2018-11-16 13:46:03

hadezbladez (2049 views)
2018-11-16 13:41:33

hadezbladez (5407 views)
2018-11-16 13:35:35

hadezbladez (1126 views)
2018-11-16 13:32:03

EgonOlsen (4546 views)
2018-06-10 19:43:48

EgonOlsen (5409 views)
2018-06-10 19:43:44

EgonOlsen (3087 views)
2018-06-10 19:43:20

DesertCoockie (3984 views)
2018-05-13 18:23:11

nelsongames (4564 views)
2018-04-24 18:15:36
A NON-ideal modular configuration for Eclipse with JavaFX
by philfrei
2019-12-19 19:35:12

Java Gaming Resources
by philfrei
2019-05-14 16:15:13

Deployment and Packaging
by philfrei
2019-05-08 15:15:36

Deployment and Packaging
by philfrei
2019-05-08 15:13:34

Deployment and Packaging
by philfrei
2019-02-17 20:25:53

Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08 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‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!