Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (581)
Games in Android Showcase (162)
games submitted by our members
Games in WIP (632)
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
1  Game Development / Newbie & Debugging Questions / Re: Top-down car simmulator on: 2015-05-24 05:35:16
Glad you got the transform problem sorted (sorry if you already knew everything I mentioned in my previous post - I wasn't sure at what level the problem was, but it sounds like it was a simple order-of-operations problem).
2  Game Development / Newbie & Debugging Questions / Re: Top-down car simmulator on: 2015-05-24 02:25:25
Since you haven't gotten any replies yet, I'll go ahead and reply despite the fact that I haven't used the API you're using (Java2D)? So, no guarantees that any of this will be helpful.

First, I know switching frameworks can be a pain, but if you're just using Java2D out of habit or inertia, now might be a good time to switch to something like LibGDX or LWJGL that might be better suited for the kind of thing you're doing.

One thing that's always a red flag for me is when quads are treated as originating at a corner rather than at the center, as this (IMO) makes it difficult to reason about the effects of transforms, especially hierarchical transforms as you have here. If Java2D has support for anchor points, you should probably take advantage of it. If not, that might be a good motivator for switching frameworks.

In any case, I think things would be easier if you could set things up so that quads/sprites have their origins at the center rather than at a corner (as appears to be the case in your code - forgive me if I'm incorrect about that). This would get rid of the 'middle point' stuff and make things a lot simpler in general. Note that you can do this with Java2D, I think - it just requires jumping through some hoops that you wouldn't have to otherwise.

What you're looking for is a simple (in principle, at least) hierarchal transform (apologies if what I'm saying here is stuff you already know). This involves concatenating transforms in sequence to yield transforms for the various nodes in the hierarchy. Your hierarchy consists of a root (the body) and four children (the wheels). The body is rendered using the body transform, of course. The transform for any given wheel (assuming column-vector notation) is B*Wi, where B is the body transform and Wi is the transform for wheel 'i'. The transform for a wheel should include its local rotation and its offset relative to the body. Again, this is all easiest if quads are anchored at their center (otherwise, some additional steps may be involved).

Anyway, maybe you already know all this and are just having trouble getting the implementation correct. If so, maybe you could post some more code showing what's happening in context.
3  Game Development / Newbie & Debugging Questions / Re: Events in a game (Basically cutscenes) ? on: 2015-05-22 19:35:46
I've always thought that games had a class for each individual level, and then in that class file it hard coded every single thing that happens once you reach a certain area. So pretty much cutscenes, explosions, etc. Am I correct in this?

Assuming I'm understanding your question correctly, I'd say that no, that's not typically how it's done.

Generally the idea is to make games data-driven to the degree that it's practical to do so. To a certain extent, how important this is depends on the programming language(s) used and the build process for the application. For a large C++ application, for example, generally you want to keep builds to a minimum, so the last thing you want to do is hard-code all of your game logic, since this would require rebuilding the application every time you tweak something. For Java it's not as big a deal, but the same principles apply (if to a lesser degree).

Also, as you may know it's common to embed scripting languages in game applications to facilitate easier tweaking of game content and to move game logic out of the main code base. The kinds of things you describe (e.g. what happens when you enter a certain area) are exactly the kinds of things that are often scripted. (In Java, for example, you can incorporate scripting via JavaScript using a library like Rhino or Java 8's Nashorn.)

Again, apologies if I'm misunderstanding your question, but based on what you wrote, it seems like data-driven design and possibly scripting is what you're after.
4  Game Development / Shared Code / Re: A convenient method that tells you if a rectangle is intersecting a line on: 2015-05-22 00:41:52
I recently needed a method that...well, the title says it all. This method takes the x, y, width and height values of a rectangle, and the two endpoints of a line, and returns true if the line intersects the rectangle range at all.

Apologies if I'm missing something or misinterpreting your code, but it seems there are a couple potential issues there. First, this:

1  
double m = (ly2-ly1)/(lx2-lx1);

May fail if the line is vertical or nearly vertical. For this reason, the slope form for lines is hardly every used in collision detection code. In general, representations that are invariant under rotation should be preferred.

Also, I think there may be some cases for which the function may not return the correct result, but I'd have to look at it a bit more carefully to be sure.

