Thinking about some RPG..Android version.

Started by EgonOlsen, December 17, 2011, 11:42:01 PM

Previous topic - Next topic

IZACIZAC

that looks quality, he looks like he's about to pick those red berries from the bush

Irony

The legs seem to be a little short for the rest of the body, but then, there are real people just like that :)
Looks good!

fireside

The shirt looks a little modern, but not bad.  Having different color combinations is a good idea.  Glad you found some models. 
click here->Fireside 7 Games<-

EgonOlsen

Quote from: fireside on January 23, 2014, 08:40:02 PM
The shirt looks a little modern, but not bad. 
Yes, a little bit. The texture of the warrior looks more medival. I guess one with some talent (i.e. not me...) can repaint the texture to make it look more fantasy like. But that can be done at any time. For now, i'm glad that i can continue with some proper models.

Minigame

Wow the way you implemented it came out great you clever dog! ;)

EgonOlsen

#500
Due to popular demand, i'll explain the npc coloring method in a little more detail. This is the base texture:



For this, i created a coloring map. It looks like this:



This map flags the hair as red, the trousers as green and the shirt as blue. This map is the second texture layer of the npc.

The idea is to write a shader can takes three additional color modifiers for the red, green and blue channels of the coloring map. So you read the base texture's color and multiply it with color_channel_intensity*color_modifier_for_channel for each channel and add up the results. The result has to be added to the base color multiplied with (1-color_channel_intensity) for each channel. The resulting fragment shader looks something like this:


precision highp float;

uniform sampler2D textureUnit0;
uniform sampler2D textureUnit1;

varying vec2 texCoord0;

varying vec4 vertexColor;
varying vec4 fogVertexColor;

uniform vec3 colorMul0;
uniform vec3 colorMul1;
uniform vec3 colorMul2;

void main (void)
{
vec4 col0 = texture2D(textureUnit0, texCoord0);
vec4 blend = texture2D(textureUnit1, texCoord0);

float w1=blend.r;
float w2=blend.g;
float w3=blend.b;

gl_FragColor = vertexColor *  mix(mix(mix(col0, col0*vec4(colorMul0, 1.0), w1), col0*vec4(colorMul1, 1.0), w2), col0*vec4(colorMul2, 1.0), w3) + fogVertexColor;
}


The mix/mix/mix-part might be hard to understand, so here's the actual operation of that part:


(vec4(col0.rgb*(1.0-w1)*(1.0-w2)*(1.0-w3),0.0) + vec4(col0.rgb*w1*colorMul0,0.0) + vec4(col0.rgb*w2*colorMul1,0.0) + vec4(col0.rgb*colorMul2*w3,0.0))

fireside

How about showing a couple characters so we can see what it looks like?
click here->Fireside 7 Games<-

EgonOlsen

Quote from: fireside on January 27, 2014, 04:48:56 AM
How about showing a couple characters so we can see what it looks like?
I would have to place several of them in the same spot, which i haven't done yet. I'll post something, when there's more to show.

In the meantime, i did some smaller tweaks here and there and i reworked the grass. I'm using a real 3d model now, not just a billboarded plane. That looks nicer, allows for more variety and isn't really much slower (maybe 5% fps drop). The old grass is still available as an option. The new one looks like this:


EgonOlsen

I tried the game on my good old Nexus S and it worked surprisingly well. It wasn't particularly fast but it was playable and everything was in place and looked great... :)

Minigame

#504
How exactly did you get the terrain to have roads and such? I've only been able to texture the object based on elevation  ???

Edit: To me, implementing defined trails would be the one feature that could turn a huge terrain into a scaled game world

EgonOlsen

Quote from: corey on February 05, 2014, 12:13:25 AM
How exactly did you get the terrain to have roads and such? I've only been able to texture the object based on elevation  ???
I'm using a splatting texture and a shader for this. It's similar to the idea with the npc's colors. The last post in this thread briefly explain the idea: http://www.jpct.net/forum2/index.php/topic,2912.msg21431.html#msg21431

EgonOlsen

To get inspired, i decided to play some old DOS rpg for a few hours...The Elder Scrolls: Arena! It's exactly as i remembered it: Massive, full of stuff...but quite repetitive. There's a lot of content in this one, but most of it is just plain dull. I had some fun playing it though and i will continue someday. Here's a screen shot:



Note that i played this on a "real device", i.e. on a real 486DX2-66 with DOS 6.22. No emulator or DOSBox...real hardware. It took me 1.5 evenings to build and install that machine... :)

fireside

Even those two clouds are identical.  The only game I find still inspiring is Return to Krondor because it focused more on a story, although I never played Arena.  A strong story has always been important to me.  I'm not really stuck on the open world games that seem like endless quests.
click here->Fireside 7 Games<-

EgonOlsen

Quote from: fireside on February 15, 2014, 06:18:03 AM
Even those two clouds are identical.  The only game I find still inspiring is Return to Krondor because it focused more on a story, although I never played Arena.  A strong story has always been important to me.  I'm not really stuck on the open world games that seem like endless quests.
Arena's story is really dull...it's about some staff that is broken into 8 pieces. You have find them all to defeat the evil wizard. So the main quest is split into 8 parts, which are split into 2 sub-parts (retrieve x to get the information where to find the next piece, retrieve the piece). Back in the days, i didn't finish it because it was too boring. It still is...but on the other hand, it has something to it. I played it some more yesterday, because i actually wanted to play the new Might & Magic X but even after installing it from DVD, it had to download 8gig from the net, which took it's time. So i went into the basement and booted the good old 486...

MemphisM

Egon, is this project published somewhere?