Java-Gaming.org Hi !
Featured games (84)
games approved by the League of Dukes
Games in Showcase (565)
Games in Android Showcase (151)
games submitted by our members
Games in WIP (607)
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 ... 8
1  Games Center / WIP games, tools & toy projects / Re: Battle Tank 3 --- an old school style RTS WIP on: 2015-03-28 04:41:18
Is this a software renderer? I only ask because the window icon is the static Java one. If it is, then those shadows are quite impressive! I'm getting 30 fps on my macbook, and the controls are pretty good Smiley Although I agree that WASD support would be nice!
2  Games Center / WIP games, tools & toy projects / Re: JUMG - Java Utilities for Making Games on: 2015-03-11 14:14:23
What does your engine do that these engines don't?
http://www.java-gaming.org/topics/sjgl-simple-java-game-library/34723/view.html
http://www.java-gaming.org/topics/red-game-2d-engine-unfinished/34367/view.html
http://www.java-gaming.org/topics/introducing-mercury-a-simple-2d-game-library/30862/view.html
http://www.java-gaming.org/topics/silenceengine-a-2d-3d-game-engine/34907/view.html
http://www.java-gaming.org/topics/yage-yet-another-game-engine/34766/view.html
http://www.java-gaming.org/topics/awtengine2d-wip-a-2d-engine-using-only-awt-canvas/33763/view.html

I wouldn't say that lwjgl is just "aesthetics"; it is one of the best ways to get openGL in Java, and because it is hardware accelerated it's always going to be miles faster than AWT.
3  Game Development / Newbie & Debugging Questions / Check for lan servers on: 2015-03-10 16:44:10
Hello! A friend of mine asked me how to check if there were servers running on a local network under a specific port. I wasn't sure though, and I told him I'd ask here Wink

I tried a Google search, but only Minecraft stuff comes up.
4  Games Center / WIP games, tools & toy projects / Re: Army Men - a 3do fangame! on: 2015-02-01 03:04:16
Really like the look of this. Downloaded it, but I couldn't get it to run. I get an exception when at the loading map screen.

How much RAM does your machine have?
In the batch file included, try raising the max amount of RAM if possible.

batch file:
1  
java -Xmx1G -Xms1G -jar Game.jar

1G is the amount of RAM. If 1 does not work for you, raise to 2.
5  Games Center / WIP games, tools & toy projects / Re: Army Men - a 3do fangame! on: 2015-01-24 19:22:50
I read something today that made me think of this game. It would be brilliant if you could combine this game with the Microsoft Hololens (I know, even the Dev Kit is not out yet). Then the army men could do their thing in your actual living room.
Now that would be something truly amazing to see.
6  Game Development / Newbie & Debugging Questions / Re: lwjgl 3d not sure how to translate .obj model in world space on: 2015-01-17 04:04:50
Your obj loader was fine! You just needed to apply a transformation matrix when drawing it! Smiley
7  Game Development / Newbie & Debugging Questions / Re: lwjgl 3d not sure how to translate .obj model in world space on: 2015-01-16 20:54:58
It's perfectly normal that the model is at 0, 0, 0.

If you're using modern OpenGL (3+), then in your shader you need to specify a uniform matrix "the model matrix", which is a mat4. This model matrix gets multiplied with the view and projection matrix (M * V * P) to find the vertex position.

Because the model matrix is a uniform, you can specify it just before each draw call. So in lwjgl, you would use the matrix class, create a new matrix, translate it to your desired location, and upload the model matrix uniform to your shader.

--

If you're not using modern openGL, then you can use the built in openGL matrix functions; however I'm afraid I don't know them as I don't use the older opengl :x

--

