Hi !
Featured games (88)
games approved by the League of Dukes
Games in Showcase (681)
Games in Android Showcase (196)
games submitted by our members
Games in WIP (744)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: 1 2 3 [4] 5 6 ... 10
 on: 2016-06-24 07:10:25 
Started by scatred - Last post by Gornova
you should make a video, it's more easy to engage people with it

 on: 2016-06-24 07:06:14 
Started by Gornova - Last post by Gornova
Its been nearly 19 days. It seems like centuries have gone by since I saw this post Cheesy

For me seems centuries too Cheesy

I really like the art of the game. It is very... hard pixeled. Meaning there is hard lines on the character being that small and lightly detailed.

thanks, I'm a newbie on pixel art and find ideas and a style, is really hard Cheesy what do you think about monsters ?

 on: 2016-06-24 06:52:44 
Started by MrPork - Last post by philfrei
Ah, Reagan... If this is accurate, Trump following in his footsteps might be... Well, completely unsurprising.  Roll Eyes

Interestingly enough, there's an article like this with equally valid points for almost every president to ever run America. Lol

True enough.

Of the first point, though, I disagree with the author. The number of investigations is no longer a valid signifier of anything, except that someone wants to bring down a given target. The tactic of smear-by-investigation has been so overused that it is pretty much meaningless at this point. Actual indictments do count, though.

 on: 2016-06-24 06:43:24 
Started by BurntPizza - Last post by philfrei
Been working on a few different ideas this last week or so. I already mentioned the forever non-repeating campfire SF/X.

1) got a "cluster-synth" abstract synth working with two synths based on it. I'm calling a cluster synth one where a collection of pitches are played as a single cluster, sharing their envelope and other components. The play command sends in a pitch array rather than a single pitch. Part of the benefit is that there is an efficiency in eliminating duplicate envelopes and other components for each contributing tone. It is for certain types of sounds that seem to work better as clusters than as single tones. One of the two is simply a collection of sine waves, the other a sort of deep whoosh, kind of hard to describe. When I get a chance I'll make a little demo gui with a way to make and save wav assets.

2) in the process of building this abstract synth, I was able to improve the abstract version of my more normal synths, and went back and revised a couple dozen existing synths.

3) got a "flibberillator" (flibberator?, flibbulator? -- my friend Ian had a term for the effect, I need to settle on its name) working. This takes some sounds and intermixes them instead of mixing them. We are talking about going back and forth between multiple sound sources in rapid succession. I don't know if this is a valid term, but I think of this sort of sound as a manifestation of a "glitch" aesthetic. Ian had remarked that the effect (when applied to multiple clusters of his sine waves), that it sounded like a computer thinking. (Ian Allen used a few examples on some of the cues he left on his account on SoundCloud: "Ian Allen") I hope to get this effect available to hear/generate via a simple gui too. The algo isn't generalized yet for any sound source; it is only working (first pass) via the abstract cluster synth.

4) back to trying to get a simple playback of the "Maggot Brain" (George Clinton) accompaniment going via my event system. There were a couple curious things to fix, as the "Event System" I wrote is still a bit complicated and I'm continuing to work out the kinks. This is a step towards being able to score a piece for real-time playback and towards making branching scores.

This next few weeks though, looking to spend some time on projects for a couple other members! Collaborating, once again. It has been a long time.

 on: 2016-06-24 04:59:19 
Started by TritonDreyja - Last post by TritonDreyja
Mob addition is underway, and I started with this test Rabbit.
It's a shame I only made them so I could kill them to test combat.
But combat isn't a thing yet, so for now I just enjoy their company.

I did this by making an overhead Mob class with Classes like Rabbit.class that extend to it.

Mobs are added to an array, and the mob.class has a different tick and render method for every
type of mob that you add to the fields.

As of now, 0=nothing and 1=rabbit Tongue

 on: 2016-06-24 03:43:53 
Started by NegativeZero - Last post by NegativeZero
Speaking about VR, we released our first VR game on the Vive recently: Out of Ammo:

It's been pretty well received.

I've heard a lot about this game recently. Looks awesome!
What were the coolest things about developing in VR?
Hardest challenges?
What engine/other tech did you guys use?

 on: 2016-06-24 03:24:43 
Started by NegativeZero - Last post by kaffiene
Speaking about VR, we released our first VR game on the Vive recently: Out of Ammo:

It's been pretty well received.

I agree with the previously expressed idea that the PSVR may well be a major impact - it's cheaper and the Sony VR lineup looks pretty high quality. 

 on: 2016-06-24 03:20:06 
Started by shadowstryker - Last post by theagentd
Use a TEXTURE_2D_ARRAY texture, let each vertex have 4 texture layer indices and a weight for each layer. Each vertex can represent a mix of 4 different textures, from a pool of however many you can fit in your texture 2D array (probably up to 1024 or something, depending on texture size/memory usage).

A GL_COMPRESSED_RGB_S3TC_DXT1_EXT texture is 1/6th as small as a standard GL_RGB8 (padded to GL_RGBA8) texture. Add 33% for the mipmaps, and you end up with ~908kb per 1024x1024 texture, or 1154 textures per GB of VRAM, or 4619 512x512 textures per GB.

 on: 2016-06-24 02:41:25 
Started by Hydroque - Last post by Ecumene
Just sayin, we wouldn't have to 'reinvent the wheel' if we'd all pitch-in on decoupled libraries for specific tasks. There's a library out there for everyone to work on, and if there isn't you're either not looking hard enough or really lucky, and it's your duty to start one.

 on: 2016-06-24 02:19:27 
