DRAW statement: just implemented the "A" and "TA" commands (sample app)

Started by CharlieJV, Oct 23, 2022, 03:06 AM

Previous topic - Next topic

johnno56

May your journey be free of incident.  Live long and prosper.

CharlieJV

Quote from: johnno56 on Oct 23, 2022, 06:52 AMNicely done!

Thanks!

It was surprisingly not that horrible to implement.  I'm surprised the contributors to wwwBASIC held off on doing that.

Them bigger javascript brains may have had some fancier code in mind.

Of course, time will tell if I didn't quite get it right ...

johnno56

Looks good so far... Who knows... Maybe you will give Ray Tracing a run for its money... :)
May your journey be free of incident.  Live long and prosper.

CharlieJV


johnno56

May your journey be free of incident.  Live long and prosper.

CharlieJV

Quote from: johnno56 on Oct 24, 2022, 03:41 AMOh... Now you are just showing off,,, Very cool...

Man, I wish I could say I had the mad skills to code something like that.

Nah, that's based on a QB64 version (by "bplus") of the SpecBAS program by Paul Dunn.

wwwBASIC already had most, if not all, things needed to get that program working without much fussing.


johnno56

Regardless... 'You' managed to run it in a browser. To me anyway that is a 'mad skill'...

So... How about a pleasant version of Doom? Duke Nukem? 3D Wolfenstein? Ok... A little 'over the top' maybe... Pong? Breakout? ... Oh. Lemmings would be nice... or even a text adventure...  Too much too soon?

Looking forward to your next feature...

J
May your journey be free of incident.  Live long and prosper.

CharlieJV

Quote from: johnno56 on Oct 24, 2022, 07:09 PMRegardless... 'You' managed to run it in a browser. To me anyway that is a 'mad skill'...

So... How about a pleasant version of Doom? Duke Nukem? 3D Wolfenstein? Ok... A little 'over the top' maybe... Pong? Breakout? ... Oh. Lemmings would be nice... or even a text adventure...  Too much too soon?

Looking forward to your next feature...

J

Man, everything is a shiny object to me, so I am easily tempted.

Nah, I am much too hyperfocused on BAM's compatibility with GW-BASIC, and compatibility with QB64PE.

And then compatibility with not-quite-sure-yet-which-ones.  Whatever makes it easy to run programs we can find on the web without too much tweaking.

So many wildly interesting things to do, so few hours in a day!

johnno56

If it is not too personal a question, what kind of skills are required to do what you do with BAM? (without revealing any trade secrets, of course.) Creating anything like an interpreter type program to simulate this or that, is fascinating. Just curious as to how this is done...
May your journey be free of incident.  Live long and prosper.

CharlieJV

Quote from: johnno56 on Oct 24, 2022, 10:15 PMIf it is not too personal a question, what kind of skills are required to do what you do with BAM? (without revealing any trade secrets, of course.) Creating anything like an interpreter type program to simulate this or that, is fascinating. Just curious as to how this is done...

Pff, no trade secrets here.

I have no idea how to build an interpreter from scratch.

Back in the fall of '21, I gave up trying to figure out a way to get QB64 programs running in web browsers (can't get more cross-platform than that).  Web Assembly (WASM) and Emscripten (compile C and C++ to WASM) was all way over my head.

That's when I discovered wwwBASIC and thought: what if the programs were created with and stored in a TiddlyWiki instance, and TiddlyWiki used to export BASIC programs for running in any web browser?

I've made some significant enhancements to the original version of wwwBASIC embedded in BASIC Anywhere Machine.  Without knowing anything about building interpreters, and without knowing much (and despite seriously loathing) javascript.

Whatever statements/functions/operators I've added to wwwBASIC, I just find already existing javascript code in wwwBASIC that matches what I'm trying to implement, copy that code, and alter it as necessary.

So despite those skills, I've got enough programming and systems analysis experience over my career that I can figure things out (with significant help from what I find via good old Google Search.

From zero (Dec 2021) to wanna-be-hero (today), I've learned so many things, but I really have no idea how to explain any of it.

Although I haven't bothered figuring out how to wwwBASIC contributors went from nothing to the last version of it, there are loads of articles on the web about building simple interpreters.

This multi-part series of articles seem really good: Let's Build A Simple Interpreter. Part 1.

QBJS is another interesting project.  (Can't compare BAM to QBJS or vice versa.  Both really good at what they are meant for.)

To me, QBJS is the way to go to get beautiful QB64 programs to the web.

While BAM is about making it easy to manage your code (think source code repository) and share that code (think deployment) via various export options.  And putting into practice some really interesting concepts (promoting source code from development to production, include libraries of source code, and metaprogramming/scripting, using BAM programs as "servers" in any other TiddlyWiki instances. )

Trying to squeeze all of that between consulting gigs.  If it don't kill me, it might make me stronger or just make me curl up and cry?