Hi !
Featured games (85)
games approved by the League of Dukes
Games in Showcase (623)
Games in Android Showcase (176)
games submitted by our members
Games in WIP (676)
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  Game Development / Shared Code / Re: Extremely Fast sine/cosine on: 2015-10-08 05:18:23
These latest benchmarks aren't really giving a fair comparison. There are 2 measurable items

1) The method for calculating Sin  or Cos = Java / Agent / Riven
2) The method for calculating Sin (t+x) and Sin (t+y)  = Scalar / Sum of Angles/ Sum of Angles SOA

To be a fair comparison you need to test all the possible combinations, so far Sum of Angles / Sum of Angles SOA are only tested using the slowest sin and cos method (Java)
2  Game Development / Shared Code / Re: Extremely Fast sine/cosine on: 2015-10-06 18:19:36
yet you expect every single person who read (and actually want to understand) your comments to spend a significant amount of time Googling to decode your posts.
Or simply post:  can you explain this?  Look above I talk about dependency chains.  Explaining that for the widest audience would require giving a complete overview of how modern CPUs work. Or dig up a bunch of URLs for people to wade through.  


One end of the spectrum is to post in extreme detail and provide a complete overview on the topic that even the stupidest of people can understand (high effort  / low reward for effort) and at the other end is to post a set of facts without any explanation at all and no detail as to why the facts are relevant to the conversation (very low effort / still low reward for effort). You tend to post very much on the later side of the scale, the fact that there is little or no explanation means you get very little interaction with the community even if the community is knowledgeable in the field you are posting about.

I'm not asking you to change your style as its a personal choice and you are free to post what you want and in any style you want but I wanted to illustrate why people get frustrated with the confusion nature of your posts.
3  Game Development / Shared Code / Re: Extremely Fast sine/cosine on: 2015-10-05 18:19:58
sin(t+x) = cos(x)sin(t)+cos(t)sin(x)
sin(t+y) = cos(y)sin(t)+cos(t)sin(y)

per sim step is cos(t) & sin(t) which is really one trig op...not that it would matter.

{....cos(x),sin(x),cos(y),sin(y)...} packed array.  Speculate loading and skips the trig table lookup.  More accurate, but that probably doesn't matter either.  So 2x (2 look-up, 2 mul, 1 add) per entry.

For N objects he's performing 2N forward trig ops per simulation step.  The sim only requires two per step.

To decode this a bit for the people that are interested. I believe this is what Roquen is trying to say.

If you pre compute cos(x), sin(x), cos(y), sin(y) and save these values for each of the N objects you only need to compute sin(t) and cos(t) for each render cycle because these are the only variables that change. As you already have cos(x),sin(x),cos(y),sin(y) saved you just need to perform 4 multiplications and 2 additions per render cycle. Comparing both methods you get (Theagentd vs Roquen)

2N Lookups + 2N additions vs 4N multiplications + 2N Additions + 2 Lookups = 2N Lookups vs 4N Multiplications + 2 Lookups

Assuming multiplications are more than 2x quicker than lookups and N is sufficiently large you will save time using this method.

Hope this helps clears things up a bit
4  Game Development / Newbie & Debugging Questions / Morph + Particle Animation - Best way to store the data on: 2015-09-19 07:55:13

I have a setup where I am storing model data, these models can be reused by passing in a different ModelMatrix in the draw calls to allow the model to be drawn in multiple places. This means a single model can be used multiple times, all pretty standard I think. If there are any animation events such as standard transformation changes or the more complicated skeletal animation, this can be handled easily while still keeping with the single model being reused many times design.

That all works pretty well, I also have some animations which effect the vertex data directly (Morph animation and particle animation), with these my single model design principal kind of breaks down. The VBO data needs updating each frame which means the VBO is not generic any more.

An example which I have is a head that blinks. If I use this skeleton model multiple times I will have multiple heads but I would want them to all independently blink separately. So we come to the main point of the post. Is there a way to design things such that I can keep the single model being reused design? If not (this is what I suspect) are there any other ways, from a design perspective, that are more optimal than just loading up a new copy of the model each time?