I would advise against offsetting the actual vertices of your OBJ, as this will lead to undesired results when rotating the model, or dynamically translating it.
8  Game Development / Game Mechanics / Re: Player cannot look straight up or down on: 2015-01-14 18:42:46
Seeing as no one is directly solving his problem...

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
public static Vector3f getMouseLook(float d) {
   float x = Camera.vector.x;
   float y = Camera.vector.y+Camera.height;
   float z = Camera.vector.z;
   //note that the x and y direction are flop flopped due to the way they get rendered
   float xdir = (float) ((Camera.rotation.y-90)*Math.PI)/180;
   float ydir = (float) (-Camera.rotation.x*Math.PI/180);

   float x1 = (float) ((d*Math.cos(xdir)) * Math.cos(ydir));
   float y1 = (float) ((d*Math.sin(ydir)));
   float z1 = (float) ((d*Math.sin(xdir)) * Math.cos(ydir));

   return new Vector3f( x1+x, y1+y, z1+z );
}


Should work. However, you shouldn't need a distance variable in your function; It wont change the outcome.
9  Game Development / Newbie & Debugging Questions / Re: 2D Game image rendering alternatives? on: 2015-01-04 17:31:34
If you really want to stick with Java2D for your rendering, then try batching your images!

If you have a world composed of tiles that you know wont change, then render all of them to a separate BufferedImage once, then draw that image to your screen instead of all the tiles. This cuts back on draw calls, which will have less of a bottleneck in your application.
10  Game Development / Newbie & Debugging Questions / [LWJGL] Normalmapping issues! on: 2015-01-01 02:18:22
Hello! Smiley

I have been trying to implement Normal Mapping into my engine for quite awhile now, but I can not seem to get it to work properly. There has to be something simple I am missing...

Here is the current GLSL code for my normal mapping:
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  
// Vertex
#version 330

uniform mat4 viewMatrix;
uniform mat4 projectionMatrix;
uniform mat4 modelMatrix;
uniform mat3 normalMatrix;
uniform mat3 normalModelMatrix;
uniform vec4 modelColor;

layout (location = 0) in vec3 in_position;
layout (location = 1) in vec3 in_normal;
layout (location = 2) in vec2 in_texCoords;
layout (location = 3) in vec4 in_Color;

out vec3 vNormal;
out vec2 vTexCoords;
out vec4 vColor;
out vec3 vEyePosition;

void main(){
   vEyePosition = (viewMatrix * modelMatrix * vec4(in_position, 1.0)).xyz;
    gl_Position = projectionMatrix * vec4(vEyePosition, 1.0);
   
   vNormal = normalMatrix * normalModelMatrix * in_normal;
   
   vTexCoords = in_texCoords;
   vColor = in_Color * modelColor;
}

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  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
// Fragment
#version 150

uniform sampler2D sampler;
uniform sampler2D normalMap;
uniform float specular;
uniform float gloss;

in vec3 vNormal;
in vec2 vTexCoords;
in vec4 vColor;
in vec3 vEyePosition;

mat3 cotangentFrame( vec3 N, vec3 p, vec2 uv ) {
    // get edge vectors of the pixel triangle
    vec3 dp1 = dFdx(p);
    vec3 dp2 = dFdy(p);
    vec2 duv1 = dFdx(uv);
    vec2 duv2 = dFdy(uv);
 
    // solve the linear system
    vec3 dp2perp = cross( dp2, N );
    vec3 dp1perp = cross( N, dp1 );
    vec3 T = dp2perp * duv1.x + dp1perp * duv2.x;
    vec3 B = dp2perp * duv1.y + dp1perp * duv2.y;
 
    // construct a scale-invariant frame
    float invmax = inversesqrt(max(0.00000000000000001, max(dot(T, T), dot(B, B))));
    return mat3( T * invmax, B * invmax, N );
   
}
 
vec3 perturbNormal( vec3 N, vec3 V ) {
    vec3 map = texture( normalMap, vTexCoords ).xyz;
    map = (map * (255.0/127.0)) - (128.0/127.0);
    map.z = sqrt( 1.0 - dot( map.xy, map.xy ) );
   
    mat3 TBN = cotangentFrame( N, V, vTexCoords );
    return normalize( TBN * map );
}

