upvote
Just to clarify -- the images on that site are all generated from LLM-written code? It's very impressive if so. I would never have guessed these weren't human-made from the visuals alone.
reply
Yeah it's entirely LLM driven! If you look at the repo, I explain more about how to use it. Basically, you give an agentic coding harness capable of tool usage (Opus 5.5, Qwen 3.8-27b, etc) the skill which explains the drawing system: simple things like how to set the colors, position rectangles, draw polygons, etc. and it uses p5.js to render them.

It has three different modes:

• You can simply describe a picture, and it'll automatically generate an image using procedural code.

https://kq-styles.specr.net/#/scene/custom/elk-valley

• You can ask it to paint over an existing image. That's what those examples show, like me creating EGA-style equivalents of various scenes from the original Myst.

https://kq-styles.specr.net/#/scene/myst/r01-c00

• The last way is to give it a rough pencil sketch. It's the mode I use the most since it's very valuable when building an adventure game to position objects in a room.

https://kq-styles.specr.net/#/scene/sketches/12-crossroads

reply
Wow. Genuinely awesome work. And fascinating to see the drawing process.
reply
Thanks! I started this whole thing because I recalled reading an old interview with Sierra’s original creators, Ken and Roberta Williams, where they talked about how they needed a way to have graphics for their games without saving large bitmaps which would make it difficult to fit on a single floppy disk.

So instead for each room that needed to be rendered they just saved a series of vector instructions that would re-render it in real time. On slower machines, you could actually see the rooms pop in piece by piece. I wanted to kind of approximate that same aesthetic because it's just super cool!

reply
Really good stuff, thanks
reply
That's very cool. Great concept.
reply
Oh boy this takes me back to the good old Sierra days.
reply
Tell me more about your custom drawing language. I'd been thinking of doing one myself.
reply
So it's pretty simple - it's basically a LOGO-inspired language of simple commands (polygons, floodfill operations, lines, draw order, delay commands, etc) which is then rendered by equivalent p5.js commands. There's a couple specialized higher level PicScript commands for drawing commonly seen geometry in older adventure games (hills, objects in nature) as well.

https://github.com/scpedicini/agi-stylist

I just wanted something relatively human readable so after an LLM did a first pass on an image, I could easily make changes to it.

reply
Beautiful! Thank You For Making And Sharing!!
reply
amazing, love the idea and the results <3
reply
sir, Twin Kingdom Valley does exactly this on a ZX Spectrum
reply
Thanks for the rec! I unfortunately don't have a Speccy, but I did find an emulated version of the BBC Micro port of Twin Kingdom Valley and can definitely see it drawing in the various pieces of the environment.

https://bbcmicro.co.uk/game.php?id=89

I think the approach of using simple procedural vector graphics was relatively common back in the days when you had to optimize for either disk space or speed. Sierra's creators talked about how they opted for procedural graphics to fit their earliest games on the old 80 KB floppies.

reply
Charming!
reply
Do I understand correctly that the drawing language is something you came up with yourself? Amazing quality if so!
reply
So basically I gave an LLM access to the user manual for the original LOGO drawing language, along with several screenshots of various scenes from the original King's Quest I.

Then I just guided it to produce a procedural variant specialized in creating new EGA-style scenes for use in creating old-school point-and-click adventure game.

https://people.eecs.berkeley.edu/~bh/usermanual

It's all open source.

https://github.com/scpedicini/agi-stylist

reply
This is awesome! You can see the core of it here: https://github.com/scpedicini/agi-stylist/blob/main/skills/o...
reply
[dead]
reply