Samusoidal

LD 38

Follow Button Is Gone?

I can't follow any new people any more. Is this part of some work PoV is doing to the site?

Concentration Noise - What Do You Use?

I didn't use any background noise while making my game, but recently I've discovered rainymood.com, which just plays rain sounds while you work. I find it incredibly relaxing. I've heard of other people using white noise, music, and other things to help them concentrate, and I'd like to know: what do you use?

A Relatively Small World

coverart.png Play it here, rate, and give feedback! It's my first Ludum Dare, I'm excited to see what you guys think!

Play and Rate My Game!

coverart.png Now that I've finished everything I wanted to wrap up (post mortem, soundtrack, etc), I'd like you to head on over to my game page and play A Relatively Small World. Play it, rate it, and leave feedback! I play the games of those who play mine, so make sure to leave some feedback.

Some More Art

GameMaker Studioem3.png GameMaker Studio/em2.png If you're interested, play my game here (it's not the same art style).

A Relatively Small World - Thoughts

coverart.png If you haven't played it yet, play it here.
If you have played it, tell me what you think I could add to it in post-compo versions. While the project will probably be put on hold for a while (working on two other games right now), I definitely want to come back and expand it in the future.
Thanks!

Mac Export?

If anyone has time this weekend or something (and a Mac export for Game Maker), I would like to ask you if you would make a Mac port for me of my game, A Relatively Small World. The Game Maker project file can be downloaded on the game page.
coverart.png Thanks!
P.S. Can we have animated GIFs as our avatars?

Favorite Game So Far?

I've been playing a lot of games (50+, I think, in two days), and I was wondering if anyone has a favorite yet. Post it in the comments below!

My Favorites

Headroom - @philstrahl
Until Tommorrow - @msiddeek
What are your favorites?

I Come Bearing GIFS

PROMOGIF_4.gif

Play the game here.

As a side note, how do we embed from giphy or some other service like it (it took me a while to get this GIF down below 4MB)?

GIFted: My Art Process

Okay, so maybe I'm not gifted.
Whatever.
Here's a really terrible, tiny, and lossy GIF showing the process I used to create the art for my game.
ezgif.com-optimize.gif
First I drew the picture on a blank sheet of paper. I am by no means an artist or an animator (it took me a couple tries just to get the drawing in the video right), so I used minimal frames (by chopping up the images and moving the parts to create movement). Then I scanned them in and inverted the colors in paint.net (me image editor of choice).
The reason I inverted the colors in the first place was because it would be easy to remove the background using additive color once I had scanned the pictures in.
Additive color?
Additive color takes the color of each pixel and adds its values to the one below it. Because black has a value of zero in all categories, the black is not drawn and voila! You have a see-through outline.
From there I used myscriptfont.com to create a font from my own handwriting, and the art was complete.
Again, sorry about the GIF, the max upload size is 4 WHOLE MEGABYTES! (My gifs turn out to be somewhere between 30 and 40, by default)
Use this site to optimize your GIFs. It will take the filesize down up to 60%.

Help With Shaders?

I'm trying to make a barrel distortion shader for my current game project (in Game Maker), and I can't seem to figure out what's causing those giant pixels.
White Cactus Project.png
Vertex:
``` // // Simple passthrough vertex shader // attribute vec3 inPosition; // (x,y,z) //attribute vec3 inNormal; // (x,y,z) unused in this shader. attribute vec4 inColour; // (r,g,b,a) attribute vec2 inTextureCoord; // (u,v)

varying vec2 vvTexcoord; varying vec4 vvColour; varying vec2 v_vPosition;

uniform float BarrelPower; uniform vec4 u_uSource;

void main() { vec4 objectspacepos = vec4( inPosition.x, inPosition.y, inPosition.z, 1.0); glPosition = gmMatrices[MATRIXWORLDVIEWPROJECTION] * objectspacepos;

v_vColour = in_Colour;
v_vTexcoord = in_TextureCoord;
v_vPosition = in_Position.xy;

} Fragment: // // Simple passthrough fragment shader // varying vec2 vvTexcoord; varying vec4 vvColour; uniform vec4 uuSource; varying vec2 vvPosition; uniform float BarrelPower;

float rand(vec2 co){ return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453); }

vec2 Distort(vec2 p) { float theta = atan(p.y, p.x); float radius = length(p); radius = pow(radius, BarrelPower); p.x = radius * cos(theta); p.y = radius * sin(theta); return 0.5 * (p + 1.0); }

void main() {

//float xx = v_vTexcoord.x;
//float yy = v_vTexcoord.y;

float xx = v_vPosition.x;
float yy = v_vPosition.y;

vec2 point = vec2(xx - u_uSource.x, (yy - u_uSource.y));
float len = length(point);

float ran = 24.0*rand(vec2(u_uSource.w+xx,yy));

if(len+ran>u_uSource.z) gl_FragColor.rgb = vec3(0.,0.,0.);
else {

    vec2 cord = 2.0 * v_vTexcoord.xy - 1.0;
    vec2 uv;
    float d = length(cord);
    if ( d < 1.5 ){
        uv = Distort(cord);
    } else {
        uv = v_vTexcoord.xy;
    }

    vec4 c = texture2D( gm_BaseTexture, uv);

    gl_FragColor = v_vColour * c;

}

} ```