A downloadable game for Windows and Linux

Garden is a game centered around really detailed plant growth simulation.
Right now you can:

  • Grow 7 different species of plants.
  • Prune branches

Interface and graphics are still at the prototype stage, sorry about that.

Published Oct 17, 2017
StatusPrototype
PlatformsWindows, Linux
Authorepcc
Tags3D, Experimental, farming, Procedural Generation
Average sessionAbout a half-hour
InputsKeyboard, Mouse

Install instructions

Just unzip and run garden.exe

Download

Download
garden3-linux.tar.gz 3 MB
Download
garden3-windows.zip 3 MB

Development log

Comments

Log in with your itch.io account to leave a comment.

I get the same issue.

color
SHADER:
#version 140

uniform mat4 u_model;
uniform mat4 u_inverse_model;
uniform mat4 u_view;
uniform mat4 u_projection;
uniform mat3 u_normal_matrix;
uniform mat4 u_shadow_matrix;
uniform mat4 u_mvp;
uniform vec4 u_color;
uniform float u_time;
uniform vec3 u_light_direction;
uniform vec3 u_camera;
uniform sampler2D u_shadow_map;

uniform sampler3D u_light_map;
uniform vec3 u_light_map_size;
uniform vec3 u_light_map_offset;
vec4 transform(vec3 position) {
        return u_mvp*vec4(position, 1.0);
}

mat3 new_observer_frame(vec3 direction,vec3 up) {
        vec3 zaxis=direction;
        vec3 xaxis=normalize(cross(up,zaxis));
        vec3 yaxis=normalize(cross(zaxis,xaxis));

        return mat3(
                zaxis,yaxis,xaxis
        );
}

in vec3 center;
in vec3 direction;
in vec3 normal;
in float radius;
in vec3 local_point;
in vec4 color;

out vec2 v_uv;
out vec3 v_normal;
flat out vec4 v_color;
out vec3 v_position;
out vec3 v_shadow_coord;
out float v_light;

void vertex_shader() {
        float scale=0.05;
    mat3 rotation=new_observer_frame(direction,normal);
        vec3 position=center+radius*(rotation*local_point.yzx);
    v_color=color;
    v_uv=vec2(0.0,0.0);
    v_normal=normalize((vec4(1.0,0.0,0.0,0.0)*u_inverse_model).xyz);
    v_position=(u_model*vec4(position,1.0)).xyz;
        vec3 light_offset=u_light_map_offset*scale;
        vec3 light_coords=((v_position-light_offset)/u_light_map_size.zyx)/scale;
    v_light = texture3DLod(u_light_map,light_coords.zyx, 0.0).x;

    gl_Position=transform(position);
    v_shadow_coord = vec3(u_shadow_matrix * vec4(position,1.0));
}

void main() {
        vertex_shader();
}

SHADER:
#version 140

flat in vec4 v_color;
out vec4 color;

void main() {
    color = v_color;
}

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ProgramCreationError(CompilationError("0(59) : error C7616: global function texture3DLod is removed after version 140\n"))', src\libcore\result.rs:906:4
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Thanks, it helped me to finally catch this issue. I'll upload the fixed version with the next update.

Thanks!

Looks interesting, but doesn't work at all. Won't even open.

That's interesting. Can you run it from the command line and copy me the output? Can you tell me your system specs?