In any case, if you just need a boolean result, you don't need to do quite that much work. The separating axis test for a line segment and a box is simple and robust, and will handle all cases correctly. (Your code starts out as the SAT, but then instead of testing the axis parallel to the line normal, performs edge intersection tests instead.)
5  Discussions / Miscellaneous Topics / Re: Trouble with 3D hitscan on: 2015-05-19 08:50:18
Well the idea is that I override x, y, an z in each iteration because I advance the point. So the first iteration would be right in front of me, while every other iteration would be a bit farther along. Then I return the point where I hit something, so I end up with yaw, pitch, and distance to the object I'm aiming at.

Sure, I understand what you mean about advancing along the ray.

Here's a suggestion. Set up a situation where you know what the values should be. That is, put the player (or whatever) at some nice integer coordinates, and set up the angles so that the direction vector is parallel to a cardinal axis and has a length of one. Then, either follow along in the debugger or print some debug output to see what the coordinates are each time through the loop.

Presumably, if it's working, you should see something like:

(3,4,5)->(4,4,5)->(5,4,5)->(6,4,5)->etc.

So try it out and see if that's actually what you get (factoring in any numerical error issues, of course).

Also, as soon as you get this sorted (or maybe even before) I'd suggest switching to using a vector class of some sort rather than tracking each element separately. Although there might be some arguments that using separate elements is preferable, I think overall using a class would probably make your code simpler to understand and debug.
6  Discussions / Miscellaneous Topics / Re: Trouble with 3D hitscan on: 2015-05-19 02:42:49
Maybe it's too obvious to be worth mentioning, but I assume your trig functions take degrees and not radians? (Apologies if it seems silly to ask, but it is a common source of errors.)

Also, I'm not sure how your code is structured, but if you're overwriting the original values of lv_x/y/z in the while loop, it doesn't seem like the arithmetic would make sense past the first iteration (because you'd be adding a point to a point rather than a scaled direction vector to a point). Maybe I'm missing something there though.

In any case, as suggested above, some debug output or using the debugger would probably provide some hints as to what's going wrong.
7  Game Development / Newbie & Debugging Questions / Re: Voxel Engine Best way to render? on: 2015-05-15 21:37:34
I already have a chunk base system not working fully but it works but what i wouldl ike to know is how would i edit the chunk (Mesh) when destroying blocks/editing?

I'll offer a couple more ideas, but I'm basically just speculating here (again, I haven't done any voxel rendering myself, and there's a lot of detailed information already out there that might of more use to you).

For any given chunk, you only need to include voxel faces that are actually visible (for any two adjacent voxels, the coincident faces can be omitted). Technically this also applies between chunks (that is, the voxels in one chunk can obscure faces of the voxels of a neighboring chunk), but if you wanted to keep things simple you could consider faces on the boundary of a chunk to always be visible. That way, you won't have to rebuild neighboring chunks when a chunk changes.

For simplicity, I'd start with just rebuilding the mesh for a chunk from scratch any time the chunk changes. (If that proves to perform poorly, then you could investigate more sophisticated approaches.) I would do it something like this (off the top of my head, so may be incorrect). Iterate over all the voxels in the chunk. If the voxel is occupied, add all the faces for the voxel for which the adjacent voxel (if there is one) is unoccupied. To prevent rendering artifacts, vertex positions with the same coordinates should always be computed using exactly the same arithmetic. (I'm assuming here that you're asking about how to modify the mesh geometry, and not about OpenGL-related details like how to dynamically update a VBO.)
8  Game Development / Newbie & Debugging Questions / Re: Voxel Engine Best way to render? on: 2015-05-15 19:59:26
As noted above, the dots that are visible where the voxels meet indicate a problem in your approach. I looked at your code, and to be honest I'm not sure offhand why you're getting them, because it looks like all your vertex positions are at integer coordinates, and in that range I wouldn't expect any numerical error, but maybe I'm missing something. It's more or less irrelevant though, because conceptually you don't want to compute the vertex positions for each voxel separately, as this can lead to rendering artifacts (as appears to be happening here).

As for how many voxels to include in one mesh, I think the idea is not to use one mesh for all voxels, or one mesh for each voxel, but rather to split the environment up into chunks of NxNxN voxels, where N is some reasonable number like 16. The idea is to find a reasonable compromise between one huge mesh (hard to cull and hard to edit, and maybe excessive in terms of the amount of data in a single draw call) and one mesh per voxel (too many draw calls and too much per-voxel overhead).

