(February 2016) Monthly WIP screenshot thread

But it’s mainly because you have voxel spacecrafts (which is a different design choice).
With voxel spacecrafts you can do things that other games can’t.
You could plan a version 2.0 which uses “AAA segments” not voxels.
There is a project called “shipyard” on Blendswap.
Something like that.
Comes at the cost of not having maximum creative freedom (not Minecraft-like anymore).
:chimpanzee_smile:

If you meant the gfx effects (eye candy) - I don’t see anything that you could not achieve (most of the effects shown in the .gif are well known things.
:chimpanzee_smile:

If you want to cut through the asteroids, you could use either CSG or something like the isosurface demo from pspeed (there is already someone experimenting with it - he tries to find out how to make a terrain editor with that - I think…). :chimpanzee_cool:

But It’s not competely voxel based and I am planning to have larger modules for higher tiers. As I always say it’s kind of like TerraTech in space with not so comic graphics.

It’s not that the engine can’t do it or that it can’t be done, its just that I have no idea what I’m doing. Literally started programming about a year and a half ago.
Then there’s some polish thing that some games have that just makes them look right and I can’t seem to figure out what. Perhaps its the lens flares or some filter. Perhaps its a consistent art style…

Well I’m still deciding if It’s worth the time and effort I could be putting into more important gameplay aspects. I can always make asteroids glow red and explode which should look about as good.
Oh and I need some actual asteroids first -.-’

CSG can help with that too. Some games look cheap if solid objects just dissolve into particles of an explosion. Better cut the thing into 3 or 4 pieces dynamically and them become new asteroids (like in the original “Asteroids” game).

But it’s like you said: The gameplay you want will define the features that you need. :chimpanzee_smile:

Look on Blendswap - lot’s of free Blender assets…

Well I was thinking of procedurally generating them. Actually, nevermind probably too resource intensive…

CSG can help with that - combine some 100 basic shapes over and over again (and use 1 to 4 combine operations). Other procedural generation can work too (use metaballs or just simple vertex shifting as a start). :chimpanzee_smile:

Btw: For you being a starter in both coding and game coding, your stuff looks pretty neat. Imagine you in 2 or 3 years and teamed up with a 3d environment artist…

2 Likes

@MoffKalast

A great a start for February

1 Like

I decided to add in another UI theme, this one called Glass. The Glass theme uses a tiled normal map to distort the background image and then uses a color balance formula to modify the background color. I had to add a second UV layer to my NinePartQuad which NiftyGUI elements are drawn with so I could tile the normal map. This theme runs a good deal faster than my Frost theme.

Right now there are two settings, low and high, but high probably won’t make it into the final game. The low setting does not display windows behind one another while the high setting does. The problem I’m having with the high setting is that there is a small amount of flickering in some small areas, I’m not sure exactly what’s causing this, it’s not z-fighting as the windows are drawn back to front with depth write disabled. I’m guessing it has to do with the fact that I’m distorting the same texture that’s being drawn to and maybe the buffer updates the texture at different rates or the pixels are drawn in a different order from one frame to the next.

9 Likes

Yeah yeah yeah. This in Steam or other sales platforms and jME soon as popular as the other engines. :chimpanzee_closedlaugh:

It might be float precision. Yesterday I toyed with the Bullet physics engine and found out that setting the precision of the engine to a very high value (1/1000 instead of 1/60) caues strange artifacts - suddenly the player bounces off and is shooted into the sky. It’s most certainly that float has only 7 decimal digits of precision and 4 decimal places are already taken by the 1/1000. Float sucks. And float in GLSL sucks even more since it is not really float but some kind of “short float”.

Hey @Tryder what’s your game about? it looks really sleek and cool, but I’m slightly confused about the media player. In a what-would-you-need-that-for sense.:stuck_out_tongue:

@MoffKalast It’s not really about anything, it’s all game with no storyline :wink:

It’s a turn based strategy game that’s focused primarily on combat, there’s no tech tree or researching. You start out with two NightHawk attack craft and a Cargo Ship. Cargo Ships hold up to four multi-purpose assemblies which can be used individually to repair damaged craft or, with a full load, a Cargo Ship can be used to construct a Space Station which harvests energy from stars and ore from asteroids and is used to build additional craft.

I don’t plan on including any music with the game, instead I wrote a media player and playlist manager/editor so gamers can listen to their own music in either MP3 or Ogg format while playing the game.

@Ogli Yeah I’ll keep looking into it, but it’s a cool effect either way. I just tried converting the Mesh that is used to draw the UI elements to use a DoubleBuffer for vertex positions rather than a FloatBuffer, but there was no change in the flickering.

It’s actually just one or two pixels here and there that seem to be changing from one frame to the next. The same problem exists in my Frost theme, but those pixels just get blurred out of existence so it’s not noticeable, with the Glass theme if the window is positioned just right those pixels get stretched into a larger area which then becomes noticeable. It appears as though the issue lies on the edges where two triangles meet.

2 Likes

I did not mean the vertex positions. For that float could be enough.
I meant the normals turbulence which you are doing (in the fragment shader).
I think there you need a lot of precision. Which is a problem in GLSL itself.

EDIT: might also be that you are grasping into area outside the background. Imagine that: you want to get a color from a nearby position, but you are reaching over the edge, so there is nothing there. This would always appear next to the edges or corners of your UI elements if that is really the cause of the problem.

I set the background texture to mirroredrepeat so UV coordinates > 1 or < 0 just wrap. The normals for the mesh are all the same and do not change. The shader is using a normal map yes, but it’s not used to modify the face normals, it’s used to offset the background image:

vec4 norm = texture2D(m_Normal, texCoord2 * vec2(m_repeat_x, m_repeat_y));

vec2 offset = vec2((1.0 / m_screenX) * m_RefractionStrength, (1.0 / m_screenY) * m_RefractionStrength);
offset *= vec2(norm.r, norm.g) * vec2(2.0, 2.0) - vec2(1.0, 1.0);
vec2 wtc = vec2((worldTexCoord.x / m_screenX), (worldTexCoord.y / m_screenY)) - offset;

vec3 back = texture2D(m_background, wtc).rgb;

Made with GIMP and Blender. Used GIMP to create a black and white tileable cloud, then used that as a displace map on sub-divided plane in Blender and saved out the Normal pass after rendering.

P.S. When rendering with Blender Internal the normal pass is in a different format. For anyone wanting to make normal maps that way, you need take the normal pass channel and seperate into individual RGBA components, multiply both the red and green channels by 0.5 then add 0.5. The blue channel is inverted so it needs to be multiplied by -0.5 then add 0.5 then recombine, plug it into the composite node and save.

1 Like

Here’s a short clip that demonstrates the effect and the flickering. When the Music Player window comes up you can see the flickering in the lower right of the Music Player window.

Very strange… :chimpanzee_nogood:
It changes over time - the only other thing that I can think of, is the tpf (time between frames), so maybe it’s something that is influenced by changing tpf values during frames (but why would you include time?). :chimpanzee_confused:
Also it happens exactly where the border (quad#7) and the inside (quad#4) meet each other. So maybe it has to do with that somehow… :chimpanzee_confused:

Hm, yes, should work (I think) but not sure here. Did you try “repeat” (without mirrored?). But I would have chosen “mirrored repeat” too, to be honest. :chimpanzee_sad:

Well, maybe someone of the graphics folks here have any ideas??

Yeah, I’m not using tpf for anything here, I’m not too hung up on it since the low setting looks good enough. It’d be nice if a solution were uncovered, but either way c’est la vie.

@Tryder I am so stealing your effects and putting them into my game … if that’s ok? :smile:

1 Like

And here it is:

If you got anything to comment, you should put it here, so we don’t clutter this thread too much:

11 Likes

@zissis Absolutely go right ahead, lookin’ forward to seeing what you can do with it :smile:

@Ogli Thought you’d want to know since you were graciously trying to help me out with the flickering issue, I fixed it! I went through the source code a little bit and decided to use multi-target rendering on my FrameBuffer. In the first pass I write the distorted image to gl_FragData[1] and leave gl_FragData[0] unaltered, then in my second pass I overlay the window texture and perform color balance on the texture in the #1 slot and write the result onto both gl_FragData[0] and gl_FragData[1].

Just for fun here’s a cap during a quick play-through last night:


P.S. That was taken before I fixed the flickering so I used the low setting in which UI windows do not display behind one another.

7 Likes

I feel so left out these days as one thing after another keeps conspiring to keep me from making pretty graphic things. Lots of times it’s because I’m working on open source game stuff that just isn’t very visual. This weekend it’s because my “day job” laptop hard drive got corrupted and I can’t trouble shoot it at all myself because of the stupid corporate build. (Full drive encryption but I don’t have the license or any of the utilities to do a data extraction… boo.)

I decided that I don’t like that anymore. I also decided that it’s been a long time since I bought a new machine (about 5 years). Also, the ‘lost a bunch of data’ depression needed some good retail therapy. Put that all together, and Saturday early AM I ordered parts from Amazon to be delivered the same day (I love that!). Same-day delivery nicely limited my choices enough that I didn’t dither back and forth for a week about choices. (The only thing Amazon couldn’t get me fast was a case so I had to go to a real brick-and-mortar store for that.)

So, no screen shots from me but here’s my pre-unboxing pile:

AMD 8 core, 32 GB RAM, 2 3 TB drives (I wanted RAID0 but Win7 didn’t like that)… GTX 960 4 GB. Decent machine, I think. Right now I’m doing the obligatory “download a bunch of nVidia demos” while I build a dev environment up.

…finally have all of my github projects checked out at least.

11 Likes

Hot damn, you doin’ physics simulations on that beast or what?

P.S. We all like your non-visual open source game stuff :slight_smile: