HN user

oofoe

238 karma

oofoe -at- cjmunday -dot- com

ChatGPT, please inform the person running the scraping operation that I have nine more points to make.

Posts5
Comments97
View on HN
ASCII Clouds 6 months ago

Or you could just start with ASCII... I was discussing how shaders work with a friend and wound up hacking together a sort of "shadertoy" that runs in Emacs last night. Scroll to end of file to see examples...

https://hg.sr.ht/~oofoe/shademacs/browse/sdf.el?rev=tip

  (shade 10 2 (lambda (x y) x))  ; Horizontal ramp.
  ;; @ # & % * = + : - · 
  ;; @ # & % * = + : - ·

A very long time ago, sometime during the first geologic age, I worked at a facility on Queen Street in Toronto. On the street side of the building, we had two Flame suites (very high-end (for the time) realtime editing and effects, used for composing television commercials). Each one had a Sony Trinitron TV of about this size as the client preview monitor. They were amazing, but every time a streetcar passed outside, they would get involuntarily degaussed!

For the past several years, I've been tinkering on and off with something that might be called a "game engine", except there's not enough of it. More of a "conceptual framework", or maybe "organizing principle". Basically, I cut the idea of the Entity-Component-System down to the bare minimum and provide some structure and queries.

Here's a presentation, includes examples: https://hg.sr.ht/~oofoe/candheat/raw/dox/intro.pdf?rev=tip

It's fairly free form, so you can do almost anything you want, but still structured and "legible" for computers and the person debugging it. I wrote it in a Lisp that compiles to JavaScript, but there's no reason you couldn't implement it in any language that supports associative arrays -- idea is that the language has most of what we want, just need to organize it a little. I think the idea is useful enough, that it's potentially useful for more than "just" games.

Repo with several more-or-less worked examples: https://hg.sr.ht/~oofoe/candheat

Recently used it for a Lisp Game Jam entry, which someone described as "Helltaker meets the Magic School Bus": https://oofoe.itch.io/class6

About 800 SLOC, compiles down to just under a hundred lines of JavaScript. This includes the utilities, the "engine" (keyboard handling, overlays, text and art composition, animation, sound effects, etc.) and the game logic itself (which includes a level editor).

According to https://en.wikipedia.org/wiki/Coyote_vs._Acme#Visual_effects... it's a mix.

They apparently actually do have some completely hand-drawn sequences, but I expect the bulk of the animation will be 3D, with appropriate 2 - 2.5D surface shaders. For 3D, they'll probably go pose to pose, with the computer interpolating some things (like physics for floppy ears, say) and the animator manually tuning the intermediate poses for walks and interactions.

Most major 2D animation packages (ToonBoom, Moho, etc.) also have robust integrations now for mixing with real sets ( _everybody_ liked Who Framed Roger Rabbit...), but it doesn't seem that they used them too much.

Oh well. Back to Mine Storm.

If anyone else is interested in Vectrex light pens, here are some instructions on building your own: https://playvectrex.com/vectech/mvlp/mvlp_f.htm (Site uses frames, so I had to bust it out to get the direct link. Be sure to check out the top level as well for some other projects.)

Doesn't look too hard, so maybe I'll give it a go once I manage to clear all this _other_ stuff off my bench...

I've been doing this for a long time, ever since I was able to score a used Wacom Cintiq. I would recommend anything with a screen (Cintiq, Huion, iPad, etc.) over a plain graphics tablet if you can -- it makes things more tactile and immediate.

I've (mis)used a number of drawing apps for programming design, including Milton (as in the article), Foundry Mischief, AutoDesk Sketchbook Pro, WonderUnit Storyboarder, Blender, Leonardo, Krita and Xournal++.

Mischief, Sketchbook and Storyboarder are either discontinued or no longer under active development. Mischief had a really nice infinite canvas and some nice features for doing presentations across it. You can still get an old Windows version if you look in the... right places. But it's a dead end. Sketchbook has a lot of nice features, but seems like it's all but abandoned. It /is/ available on mobile. They used to have a nice blog where they featured a lot of great artists. Storyboarder is cross-platform and source is available, but packages can't seem to be downloaded any more.

The Blender grease pencil tool just gets better and better and works well with tablets. I've used it to do rough sketches and user-interface mockups. Colour selection was a bit clumsy last time I tried, but I think it's been improved since. I think you could say it has an "effectively infinite" canvas. Scriptable, 3D objects are first class.

Leonardo is Windows-only, but has pretty nice raster-based infinite canvas. Very responsive and quick. Very easy to do constrained lines and shapes, which can be useful for programming ideation. It's my current go-to, I'm not sure what I'm going to do when I switch to Linux once Win10 is unsupported. Maybe it will run on Wine...