void write(vec3 diffuse, vec3 normal, float specular, float glossiness, vec3 emissive);

void main(){

   vec4 textureSample = texture(sampler, vTexCoords) * vColor;
   
   if(textureSample.a < 0.5){
      discard;
   }
   
   vec3 normalNormalized = normalize(vNormal);
   vec3 normalPerturbed  = perturbNormal(normalNormalized, normalize(vEyePosition));
   
   write(textureSample.xyz, normalPerturbed, specular, gloss, vec3(0, 0, 0));
}


The problem is that when I rotate my camera the normal map changes its shading... I am almost 100% sure that all my matrices are correct, as if I use a texture with color (128, 128, 255) the normal shading works fine.

I believe the issue lies in the fact that my game uses the z axis for height, instead of the y axis, which could cause the TBN to be incorrectly calculated...

Also it causes seams like this:


My artist is absolutely certain that his normal map is correct. He's tested it in Blender, and marmoset toolbag.

I have tried the obvious tests, both negating and swizzling the x and y component on the "map" variable in the perturb normal function.
I have tried a few different perturb normal methods from google, none seem to work.
I have tried swizzling the TBN matrix.

Does anyone have any ideas? :c
11  Discussions / General Discussions / Re: Most graphically polished (HD)3D games developed in Java? on: 2014-12-31 04:14:32
I think my Army Men game looks decent Smiley
12  Games Center / WIP games, tools & toy projects / Re: Army Men - a 3do fangame! on: 2014-12-30 03:36:15
May I ask what your specs are?


Intel Core 2 Duo ES300 @ 2.60 GHz
ASUS P5KPL-AM/PS Motherboard
4 GB DDR2 Dual Channel RAM
NVIDIA GeForce 210 1GB Graphics Card


My OpenGL version info:


Renderer: NVIDIA GeForce 210 OpenGL Engine

Vendor: NVIDIA Corporation

Memory: 1024 MB

Version: 3.3 NVIDIA-10.0.19 310.90.10.05b12

Device: iMac14,2

Shading language version: 3.30



Max texture size: 8192 x 8192

Max vertex texture image units: 16

Max texture image units: 16

Max geometry texture units: 16

Max anisotropic filtering value: 16

Max viewport size: 8192 x 8192

Max Clip Distances: 8

Max samples: 8





Sorry for the late reply! Been quite busy lately, and haven't had a lot of time to work on my Java projects Smiley

I talked to TheAgentD about the performance. Your card is one of the weakest cards that can run the rendering engine (even my laptop GPU is better). So  as far as I know, there's not much I can do at the moment.
13  Game Development / Game Play & Game Design / Re: Old 3d graphics on: 2014-12-25 21:59:46
The PS1 had terrible vertex precision, a low-bit depth buffer, and it didn't render 3d like openGL does today. If you tried to access a PS1 games "3d" pipeline you will only receive a 2d quad rendered to the screen Smiley Also, PS1 games seemed to use more frame-based animation instead of bone-skinning (though I can't speak for all games).

That, and almost all visual effects were done via textures. Most games couldn't afford shaders; things like lights/shadows were pre-rendered onto textures.

I personally think art was better back in the PS1 era. Artists were so limited by resources, that they had to jam quite a high amount detail into a limited space.
14  Game Development / Newbie & Debugging Questions / Re: How to properly distribute a LWJGL application without JarSplice on: 2014-12-24 20:54:26
I'm not trying to argue, but I've never seen that. Then again, most "real" games are bundled up as a platform-specific executable, not as a jar.
You've never seen games package libraries outside of the executable?






Had I been on my desktop I would have shown you more examples.

Your approach will certainly work. It just depends on how simple you want to make it for the users. Easier for you = harder for the users. Easier for the users = harder for you. It's a trade-off. I generally go the "hard for me, easy for users" approach, but your way certainly works too.
I'm pretty sure the standard isn't hard for users... Seeing as I gave you games dating from 14 years ago, and I haven't seen anyone complain.


