Readit News logoReadit News
vegabook · 3 months ago
It's incredibly satisfying to see the polar opposite of the usual LLM/superDB/K8/CICD/Cloud/Container/Crapola corpobloat we hear about on this site all the time, namely a tiny piece of handcrafted code, ironically produce something infinitely more aesthetically beautiful, and intellectually interesting from an almost artisan engineering perspective.
llmslave2 · 3 months ago
Especially because some framework slopper using all the LLM's and bloat in the world could never even imagine reaching this level of productivity. In 7 (SEVEN) days this coder

- Designed a language.

- Implemented a compiler to compile it to bytecode, using F#.

- Wrote a bytecode interpreter, using C++.

- Created a shoot’em up game, using the custom language.

- Renderd the graphics, using a single GLSL shader.

suprjami · 3 months ago
While I agree with the sentiment that LLM coding can produce a lot of inefficient junk code which works with holes if you're lucky...

What you're describing is 7 days of productivity supported by probably 7+ years (or 27+ years) of experience and learning and getting things wrong and restarting over again.

It is definitely wonderful to see though.

fragmede · 3 months ago
I gave Claude a screenshot of your comment, and it accepted the challenge.

Claude called the language Blitz.

The repo it created: https://github.com/fragmede/blitz

Is the code shit? I haven't looked at it. Didn't have to. Probably is. I fed it the blog post at the end, and difference.md has a comparison on what Laurent Le Brun built vs Claude, and Claude is fully aware that it went a different way on a number of different things.

It chose python, I had to tell it to use uv.

I'm on a mac with high DPI and it got confused about that.

I had to tell it to make a binary format (it made a BLTZ header)

But you can clone that repo, do uv run main.py --compile game/shooter.blitz and it'll make a .blitzc. Then you can do uv run main.py game/shooter.blitzc Tear the code apart. Call out every tiny mistake in that repo. It's probably cheating somewhere! But all I did was give it challenge.png that's in the repo, and tiny bits of English, and Claude went to work.

It's been 21 years since my college computer graphics class and I went into distributed systems and not game dev, so someone else will have to tell me if it used a single (or even any!) GLSL shaders, or not.

Call it slop all you want, but that took me 70 minutes of babysitting.

jstrieb · 3 months ago
The rest of the games submitted to this very interesting, somewhat niche game jam (including my own entry) are here:

https://itch.io/jam/langjamgamejam/entries

There were some really impressive submissions in spite of the short time frame!

azhenley · 3 months ago
The jam was originally going to be just me doing a solo project but it grew much larger! Over 200 people joined the Discord.

We plan on running it again: https://langjamgamejam.com/

jstrieb · 3 months ago
Maybe I missed it, but I didn't notice a submission of yours in the jam. Did you end up getting around to doing your solo project?
reidrac · 3 months ago
Dungeon-Specific Language (DSL)

Cheff kiss!

NooneAtAll3 · 3 months ago
Reminds me of https://js13kgames.com/ where people managed to do a whole air sim in 13kb (out of many other things)
PaulHoule · 3 months ago
Such a beautiful technique for shoehorning straight out of the 1970s! See also

https://en.wikipedia.org/wiki/CHIP-8

and

https://en.wikipedia.org/wiki/SWEET16

It seems so un-FORTRAN that DEC had a FORTRAN compiler for the PDP-11. that was based on a stack machine and then later built an FP accelerator specialized to accelerate the stack machine. It was a straggler but I'm still trying to track down a circa 1992 article from Dr. Dobb's Journal where someone used virtual machine techniques to unbreak the broken i860 and make a good FORTRAN compiler.

Deleted Comment

Deleted Comment

pikuseru · 2 months ago
Of the many cool things I liked about this, removing the missile from the array by swapping it with the last missile and decrementing the missile count was a nice trick.
nsxwolf · 3 months ago
What's that overall filter that covers the view? Is it supposed to look like a late 80s passive matrix color LCD screen?

Edit: Thanks for the downvote, guess I shouldn't have paid any attention to this post at all?

macintux · 3 months ago
Worth noting that it's easy (and probably fairly frequent) to click the wrong arrow, especially on a phone screen. I've started double-checking the "unvote" vs "undown" link that appears afterwards to make sure I hit the right one.
somat · 3 months ago
So that's how you tell, salutes. Sometimes I worry that I inadvertently downvoted someone by mistake. "But you can just unvote if that happens" sure but how do you tell what was voted.

Anyhow, I think if this was my forum I would put the downvote selector at the end of the comment title and have the upvote selector at the beginning.

laurentlb · 3 months ago
There's no specific filter. The main effect is blending the previous frame with the current frame. When blending, I modify the coordinates and add some noise. This makes the graphics look less basic and it creates this noisy trail when things move.

The source code is here: https://github.com/laurentlb/shmup8/blob/main/src/shaders/sc...

Blending is on lines 241, 242.

I didn't try to get a specific 80s look, I just played with formulas.