5  Java Game APIs & Engines / Tools Discussion / Re: jBullet3 on: 2015-09-05 06:20:20
I would vote yes for a java only physics engine, I dislike having the requirements for native files being bundled up in a java projects. This might mean there is a bit of "re inventing the wheel" but I think there a lot of advantages for this for the people that dislike natives.

@gouessej - quoting buzzwords to dissuade people from trying a project like this isn't very helpful and doesn't really mean much. Porting a library, essentially requires no knowledge because you are just porting code, you just need an understanding of the computer languages at both ends. A long while back I started porting bullet2 to java (a more up to date version of jbullet), I didn't know anything about physics at that point but by porting the code I actually went off and learnt about the topic and I actually learned quite a lot in the process. Everyone starts somewhere.
6  Game Development / Newbie & Debugging Questions / Re: OpenAL - 2 channel OGG sound on: 2015-09-04 20:42:10
openal uses pcm format, how are you converting ogg in to pcm? Are you doing all of channel1 then channel2 or are you interleaving them?
7  Java Game APIs & Engines / OpenGL Development / Re: LWJGL jemalloc bindings on: 2015-08-09 21:21:07

Hi, do you know when the javadoc will be up for this new set of bindings? I don't immediately see a use case for this in a typical opengl scenario because the render cycle shouldn't be creating ByteBuffer's ideally and this is where the time sensitive processing happens.  But in principal this sounds like something that could shave off time from a performance perspective for other use cases.

I'd be interested to hear where you think this could be used in LWJGL itself.
8  Games Center / Showcase / Re: Little War: Shatter of Serenity on: 2015-08-09 18:29:56
Nice trailer! What did you use to create it?
9  Games Center / WIP games, tools & toy projects / Re: Grapple - Android 2D platformer (finally released to Google Play) on: 2015-08-09 18:21:48
Changes look good, some more feed back

The grappling hook graphics - They block the help text when you go past help sticks. I can't therefore read all the help, it might be the size of graphics for the controls that I have on, the level that introduces the grappling hook is a prime example.

The grappling hook length is fixed, to me its intuitive that if I jump closer to a ceiling the length of the rope is smaller. when you need to use the grappling hook to open more doors the rope is too long to get on the next platform. I managed it but I am not really sure how Wink

This might be just me, but if I press the right grappling hook button I expect the rope to go right (Its just how my brain thinks).  I know why you have done it (so the aim part works) but with out other visual clues my brain is fixated on things going in the same direction as where I press on the screen.
10  Games Center / WIP games, tools & toy projects / Re: Grapple - Android 2D platformer (finally released to Google Play) on: 2015-08-07 18:13:01

I have downloaded the game and have completed about 7 or 8 levels so far, Its quite a fun game to plan and the last update made controlling the character much easier. Some game play comments from me :

Having controls on the left and right side is very confusing, I'd prefer left-right on one side and jump on the other. I keep getting confused as I see both sets, my fingers also move around when not looking and I press unwanted button

Stepping on pressure pads doesn't always make the platforms keep moving. I know some need boxes on them to do this, but the ones that don't seem to have issues (example the first one I saw which told me about them)

When you need to put boxes on the pressure pads, its a total pain to try and get them on, I can't push them on, I need to jump on the box then fall off a corner in the hope it might topple. Its not consistent. I am not sure if moving a box on to a pressure pad is meant to be one of the challenges aspects in the game (could be wrong Smiley)

Its not immediate obvious how to get off a ladder, you need to hold left or right while going up the ladder. When I try and jump off (like a lot of other games) nothing happens.
11  Discussions / Miscellaneous Topics / Re: Looking for early testers for We Shall Wake Demo 7 on: 2015-08-01 17:35:13
I have both an old mac book and a linux laptop (this is the main one) that I can help you out with. I can't put hours in to testing but I can help test specific bits if you still need testers
12  Game Development / Newbie & Debugging Questions / Re: Isometric Object Rendering on: 2015-07-19 07:42:19
It might be easier to see with a screen shot and some code of how you place your tiles (ie calculate x,y). It might also be good to see your projection matrix.
13  Discussions / Miscellaneous Topics / Re: What I did today on: 2015-05-19 20:43:35
Finally finished writing an ogg music decoder from scratch and have it hooked in to my openal player for streaming music

I know there is JOrbis out there that does the same thing but JOrbis is a complete line by line clone of an old libvorbis version and it is written in a very c like way (same variable names, same method names etc). It is also pretty complicated to get data out of it.