If you're going for a modifiable environment, then you may have to rebuild chunks dynamically as needed, but that's not unreasonable.

As for how the mesh for each chunk should be built, to prevent rendering artifacts, you want to make sure that the coordinates for any particular (most likely shared) vertex position are always computed using exactly the same arithmetic (computing the same vertex coordinates multiple times with different arithmetic can lead to the kinds of visual artifacts you're seeing).

There's a lot more to consider here, but switching to a chunk-based system and not computing the coordinates of shared vertex positions multiple times using different arithmetic (which is what can lead to rendering artifacts) would probably be a good start (or at least it seems so - maybe someone else will suggest a better approach).
9  Game Development / Newbie & Debugging Questions / Re: Voxel Engine Best way to render? on: 2015-05-14 18:52:33
Just been searching around the internet and frustum culling looks really really confusing and complicated  Sad

It is a little complicated if you're not familiar with the math, but it's not that bad. But, as noted in the above post there are a lot of other things you could try as well.

There's a lot of info on voxel rendering available online, so nothing I say here will be new, and I haven't actually done any voxel rendering myself. But as Husk said, one obvious possibility for improvement would be to batch your geometry and make fewer draw calls. For example, you could render one mesh per chunk rather than one per voxel. And, by building the meshes in world space you'd eliminate the need for the world transform (I imagine building a transform matrix per voxel, as you're doing now, is probably pretty costly). Another consideration is that you'll want your voxels to connect to one another seamlessly, and that won't necessarily be guaranteed if you're rendering each voxel with a separate transform (the same applies with chunks as well).

