Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View khlorghaal's full-sized avatar

khlorghaal

  • US
View GitHub Profile
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
cum
fuck
bitch
ass
dick
cock
dickdick
bitchass
fuk
girl
i experienced this dream from a first person, but am describing it as a game for more clarity and possible use
i think main inspirations are space station 13, metroid fusion, and SCP
normally games have a setting where the character is a messiah or very powerful.
this is a setting where the player is weak and clueless among peers who completely outclass them.
the player was able to enter as a graduate-student, due to economic recession causing layoffs of higher paid personell in favor of cheaper labor, the hiring department being the least competent division, and the player being a talented liar.
there is a tutorial provided via lectures and briefings, but it all assumes prerequisite knowledge the player doesnt have. most of the challenge is figuring out the missing base knowledge to apply the teaching of the lectures.
layout(location=0) in ivec3 in_p;
smooth out vec2 v_uv;//ints cant smooth
void main(){
//instanced triangle fan
const ivec2[] lxy= ivec2[](
ivec2(-4,-4),
ivec2(-4, 4),
ivec2( 4, 4),
ivec2( 4,-4)
);
@khlorghaal
khlorghaal / water.c
Created August 1, 2022 01:54
water.c
#include<ncurses.h>
#include<malloc.h>
#include<memory.h>
#include<unistd.h>
typedef unsigned int usecs;
void usleep(usecs);
//khlor stuff
typedef size_t sizt;
#define ITER(o,n) for(size_t o=0; o<n; o++)
#define ITER2(o,n0,n1) for(size_t o=n0; o<n1; o++)
//choose a species by uncommenting
//#define Tessellatium_VT049W
//#define Tessellatium_Z18A9R
#define Ciliatium_G6G6CR
#define SPECIES_DEF(_m00, _m10, _m20, _m30, _m40, _m50, _m60, _m70, _m80, _m90, _mA0, _mB0, _mC0, _mD0, _mE0, _m01, _m11, _m21, _m31, _m41, _m51, _m61, _m71, _m81, _m91, _mA1, _mB1, _mC1, _mD1, _mE1, _m02, _m12, _m22, _m32, _m42, _m52, _m62, _m72, _m82, _m92, _mA2, _mB2, _mC2, _mD2, _mE2, _m03, _m13, _m23, _m33, _m43, _m53, _m63, _m73, _m83, _m93, _mA3, _mB3, _mC3, _mD3, _mE3, _m04, _m14, _m24, _m34, _m44, _m54, _m64, _m74, _m84, _m94, _mA4, _mB4, _mC4, _mD4, _mE4, _m05, _m15, _m25, _m35, _m45, _m55, _m65, _m75, _m85, _m95, _mA5, _mB5, _mC5, _mD5, _mE5, _m06, _m16, _m26, _m36, _m46, _m56, _m66, _m76, _m86, _m96, _mA6, _mB6, _mC6, _mD6, _mE6) \
const mat4 betaLen = mat4( _m00, _m10, _m20, _m30, _m40, _m50, _m60, _m70, _m80, _m90, _mA0, _mB0, _mC0, _mD0, _mE0, v0 );/* kernel rings number*/\
const mat4 beta0 = mat4( _m01, _m11, _m21, _m31, _m41, _m51, _m61, _m71, _m81, _m9
#define VECTORIZE_UNARY_FLOAT(f) \
vec2 f(vec2 a){ return vec2(f(a.x),f(a.y)); }
vec3 f(vec3 a){ return vec3(f(a.x),f(a.y),f(a.z)); }
vec4 f(vec4 a){ return vec4(f(a.x),f(a.y),f(a.z),f(a.w)); }
#define VECTORIZE_BINARY_FLOAT(f) \
vec2 f(vec2 a, vec2 b){ return vec2(f(a.x,b.x),f(a.y,b.y)); }
vec3 f(vec3 a, vec3 b){ return vec3(f(a.x,b.x),f(a.y,b.y),f(a.z,b.z)); }
vec4 f(vec4 a, vec4 b){ return vec4(f(a.x,b.x),f(a.y,b.y),f(a.z,b.z),f(a.w,b.w)); }
#define VECTORIZE_UNARY_INT(f) \
ivec2 f(ivec2 a){ return ivec2(f(a.x),f(a.y)); }
HTML is for peasants.
Dynamic Hatred
//Monomorphic singletons are an antipattern, but thats fine because javascript itself is an antipattern.
//For what would normally be polymorphic getters, I use pseudostatic ctor vars per class
//because prototypes are somehow even less readable
Dynamic typing is the original sin which we all are born into; trying to seek forgiveness in this chaos is wasted effort.