ID:106660
 
Keywords: dm, flash, javascript
The topic has come up a few times recently (mainly via myself and OrangeWeapons), and I distinctly recalled a few past experiences when I was an active 14-year old on BYOND, getting help from the likes of Evi of au. I'm aware that Jtgibson had actually posted a quite insightful (though a bit difficult to read) article in his forum a while back, but I have been unable to find it.

In any case, this has been proven possible, but I feel it has not been showcased well enough. When I was working on my proof-of-concept project, Alphabetize with JavaScript, I came up with the notion that DM easily has the capacity to function alongside JavaScript. And I recalled an article about Flash and JavaScript communication from both Adobe and the ActionScript page itself, as well as several others. Well, apparently our friend Danial.Beta had the same idea, with help from Elation (or perhaps it was the other way around?). Now, I'm no expert in ActionScript (I've actually never touched the language), but I'm familiar with the idea that there are numerous benefits to it (Flash is rather popular), and I could imagine a few uses for it myself in future projects (namely cutscenes, but I have thought of uses that would include variables).

Well, if you consider that a) DM can communicate with JavaScript, and b) JavaScript can communicate with ActionScript, then due to the Law of Syllogism, we have DM-Flash communication. How, might you ask? Well, below I will provide a list of resources that I found with a little bit of research, that hopefully will benefit BYOND in one way or another. None of this was my doing - I simply am bringing to life these facts/posts that I felt went unnoticed/underappreciated. The following resources were created originally by Scoobert (which is what reminded me of this, his game Flash Chat). I may or may not get into ActionScript (I have a lot on my plate as it is), but I bring this up because I feel some games might benefit - and honestly I'm more pro-freeware, and would rather see computer science flourish, rather than be incredibly closed-minded like Apple is.

In any case, here we go:


The original article, as mentioned previously, was by a well-known Scoobert (Danial.Beta), who with the help of Elation created this nifty tutorial, which primarily explains all you will need to know. It's actually a lot simpler than most of us think, and I really hadn't thought of finding this again until I made my JavaScript demo. Simple variables can communicate rather well, and the better part is that it is all client-sided. Now, another BYOND member, GhostAnime was kind enough to update this code, so he provided this update.

A lot of people won't see the benefits of this at first, so let me provide you a couple of ideas that came to mind for me:
  • More cinematics. And at that matter, more fluid cinematics. We already knew this was possible via the browser anyways, but consider this option - if you were to have a battle cutscene, you could provide variables for proper attire (weapons, clothing, etc.), and proper battle actions (slash, projectile, etc.). It would be more fluid than BYOND cinematics, and there are more possibilities for art.
  • Better html browsers - with this, you could probably create a nice browser within the interface that wouldn't actually be a drag to have - I mean sure, with proper CSS and HTML, you can already get a lot done with the browser to make it tolerable, but if you can get the Flash variables to communicate with your DM actions, you can make a really nice browser interface to work alongside your game. Just don't overdo it!
  • Character creation/customization: I considered the dress-up games that are so frequently found, and thought about gameplay customization: The possibilites of art would be a lot broader (though it's somewhat easy to port in well-done art into BYOND anyways), and again, movement would be a lot better than the grid BYOND uses.


Every reason I stated above can easily be done in BYOND anyways, but Flash alongside would be a) interesting to see, and b) could possibly create a few easier options as far as programming concerns go (especially with the cinematic option). I would be tempted to say I wouldn't rely on these methods, and it is more proof-of-concept than anything (like my JavaScript demo), but I'd be interested to see if someone could come up with a game that was efficient and did some nifty things with Flash implemented.

Anyways, I remember I was looking into this, as was OrangeWeapons, and I felt it was a find that should not have gone unnoticed. Perhaps it was for a reason, but I wanted to bring it up for the sake of the possibility that someone might do something cool with this find afterall.
Hrmm... good stuff. Thanks for the refresher. There's a ton of this kind of stuff on BYOND. Just buried.

The biggest deal here is that a flash client on the web can communicate with a BYOND server which opens up the possibility of easy multi-player games for cheap. Perhaps not anything real-time but just about everything else. Not only that but scoreboards and other kinds of persistent things can be done without the additional complexity of server side logic.

Do you understand the Flash Chat? How does it help to "have" flash installed as its described on the site? Where is the flash component in that chat? I don't see it and I don't get it.

I'm interested in learning more about this possiblity.
There are quite a few interesting finds actually, and I agree they are buried - I wish they weren't though. I'm not sure if anyone was particularly familiar with him, but BobOfDoom showcased an embedding of Python in DM, as did Gughunter in his mapdump library. Arguably, each of these is definitely proof of concept and not in the slightest bit useful, but I thought Flash could have some uses if one was creative enough.

I agree about the flash client - it will create seamless integration of the games and will render a lot of people's website more... interesting, having a BYOND game running around perhaps in the middle of the screen. :P Navigating a site whilst playing Casual Quest altogether in the same screen, that would be rather amazing to say the least, if it is done properly.

As far as FlashChat is concerned, it looks like a normal chat program. I think it was intended to use Flash not as a feature but again as a proof of concept - to say look, BYOND can grab information from ActionScript. This find I posted actually showed how that communication can go both ways. Though, hopefully Danial.Beta will comment here to provide further explanation of FlashChat, and any other additional findings. I'm sure that having Flash installed however would probably allow more efficiency as far as a client is concerned, but I honestly cannot speculate further than that.

I'm considering turning my site into a guild for the lost treasures/gems that BYOND has, both programming and game wise. I feel people focus on the negative and great finds, like this one of Danial.Beta's, go unnoticed or forgotten.