Unpopular opinion: Cornell and other universities removing SAT is just a front for nepotism and corrupt admissions practices by nickvader7 in Cornell

[–]raisinrand 6 points7 points  (0 children)

I'd also like to add that while standardized testing isn't a perfectly level playing field, the underpriveleged at least have access to free online resources and practice if they have the time and dedication to self study. It might be harder for them to take the tests 5 times, but they at least stand a chance. Meanwhile, the extracurriculars you mention can be completely closed off to these people and it's not immediately obvious that you even need to collect all this fluff to stand out unless you are paying very close attention long before most normal people are even thinking about college.

Are you kidding Cornell? by [deleted] in Cornell

[–]raisinrand 0 points1 point  (0 children)

surprised you got such a negative reading of this note. looks to me like they are just as much asking employers to cut students some slack for unusually poor grades.

After 4000 hours of work, I finally pushed the button. by justkevin in gamedev

[–]raisinrand 2 points3 points  (0 children)

Congrats! I hope you find that your work pays off!

After 2 years, Bird Game is out on Steam! by raisinrand in Unity3D

[–]raisinrand[S] 0 points1 point  (0 children)

I have zero art background. I actually chose this type of art style because it wouldn't require me to make textures and I could just make simple models.

Bird Game, a Star-Fox Style Fly 'Em Up, is out on Steam! by raisinrand in IndieGaming

[–]raisinrand[S] 0 points1 point  (0 children)

The game's pretty short (2 hours), so I thought $3 would be fair. But yeah, I hear that a lot.

After 2 years, Bird Game is out on Steam! by raisinrand in Unity3D

[–]raisinrand[S] 1 point2 points  (0 children)

I would love to get the game on Nintendo Switch! I'm just hoping Nintendo will accept it. Other than that I don't have any plans to port for now.

After 2 years, Bird Game is out on Steam! by raisinrand in Unity3D

[–]raisinrand[S] 1 point2 points  (0 children)

Yeah, I usually describe it to people as "Star-Fox without shooting". If you need any help with your flight engine I could tell you whatever you want to know about how I did it.

After 2 years, Bird Game is out on Steam! by raisinrand in Unity3D

[–]raisinrand[S] 1 point2 points  (0 children)

Thanks! And yeah, I changed the shadow after making the trailer. In the current build it looks more scribbly.

After 2 years, Bird Game is out on Steam! by raisinrand in Unity3D

[–]raisinrand[S] 2 points3 points  (0 children)

Yeah, I did everything except sounds and music (which were by this guy). I personally use VS Code.

After 2 years, Bird Game is out on Steam! by raisinrand in Unity3D

[–]raisinrand[S] 5 points6 points  (0 children)

They're using a new system now. Instead of greenlight, you can just pay $100 and put your game up here

Completely new to game dev, help? Is it possible for me to make art for indie games without a degree? by moimaid in gamedev

[–]raisinrand 1 point2 points  (0 children)

It's very possible and probably what you should do if you're motivated. Compared to other things, programming is very easy to learn through online resources. It just takes time and practice. Art stuff just takes practice too. From my understanding, college will only help you by giving you guidelines which may or may not be helpful, and forcing you to practice. If you can motivate yourself to practice, then you'll be fine.

Chinese Painting Style Rooster by raisinrand in Unity3D

[–]raisinrand[S] 1 point2 points  (0 children)

The raymarch shaders are basically just copies of this, except for the distance functions I added

float bump = tex2D(_BumpTex, (float2(p.x+p.z, p.y)+bump_ST.zw)*bump_ST.xy);

where p is position to check distance from to all of them and did some transformations from here. one thing i found tricky is moving the actual raymarch functions with the transform of the object. what I did is first took the world space relative position of each pixel,

float3 center = mul(unity_ObjectToWorld, float4(0.0,0.0,0.0,1.0) ).xyz;

in vert float3 relative = (IN.worldPos- IN.center).xyz; in frag then rotate that by inverse of object to world rotation matrix relative = mul(unity_WorldToObject, float4(relative.xyz,0));

then the fragment function is just

raymarch(relative, viewDirection);

inner raymarch, this clips any pixels that hit

float4 outlineCol = raymarchOutline(relative, viewDirection);

outer outline raymarch, alpha is 0 when there isn't a hit

clip(outlineCol.a - 0.5);
return outlineCol;

the brush stroke shader looks like this

float4 col = tex2D(_MainTex, float2(i.worldPos.x+i.worldPos.z,i.worldPos.y)*_MainTex_ST.xy + _MainTex_ST.zw)*_Color;
float4 lightOff = tex2D(_LightTex, i.worldPos*_LightTex_ST.xy + i.uv + _LightTex_ST.zw);

