[Hopperxx] converting .dir and/or .dcr to HTML5 and/or other languages
Jim Andrews
jim at vispo.com
Mon Feb 2 16:58:17 CST 2026
Here's what I'm going to do to use Claude Code to create an HTML5
version of Arteroids ( arteroids.vispo.com ) which was originally
written in Director.
I have already done a few weeks of work creating small parts of the
JavaScript/HTML/CSS. That will be hopefully a good foundation for how
'we' will proceed.
I'm going to break the job down into small steps. For each small step,
such as the creation of the Main Menu, I'm going to create a PDF spec,
which I will get Claude to read before starting that particular step.
Claude can ask me questions after reading it. The PDF will contain text
and screenshots about the feature, and will describe what I want done in
great detail.
I will then iterate once or twice and then edit the code myself to
hammer it into shape. And test it, debug it. Before moving on to the
next small step.
I may also include in the PDF Lingo scripts from the original Arteroids
source code that Claude can base his/its work on. I had some success
with that when I asked Claude to create a gradient animation that was
done with Lingo.
ja
On 2026-01-26 1:48 a.m., Danny Kodicek wrote:
> The project wasn't trying to make a complete port of Flash, just the
> parts that we used, but it did cover quite a bit of the AS3 library.
> Most of flash.display, also flash.events, flash.geom, and a few
> others. In theory I'm sure we could have done the whole thing.
> You're right that Director would have been a lot harder, not just
> because Lingo is different from ActionScript but because Pixi is very
> closely modelled on Flash, so there was a close correspondence between
> concepts. We did do a very similar project several years ago when we
> first ported our software across from Director to Flash, and it was
> definitely a lot more work. But again, we did create that interstitial
> layer of code, so rather than using Flash's Point and Rect objects,
> for example, we created our own classes called DPoint and DRect that
> were modelled on Lingo's version, so that we didn't have to check
> through every instance in our code where we used them. In theory, we
> might have done the same thing for Lingo's List objects, so that we
> could continue to use 1-based addresses instead of 0-based.
> It definitely wouldn't be a small job, but I'm sure it's doable. I'm
> much more sceptical about doing it using AI, though. AI's great at
> pattern recognition, but those conceptual differences between Director
> and HTML5 require a lot of creative problem solving. And the danger
> with using AI is that it produces such plausible-looking code that it
> might take as long to debug as it would to do the original project
> yourself
>
> On Mon, 26 Jan 2026 at 00:41, Jim Andrews <jim at vispo.com> wrote:
>
> Hi Danny,
>
> I expect you're familiar with Ruffle ( https://ruffle.rs ), which
> many people use to emulate Flash work. Was the Flash work you were
> dealing with too advanced for Ruffle?
>
> I suppose ActionScript, being quite JavaScripty, was a kind of
> natural for your approach. Of course, Lingo isn't.
>
> If I understand you correctly, DisplayObjectContainer,
> DisplayObject, BitmapData etc would be the classes from which
> Flash media members are constructed. For the most part? But
> Actionscript involves all sorts of things other than media members.
>
> Could you flesh out your ideas a bit more and tell me why you
> think this would work with Lingo and Director?
>
> ja
>
> On 2026-01-25 10:05 a.m., Danny Kodicek wrote:
>> I haven't looked at translating Director across, but for
>> what it's worth I have made a pretty reliable engine for porting
>> AS3 across to TypeScript using the PixiJS framework. The basic
>> principle was to make an interstitial layer of classes that mimic
>> the AS3 library (DisplayObjectContainer, DisplayObject,
>> BitmapData etc) but translate all the concepts across to Pixi.
>> Then we simply transpiled our AS3 code into TypeScript, calling
>> these classes. So as far as our original code is concerned, it
>> still "thinks" it's running in Flash. I'd probably handle a
>> project like this in much the same way
>>
>> On Sun, 25 Jan 2026 at 17:24, Erik Loyer <erikcloyer at gmail.com>
>> wrote:
>>
>> Hi all,
>>
>> Great to see this thread. I’ve been taking a similar approach
>> in trying to update my Shockwave site Lair of the Marrow
>> Monkey from back in the day. Google’s AI IDE Antigravity has
>> been my tool of choice lately, it’s forked from the same
>> editor VS Code is based on so familiar to me. I have access
>> to the original .dir files for the project, and so manually
>> extracted the script files using an Infinite Mac
>> <https://infinitemac.org> emulator and created a CSV of the
>> cast that identifies the type and content of each element.
>> Then, I kicked off the process with a prompt that tried to
>> explain the project and a little bit about Director. It’s
>> taken a fair amount of iteration, but I’ve had good results
>> in recreating a piece in the “single frame script-based”
>> style. I’ve enclosed the prompt below in case it’s helpful
>> for anyone — would be great if we could create something
>> standardized that explained Director to the LLM and that
>> could be reused for multiple projects. My prompt includes a
>> lot of specifics about this particular piece, but hopefully
>> still useful. Happy to provide more details if helpful.
>>
>> -Erik
>>
>> ——
>>
>> Prompt:
>>
>> In this project, I am updating a 1998 Shockwave-based website
>> called "The Lair of the Marrow Monkey" to modern web
>> standards. The website contained various pages with Shockwave
>> player embeds, and I want to focus on porting those embeds
>> before rebuilding the website itself. I've created a folder
>> called "archive" which will contain artifacts from the old
>> project, which was created in Macromedia Director 6. I'd like
>> to start with an embed called "02". The "02" folder in
>> "archive" contains a CSV which describes the contents of the
>> "Cast," which was the name for a media and script library in
>> Director. Each row corresponds to a single "cast member," and
>> columns indicate related content and metadata, unique to each
>> cast member type. For text and script cast members, the
>> content can be found in the "02files" folder, in files with
>> the same name. The "Data" file contains data powering the
>> piece, while all of the other text files are scripts written
>> in the Lingo programming language. Director files contained a
>> "Score" where media and scripts would be placed. "Init
>> Script" is the first script to be executed in the score, so
>> let's focus on porting it first, with display and layout
>> handled in HTML and CSS as a baseline, and Javascript used
>> for dynamic elements. I've created a "ports" folder, and a
>> "02" folder inside of that, that is where we'll assemble the
>> ported version.
>>
>> [This resulted in a detailed implementation plan which I was
>> prompted to approve, and things proceeded from there...]
>>
>>
>>> On Jan 25, 2026, at 7:51 AM, Robert Gordon
>>> <rob at article19.com> wrote:
>>>
>>> I don’t have many Director projects of any value lying
>>> around that I hadn’t already manually ported to Flash, then
>>> HTML5 (with CanvasJS) then HTML5 again (with PIXIJS) then
>>> again to a more native-in-the-browser implementation with
>>> lots of css.
>>>
>>> For fun, I did ask ChatGTP the following:
>>>
>>> Translate the following macromedia director lingo code into
>>> javascript:
>>> on exitFrame
>>> go to frame 7
>>> end
>>>
>>> I was surprised and impressed at the response. It
>>> understands Director’s use of a playback head and how to
>>> implement animation in JS. I wonder how many Directror/Lingo
>>> concepts it has a handle on. If you have access to all of
>>> the original media & source code, then perhaps give up on
>>> decompiling the dir/dcr and focus on the code porting
>>> through ai with a different media management mindset (not
>>> sure how many of us were using sprite-sheets and
>>> texture-atlases back in the ole Director days…).
>>>
>>> Good luck!
>>>
>>> r o b
>>>
>>> *Robert Gordon*
>>> The Article 19 Group Inc.
>>> 514.938.8512
>>> rob at article19.com
>>> www.article19.com <http://www.article19.com>
>>>
>>>> On Jan 25, 2026, at 10:31 AM, Paul Catanese
>>>> <catanese.paul at gmail.com> wrote:
>>>>
>>>> Dear Jim-
>>>> Just wanted to pipe up that I'm fascinated and very
>>>> interested in this direction; it would be great if it could
>>>> bear fruit. I don't have time to focus on this deeplyy,
>>>> but I am cheering you on, and wanted you to know it, and
>>>> wanted to share some thoughts. The idea that an old
>>>> director project could be translated to html5 seems like a
>>>> great dream. Would love to see it.
>>>> I was not aware of the projectorrays project - this
>>>> certainly could be of interest.
>>>>
>>>> I was also fascinated about Danny's comment about .dir's
>>>> being.zip's - I didn't know that, but I had effectively
>>>> shifted away from Director by around 2006.
>>>> Googling a bit, I did come across this post that speaks to
>>>> the internal structure as an RIFX container.
>>>> https://nosamu.medium.com/a-tour-of-the-adobe-director-file-format-e375d1e063c0
>>>> This direction is a bit lower-level than I'd want to get
>>>> mixed up in, but could be useful in thinking about what
>>>> needs to be extracted.
>>>> There's a few references at the bottom of the document
>>>> that may also be of interest, including the projectorrays
>>>> project.
>>>>
>>>> Please forgive some preaching to the choir, but wanted to
>>>> jot down some general thoughts:
>>>> * Recalling that some projects used 1-frame loops
>>>> w/parent-child scripts, some used "timeline only", and
>>>> majority used a hybrid approach e.g. approaches where
>>>> instances carried behavioral scripts - I would suspect that
>>>> these different authored-project architectures might
>>>> require differing translation approaches for HTML5.
>>>> * Large multi .dir projects would likely derive back down
>>>> to one of those cases.
>>>> * Functionalities provided by 3rd party xtras seem like
>>>> another area of particular wrinkles to be unwound, as would
>>>> some internal xtras like quicktime.
>>>> * webgl should certainly be robust enough to handle
>>>> shockwave 3d scenegraph & related functionalities
>>>>
>>>> *emulation?*
>>>> In the net.art context, I had spoken with the Rhizome folks
>>>> years ago, and their approach to preserving (flash) works
>>>> was the emulation as a service model. They also did some
>>>> interesting preservation techniques for director CD-Rom's
>>>> in which old hardware would run projects natively, and then
>>>> results streamed to clients - but the costs were personally
>>>> way out of reach. I'm not even clear if they are still
>>>> involved in anything like that. The approach you're talking
>>>> about is a refreshing new angle for director works. That
>>>> said, I did start to wonder what it would mean to have a
>>>> software emulator, perhaps even a browser-based emulator
>>>> that could run director projects, rather than converting them.
>>>>
>>>> *Bigger picture still*
>>>> Jon Ippollito & Richard Rinehart's book: Re-Collection
>>>> offers another thought - that new media art projects might
>>>> be better considered as notation based (e.g. like music or
>>>> theatrical productions) - so that recreating media artworks
>>>> with new tools is part of their nature. I was at the WRO
>>>> art center in Poland a few weeks ago, and they had
>>>> recreated pieces like Camille Utterback's "text rain", as
>>>> well as an early Paul Sharits piece, and a rutt-etra style
>>>> video rasterization demo, among others, that fit into this
>>>> framework - check them out here
>>>> <https://wrocenter.pl/pl/mi/>. The guy who did the heavy
>>>> lifting: Pawel Janicki might be interested in your project.
>>>>
>>>> -paul
>>>>
>>>>
>>>> On Sat, Jan 24, 2026 at 7:46 PM Jim Andrews <jim at vispo.com>
>>>> wrote:
>>>>
>>>> Hi Danny,
>>>>
>>>> I expect you already know about ProjectorRays:
>>>> https://github.com/ProjectorRays/ProjectorRays . It
>>>> isn't fantastic but it's something.
>>>>
>>>> This friend of mine I mentioned says "I never used
>>>> copilot. I am in the IntelliJ ecosystem - WebStorm.
>>>> They have in there "junie" coding agent, which as far
>>>> as i know built on top of Claude model."
>>>>
>>>> People are raving about Claude Code. Anyway, my friend
>>>> seems to think that this sort of AI could well convert
>>>> something like .dir files to HTML5. I'm not sure he
>>>> appreciates the difficulty of the problem--though he is
>>>> a pro programmer. Maybe he does.
>>>>
>>>> Anyway, I suspect that if we could get some specs and
>>>> whatnot on Director, that would help in the process.
>>>>
>>>> All of us spent eons creating work with Director.
>>>> Anyone else interested or have info to share on this
>>>> question??
>>>>
>>>> ja
>>>>
>>>> On 2026-01-24 3:27 p.m., Danny Kodicek wrote:
>>>>> Adobe / Macromedia always insisted there was no way to
>>>>> decompile .dcrs (although that always sounded unlikely
>>>>> to me). But IIRC .dirs were like .docs - just zip
>>>>> files with a different name. Theoretically I think you
>>>>> should be able to rename them to .zip and open them
>>>>> up. That might only be true for later editions of
>>>>> Director, though - and it might not be true at all!
>>>>> Maybe I'm just making it up...
>>>>>
>>>>> On Sat, 24 Jan 2026 at 21:50, Jim Andrews
>>>>> <jim at vispo.com> wrote:
>>>>>
>>>>> Hello dear Hopper folks,
>>>>>
>>>>> I have a question and issue to raise with you
>>>>> about conversion of
>>>>> Director stuff to HTML5 (or other formats).
>>>>>
>>>>> I am a newbie at using AI in my programming
>>>>> practice--just started the
>>>>> day before yesterday with Copilot in VSCode. So
>>>>> far so good.
>>>>>
>>>>> But a friend of mine is intent upon using more
>>>>> powerful AI tools to
>>>>> convert the Arteroids
>>>>> (https://arteroids.vispo.com) source code .dir
>>>>> into html5.
>>>>>
>>>>> Not surprisingly, the thing he's having problems
>>>>> with is the dir format.
>>>>> There is a published format for SWF, and there's a
>>>>> decompiler for
>>>>> Director, but I guess AIs are going to have big
>>>>> problems trying to
>>>>> 'translate' dir or dcr files.
>>>>>
>>>>> Has anyone approached Adobe about making some (at
>>>>> least) documentation
>>>>> about Director public so we can try to salvage and
>>>>> convert the IMMENSE
>>>>> work many of us did in creating Director work?
>>>>>
>>>>> And what is out there now, if anything at all?
>>>>>
>>>>> ja
>>>>> https://vispo.com
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Hopperxx mailing list
>>>>> Hopperxx at vispo.com
>>>>> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Hopperxx mailing list
>>>>> Hopperxx at vispo.com
>>>>> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
>>>> _______________________________________________
>>>> Hopperxx mailing list
>>>> Hopperxx at vispo.com
>>>> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
>>>>
>>>> _______________________________________________
>>>> Hopperxx mailing list
>>>> Hopperxx at vispo.com
>>>> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
>>>
>>> _______________________________________________
>>> Hopperxx mailing list
>>> Hopperxx at vispo.com
>>> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
>>
>> _______________________________________________
>> Hopperxx mailing list
>> Hopperxx at vispo.com
>> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
>>
>>
>> _______________________________________________
>> Hopperxx mailing list
>> Hopperxx at vispo.com
>> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
> _______________________________________________
> Hopperxx mailing list
> Hopperxx at vispo.com
> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
>
>
> _______________________________________________
> Hopperxx mailing list
> Hopperxx at vispo.com
> http://vispo.com/mailman/listinfo/hopperxx_vispo.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://vispo.com/pipermail/hopperxx_vispo.com/attachments/20260202/14fd1dac/attachment-0001.html>
More information about the Hopperxx
mailing list