Testing Game Maker: Studio build on OUYA

I am finding it especially hard to find answers to my following questions. I have just attributed it to the fact that it's such a trivial concept it's not talked about. I have always worked on the art side of projects, so I am completely clueless when it comes to setting up a development environment.

First off, I have gone though all the OUYA setup procedures and it looks like I am successfulling building the examples for use with Eclipse.


Second I have gone through all the setup instructions for using Game Maker:


Now my questions:

Setting Game Maker: Studio up to build for android requires a lot more sdks than mentioned in the OUYA documentation. It also requires  the Java JDK. Is all of this necessary?

Can I view the APK through the OUYA on my computer, or do I have to transfer it via USB stick or something to display it on my TV?

Any help and direction would be greatly appreciated. I'm very new to a lot of this setup stuff, and I don't really know what I'm doing, or all the terminology.

Thanks!


Comments

  • jtn0514jtn0514 Loganville,DCPosts: 142Member
    edited June 2013
    I helped develop the patch you linked to.

    Currently the best way to approach this as it sits right now? Forget the patch that myself and Manuel777 Developed for now...

    Install GMS and make sure you have version 1.1.1044
    Make absolutely sure you have that version as it contains the first release by YYG containing the preliminary ouya controller support.

    Next just follow GMS instructions for setting up the android side of things and that is literally it..
    You will have to install the JDK.

    Make sure you can export an APK and launch the runner on an android phone and if all is working and you have you followed the instructions to install the OUYA drivers for windows you should be able to export to it like any other android device and upload via usb without transfering back and fourth flash drives and whatnot

    You can test the apps via the runner (green arrow) but i highly recommend exporting the apk itself. It should load adb by itself and auto-load it to your ouya. This yields alot faster framerates...

    As for controller functions, just read up on the Gamepad calls and make sure Icade support under android in the general settings is checked.

    Also you'll need to make modifications to the android manifest file later prior to publishing, but thats not needed right away.
    Post edited by jtn0514 on

  • theSchaptheSchap Posts: 11Member
    Thank you for your reply.

    I am at the day job right now, but when I get home will I want to dump my environment and start over, or will the approach you helped develop not affect anything in this case?

    I think my OUYA drivers are installed correctly, it comes up as a portable media player when shown in My Computer, and I can access the file architecture, but everything is empty, and it's just the media directories (ringtones, downloads, etc).

    I have an HDMI - > DVI cable on the way, as I can't view the OUYA at my desk right now. Hopefully things will be a bit clearer once I can do that. I don't want to run the system back and forth between my PC and HDTV.

    Thanks again for your help. I'm happy to know there are experienced Game Maker developers out there that are willing to help people like myself.
  • jtn0514jtn0514 Loganville,DCPosts: 142Member
    Id dump everything and start from scratch.

    The method id helped devlop is just out of date now.

    As for the ouya drivers, if you didnt install the android sdk and modify the.google_usb.inf file to include the ouya device id and manually install the driver, then you havnt installed the driver yet.

    Follow the install and setup for gamemaker android first and then worry about the.ouya side after you know gamemaker is setup properly for android.

  • theSchaptheSchap Posts: 11Member
    Okay, thank you. I'll let you know how it goes tonight. :)
  • theSchaptheSchap Posts: 11Member
    I have just finished setting everything up again, but I'm unsure of the driver.

    It shows up under portable devices, and if I do a cmd search for "adb devices" something shows up.

    As of now I have successfully built the "OUYA-GMS" project, and "VirtualController", I have them on a USB, and I'm going to see if I can run them on the system.

    I won't have my HDMI to DVI cable until Thursday, so I feel like I'm at a bit of a stand still when it comes to knowing whether or not I have a functional setup. If only my monitors had HDMI...
  • jtn0514jtn0514 Loganville,DCPosts: 142Member
    edited June 2013
    If something shows up and you only have the ouya connected when you ran adb devices then you should be set...


    Another alternative method to sideloading APK files is to navigate to your own email and download the attached apk file you send yourself (if its not too big) and you can install this way as well.

    Keep in mind, you need to modify the androidmanifest.xml file for GMS to be able to install the app on ouya properly and have it show up.

    You need to add the ouya code to the intent-filter area. This tells OUYA that the apk is allow to run on OUYA.
    <category android:name="tv.ouya.intent.category.GAME"/
    Post edited by jtn0514 on

  • theSchaptheSchap Posts: 11Member

    I have the intent-filter stuff in, so now it's just a matter of getting it on the system.


    I was having trouble with using a USB stick formatted as FAT32 and NTFS, so I will definitely give the email thing a shot.

    I'll update tonight once I've given it a shot. Thanks again for your help.

  • theSchaptheSchap Posts: 11Member
    Update

    I found out the OUYA doesn't recognize a USB stick when plugged into it. It has to be booted up with the stick in to detect it.

    I found gmsouya in my play list, and when I loaded it up I saw the UI, but I got this error:

    data structure with index does not exist at gml_Object_controller_obj_draw_64

    Is this a result of me not completely reinstalling Game Maker: Studio?

    I still have the changes in place within the:

    %APPDATA%\GameMaker-Studio\Android\runner\src\YYAndroidPackageDomain\YYAndroidPackageCompany\YYAndroidPackageProduct\RunnerActivity.java

    I am going to try reinstalling GMS and see if that helps.
  • jtn0514jtn0514 Loganville,DCPosts: 142Member
    edited June 2013
    That is most certainly an apk error. There is something with your coding thats not right.  without seeing a complete dump of the error and or a debug log its hard to really tell whats going on. From the looks of it, it seems like the sprite_index for that object is empty and the draw event is telling it to draw itself and there is no sprite present.

    Im just guessing at the above issue as thats all you gave me to go on.

    Id start with your own hello world program that runs on android phones or windows pc. this should work the exact same on the ouya.

    If you've been messing with GMS id suggest just making your own program and writing scripts or pieces of GML to detect the controllers yourself. its identical to detecting keyboard input almost.(concept is the very same)

    (Im going from memory here)

    if_gamepad_check_pressed(controllernum,button) { do stuff here }

    if you havnt learned any GML you might want to start reading into that as game-makers drag and drop functions become USELESS very quickly when you want to build anything complex. Infact i recommend avoiding drag and drop at all costs....

    Also use the help menu>>contents>>  to search for what your looking for or need clarification on in GMS.

    This explains many many different functions you can call in GML in almost any event (draw, step, create, ect ect)

    Post edited by jtn0514 on

  • theSchaptheSchap Posts: 11Member
    That APK was just a sample that I figured I'd throw on there to see if my environment was set up correctly. It sounds like it is so I probably won't play with it any further.

    I have a project I've been working on, all GML, that I built in GM8.1. Last night I imported it into GMS and tried compiling it for Windows and got a strange error.

    (I'm going from memory here) :P

    malformed variable
    gml_object_objName_Step0_Action1 something something... - {

    probably not enough to go off of without a more accurate copy of the error. The error wasn't useful for me and it wouldn't link to anything directly.

    I'm using the Xin - 360 Controller Extension in this project. Everything ran fine in GM8.1 but now I get that compiler error in GM:S. I haven't combed through all the code yet as I ran into that late into the night.

    I'm excited to get back to it tonight, as my HDMI - DVI cable will be there waiting for me, and it will be much easier for me to test my APK files.

    I don't expect much help on this problem as I haven't been very descriptive. I just wanted to post an update as you have been helping every step of the way.
  • jtn0514jtn0514 Loganville,DCPosts: 142Member
    edited June 2013
    Well i can tell you this much i dont think extensions are supported in GMS YET... id have to double check but i thought that it was something that was coming.

    Drop the 360 controller stuff as you just need the basic gamepad checks that are already built in. it should un-clutter your code a bit too when you convert it over :)

    Let me know if you run into anything else. Glad to help people get it running.
    Post edited by jtn0514 on

  • theSchaptheSchap Posts: 11Member
    Thank you so much for your help! I can now build, and have it pop up on my second monitor, which is great. I threw together something that simply draws Hello World! (of course) and now I'm working to get the OUYA controller to work. I found THIS, but the mapping is a bit screwy and incomplete.

    There should be enough here for me to get a working layout going.
  • jtn0514jtn0514 Loganville,DCPosts: 142Member
    Glad i could help!

    Best of luck

  • tgraupmanntgraupmann Posts: 2,869Administrator, Team OUYA
    I do have a GameMaker example in the documentation section.

    Covered a little bit of GameMaker in the hangout today -

    ~Tim Graupmann
    OUYA Inc | Android Developer
    Skype: tgraupmann_prey

    http://github.com/ouya/docs
    http://github.com/ouya/ouya-sdk-examples

    Check out the latest docs for your game engine: [setup] [adobe air] [android] [clickteam fusion] [construct 2] [corona] [libGDX] [game maker] [html5] [marmalade] [monogame] [unity] [unreal]

    Use caution when setting [persistent wireless mode].
  • AmazingSparckmanAmazingSparckman CanadaPosts: 344Member
    don't bother with gamemaker, Multimedia Fusion is a million times easier to use.

    Gamemaker is good but MMF2 - you just drag and drop objects - select movement do your stuff

    and hit export to OUYA

    boom game.
Sign In or Register to comment.