Voltage
Joined 18 years ago
Joined 18 years ago
Squeezing 3 hits (evenly placed) in the time that you'd expect to hit 2 hit.
Fun!
I'd love to be able to add triplets.
I tried doing a warcraft 1 clone, but that felt too complex for the model being used (openai 4.1). That model was just the default setting in copilot.
I dug a little deeper this morning, and it turns out I hadn't actually enabled my copilot 'pro' mode, which has granted access to some more current or dev focused models. So I'll take them for a spin to see what they're capable of.
My goal here is to roughly get a sense for when a task is too complex for an "agent" to handle.
I also want to try adding custom tools to suit certain project needs. For example, Unreal Engine has a python editor interface, so I'd like to have an agent drive the editor to build something. I have my doubts.
Once I have a feeling for what level of complexity can be handled, I'll see if I can manage the tools better using this understanding, by breaking large and complex projects into appropriate chunks of work / complexity.
/endBrainDump
But I don't want to make the claim lightly, so I did an experiment.
I signed up for copilot pro, and have been using their 'edit' feature. This is more than just their auto complete.
I set myself a goal to create a playable web game of classic frogger.
It took 4 hours with copilot "edit" and my full attention.
I didn't write a single line of code, but I did ask it to refactor and gave it a project description.
I suspect this would have taken me 4 days full time to get to this level.
Try it out:
Computational accuracy is not important to me at all.
I make a few demos, but my personal favourite was this 4k (windows executable less than 4096 bytes):
https://www.youtube.com/watch?v=sBcwQCBpEiE
It uses all the fancy compressing linker tech (called crinkler) along with a tiny music player and a glsl raymarcher.
I tried to download it but all I get is virus warnings now... I guess malware devs also like crinkler. :(
uniform float time;
varying vec2 vUv;
// https://iquilezles.org/articles/distfunctions2d/ (Thanks IQ!)
float sdRing( in vec2 p, in vec2 n, in float r, float th )
{
p.x = abs(p.x);
p = mat2x2(n.x,n.y,-n.y,n.x)*p;
return max( abs(length(p)-r)-th*0.5,
length(vec2(p.x,max(0.0,abs(r-p.y)-th*0.5)))*sign(p.x) );
}
void main() {
// create coordinates at visual centre (y coords doubled for circles)
vec2 centre = vec2(0.25, 0.25);
vec2 uv = vUv * vec2(1.0, 0.5) - centre;
// mirror x to get both eyes for the price of one, and find eye offset
float eyes = length(vec2(abs(uv.x), uv.y) - vec2(0.035, 0.03));
// carve them out using smoothstep
eyes = smoothstep(0.015, 0.016, eyes);
float mouth = sdRing(vec2(uv.x, -uv.y + 0.03), vec2(7), 0.65, 0.1);
mouth = smoothstep(0.02, 0.025, mouth);
float shade = min(eyes, mouth);
vec3 yellow = vec3(0.9, 0.7, 0.0);
vec3 color = shade * yellow;
gl_FragColor = vec4(color, 1.0);
}I thought I recognized your handle! You wrote the "A Primer on Bézier Curves" article. Thanks for providing that amazing resource, it's been invaluable during my learning process.
I've run up against the issue of unexpected twisting of splines at work more than once.
https://web.archive.org/web/20060213141031/http://www.demosc...