You say you don't want to argue, but right when I open on another possibility that isn't your own you try to shoot it down. JJ clearly said:
Quote
I want to know how to export/distribute my LWJGL game by hand, without a tool
I gave him exactly that.
15  Game Development / Newbie & Debugging Questions / Re: How to properly distribute a LWJGL application without JarSplice on: 2014-12-24 20:03:20
Almost every game with libraries ever has them in a folder next to the application; There is no "problem" with it :x.

As long as you package your game in a folder, the user wont get confused.
16  Game Development / Newbie & Debugging Questions / Re: How to properly distribute a LWJGL application without JarSplice on: 2014-12-24 19:55:22
If you don't want to use a third party application.
1  
System.setProperty("org.lwjgl.librarypath", new File("natives").getAbsolutePath());

And have all the library files in a folder called natives Smiley
When you export to a jar, the folder should be in the jar's directory. If you run in eclipse, the folder should be outside of the SRC folder, but still in the project folder.
17  Game Development / Newbie & Debugging Questions / Re: [LWJGL] Changing the pivot point (origin) of a model for rotations. on: 2014-12-23 17:05:59
Turns out you were right; I was overthinking it Smiley

Your solution works perfectly!
18  Game Development / Game Mechanics / Re: How to do 3D Animation on: 2014-12-23 14:07:19
If you're not looking for anything too advanced, you can try the MD2 or even MD3 model formats. They are very simple frame-based animated model formats.

If you're looking for something more up-to-date it might be worth your time to learn MD5, or some other bone-based animation Smiley

--

Actually animating with a frame-based animation system is quite easy. If you have an array containing each frame, you could do something like...
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
int frame;
float frameActual;
Model[] frames;

public void update(float delta) {
    float frameSpeed = 0.3;

    frameActual += frameSpeed * delta;
    frame = (int)frameActual;
}

public void draw() {
    frames[frame].draw(x, y, z);
}
19  Game Development / Newbie & Debugging Questions / Re: quick fix applicable to make Game full screen? on: 2014-12-23 08:20:14
Found this one on google, seems like the best option:
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  
static GraphicsDevice device = GraphicsEnvironment
        .getLocalGraphicsEnvironment().getScreenDevices()[0];

public static void main(String[] args) {

    final JFrame frame = new JFrame("Display Mode");
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    JButton btn1 = new JButton("Full-Screen");
    btn1.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            device.setFullScreenWindow(frame);
        }
    });
    JButton btn2 = new JButton("Normal");
    btn2.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            device.setFullScreenWindow(null);
        }
    });

    JPanel panel = new JPanel(new FlowLayout(FlowLayout.CENTER));
    panel.add(btn1);
    panel.add(btn2);
    frame.add(panel);

    frame.pack();
    frame.setVisible(true);

}


Most other "fixes" just stretched the frame to your screensize, and removed the border.
20  Game Development / Newbie & Debugging Questions / Re: [LWJGL] Changing the pivot point (origin) of a model for rotations. on: 2014-12-23 06:46:53
Translate the model to the desired origin, rotate, and then translate it back to the original origin.

EDIT: In this case I think you would add the offset to your initial translation to the camera position, rotate, and then translate again by -'ve offset.

if I translate to (1, 0, 1), rotate by (0, 45 degrees, 0), then translate (-1, 0, -1), the gun will be in a different position.
21  Game Development / Newbie & Debugging Questions / Re: [LWJGL] Changing the pivot point (origin) of a model for rotations. on: 2014-12-23 03:06:16
I'll most likely end up using quaternions for the gun model. The camera doesn't need them, as it will only ever rotate with pitch and yaw (I don't like roll in FPS's).
22  Game Development / Newbie & Debugging Questions / [solved] [LWJGL] Changing the pivot point (origin) of a model for rotations. on: 2014-12-23 02:31:13
Hello!