Partly for reasons of wanting to know more about the ogg vorbis format and partly for wanting a nice, simple and easy to use version I wrote my own version.

I started the project just by using the vorbis spec and used JOrbis/libvorbis as a debugging tool (Either the spec is not 100% accurate in some places, or libvorbis decided to do things differently!!), the only thing I copied from JOrbis was the inverse MDCT code (which was taken from libvorbis)

14  Game Development / Newbie & Debugging Questions / Re: Property based pattern for a game. on: 2015-04-02 23:00:48
Not really sure what you are trying to achieve here? Do you want low memory usage?

Also can you post the code for all your tests? I'm surprised the best and worst times have a 4x difference so would be interested in what you actually compared against.
15  Discussions / Miscellaneous Topics / Re: What I did today on: 2015-04-01 20:16:27
I was playing around in OpenGL and accidentally made a flame thing:

EDIT: I made it fancier Smiley

Very nice! what strategy do you use for the flame generation? My current method is quite basic (texture billboarded and then put through a particle system animator)
16  Java Game APIs & Engines / Engines, Libraries and Tools / Re: Lost System.out.println, Being bombarded with text. on: 2015-03-28 09:39:04
Just use this instead of System.out

It provides lots of useful information as to where the logging was generated from

An example of using it can be found here
17  Java Game APIs & Engines / Engines, Libraries and Tools / Re: Coroutines - A new coroutine library on: 2015-03-26 03:42:42
I understand the concept and why this is different to threads. But can you expand more on

The next time you're coding up something that could benefit from being written as a coroutine (e.g. AI logic),

And provide some real world use cases? I don't really get why this would useful for AI. I don't want to diminish what you have done as it sounds pretty impressive but I suspect the reason Javaflow isn't actively developed is because there isn't a huge need for it and that might be the case with what you have too. But I encourage you to prove me wrong Smiley
18  Discussions / Miscellaneous Topics / Re: Crash - Corrupt File, Months of Work Lost on: 2015-03-20 05:47:41
I've never used Visual Studio, but does it have a directory specifically for compiled files. I know you decompiled a 4 month old version but you must have compiled it in VS since then. The "output path" location must have some files.
19  Games Center / WIP games, tools & toy projects / Re: Our new game Glow, first public alpha available to download now on: 2015-03-17 22:11:27
Looks like I didn't acutally have JAVA_HOME set for openjdk so it was actually using the oracle jdk

Version is below

java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)

On the positive side, when forcing the JRE to be

openjdk version "1.8.0-jdk8u60-b06"
OpenJDK Runtime Environment (build 1.8.0-jdk8u60-b06-20150314)
OpenJDK 64-Bit Server VM (build 25.60-b06, mixed mode)

The code did work! I guess there is a bug in the version of oracle java I am using, although I use this version for LWJGL with no issue.
20  Discussions / Community & Volunteer Projects / Re: Starting a team (Music Composer, Developer, 3d designer, and writer needed) on: 2015-03-17 06:52:00
This seems to be a another "bash anyone who asks for people to join their project" thread! What a fun and encouraging community there is here. 
21  Games Center / WIP games, tools & toy projects / Re: Our new game Glow, first public alpha available to download now on: 2015-03-15 17:50:34
I'm running on Linux but the screen just dissapears after I press escape to start the game, is there a log file anywhere?

Edit : Ran it from the command line, error attached. It just so happen that I am running the open jdk 8 (as I experimented building it from source earlier on today) so this might be the error. Stack trace below