Started by CopyableCougar4 - Last post by theagentd
Hmm. That all looks correct.

 - Are you trying to do some kind of conversion from Y-up to Z-up or something like that? It's not easy to do that with quaternions.

 - You've shown the code for generating the bind pose matrix. Where's the code for computing an animated matrix?

The intuitive idea behind skeleton animation is to create a local coordinate system for each bone, which is constructed from a translation and a rotation (and a scale, but ignore that for the intuition). Basically, we want a way to calculate the position of a vertex relative to a bone. This is done the exact same way we compute a view matrix: Create a matrix with the transform of the camera, then invert it.

Example: We have a camera at position (1, 1, 1) and construct a matrix:
is a matrix which simply adds the camera's position to each vertex. If we have a vertex at (0, 0, 0) relative to the camera and want to know where it is in the world, we just add the camera's position to it. Since the vertex is at the same point as the camera in this case (it is at (0, 0, 0) relative to the camera after all), the vertex is at (1, 1, 1) too. Easy to understand. However, we already have vertices in world space, and want to know where they are relative to the camera so we can draw them on a screen. So, we just invert the matrix we made, which in this case is the same as
since it's a simple transformation. It's clear that if we have a world space vertex at (1, 1, 1) and apply a (-1, -1, -1) translation to it, we end up at (0, 0, 0) relative to the camera again, as we should.

We do the same thing when computing the "inverse bind pose matrix" or whatever you want to call it. We first calculate the default transform matrices of each bone of the bind pose, then invert it to create a matrix that takes us from model space to a coordinate system relative to the bone. Simply put, it allows us to calculate where a given vertex is compared to a bone. Now, why is this useful? By calculating where a vertex is relative to a bone, we can move the bone and calculate a new position of every vertex affected by it easily by simply calculating the relative position of a vertex and then taking it back to model space again using a different (animated) bone matrix. The result is what we call skeleton animation.

What you want to do is simply this:
vec4 localPosition = inverseBindPoseMatrix * modelSpacePosition;
vec4 newModelSpacePosition = animatedBoneMatrix * localPosition;
which can be rearranged like this:
vec4 newModelSpacePosition = animatedBoneMatrix * (inverseBindPoseMatrix * modelSpacePosition);
vec4 newModelSpacePosition = (animatedBoneMatrix * inverseBindPoseMatrix) * modelSpacePosition;

In other words, you can precompute a single bone matrix which takes the vertex from its current model space position directly to its new model space position by precomputing (animatedBoneMatrix*inverseBindPoseMatrix).

Now, bone animation generally uses a weighted average of 4 different bones for each vertex. That just means that we compute the new position that each bone would give us and average together the results.

vec4 newModelSpacePosition = 
        ((animatedBoneMatrix1 * inverseBindPoseMatrix) * modelSpacePosition) * weight1 +
        ((animatedBoneMatrix2 * inverseBindPoseMatrix) * modelSpacePosition) * weight2 +
        ((animatedBoneMatrix3 * inverseBindPoseMatrix) * modelSpacePosition) * weight3 +
        ((animatedBoneMatrix4 * inverseBindPoseMatrix) * modelSpacePosition) * weight4;
which can be rearranged to:
vec4 newModelSpacePosition = 
        (animatedBoneMatrix1 * inverseBindPoseMatrix) * weight1 * modelSpacePosition +
        (animatedBoneMatrix2 * inverseBindPoseMatrix) * weight2 * modelSpacePosition +
        (animatedBoneMatrix3 * inverseBindPoseMatrix) * weight3 * modelSpacePosition +
        (animatedBoneMatrix4 * inverseBindPoseMatrix) * weight4 * modelSpacePosition;
and then to
vec4 newModelSpacePosition = 
            ((animatedBoneMatrix1 * inverseBindPoseMatrix) * weight1) +
            ((animatedBoneMatrix2 * inverseBindPoseMatrix) * weight2) +
            ((animatedBoneMatrix3 * inverseBindPoseMatrix) * weight3) +
            ((animatedBoneMatrix4 * inverseBindPoseMatrix) * weight4)
        ) * modelSpacePosition;
which is the most efficient way of doing it and what you're doing in your shader already. Wink

This may all look complicated at a glance, but it's really just multiplication and addition, just on coordinates and matrices. If you can grasp how this works, then you should be able to debug your code and fix it. There really isn't a shortcut to getting skeleton animation to just work without understanding it, and if you can grasp it you'll be one of the few people in the world who fully understands how this works.

Pages: 1 2 3 [4] 5 6 ... 10
Hydroque (46 views)
2016-06-22 02:17:53

SwampChicken (47 views)
2016-06-20 13:22:57

SwampChicken (46 views)
2016-06-20 13:22:49

SwampChicken (40 views)
2016-06-20 13:22:26

Hydroque (83 views)
2016-06-15 08:22:50

Hydroque (74 views)
2016-06-13 06:40:55

DarkCart (194 views)
2016-05-29 02:30:33

Hydroque (163 views)
2016-05-26 14:45:46

Mac70 (168 views)
2016-05-24 21:16:33

theagentd (151 views)
2016-05-14 18:38:35
Making a Dynamic Plugin System
by Hydroque
2016-06-25 00:13:25

Java Data structures
by BinaryMonkL
2016-06-13 21:22:09

Java Data structures
by BinaryMonkL
2016-06-13 21:20:42

FPS Camera Tutorial
by Hydroque
2016-05-22 05:40:58

Website offering 3D Models specifically for games for free
by vusman
2016-05-18 17:23:09

Website offering 3D Models specifically for games for free
by vusman
2016-05-09 08:50:56

Website offering 3D Models specifically for games for free
by vusman
2016-05-06 11:10:21

Website offering 3D Models specifically for games for free
by vusman
2016-04-29 12:56:17 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!