I am developing a first person shooter using LWJGL. Currently, for my "view gun" I am doing the following:
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
public ModelMatrix getViewModelMatrix(Camera camera) {
   //Rotate hand/gun to cameras rotation, and draw
   float rx = 0;
   float ry = (float)Math.toDegrees(camera.getPitch()) + 90f;
   float rz = (float)-Math.toDegrees(camera.getYaw()) + 90f;
   
   ModelMatrix matrix = new ModelMatrix();
   matrix.matrix_add_translation(camera.getX(), camera.getY(), camera.getZ());
   matrix.matrix_add_rotation_z(rz);
   matrix.matrix_add_rotation_y(ry);
   matrix.matrix_add_rotation_x(rx);
   
   return matrix;
}


And this works! With this matrix setup I can draw my gun exactly where the camera is.


However, I want to add a rotate effect: I want to rotate the gun by the cameras delta yaw. This is quite easy to do, I created a "yawSpeed" variable, and when the mouse moves in the X direction, I add to the speed; I also have a friction to return it to 0.
This works, however the origin of the model is at 0, 0, 0. If you look at the picture above, it pivots the gun at the axis origin around the players head.

I want to change the origin axis to about where the gun is, so when the gun rotates it isn't moving around the cameras position, but instead rotating around the guns position.

TL:DR
I want to draw my gun at the same position visually, but change the point where it rotates.

Any ideas?
23  Game Development / Newbie & Debugging Questions / Re: Fixing image stretching when rotating [LWJGL] on: 2014-12-23 01:52:04
Do as much computational stuff as you can outside of the shader (such as matrix math), then just pass in all the uniforms you need to draw the final scene.
24  Game Development / Newbie & Debugging Questions / [LWJGL] Sending multiple textures to sampler uniforms in openGL on: 2014-12-18 01:09:24
By convention, I've read on the internet and put into practice that to send a texture to a shader via sampler2D, you need to:
1  
2  
3  
glActiveTexture(GL13.GL_TEXTURE0 + textureUnit);
glBindTexture(GL_TEXTURE_2D, textureId);
glUniform1i(uniform, textureUnit);


But... why do we need textureUnit? Surely there must be some way of sending exactly the texture data to the shader without having to bind it to a texture unit... To me this just seems like an extra little bit of faff that isn't exactly needed...

Could someone explain?

Why couldn't something like this exist:
1  
2  
3  
glUniformSampler(glGetUniformLocation(shaderProgramId, "uSampler1"), texture1id);
glUniformSampler(glGetUniformLocation(shaderProgramId, "uSampler2"), texture2id);
glUniformSampler(glGetUniformLocation(shaderProgramId, "uSampler3"), texture3id);
25  Game Development / Newbie & Debugging Questions / Re: How to force OpenGL Version? on: 2014-12-15 21:19:53
To define a version in a shader just put:
1  
#version (version number)

at the first line of the shader!

For example, in a project of mine, I use version 150 (which I assume is opengl 3).
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
#version 150

uniform sampler2D sampler;
uniform sampler2D normalMap;
uniform float specular;
uniform float gloss;

in vec3 vNormal;
in vec2 vTexCoords;
in vec4 vColor;
in vec3 vEyePosition;

...
26  Game Development / Newbie & Debugging Questions / Re: "Wrong Component Type or Count" GLSL shader error on: 2014-12-15 16:50:39
I figured out the issue. I had a setup where I had two shaders; The normal render shader, and my test shader. When I switched to the test shader, I didn't set all of the uniforms (projection, telling all objects that the shader changed, ect).

All is well now Wink
27  Game Development / Newbie & Debugging Questions / Re: "Wrong Component Type or Count" GLSL shader error on: 2014-12-15 01:08:38
Also wrong data supplied to sampler.

