Integrating GameSalad with SCORM / Tin Can API

Greetings,

I'm making an app using GameSalad. It's my first app, and it's not actually a game, but an app I'm making for teachers/instructional designers to use to help their lesson/curricula plans.

This got me thinking. I make eLearning using authoring tools like Articulate Storyline and Captivate. The only difference I'm seeing right now between GameSalad and some seriously powerful eLearning authoring tool - one that I can make gamification apps on that are embedded in my eLearning - is the ability to get GameSalad data to talk to a Learning Management System.

Typically, authoring tools address this by providing developers an embedded SCORM/Tin Can API functionality. I click a button and it exports the file into a nice *.zip package I can simply upload to just about any LMS.

I'm thinking it would be a good idea for GameSalad to be able to do this, and I would like to explore doing so, but I need to know some things.

1) Is there any way I can use Javascript or call upon external javascript files/values in GameSalad? Perhaps through a custom behavior that I am not seeing?

2) Is there any way to make GameSalad communicate with APIs?

Thanks,

EJ

Comments

  • jonmulcahyjonmulcahy Member, Sous Chef Posts: 10,408

    You can use the network functions to export / import almost any data you want. You could also leverage it for a custom Ali solution. Check my sig for A starting tutorial.

  • EJ_LeBlancEJ_LeBlanc Member Posts: 3

    I believe that's exactly what I needed to know. Thanks very much!

  • RThurmanRThurman Member, Sous Chef, PRO Posts: 2,879

    @EJ_LeBlanc‌ -- I would be very curious to see what you come up with. Since there is no SCORM/Tin Can export option in GameSalad, I suppose the easiest thing would be to come up with some sort of XML wrapper. (Which would make GameSalad SCORM compliant -- and would at least let it play in an LMS.) But I would be very interested in seeing how to export user data for use in/by an LMS.

    Please keep the community in the loop as you explore this. I doubt if you and I are the only instructional designers that use GameSalad. You could make a real contribution to the community if you can show how to turn GameSalad into a SCORM conformant product.

  • andrew.downesandrew.downes Member Posts: 1

    For Tin Can API, you should use one of the libraries here (http://tincanapi.com/libraries/ ) make the actual Tin Can calls. This helps to ensure you do things in a standard way and you can easily replace the library in future to keep up to date.

    Andrew

  • GlenjaminGlenjamin Member, PRO Posts: 5

    Any updates here? I'd really love to report a high score to Moodle LMS

  • adent42adent42 Key Master, Head Chef, Executive Chef, Member, PRO Posts: 3,034

    I actually wrote a bit of code for GS to TinCan to help someone else out:

    https://github.com/gamesalad/gstables-to-tincanapi

    Basically you can't directly access a tincan provider you have to create a proxy. The idea is that your app hits the proxy using our network behaviors, and then the proxy will send the request to the TinCan API provider.

    This example code is written assuming node and it just dumps the parsed data to the console.

    Another option, if you're willing to dig in, is to make the app an HTML5 engine out put and use something like jxcore-cordova (http://www.sitepoint.com/how-to-run-node-js-with-express-on-mobile-devices/) to run the server. In this case the proxy server is bundled with your app so to your LMS just sees the data it's expecting.

  • RThurmanRThurman Member, Sous Chef, PRO Posts: 2,879

    @adent42 -- thanks so much for addressing this. It is all over my head (unfortunately) but I am glad that GameSalad can do this. Next time someone asks if GameSalad is Tin Can compliant, I can at least point to this.

    If one of the great network gurus around here can show us mere mortals how to set up a GameSalad game so that it can communicate with an LMS, I'd be most appreciative!

  • GlenjaminGlenjamin Member, PRO Posts: 5

    Many thanks for that. It is good to know there are capabilities with Tin Can. Unfortunately I need to make a SCORM 1.2 or SCORM 2004 rather than something Tin Can since there seem to be many variables out of my control (Hosted server managed by 3rd party, other set-ups required for Tin Can) but a SCORM would be a single zip file I could load to the LMS as it is currently set up with no changes at a server level.

  • adent42adent42 Key Master, Head Chef, Executive Chef, Member, PRO Posts: 3,034

    So you can do the same thing for SCORM, it looks to be a bit easier actually using this library: https://www.npmjs.com/package/scorm-api-wrapper as part of the proxy.

  • adent42adent42 Key Master, Head Chef, Executive Chef, Member, PRO Posts: 3,034

    Out of curiosity, would people be willing to pay if host a configurable proxy for things like TinCan and SCORM? Not sure when we'd be able to do it, but the idea would be to provide a number of proxy services between the GameSalad communication format and common APIs.

  • jonmulcahyjonmulcahy Member, Sous Chef Posts: 10,408
    edited January 2016

    @adent42 said:
    Out of curiosity, would people be willing to pay if host a configurable proxy for things like TinCan and SCORM? Not sure when we'd be able to do it, but the idea would be to provide a number of proxy services between the GameSalad communication format and common APIs.

    I think having the proxy services would be a be a huge jump over the potential barrier to entry. A lot of people just don't have the know how to set them up.

    On that note, I would like a primer on what TinCan and SCORM are used for. I took a quick look the other day but didn't really have time to dive into it.

  • GlenjaminGlenjamin Member, PRO Posts: 5

    @jonmulcahy said:
    On that note, I would like a primer on what TinCan and SCORM are used for. I took a quick look the other day but didn't really have time to dive into it.

    SCORM is used for packaged learning modules running on a learning management system such as Moodle. Often they are managing hundreds or thousands of courses delivered to hundeds or thousands of users. The SCORM is a zip file containing assets, HTML and javascript files and will often be used for a quiz or similar activities. The SCORM file reports the score, and maximum scores if the test is retaken. User access and a number of other types are also exchanged so that the university or company running the course can get an overview and report on whether learners have done the course and what score they got.

    Since it is possible to export HTML5 SCORM compliant files from programs like Adobe Captivate, it should be possible for an HTML5 file from GameSalad to do the same with a high score on a game reported to an LMS. LMSs are making badges, awards, leaderboards and the like more available and I'm interested in using games as a social learning tool so that the high score from a game can be used for all the new benefits of an LMS.

    Tin Can is a new standard with more features and benefits but I'm struggling already with how SCORM works under the hood.

    @adent42 said:
    Out of curiosity, would people be willing to pay if host a configurable proxy for things like TinCan and SCORM?...

    It would need to be able to compete with scorm.com (Scorm Cloud). I would like to be able to publish to SCORM then choose where it is hosted. Scorm.com offers a free SCORM/TIN CAN driver for educational purposes and has a subscription model for hosting. Many larger corporations or educational institutions have their own LMS which is specifically intended for SCORM. Wherever the SCORM was hosted, it would still have to report the data to a company or university LMS so it could be combined with other data.

  • alexfratleyalexfratley Member, PRO Posts: 1

    a tricky one, but one i have interest in myself, I think you could however embed a html5 output from GS into a published scorm object

    say for example You create a course in articulate i imagine you could pass data from a GS game, using javascript to append to variables maybey hidden on a layer and then trigger that information getting passed to the LMS ( in flash its easy but i need to look at HTML5)

    • the html5 embed into a scorm object works with GS,
    • I was able to pass data from a HTML5 Gamesaled object using articulate to wrap up a scorm object, and using PHP and AJAX to send the variables from the scorm object to a csv file. ( a little more playing and i think i could also send to a google form)

    a little rambling but in short i think its possible, the quick test i just did is highly indicative that its possible,

    Something i shall remark on in the next few weeks,

  • GlenjaminGlenjamin Member, PRO Posts: 5

    @alexfratley said:
    a tricky one, but one i have interest in myself, I think you could however embed a html5 output from GS into a published scorm object

    This would be the ideal solution. As long as there was a block in GS that used the SCORM commands GetMaxScore() and SetMaxScore() then theoretically, publishing the SCORM file from a single Articulate or Captivate slide would be all you need.

    As someone uninitiated in javascripting I am probably over-simplifying what's required.

    regards

    Glen

  • RThurmanRThurman Member, Sous Chef, PRO Posts: 2,879

    @adent42 said:
    Out of curiosity, would people be willing to pay if host a configurable proxy for things like TinCan and SCORM? Not sure when we'd be able to do it, but the idea would be to provide a number of proxy services between the GameSalad communication format and common APIs.

    Yes, I think so.

    This could be a real selling point for GameSalad as it pushes into the education market.

  • GlenjaminGlenjamin Member, PRO Posts: 5

    I've had a bit of a chat with the scorm.com support who checked the code of the published HTML5. Their response was "it could be tricky to apply SCORM Driver to this content as a lot of the Game Salad code would have to be worked around and in some cases re-written to get everything to work."

    Really hope GS can chat with scorm.com and come up with a solution, not just for packaging as a scorm, but for reporting interactions and scores to the LMS.

    I would pay a higher subscription fee for this kind of facility.

  • wilsongaluchowilsongalucho Member Posts: 180

    Hi all,

    Any updates on the integration of SCORM.com and GS?

  • wilsongaluchowilsongalucho Member Posts: 180

    @adent42 said:
    Out of curiosity, would people be willing to pay if host a configurable proxy for things like TinCan and SCORM? Not sure when we'd be able to do it, but the idea would be to provide a number of proxy services between the GameSalad communication format and common APIs.

    @adent42 said:
    So you can do the same thing for SCORM, it looks to be a bit easier actually using this library: https://www.npmjs.com/package/scorm-api-wrapper as part of the proxy.

    Can AppFormative be used for this purpose?

  • @adent42 said:
    I actually wrote a bit of code for GS to TinCan to help someone else out:

    https://github.com/gamesalad/gstables-to-tincanapi

    Basically you can't directly access a tincan provider you have to create a proxy. The idea is that your app hits the proxy using our network behaviors, and then the proxy will send the request to the TinCan API provider.

    I've been investigating this solution, and I'm looking at ways to finish connecting it to the API. Is there a way I've missed to add fields to the table to set an account for the proxy output, or would it be better/easier to have each user with their own proxy that outputs to their individual LRS?

Sign In or Register to comment.