Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (797)
Games in Android Showcase (234)
games submitted by our members
Games in WIP (864)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: 1 ... 209 210 [211] 212 213
  ignore  |  Print  
  What I did today  (Read 3401332 times)
0 Members and 4 Guests are viewing this topic.
Offline orange451

JGO Kernel


Medals: 527
Projects: 8
Exp: 8 years


Your face? Your ass? What's the difference?


« Reply #6300 - Posted 2019-04-16 11:54:44 »

Yes. It’s not bullet unfortunately. At least not in the way we normally know it, anyways.

First Recon. A java made online first person shooter!
Offline NegativeZero

JGO Kernel


Medals: 341
Exp: 1 month or less


Zero but not.


« Reply #6301 - Posted 2019-04-21 08:23:48 »

Made some 3D dithered lighting this week.

More aesthetic:

Click to Play


https://gfycat.com/nippydisguiseddartfrog

Clearer but less aesthetic:

Click to Play


https://gfycat.com/warmcomplexlangur

Offline SkyAphid
« Reply #6302 - Posted 2019-04-22 00:10:35 »

Finally dropped ClearWindows, ClearVG, and ClearDialogue. Please check out their threads to learn more about them:


I'll try and get some binaries out for ClearDialogue as soon as I've finished all of the testing so that you guys don't have to clone the repo to get it running.

Special thanks to orange451 and Spasi for helping me get all this working.

it just werks
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline orange451

JGO Kernel


Medals: 527
Projects: 8
Exp: 8 years


Your face? Your ass? What's the difference?


« Reply #6303 - Posted 2019-04-22 05:01:23 »

Working on the final project for my Computer Graphics class at uni. Unfortunately the professor is making us use Java3D. I can't change his stance on it either.

Here it is so far...

First Recon. A java made online first person shooter!
Offline princec

« JGO Spiffy Duke »


Medals: 1101
Projects: 3
Exp: 20 years


Eh? Who? What? ... Me?


« Reply #6304 - Posted 2019-04-22 18:50:02 »

Released Faerie Solitaire Harvest:

https://store.steampowered.com/app/348910/Faerie_Solitaire_Harvest

Tenuous Java connection:
It's written in Defold, which is a 2D games development platform from King; the Defold IDE is written in Clojure and JavaFX.

Cas Smiley

Offline dime26

JGO Wizard


Medals: 86
Projects: 7
Exp: 12 years


Should traffic wardens be armed?


« Reply #6305 - Posted 2019-04-24 00:30:02 »

Nothing too exciting here but I am finding a little time to write code again. Here is some basic path finding, will help with the computer car movement at somepoint:

Click to Play
Offline CommanderKeith
« Reply #6306 - Posted 2019-04-24 09:38:48 »

Released Faerie Solitaire Harvest:

https://store.steampowered.com/app/348910/Faerie_Solitaire_Harvest

Tenuous Java connection:
It's written in Defold, which is a 2D games development platform from King; the Defold IDE is written in Clojure and JavaFX.

Cas Smiley

Congrats on the release, looks polished.
I checked out Defold and noticed that there's lots of references to Lua. Is this the language that you program in to make games in Defold? Or is it just a scripting language to connect things you've programmed in some other language? Would be interesting to hear about your experiences with it.
Cheers,
Keith

Offline princec

« JGO Spiffy Duke »


Medals: 1101
Projects: 3
Exp: 20 years


Eh? Who? What? ... Me?


« Reply #6307 - Posted 2019-04-24 11:16:16 »

It is actually Lua, yes. I've not personally made FSH, it was Brian Kramer of Subsoap who did the game with his brother Matt. Brian draws, Matt codes. According to them it's been absolutely great to use. Lua is a very nice scripting language as well - very simple, but powerful.

Cas Smiley

Offline CommanderKeith
« Reply #6308 - Posted 2019-04-24 12:46:32 »

Thanks for explaining. Two brothers creating, that's great. Good on them for sticking it through and finishing

Offline VaTTeRGeR
« Reply #6309 - Posted 2019-04-27 10:33:40 »

Spent the entire week working on a high performance TCP handler/wrapper that does connect/disconnect/read/write asynchronously. Communication is done via packets (preamble-byte, payload-length,payload-bytes,postamble-byte) to give some structure to the TCP stream. Packets are passed around in ArrayBlockingQueues and get pooled to avoid allocations.