Cas Smiley
Can you explain this?
28  Game Development / Newbie & Debugging Questions / Re: "Wrong Component Type or Count" GLSL shader error on: 2014-12-14 07:10:03
Well if I change the frag shader to:
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
in vec3 vNormal;
in vec2 vTexCoords;
in vec4 vColour;
in vec3 vPosition;
in float depth_space;

vec3 floatToColor(float f) {
    return vec3(floor(f*255.0)/255.0,fract(f*255.0),fract(f*255.0*255.0));
}

void main() {
    vec4 textureSample = texture(sampler, vTexCoords);
    if(textureSample.a <= 0){
      discard;
   }

    out_Colour = textureSample * vColour;
}


It doesn't error. So how could it be related to a function called in Java?
29  Game Development / Newbie & Debugging Questions / "Wrong Component Type or Count" GLSL shader error on: 2014-12-14 00:40:55
Hello!
I am working on a small side project, and am experimenting with a 24-but depth buffer shader.

Vertex:
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
out vec3 vNormal;
out vec3 vPosition;
out vec2 vTexCoords;
out vec4 vColour;
out float depth_space;

void main() {
    vec4 object_space_pos = vec4(in_Position, 1.0);
   
   vPosition = vec3(MATRIX_VIEW * MATRIX_OBJECT_POSITION) * in_Position;
   vNormal = MATRIX_NORMAL * in_Normal;
   
   vTexCoords = in_TextureCoord;
   vColour = in_Colour * VECTOR_OBJECT_COLOUR;
   
   // Set the correct vertex position
   gl_Position = MATRIX_PROJECTION_VIEW * MATRIX_OBJECT_POSITION * object_space_pos;
   
   vec4 viewSpacePos = MATRIX_VIEW * MATRIX_OBJECT_POSITION * object_space_pos;
   depth_space = viewSpacePos.z / 300.0;
}


Fragment:
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
in vec3 vNormal;
in vec2 vTexCoords;
in vec4 vColour;
in vec3 vPosition;
in float depth_space;

vec3 floatToColor(float f) {
    return vec3(floor(f*255.0)/255.0,fract(f*255.0),fract(f*255.0*255.0));
}

void main() {
    vec4 textureSample = texture(sampler, vTexCoords);
    if(textureSample.a <= 0){
      discard;
   }

    out_Colour = vec4( floatToColor(depth_space), 1.0);
}


When running this shader in my game I run into this error:
1  
2  
3  
4  
5  
6  
[LWJGL] ARB_debug_output message
   ID: 1282
   Source: API
   Type: ERROR
   Severity: HIGH
   Message: GL_INVALID_OPERATION error generated. Wrong component type or count.


What's weird is that the shader seems to actually work... Here is the output:


What could be the issue?
30  Games Center / WIP games, tools & toy projects / Re: Army Men - a 3do fangame! on: 2014-11-25 01:55:53
It ran at 17 fps from the console. First time, it showed this exception:
Second time, I ran it, but configured every option to LOW, and it ran at 17fps.

May I ask what your specs are?
Pages: [1] 2 3 ... 8
 
Riven (9 views)
2015-04-01 18:27:05

ags1 (24 views)
2015-03-31 10:55:12

theagentd (13 views)
2015-03-27 23:08:20

wxwsk8er (54 views)
2015-03-20 15:39:46

Fairy Tailz (48 views)
2015-03-15 21:52:20

Olo (29 views)
2015-03-13 17:51:59

Olo (33 views)
2015-03-13 17:50:51

Olo (40 views)
2015-03-13 17:50:16

Olo (44 views)
2015-03-13 17:47:07

ClaasJG (61 views)
2015-03-10 11:36:42
How to: JGO Wiki
by Mac70
2015-02-17 20:56:16

2D Dynamic Lighting
by ThePixelPony
2015-01-01 20:25:42

How do I start Java Game Development?
by gouessej
2014-12-27 19:41:21

Resources for WIP games
by kpars
2014-12-18 10:26:14

Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27
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!