java.lang.VerifyError: Bad <init> method call from inside of a branch
Exception Details:
    ai/behaviours/steering/MoveAroundPositionBehaviour.<init>()V @91: invokespecial
    Error exists in the bytecode
    0000000: 04bd 002e 5903 b200 30b8 0036 b200 3ab8
    0000010: 0040 5359 10ff 1202 b800 442a 5fab 0000
    0000020: 0000 00b6 0000 0006 0000 9b75 0000 003b
    0000030: 0013 3aeb 0000 0044 1259 9e57 0000 0054
    0000040: 34ec a228 0000 0069 38da 9449 0000 007e
    0000050: 68a8 0a98 0000 009a 5f5a 57b7 0045 a700
    0000060: 7f5f 5a59 0332 b800 4b5f 57b7 004d a700
    0000070: 6f5f 5a59 0332 124f b800 53c0 004f 5f57
    0000080: b700 54a7 005a 5f5a 5903 3212 56b8 0053
    0000090: c000 565f 57b7 0057 a700 455f 5a59 0332
    00000a0: 124f b800 53c0 004f 5f59 0432 b800 4b5f
    00000b0: 57b7 0059 a700 295f 5a59 0332 1256 b800
    00000c0: 53c0 0056 5f59 0432 b800 4b5f 57b7 005b
    00000d0: a700 0dbb 005d 5912 5fb7 0062 bf57 b1  
  Stackmap Table:

   at java.lang.Class.getDeclaredConstructors0(Native Method)
   at java.lang.Class.privateGetDeclaredConstructors(
   at java.lang.Class.getDeclaredConstructors(
   at org.codehaus.groovy.reflection.CachedClass$2$
   at Method)
   at org.codehaus.groovy.reflection.CachedClass$2.initValue(
   at org.codehaus.groovy.reflection.CachedClass$2.initValue(
   at org.codehaus.groovy.util.LazyReference.getLocked(
   at org.codehaus.groovy.util.LazyReference.get(
   at org.codehaus.groovy.reflection.CachedClass.getConstructors(
   at groovy.lang.MetaClassImpl.<init>(
   at groovy.lang.MetaClassImpl.<init>(
   at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createNormalMetaClass(
   at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createWithCustomLookup(
   at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(
   at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(
   at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(
   at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(
   at org.codehaus.groovy.runtime.InvokerHelper.invokeConstructorOf(
   at org.codehaus.groovy.runtime.DefaultGroovyMethods.newInstance(
   at ai.behaviours.trees.tasks.AddSteeringBhvTask.update(AddSteeringBhvTask.groovy:41)
   at ai.behaviours.trees.tasks.SequenceTask.update(SequenceTask.groovy:33)
   at ai.behaviours.trees.tasks.SelectorTask.update(SelectorTask.groovy:33)
   at ai.behaviours.trees.tasks.ForeverTask.update(ForeverTask.groovy:29)
   at ai.behaviours.trees.tasks.SequenceTask.update(SequenceTask.groovy:33)
   at ai.behaviours.trees.tasks.RootNodeTask.update(RootNodeTask.groovy:38)
   at ai.behaviours.trees.BtTreeInstance.update(BtTreeInstance.groovy:47)
   at ecs.lib.sys.BehaviourTreeSystem.tickPreRender(BehaviourTreeSystem.groovy:21)
   at ecs.SystemController.tickPreRenderSystems(SystemController.groovy:49)
   at ecs.SystemController.tickPreRenderSystems(SystemController.groovy)
   at com.badlogic.gdx.Game.render(
   at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(
   at com.badlogic.gdx.backends.lwjgl.LwjglApplication$
AL lib: (EE) alc_cleanup: 1 device not closed
22  Discussions / Business and Project Management Discussions / Re: Newbie Dev Looking for a Team. on: 2015-03-12 07:07:10
To be fair they may have started but not with people from here, a lot of people here are anti team work unless its for a more advanced project (so they know they aren't wasting their time), but the truth is you are probably right, most would have fizzled in to nothing

@Hakired You might struggle a little bit to find your team but don't let that stop you trying, there are a lot of good people on this forum who have some exceptionally good knowledge but most people are either studying or have full time jobs so time is quite precious and is normally dedicated ot personal projects and for helping out on questions. If you don't find a team you will still have some good resources to extract information from when you have specific questions.
23  Game Development / Newbie & Debugging Questions / Re: Check for lan servers on: 2015-03-10 17:50:48
try and telnet there, if it connects and had rubbish coming back then its active, if you get a connection refused then the port is not open
24  Discussions / Miscellaneous Topics / Re: Android Studio comedy of errors on: 2015-03-10 08:06:01
Here's another fun one for naive Ubuntu users, a major "Doh!" moment for me. Le't say you have an executable, and using the Terminal shell, you navigate to the file folder where the executable resides and type in it's name. What happens: crickets, and a command not found message. But when you type 'ls' the command is clearly there in the file folder. SOLUTION: to execute the command, you have to prefix the file name with "./" .

This is because by default the shell looks for the command in the PATH environment variable, you can add the current working directory to the PATH and it should work. For you the current working directory is not in the PATH variable so you need to use "./" to predicate the full location.
25  Game Development / Newbie & Debugging Questions / Re: Check if it's a combo/streak on: 2015-03-08 22:18:18
could you store the rows and columns as strings and then use regex or string find functions?

The regex "/(.+)\1/" finds patterns 2 or more, you could amend it for any length you want as a minimum
26  Game Development / Newbie & Debugging Questions / Re: Stop geometry shader from auto-billboarding shapes on: 2015-03-08 08:55:28
Move the

gl_ProjectionMatrix * gl_ModelViewMatrix *

code to your geometry shader and rotate each generated vertex, example

gl_Position = gl_ProjectionMatrix * gl_ModelViewMatrix *corner0;
27  Game Development / Newbie & Debugging Questions / Re: Stop geometry shader from auto-billboarding shapes on: 2015-03-06 21:29:54
you will need to create 2 4x4 matrix

1) a perspective matrix (one off as you create a new window)
2) a view matrix which is the result of your camera moving
3) optional model matrix

You pass these to your shader via uniforms

In your vertex shader do gl_Position = perspectiveMatrix * viewMatrix * modelMatrix * pointPosition, this will rotate everything to the correct positions. The geometry shader should then work

There are other threads on how to generate the perspective matrix which can explain things more on this topic
28  Game Development / Newbie & Debugging Questions / Re: Stop geometry shader from auto-billboarding shapes on: 2015-03-05 19:48:41
I could be wrong on this approach but where do you pass in the camera rotation to the geometry shader? I'm not an expert on mixing functionality introduced from 3.2 with the fixed pipeline so I don't know the impact of a glRotate on verticies generated in the geometry shader, my initial assumption is that the geometry shader ignores everything from the fixed pipeline.
29  Discussions / General Discussions / Re: The Khronos Group announces "Vulkan": the successor to OpenGL on: 2015-03-04 21:48:48
They are still going to develop opengl independently of this, this will be similar to directx 12 / AMD Mantel / Apples Metal and opengl will be like directx 11 (both still being actively developed).

Bye Bye AMD Mantel, you inspired a new generation of API but the big boys are now going to swallow you up Smiley
30  Games Center / Cube World Projects / Re: Technetium - A realistic voxel game on: 2015-03-02 09:19:51
tech demo / non voxel lookey likey or not I think the second video still visually looks good, so congratulations on that. I look forward to seeing how this pans out in the future.

@Gibbo3771 - I think the point of the WIP is forum is to post "work in progress" games and this is the very start of a work in progress game. All games start of as tech demo like programs because that is how you progressively develop things, they become more game like during the development process as you add features. I think your comment was a little rude, it may not be anything new at the moment but at least give them a chance, they stated a June / July time for an Alpha of the game which gives them plenty of time to add things. It may eventually be just another pile of crap but you are judging it at an early stage.
Pages: [1] 2 3
BurntPizza (28 views)
2015-10-08 03:11:46

BurntPizza (16 views)
2015-10-08 00:30:40

BurntPizza (19 views)
2015-10-07 17:15:53

BurntPizza (32 views)
2015-10-07 02:11:23

KaiHH (38 views)
2015-10-06 20:22:20

KaiHH (16 views)
2015-10-06 19:41:59

BurntPizza (32 views)
2015-10-06 19:04:48

basil_ (46 views)
2015-09-30 17:04:40

shadowstryker (24 views)
2015-09-29 15:55:06

TheSpaceHedgehog (31 views)
2015-09-29 01:58:48
Math: Inequality properties
by Roquen
2015-10-01 13:30:46

Math: Inequality properties
by Roquen
2015-09-30 16:06:05

HotSpot Options
by Roquen
2015-08-29 11:33:11

Rendering resources
by Roquen
2015-08-17 12:42:29

Rendering resources
by Roquen
2015-08-17 09:36:56

Rendering resources
by Roquen
2015-08-13 07:40:51

Networking Resources
by Roquen
2015-08-13 07:40:43

List of Learning Resources
by gouessej
2015-07-09 11:29:36 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!