The packet-objects offer a ByteBuffer like interface to read/write primitives and primitive arrays, implemented with Unsafe.

I think it's pretty fast already, below is a screengrab of the impact it has on my dual core laptop cpu while there are 500 clients connected to a single server over loopback. The server gets bombarded with 10000 messages per second (with 1416 byte payload each). That's 27 kilobyte/s per client, resulting in 113 Megabit/s total, all running on the same machine.

The server process itself uses around 2 - 2.5% of the combined cpu resources while the 5 processes with 100 clients each hover around 0.15% per process.



Anybody know similar frameworks/libraries? Do you know something faster than ArrayBlockingQueues for inter-thread message passing?
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline princec

« JGO Spiffy Duke »


Medals: 1101
Projects: 3
Exp: 20 years


Eh? Who? What? ... Me?


« Reply #6310 - Posted 2019-04-27 18:00:28 »

Jocket perhaps, for socket-like comms?
Disruptor for queueing?
Not used either myself.

Cas Smiley

Offline Spasi
« Reply #6311 - Posted 2019-04-27 18:27:21 »

@VaTTeRGeR, have a look at Aeron.
Offline VaTTeRGeR
« Reply #6312 - Posted 2019-04-27 20:45:09 »

@princec Thanks! Jocket does interesting stuff for IPC, i want to do network communication though so this sadly isn't applicable. I had look at disruptor some time ago already and had the impression that it contains lots of bloat specific to financial applications, i just need a fast SPSC queue to move stuff between two threads. After looking into it some more i found this talk by LMAX: https://www.youtube.com/watch?v=DCdGlxBbKU4 I need to see if i can extract just their ringbuffer implementation, the performance seems to be much better than what ArrayBlockingQueue offers.

@Spasi
Aeron and the serialization library it uses employ some techniques that i have already incorporated, thanks for the tip! This talk of theirs was kinda interesting, worth skipping through at least: https://www.youtube.com/watch?v=tM4YskS94b0

Edit: Just implementing the Ringbuffer from the LMAX talk gives me performance that is around an order of magnitude greater than ArrayBlockingQueue with high consistency at the cost of possible overflows if the buffer is to small, here's the code:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
import java.util.concurrent.atomic.AtomicLong;

public class RingBuffer <T> {

   private final int SIZE;
   private final T[] data;

   private AtomicLong sequence = new AtomicLong(-1);

   private long nextValueWrite = -1;
   private long nextValueRead = 0;
   
   @SuppressWarnings("unchecked")
   public RingBuffer(int size) {
      this.SIZE = size;
      this.data = (T[])new Object[size];
   }

   public void put(T packet) {
     
      long index = ++nextValueWrite;
     
      data[(int)(index % SIZE)] = packet;
     
      sequence.lazySet(index);
   }
   
   public T get() {
     
      if(nextValueRead <= sequence.get()) {
         return data[(int)(nextValueRead++ % SIZE)];
      }
     
      return null;
   }

   public synchronized void clear() {
      sequence.set(-1);
      nextValueWrite = -1;
      nextValueRead = 0;
   }
}


The latency has gone down from jumping between 1 and 40 us to below 0.8us consistently, it's so fast that the resolution of System.nanotime() isn't sufficient to measure it anymore  Shocked it seems to use discrete steps of 411ns from what i can see and the ringbuffer put() is most of the time at or below that mark.

I can now fetch a packet from the pool, fill it's buffer with ~1400 bytes of data and send it back to the socket-write-thread in ~4 microseconds average.

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
for (int i = 0; i < 5; i++) {

   long tStart = System.nanoTime();

   SocketQueuePacket packet = queue.getPacketFromPool();
   
   //System.out.println("Remaining before: " + packet.remaining());
   
   packet.putByteArray(payload);
   
   packet.putIntArray(new int[] {1,2,3,42});

   sumBytes += packet.position( ) - SocketQueuePacket.HEADER_SIZE;
   
   //System.out.println("Remaining after: " + packet.remaining());
   
   while(!queue.write(packet)) {}
   
   long tDelta = System.nanoTime() - tStart;

   System.out.println("Send time: " + TimeUnit.NANOSECONDS.toMicros(tDelta) + " us / " + tDelta + " ns");
   
}


This gives me:

Quote
Kilobyte/s: 140
Send time: 15 us / 15615 ns
Send time: 4 us / 4109 ns
Send time: 7 us / 7397 ns
Send time: 4 us / 4109 ns
Send time: 2 us / 2877 ns
Kilobyte/s: 139
Send time: 8 us / 8630 ns
Send time: 2 us / 2466 ns
Send time: 1 us / 1233 ns
Send time: 2 us / 2877 ns
Send time: 1 us / 1644 ns
Kilobyte/s: 140
Send time: 9 us / 9862 ns
Send time: 1 us / 1644 ns
Send time: 1 us / 1233 ns
Send time: 1 us / 1644 ns
Send time: 0 us / 822 ns
Offline NuclearPixels
« Reply #6313 - Posted 2019-04-28 22:08:33 »

Long time not posting any progress, but it is huge from the last point when I reported. Still some work to be done before releasing a demo, but already getting close there.
In last two month the following was done:
- Implemented and scripted small tutorial
- Integrated new UI (bought one, I am not good in PS at all)
- Implemented dialogues (so the story telling can be done)
- Integrated shadows for game objects (had a difficulty, since Blender would render a huge shadow around the object with very small but noticable alpha, so had to implement additional step in my asset management tool to remove alpha below threshold and make blur the remaining shadow, otherwise it would look edgy).
- Implemented traps (to be placed in the forest) and collect objects feature

Below some screenshots are following Smiley

The main menu window:


Campaign map:


Level description and objectives:


Tutorial


Dialogue

Learning and having fun developing games. Twitter: https://twitter.com/NuclearPixels
Offline orange451

JGO Kernel


Medals: 527
Projects: 8
Exp: 8 years


Your face? Your ass? What's the difference?


« Reply #6314 - Posted 2019-04-29 02:54:58 »

Made a search field in LWJGUI

Works just like a text field, but has a search button, a clear button, and a search event that you can create a listener for

[EDIT]
Also implemented the Gear Demo as an example of deprecated opengl mixing with my UI


What's fun about this, is it can easily be placed inside of my OpenGLPane class, and then be drawn alongside UI, instead of JUST underneath it:

First Recon. A java made online first person shooter!
Offline cygnus
« Reply #6315 - Posted 2019-04-29 23:33:55 »

Won the Vex Robotics World Championship!

This is mostly why I haven't been coding at all for a while Tongue
I'm in this picture but it's up to you to guess who I am
Offline kingroka123
« Reply #6316 - Posted 2019-04-30 02:58:41 »

@cygnus Neat! Brings me back to when I did Vex in high school. I competed at world's twice but never came close to winning.
Offline SkyAphid
« Reply #6317 - Posted 2019-04-30 18:43:44 »

Finally finished all of the features I wanted for ClearDialogue. Got scaling working with ClearVG last night (was a bit tough but it worked out in a way I like). You can adjust the program scale per component, so you can have one aspect of your UI be at one scale and another aspect at a different scale. Meaning that ClearDialogue's canvas can be scaled differently from the UI itself. It's extremely flexible and I'm quite happy with it. It was easier than I thought it'd be, honestly.

I also got ClearVG working in non-ClearWindows applications (as in, we got it working with one of our internal NNGINE projects). Meaning that it's confirmed that it works in contexts where the user wants to use ClearVG but not ClearWindows. So to summarize, ClearVG will work with any GLFW windowing solution (or really any OpenGL context) you want. Again, nice and flexible like I intended.

It's a shame that no one seemed to have seen them when I posted them, but hopefully it'll help at least one person down the line.  They're both open source and contain a lot of utilities from NNGINE as well as some new stuff exclusive to them, so they'd be useful for anyone wanting to have a shortcut past the tedious GLFW stuff you usually have to do to get a project going. Here are the project pages I made for them if any of you want to check them out:

ClearWindows & ClearVG:
http://www.java-gaming.org/topics/iconified/38899/view.html

ClearDialogue:
http://www.java-gaming.org/topics/iconified/38900/view.html


it just werks
Offline cygnus
« Reply #6318 - Posted 2019-04-30 19:52:50 »

@kingroka123 team number?
Offline kingroka123
« Reply #6319 - Posted 2019-04-30 20:35:43 »

@cygnus 5203 I don't think my team has been back to worlds since I left
Offline cygnus
« Reply #6320 - Posted 2019-04-30 21:23:32 »

They have! They were at worlds this year, we saw them. A very nice bot--solid angle changing hood flywheel. They were 16th seed in their division at worlds.
Offline FabulousFellini
« Reply #6321 - Posted 2019-05-01 12:50:54 »