So that's probably where I'd start, with building a separate mesh for each chunk. Note that sides of a voxel that are next to another occupied voxel cell can be skipped, which will likely cut down on your geometry significantly.
10  Game Development / Newbie & Debugging Questions / Re: Voxel Engine Best way to render? on: 2015-05-13 22:01:33
Just to make sure I'm reading your code right, are you making a separate draw call (and setting up an individual transform) for each voxel?
11  Games Center / WIP games, tools & toy projects / Re: Isotröma on: 2015-05-13 17:35:47
Fullscreen appears to be working now (and it actually seems to be working whether I use the new script or the old one). Also, the campaign level ran fine on my Mac (I'd mentioned previously that it ran poorly on my Windows machine, which is very slow).

Maybe others can comment on the Apple/OpenGL issue, but I'll just say that although there are some issues there, I don't think the situation is intractable by any means, at least for games. (For what it's worth, a lot of OpenGL-based games are published for Mac.)

In any case, it does seem that the changes you made have addressed the fullscreen issue (here at least).
12  Games Center / WIP games, tools & toy projects / Re: Isotröma on: 2015-05-13 09:58:54
Ps : for the Mac (fullscreen pb, ...), i didn't know but it seems OpenGL/Apple is a recurrent well-known big issue, i'm afraid there's nothing to do...

Do you mean that OpenGL in OS X is a problem in general? Or just with the framework you're using?

If the latter, what framework are you using? (Maybe you already mentioned it somewhere...)
13  Games Center / Showcase / Re: Simple Table Tennis on: 2015-05-10 05:54:32
Worked fine here. Looks very good. I don't know if you're looking for feedback, but I'll mention one technical thing I noticed, which is that the ball bounces forward even if you hit it going 'backward' with your paddle. But, maybe you already know about that.
14  Game Development / Newbie & Debugging Questions / Re: LibGDX Trouble moving with acceleration and velocity vectors on: 2015-05-07 19:29:54
I'm not that familiar with LibGDX, so if this response is completely off-base and irrelevant, my apologies. That said, I'll just mention that the behavior you describe is a typical result of updating the camera before updating the target actor rather than after, so you might double-check and make sure that the camera update code executes after the code you posted, and not before.
15  Game Development / Newbie & Debugging Questions / Re: Rendering a good chunk of 2D tiles at a time? on: 2015-05-06 01:33:40
You should get plenty of useful feedback on this, but I'll just mention a couple things to start you off.

First, I noticed in your drawChunk() function that you're pushing and popping the matrix stack. Unless I'm missing something, this doesn't serve any purpose and can be removed (possibly improving performance a little in the process). Presumably you'll be dropping the fixed-function code eventually, but I thought I'd mention it anyway.

As for rendering efficiently, if you haven't worked with modern OpenGL yet (shaders, VBOs, etc.), I'd suggest just getting the basics working without worrying too much yet about performance. You might even find that your application performance becomes acceptable simply by virtue of abandoning immediate mode. Also, yes, you can update the contents of VBOs dynamically.

If after updating your code you're still having performance problems, there's a variety of other techniques you can employ to (possibly) improve performance, such as batching, texture atlases, and so on.
16  Games Center / WIP games, tools & toy projects / Re: Isotröma on: 2015-05-05 23:40:02
Looks great in Windows 7, but I also saw the level loading and viewport problems mentioned above in OS X. Also, in OS X, for me the resolution listed in the resolution drop-down isn't initially highlighted, which makes it white text on a white-ish background.

I will mention that although the tutorials ran fine on my Windows machine, the campaign level took a few minutes to load and ran slowly (~1 FPS). However, the machine I tested on is very slow and has some issues, so this may not be of any significance.
17  Game Development / Newbie & Debugging Questions / Re: LWJGL 3D Collision cannot work out on: 2015-05-04 19:05:37
Here's a couple more suggestions for you.

First, I'd suggest at least considering using a z-vertical coordinate system rather than y-vertical. This is just personal preference, and I'm just suggesting it as an option. Personally, for 3-d environments with a strong 2-d component (such as the one under discussion here) I find z-vertical to be easier to reason about because the problems you're really interested in (such as collision detection) map to a 2-d xy coordinate system. You might think you have to use y-vertical because y is typically 'up' in camera space, but camera space and world space can use different conventions if you want, so this isn't an issue. Anyway, just something to consider.

As for your collision detection, it sounds like what you want is the typical 'sliding' behavior, where when you run into a wall you don't just stop but rather slide along the wall.

The simplest way I know of to implement this is as follows. Treat your player as a circle, and check the circle against every candidate tile for collision (the candidates can easily be determined due to the regularity of the grid). The circle-tile test is a circle-to-axis-aligned-square test, which is fairly straightforward. If a collision is detected, move the circle along the minimum translation vector until it's no longer intersecting the tile. Do this for each tile with which the circle is intersecting.

Provided the circle is smaller than a single tile and that it doesn't move so quickly that it could tunnel through walls, this should work and give you the sliding behavior you're looking for. (Maybe this is what gouessej's code is doing - I'm not sure.)

Although this is fairly simple, if you don't have much experience with vector math or collision detection and resolution, it might not be obvious how to implement this, but you can always ask for help here or look for resources online (of which there are quite a few).
18  Game Development / Newbie & Debugging Questions / Re: LWJGL 3D Collision cannot work out on: 2015-05-03 23:08:31
I don't see a question per se, but I'm assuming you're looking for help with your collision detection code because it's not working as you expect.

Some more info would probably make it easier to help, such as what's occurring, what you expect to occur, how the map is represented, and so on. Also, using a debugger is often the fastest way to solve this kind of problem.

Meanwhile though, you might take a look at this conditional:

1  
if(newX > blockX && newX + playerSize < blockX)

And consider what types of values for 'playerSize' would be needed for the conditional ever to evaluate to true (and whether you expect 'playerSize' ever to have such values).
19  Game Development / Newbie & Debugging Questions / Re: Trying to make an object that has a sort of parent object. on: 2015-05-03 22:36:22
My Mother ships are located from the x position 5000 to 6500, yet my little tiny ships are generating coordinates around 767.0.  Huh

As noted before, the debugger and/or some debug output are probably going to be your best bet. Assuming you're still using this code though:

1  
2  
3  
4  
5  
6  
7  
8  
9  
if(TargetShip != null && Position.x == goalPosition.x && Position.y == goalPosition.y){
            float positionX = TargetShip.getPosition().x;
            float positionY = TargetShip.getPosition().y;
            float width = TargetShip.getRectangle().width;
            float height = TargetShip.getRectangle().height;
           
            goalPosition.x = rand.nextInt((int) (positionX + width));
            goalPosition.y = rand.nextInt((int) (positionY + height));
         }

First, if the coordinate comparisons in the conditional involve floats, then that could be a red flag. Maybe you're doing it that way for a reason, but keep in mind there are many circumstances involving floating-point values (perhaps most circumstances) where exact comparisons can't be relied on due to numerical error.

Also, the use of nextInt() for computing the goal positions seems suspicious. Maybe you have a reason for this as well, but it's not immediately obvious (without looking at the rest of your code, at least) what that's supposed to do. Keep in mind that a) those values will always be integers (which is unlikely to make sense if, for example, the units in your game are very large compared to the entities), and b) it will only work with positive values (which may or may not make sense, depending).