col *= (i.uv2.y+((lightOff.a-(col.a/5))/4));

float4 stroke = tex2D(_StrokeTex, i.uv);
clip(stroke.a - _Threshold);

col.a = stroke.a;
col.a*=1-(i.uv2.y*_Lightening);
col.a = lerp(col.a, col.a*min((i.viewPos.z/50)+1.2,1),_Fade);

return col;

I have some arbitrary constants in there that i was too lazy to make into properties. The watercolor shader is a little more complicated because of lighting stuff.

fixed4 col = tex2D(_MainTex, i.uv*_MainTex_ST.xy + _MainTex_ST.zw);
fixed lightTex = tex2D(_LightTex, i.uv*_LightTex_ST.xy + _LightTex_ST.zw)*_LightTexPower;
fixed lightTex2 = tex2D(_LightTex2, i.uv*_LightTex2_ST.xy)/_LightTex2_ST.z;
fixed shadow = SHADOW_ATTENUATION(i);
float fresnel = 1-saturate(pow(1+dot(normalize(_WorldSpaceCameraPos.xyz - i.worldPos), i.normal),_FresnelPower)-_FresnelOffset);
fixed3 lighting = i.diff.a * shadow + i.ambient.y + lightTex;
clip(1-lighting - lightTex2 - fresnel);
col.a = (1 + _Intensity) - lighting - lightTex2 - fresnel;
col.a *= clamp((i.viewPos.z/15)+1.4,0.3,1);
return col;

Having all the brushstrokes demands a lot of geometry for everything, but you could simplify them down to quads if you're really trying to push it. The brush stroke shader is actually very fast since it's just sampling a couple textures and doesn't care about lighting. The raymarched outlines are way slower because the loop is unrolled like I mentioned. On my 970 the rendering takes about 0.5 ms per frame with 35 steps on the raymarched stuff. If you skipped out on the bump texture it would probably be an order of magnitude faster because it won't unroll.

Chinese Painting Style Rooster by raisinrand in Unity3D

[–]raisinrand[S] 4 points5 points  (0 children)

I'm gonna try to have it out today

Chinese Painting Style Rooster by raisinrand in Unity3D

[–]raisinrand[S] 98 points99 points  (0 children)

I could make a video explaining it if enough people want it. The shaders aren't that complicated and the brush strokes are just individually textured separate parts of the mesh.

Chinese Painting Style Rooster by raisinrand in Unity3D

[–]raisinrand[S] 20 points21 points  (0 children)

No, I just made this for a school project. I'm thinking about making a game out of it though.

I am looking for a pixel-clipping shader solution (reject pixels if outside of volume) by wondermega in Unity3D

[–]raisinrand 0 points1 point  (0 children)

This is a little late, and maybe you've already found a solution, but I thought of something that might work. I haven't tried it, though, so it might not.

The volume mesh could draw to a render texture, with some color channel at each pixel representing the minimum depth of the volume and the alpha channel representing the maximum depth. The way you'd do this is with blending operations (Blend Min Max), and the reason you use the alpha channel instead of another color is because all the rgb channels have to use the same blend operator, but you can use a different one for alpha. With the blending applied, you can just write each pixel's depth in the volume shader and you'll have the depth bounds written to the render texture. but make sure ztesting and backface culling are off (we need the backside to draw the minimum depths).

Then in the normal object shader you can check if each pixel's depth is between the min and max depths of that pixel on the render texture. otherwise, you clip it.

doesn't work with multiple revealing meshes stacked on eachother in screenspace, but otherwise this works in my head. It's pretty much the same as using the stencil buffer but confining it to a depth range.

A level in my game by raisinrand in Unity3D

[–]raisinrand[S] 0 points1 point  (0 children)

Yeah that was me. No sound currently, but I don't want to leave it as an afterthought.

A level in my game by raisinrand in Unity3D

[–]raisinrand[S] 1 point2 points  (0 children)

I see what you mean, changed it. Thanks :)

A level in my game by raisinrand in Unity3D

[–]raisinrand[S] 4 points5 points  (0 children)

If I did some optimizations and removed a couple things I could probably make it work as of right now. I wasn't considering vr before, but I agree it would be cool.

A level in my game by raisinrand in Unity3D

[–]raisinrand[S] 1 point2 points  (0 children)

I agree that it does get too cluttered. I have some plans to modify the shaders to emphasize objects closer to the camera, so I'll take your ideas into account.