A little late, but last week I started my new job at Volition.  It's pretty dang cool.

-FabulousFellini
www.fabulousfellini.com
Offline SkyAphid
« Reply #6322 - Posted 2019-05-02 19:21:29 »

Added fallback font support to ClearVG's Font class and was able to add emojis into ClearDialogue:



Meaning that ClearDialogue has special character support for every emoji now, instead of only a select few like JDialogue had. Users that use ClearVG can also make fallback fonts that do whatever they need them to do now, too. So it's a pretty great addition for what was like five minutes of work! Haha.

You can also see my syntax highlighting at work in ClearDialogue in this screenshot. In ClearDialogue it's used so that users can set custom syntax highlighting to match their game so that they can see if they've entered the codes for their specific engine correctly.

it just werks
Offline orange451

JGO Kernel


Medals: 527
Projects: 8
Exp: 8 years


Your face? Your ass? What's the difference?


« Reply #6323 - Posted 2019-05-02 19:50:02 »

I made a new color picker:


First Recon. A java made online first person shooter!
Offline philfrei
« Reply #6324 - Posted 2019-05-08 15:04:58 »

Yesterday, from an article (cited below), I had a realization about JLINK which I tested. This could be helpful for people who'd like to package their older games with a custom runtime but are finding the process complicated and confusing. (Assumption: the older code runs under Java 11.)

The simple realization is this: that we can just build a custom runtime once and reuse it with various projects.

Let's say an old 2D game just uses AWT/Swing (requires java.desktop module) and maybe some XML (requires java.xml module). You can build a runtime with the two modules using the parameters below and it will take up around 71 MB though with additional compression parameters the size drops to 38 MB (see article for details).

1  
jlink --no-header-files --no-man-pages --add-modules java.desktop,java.xml --output dist 


The main thing is the list of modules specified by --add-modules, and the file folder name where this is built (I used "/dist"). If other modules are needed (which can be determined by the jdeps command, again: see the article), they would be added to the --add-modules list.

Once you have a /dist folder, you can reuse it with various game programs, as long as your source only requires those modules and can run under Java 11. Just add in the source jar and maybe a one-line BAT or BASH file to call it using the new runtime (e.g., "bin\java -jar myGame.jar"), and there you have it: a folder with a runnable and self-contained runtime. (Further packaging would be needed for commercial release.)

I zipped the /dist folder (without including added source code jar) and it came to just 26 MB.

I arrived at this realization after reading and working through a simple case (no JavaFX involved) from the following tutorial article:
Using JLINK to build Java runtimes for non-Modular Applications

music and music apps: http://adonax.com
Offline BitBotz
« Reply #6325 - Posted 2019-05-08 18:24:37 »

I added the universal tween engine to my game and let it interpolate the field of view of the camera when the player gets hurt.
Click to Play

Offline yboya
« Reply #6326 - Posted 2019-05-09 18:23:58 »

I published an executable jar of "Mount Rainier Island", my new game in development :
https://github.com/YvesBoyadjian/Koin3D/releases


Offline SkyAphid
« Reply #6327 - Posted 2019-05-10 21:18:11 »

Finally making the move from Eclipse to IDEA... I can't take the constant bugginess of Eclipse anymore. It's getting in the way of me actually getting work done.

Edit: Good lord, IDEA is even worse. It literally crashed the first time I tried to make a new project with it lol

I don't even know what to do at this point. I just want a stable working environment. :L

Edit 2: Sorry you guys had to witness my rage-posting, I was so angry at all of this last night lol

it just werks
Offline h.pernpeintner

JGO Ninja


Medals: 107



« Reply #6328 - Posted 2019-05-13 06:21:10 »

wtf do you do with your IDEs, I have used eclipse for years (and it wasn't that unstable, only some plugins were) until I switched to idea and I'm powerusing idea for more than 5 years without any real issues.

What kind of project are you using, how do you import it and so on?
Offline cylab

JGO Kernel


Medals: 195



« Reply #6329 - Posted 2019-05-13 07:11:07 »

Maybe it's just your machine?

Mathias - I Know What [you] Did Last Summer!
Pages: 1 ... 209 210 [211] 212 213
  ignore  |  Print  
 
 

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

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

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

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

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

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

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

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

nelsongames (3719 views)
2018-04-24 18:15:36

nelsongames (4750 views)
2018-04-24 18:14:32
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

Deployment and Packaging
by gouessej
2018-08-22 08:03:45
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
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!