Again, maybe the code is correct. But, it does seem like the kind of thing that could maybe use a second look.
20  Game Development / Newbie & Debugging Questions / Re: LWJGL 3D Tile map on: 2015-05-03 17:12:57
I'll just make one quick observation to get you started. This:

1  
verticesArray.size()

Actually gives you the number of vertex elements so far, not the number of vertices (because verticesArray is a container of floats, not vectors). Since each vertex position has three elements, you're effectively only adding indices for every third tile, and if you look at your rendering you'll see that indeed it's every third tile that's being rendered.

To fix that particular problem (at least as an initial solution), try this (untested):

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
            
            final int currentVert = verticesArray.size() / 3;

            indicesArray.add(currentVert + 0);
            indicesArray.add(currentVert + 1);
            indicesArray.add(currentVert + 2);
           
            indicesArray.add(currentVert + 2);
            indicesArray.add(currentVert + 3);
            indicesArray.add(currentVert + 0);

There are probably other improvements that could be made there, but I'd start with that, just to get things working.
21  Game Development / Newbie & Debugging Questions / Re: Rendering quad with quad class: Nothing appears on: 2015-05-02 19:25:24
Just to be sure, is there any additional code that you haven't posted? Or is that the entire program?

Also, can you provide a link to the example code you're working from (on the LWJGL wiki)? That might be helpful as well.
22  Game Development / Newbie & Debugging Questions / Re: Issue with path movement/speed on: 2015-04-30 21:57:14
I noticed you multiplied the speed by the delta time but for some reason when I do this, I get stuttered movement, unless I set the speed to something like 20. Is this due to my speed variable just being too small? Or is there a bigger issue at play here.

The only thing I can think of without seeing the code is to make sure you're not using integer types where a real-number type (e.g. float) is needed.

If you're still having problems with it, maybe post the relevant code here (and maybe describe in a bit more detail what you mean by stuttered movement).

[Edit: Looks like you solved this problem.]
23  Game Development / Newbie & Debugging Questions / Re: Issue with path movement/speed on: 2015-04-30 20:45:20
Quote
Surely i'd calculate the distance by x*x + y*y for each tile? And then check if the entity is at those cords?

The expression you have there is the squared length rather than the length (assuming x and y are deltas), but maybe you already know that.

In general you don't want to check if an entity is 'at' any particular coordinates, because that sort of check will likely be vulnerable to numerical error. Instead, keep track of how far the entity has traveled since the last node, and see if the entity has traveled 'far enough' to reach the next node. For example, if the next node is 10 units from the current node, the entity needs to travel at least 10 units to reach the next node. In other words, as soon as the distance traveled since the last node is >= 10, you start over at the next node.

Here's some pseudocode to illustrate (typed into post, so no guarantee of correctness):

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
// Here's how you'd keep track of the total distance traveled since the
// last node ('totalDistance' is set to 0 at each node):
float distanceToTravelThisUpdate = speed * deltaTime;
entity.position += currentDirection * distanceToTravelThisUpdate;
totalDistance += distanceToTravelThisUpdate;

// Then, you check for reaching the next node like this:
if (totalDistance >= distanceFromCurrentNodeToNextNode) {
    totalDistance = 0;
    // Here's where you reset everything for the next node.
}

24  Game Development / Newbie & Debugging Questions / Re: Issue with path movement/speed on: 2015-04-30 10:36:30
Although an epsilon might solve the problem, it could also end up just masking it, so you might have better luck using an approach that avoids numerical precision issues altogether.

Also, in your current code you're recomputing the direction vector every update as the entity moves (or so it appears). If the entity gets very close to the target position, the magnitude of the unnormalized direction vector could be small enough to cause normalization to fail. So, that's another potential numerical issue you'll want to avoid.

