Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Appcrafted — a simple web service to manage content in your game [PRE-RELEASE]

Discussion in 'Assets and Asset Store' started by theBrandonWu, Jan 15, 2014.

  1. theBrandonWu

    theBrandonWu

    Joined:
    Sep 3, 2009
    Posts:
    244
    Connect your game to the cloud! Appcrafted is the cloud game platform for Untiy.

    How to easily start streaming new content into your game? Appcrafted!

    We built Appcrafted for game developers to start connecting your games to the cloud. What does that mean?

    - Easily deliver new levels, characters, and hats(!) to your game without having to patch it. How? Just upload your asset bundle via the dashboard and retrieve it from the open-source plugin

    - Update any text in your games dynamically. Great for making announcements to all the players across all your games! (quick example project video+code)

    - Keep your players coming back for more by leveraging the Appcrafted platform to deliver fresh new content dynamically to your apps.

    - (coming soon) Allow players to upload user-generated-content back to the cloud. You can then use our web API / JavaScript / Unity plugins to share this new content on the web or in your games.

    Integrate easily with our snappy dashboard and Unity plugin and get back to what you do best (creating awesome games!) in no time.

    Appcrafted is a cloud platform as a service. We want to take care of all of those server-side features, allowing you to focus exclusively on making your games. Give it a test drive and let me know what you think, and what features you'd like to see!

    Try the dashboard here: Appcrafted.com
    Download the Unity plugin preview here (v0.1): Appcrafted Unity Plugin


    And the dashboard looks like... this! ;)
    $aivs.jpg $blmi.jpg
     
    Last edited: Jan 21, 2014
  2. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    Cool stuff Brandon! Glad to see this finally ready for prime time. Other readers, I know this guy and he's an awesome developer and I expect will provide killer support for this rather unique product!
     
  3. theBrandonWu

    theBrandonWu

    Joined:
    Sep 3, 2009
    Posts:
    244
    Thanks Brian! Let me know if you've had a change to give it a test and if any feedback. Hoping to add examples and tutorials soon! :)
     
  4. Chris-HG

    Chris-HG

    Joined:
    Aug 10, 2012
    Posts:
    63
    Excellent!

    Does this rely on the WWW class in iOS?
    *edit* I see you're using UnityWeb. Don't forget to time out your WWW/Request calls ;)

    Does the asset have to pulled every time the app starts? Why not save into PlayerPrefs or to temp?

    What is the backend nosql engine?


    We are using eXist-db + WWW in our iOS app.

    Here is a snippet of a user class which interacts with the server:

    We also have the ability to apply patches on the fly. Build the patch DLL to a common interface, throw it on the HTTP server, register it as a patch in a patches.xml doc to become visible to client, who downloads the bytes, creates a type and invokes the common interface.
     
    Last edited: Jan 17, 2014
  5. theBrandonWu

    theBrandonWu

    Joined:
    Sep 3, 2009
    Posts:
    244
    Thanks @Chris HG!

    Nope, as we discussed on the other thread, WWW on iOS isn't quite there yet so on iOS we are using the HTTP class from unityweb. See line 127 to 153 here.

    Backend: AWS with DynamoDB -- DynamoDB is super fast with its solid-state drives.

    Definitely check out our dashboard / plugin when you get a chance. We want it to be simple and clean before rushing to add a ton of features. :D
     
    Last edited: Jan 17, 2014
  6. theBrandonWu

    theBrandonWu

    Joined:
    Sep 3, 2009
    Posts:
    244
    lol good one! Will get this in soon ;-)
     
  7. Chris-HG

    Chris-HG

    Joined:
    Aug 10, 2012
    Posts:
    63
    I just checked out the dashboard. You're going in the right direction.
     
  8. Chris-HG

    Chris-HG

    Joined:
    Aug 10, 2012
    Posts:
    63

    if(_http_request.Action == HttpAction.GET)
    _www = new WWW(_http_request.Uri);
    else if(_http_request.Action == HttpAction.POST)
    _www = new WWW(_http_request.Uri, _http_request.Data, _http_request.Headers);

    _http_request.Behavior = this;

    while(TimeElapsed <= _http_request.Timeout !_www.isDone !_request_cancel)
    {
    update_transfer_progress();
    yield return null;
    }
     
  9. theBrandonWu

    theBrandonWu

    Joined:
    Sep 3, 2009
    Posts:
    244
  10. theBrandonWu

    theBrandonWu

    Joined:
    Sep 3, 2009
    Posts:
    244
    That is neat! We'll look into supporting that and see if we can help simplify the process. :)
     
  11. theBrandonWu

    theBrandonWu

    Joined:
    Sep 3, 2009
    Posts:
    244
    Update:
    - File upload size increased. Now you can upload up to 20mb per file.
     
  12. theBrandonWu

    theBrandonWu

    Joined:
    Sep 3, 2009
    Posts:
    244
    Just recorded a video showing how you can update a string in your games from Appcrafted.com — use it for player announcements for example (giveaways, promotions, jokes...etc. ;) )

    Download the project here: Appcrafted Example 01



    Download the project here: Appcrafted Example 01
     
    Last edited: Jan 21, 2014
  13. theBrandonWu

    theBrandonWu

    Joined:
    Sep 3, 2009
    Posts:
    244
    Last edited: Jan 21, 2014
  14. Nezz

    Nezz

    Joined:
    Jul 10, 2014
    Posts:
    8
    Hi community, I'm trying to access was dynamodb via unity. I viewed some of the posted code but didn't find what I'm looking for but since I don't really know what I'm looking for I could've missed it. Can someone direct me in the right direction?
     
  15. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,225
    This thread died, too bad, I like the direction this was going.