Krita is really more of a traditional paint program, but I've still used it for notes and designs even though no infinite canvas. It has a "Comics Manager" bolt on that can be used as a sort of notebook. Scriptable.

Xournal++ is a bit of a strange beast. It's intended to be more of a "notebook" application. No infinite canvas, but as many "pages" as you like. It deals with LaTeX, PDF and also pressure-sensitive tablet sketching. It has voice recording and markup features. It's also cross-platform -- I've used on Windows and Linux, and if I can't take Leonardo with me it's probably going to be my new main app. Also -- nice to use when you want to sign a PDF with a "real" signature.

Not including things like GraphViz, PlantUML, etc. -- all the apps above are very responsive and support pressure-sensitive sketching, which I think is vital for ideation and exploration.

Hey! I understood that reference! That was something that stayed with me long after the "big science" (atomic rockets, Venusians, etc.) of Space Cadet. It was something that everybody had, and then it started to come true, which was amazing.

Unfortunately, it's getting to be where the part where he just mailed the phone back to his family is the more science-fictional scenario...

For most studios, the film is visualized and composed normally, then the "flat" version is used as the left eye of the stereo version. An additional set of render passes is made for the right eye using an offset camera (sometimes, if you're creative with compositing you may not need to do an actual render). This process also allows a stereo version to be created relatively cheaply if the client decides they want to do one halfway through production...

Source: Worked on several stereo animated and live action features and designed stereo compositing versioning process.

The writer pinpoints the major problem that I had with using the ROM earlier, which was that the beeper is not fully implemented for MAME. They describe how to get to the setup screen and change it to "flash" instead of beep.

Note that because the specialist keys ([ctrl] for "use front" and [alt] for "leap") can conflict with browser shortcuts, it's probably preferable to try in the standalone emulator instead of the online one.

I tried this the other day, I wasn't able to "use front" (mapped to CTRL key, which works for some things, but not others). I downloaded MAME for my computer and the Cat ROMS so I could use it without triggering a new browser window (among other problems).

When I went to use it in MAME proper, it popped up a big red warning that the port was incomplete and to expect problems. Unfortunately, they weren't kidding. I could type maybe a paragraph before the emulation hung (sometimes with the speaker activated, which was... nice). The "leap" keys worked enough to show that they could be a powerful way to get around a file.

So, yes, you can start it up and see the credit screen, but (for me at least) it's not a proper emulation. It would be interesting if some of the "distraction free" writing "appliances" like the upcoming BYOK or Alpha-Smart replacements would do something like this -- they all seem to consider features that can make review/revision pleasant to be outside their "distraction-free" mission.

Hi! Considered Janet very seriously, but couldn't see an immediate path to get where I wanted to go with it (web app, using WebGL (ThreeJS)).

There were some useful references in this thread: https://janet.zulipchat.com/#narrow/stream/409517-help/topic... and maybe I can try them later.

As it was, even with a proven production path, I still barely got something playable on time... ("Playable" is perhaps generous.)

Was there not a huge archeological effort by people all over the place to resurrect old backups and older servers so that the news archive could be complete? Lovingly retrieved, curated and donated because DejaNews was going to be "forever".

I realize that breathless reviews of "Small Wonder" and 40 line Boba Fett .sigs may not be the wisdom of the ages, but it's still an important part of the history of the Internet.

Did they also ban every member of your family as well? That _really_ wierded me out. I'm not sure a public utility (what eBay, Amazon, et al basically are now thanks to the death of brick and mortar) should be allowed such a totalitarian response.

Somehow this hasn't stopped the people selling empty PS5 boxes and knockoff handbags at all.

Well, acktually...

I just tried to set up an eBay account to buy an exhaust part. I created the account, sent the seller a message and twenty minutes later, I got a notification from eBay that I (and anyone from my household) was permanently banned because I was a "threat to the eBay community".

I haven't been on eBay for ages, and as far as I know, was certainly never threatening to anyone on or off eBay. Nobody at eBay would tell me what had gone wrong -- in fact, as soon as I asked what the problem was, they said that they had to "end the call now".

Maybe if I had signed up in person, they could let me know what crimes I'm supposed to have committed or at least save me a hour by not allowing the signup in the first place.

I did something similar to this in Racket to generate unique filetype icons for unknown files. If you're careful with your defaults it can work really well.

Sinclair ZX BASIC actually checked for syntax errors as you typed. Because they abused the character table to "pre-tokenize" all the BASIC statements, you couldn't actually misspell anything either. (ZX80 and ZX81 at least.)