Assuming the path is known in advance and doesn't change as the entity is moving, for any given segment in the path, you know exactly how far the entity needs to go, and in what direction. So, instead of computing the direction vector each update, you could instead do the following. At each node, compute the direction vector and distance to the next node. Then, simply move the entity along the computed direction vector until the computed distance has been met or exceeded. At that point, move the entity to the position of the next node (to correct for overshooting and numerical drift), and repeat.
25  Java Game APIs & Engines / Java 2D / Re: Would appreciate if someone would critique my first game. on: 2015-04-29 18:40:49
I tried it (OS X 10), and it worked fine for me. I'm not that familiar with Java2D, but the motion blur seemed ok. Maybe someone else can comment on that. But, everything seemed to work correctly.

The only thing I noticed was some possible collision detection and response issues when the ball hits the side of the paddle. Specifically, it seems like maybe when the ball hits the side of the paddle, multiple collision events and ball velocity changes occur in quick succession.
26  Game Development / Newbie & Debugging Questions / Re: LWJGL water shader effect 2D not working on: 2015-04-23 12:35:43
Can you elaborate on what's not working exactly? The program you posted (assuming it's correct - it looks correct, but I might be missing something) just does straightforward rendering of textured geometry without any special effects, but maybe you know that and just haven't gotten to the water simulation code yet.

In any case, some more details would probably help.

[Edit: It looks like you edited your original post, so at least some of what I wrote here is no longer relevant.]
27  Discussions / General Discussions / Re: Need halp (help) testing native binaries on Mac and Linux on: 2015-04-21 10:46:55
If PM is acceptable, I could help out that way (I have a Mac and a Linux machine available).
28  Game Development / Newbie & Debugging Questions / Re: Changing animation of an AI on: 2015-04-20 05:46:37
In addition to chrislo27's suggestion, here's another approach you could try. In short, if the entity is moving 'more' up or down than laterally (as determined by the absolute values of the velocity components) you'd use an up or down animation, else you'd use a lateral animation. Pseudocode (may be errors):

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
// If exact comparisons to zero aren't suitable for numerical reasons, or if you
// know a priori when the entity isn't moving, you can use some other method here
// for determining that the entity is stationary.
if (vel.x == 0 && vel.y == 0) {
    animation = "stationary";
} else if (abs(vel.x) > abs(vel.y)) {
    animation = (vel.x < 0) ? "left" : "right";
} else {
    // You might need to invert this, depending on your coordinate system.
    animation = (vel.y < 0) : "down" : "up";
}

If the entity is moving more or less diagonally, you might find that it switches back and forth between two animations frequently in a way that may not be desirable. This can be addressed by applying some hysteresis (this would make the code a little more complex though).
29  Game Development / Newbie & Debugging Questions / Re: 3D collision on: 2015-04-19 12:54:24
What I have been looking for is a system that will be able to identify if two OBJ files intersect and resolve to it.

Are the objects potentially non-convex?
30  Game Development / Newbie & Debugging Questions / Re: libgdx position of a body in relation of it´s plattform? on: 2015-04-18 20:53:46
i want my enemy body to walk left and right on a plattform without falling.

Assuming you want the enemy to remain entirely on the platform (that is, not to hang over the edge), the enemy should not be allowed to go any farther left than the left edge of the platform plus half the enemy's width, and should not be allowed to go any farther right than the right edge of the platform minus half the enemy's width. Pseudocode (no guarantee of correctness):

1  
2  
float extent = enemy.width / 2;
enemy.x = clamp(enemy.x, plaform.left + extent, platform.right - extent);

There are of course other considerations, such as how the enemy will move and so on, but the above at least addresses the specific question of how to constrain the enemy to the platform.
Pages: [1] 2
 
MrMapcom (16 views)
2015-05-23 20:26:16

MrMapcom (22 views)
2015-05-23 20:23:34

Waterwolf (29 views)
2015-05-20 15:01:45

chrislo27 (36 views)
2015-05-20 03:42:21

BurntPizza (71 views)
2015-05-10 15:53:18

FrozenShade (56 views)
2015-05-07 09:11:21

TheLopais (219 views)
2015-05-06 13:36:48

TheLopais (202 views)
2015-05-06 13:35:14

TheLopais (207 views)
2015-05-06 13:33:39

TheLopais (228 views)
2015-05-06 13:32:48
List of Learning Resources
by SilverTiger
2015-05-05 10:20:32

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
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!