Just Bought an OUYA, want to develop

Monkey Targets Forums/Ouya/Just Bought an OUYA, want to develop

Landon(Posted 2014) [#1]
i downloaded the ODK but it seems that monkey can already compile to OUYA with just the android sdk, do i even need the ODK?

also about handling the OUYA controllers do i just map them like i would a generic gamepad?


time-killer-games(Posted 2014) [#2]
You need the ODK to add an OUYA "icon" though they call it an icon it's more of a small rectangular screenshot or promotional artwork of your game. This image is used on the OUYA's main "Play" and "Discover" menus. For controller support you don't need the ODK because each button is mapped out to be treated like bluetooth keyboard strokes. But the OUYA "O" button isn't the "O" you would find on a physical keyboard, none of the buttons are the same letter as the keystrokes so Google which keys are equivalent for the OUYA buttons and you should be good to go.

I don't have more than 1 controller so IDK but you might need the ODK for multiple controller/player support. Someone please correct me if I'm wrong.

I'm not certain how to use the joypads as they don't trigger a keyboard simulation like everything else does. This too might require the ODK.

I have, however, submitted a game to the OUYA store about 2 months ago that doesn't use the joypad (the D-pad instead) and it has no multiplayer and they approved the submission it has had over 100 downloads since I initially submitted it. So this does indicate depending on what you want your game to do, you won't need the ODK for anything other than the icon which is a pain in the butt.

If you'd like to see my OUYA game, it's called "Real Men Wear Pink HD" just search your Discover menu on your OUYA. For PC, Mac, Tizen, and Android (Mobile) versions including my other freeware games check out my website.

http://www.timekillergames.tk/ OR
http://timekillergames.weebly.com/

Although none of my games were made with Monkey-X, my latest WIP is being made in Monkey-X for its HTML5 port. It's called "Dungeon Blabber 3D" but right now all there is that I'm sharing, is just screenshots.


Landon(Posted 2014) [#3]
LOL i saw that game the other night and was tempted to download it.

I was able to run a game from monkey last night on OUYA, although i had to plugin my keyboard just to do a couple things but even then it seems like most of the keyboard commands don;t even work. Yea i saw that my game had the big monkey icon.

yea i think my main concern was getting the gamepad to work, i figured out using the #ANDROID_APP_PACKAGE
#ANDROID_OUYA_DEVELOPER_UUID vars in my code allowed me to upload it to my dev area without any problems.


time-killer-games(Posted 2014) [#4]
That's interesting. Well I guess I'm not that much of a help, since I used GMStudio and what I said was under the assumption Monkey-X worked the same way, but apparently not. Sorry about that. =(


AdamRedwoods(Posted 2014) [#5]
have you tried this code for testing the controller? this worked for the community target, i have not tried it using the Monkey Ouya library.
https://github.com/JochenHeizmann/monkey-ouya/blob/master/examples/ouya_joystick_test.monkey


Landon(Posted 2014) [#6]
oh nice, i'll give that a whirl later on. Also i found if i rename my apk file to .zip and open it with winrar i can just drag the new game icon over the monkey one and it shows up just fine in the store.


AdamRedwoods(Posted 2014) [#7]
monkeygame.build/ouya/res/drawable-xhdpi/ouya_icon.png


Landon(Posted 2014) [#8]
it's weird though even if i replace the icon in the template i still get the default monkey icon /shrug.. oh well.


computercoder(Posted 2014) [#9]
@Landon,

Mark did a great OUYA target using Monkey-X. There's a nice banana he provided showing the use of the controllers. Check it out under banana\mak\joytest\joytest.monkey

The OUYA is very much Android, and as such, it follows most of the same rules. Using the ODK, you would get the benefits of IAP, and the naming/use of the controllers in OUYA. The OUYA controllers DO NOT map to keyboard commands. They follow (somewhat) the gamepad Android uses; however, I have seen discrepancies between other Android controllers and them with mapping differently. Mark did a great job getting the controls mapped to work as expected with Monkey's JOY*() command sets. You CAN use the KEY*() commands for the directional gamepad, but not the analog sticks.

I have 4 controllers on my OUYA, and I can use all of them at the same time as flawlessly as the OUYA allows them to be. There are some lag issues (I have the Kickstarter Limited Edition, so mine are flawed with much latency), but the newer controllers were updated to reduce the lag the originals experienced. I think I may have even wore out one of them already tho. :|


Landon(Posted 2014) [#10]
Surprisingly i bought mine at target locally. Ok cool i didn't even know that the joypad example worked for OUYA


computercoder(Posted 2014) [#11]
It sure does! It works well for all four controllers as well. Here's the mappings you'll need to make the OUYA controls using just the base controls Mark made:


These are used with JOY_DOWN(), JOY_HIT()

Hope this helps :)


zoqfotpik(Posted 2014) [#12]
Isn't Ouya completely dead? Is there any point putting things out for it?


AdamRedwoods(Posted 2014) [#13]
Isn't Ouya completely dead? Is there any point putting things out for it?

i hear the PC is dead, too.


Landon(Posted 2014) [#14]
How is it dead? Its only been available for like a year and they sell them in store now.

lol@ Adam


zoqfotpik(Posted 2014) [#15]
I have heard nothing good about Ouya since release, comparing it to the PC is kind of stupid.

Do people actually make good sales on it?


Landon(Posted 2014) [#16]
The new OUYA they just released (Black 16gb) version fixes a lot fo the hardware bugs that the Kickstarter version and 8gb version had.

From what i am seeing the newer OUYA is getting better reviews.

i wouldn't neccesairly say it's dead (especially if they were able to release a v2 of it), as far as reviews and ratings go its in the running with the WiiU and i happen to enjoy my WiiU


Landon(Posted 2014) [#17]
Gamers these days are spoiled... Back in my day graphics and sound were crap and we had blow on our games to get them to even work.


zoqfotpik(Posted 2014) [#18]
I agree, I started programming in the Apple II days and to me an Ouya is a supercomputer.

I will probably start pushing to Ouya, may as well. Dunno if you remember but I was really enthusiastic about the Ouya right when it came out but the reviews were so terrible it looked like it was dead in the water, people are finding them in salvation army stores.


Landon(Posted 2014) [#19]
Seems the biggest complaint is the small library of games... well... that means devs just need to port their android apps to fix that problem


computercoder(Posted 2014) [#20]
The biggest complaints I recall were:

1) Very small amount of internal memory - 8GB went fast when you take away the space the OS needs
2) No way to save games to the USB storage (Not just data or saved games, but the actual binaries and the resources to be launched from the storage device too)
3) Controller lag
4) No START/SELECT type of a button. The HOME button just killed the app and returned to the main menu.

There are many small issues that were discovered early on, but OUYA fixed or at least made them better.

1) Increased memory to 16 GB
2) Spent several revisions focused purely upon giving a way to the user to move files from the OUYA and put them on the USB storage. These games could also be launched directly from the storage device.
3) Improved the controllers and reduced the lag (especially the time it takes to link controllers to the OUYA)
4) Added a double-tap and single-tap to the HOME button that allows the programmer to use the Home button as a way to get to their own custom menu. Double-Tap quits the app.

The way I see OUYA is that they have listened to their users and responded with positive changes. They have done quite well making these changes despite the negative hits they have taken on while they worked on them. I think OUYA will stay around for quite a while even if its not the top end. They have hundreds of games available, all of which can be tried before buying if not free for the taking.

I use my OUYA quite regularly and almost more frequently than either of my XBOX ONE or 360. It runs quietly, and sips on power, all while never over-heating. I have no complaints about it functionally; however, I DO wish it could allow more than ONE user to login at a time. I use a 64 GB USB memory stick that has all my games installed upon it. It just works.

I agree that the biggest complaints today are the game selection... I'm really hearing Triple-A style games that are missing. There are TONS of low quality games, but that would be expected given that its as open as it is. Anyone can build something for it. There are several gems out there on it, you just have to look.

That's my two cents worth. You either like the device or you don't. I'll stick with the OUYA. :)


time-killer-games(Posted 2014) [#21]
Edit: nevermind I missed a portion of your post so ignore this comment.

@computercoder: About the USB storage, not true at all. I have a Philips Sans a Clip MP3 Player I use for tranfering APKs to and from my PC and OUYA for both testing and playing my creations via USB Storage, which I personally access that directory with FilePwn (search this app on your discover menu). It gives you complete access to all files and folders including USB Storage when and if you have any USB devices / flash drives plugged in.


computercoder(Posted 2014) [#22]
@TKG:

I've used FilePwn and still have it installed. The problem with that app is it has (or at least had) the tendency to break apps installed on the OUYA. Using the new tools provided/developed by OUYA, I was able to move ALL of my apps from the OUYA internal storage to my USB Flash drive without any issues trying to access or use them on my OUYA. I realize that there will be different levels of success depending upon the device you are using.

OUYA did, however, make it where the games you download to be only playable upon the OUYA you downloaded them to. You won't be able to play the files on another OUYA. The good thing is that you can do what you want with side-loaded games :)

As for the [EDIT]: It's perfectly OK. I miss portions of posts too :) No worries mate!

Just thinking about you having to go through all that work to test on the OUYA... With Monkey-X, you should be able to directly connect the OUYA via mini USB to the PC USB port and fire up ANT. As long as the device is setup to communicate through the debugger, Monkey-X will automatically launch your game or app on the OUYA. Is yours not setup this way? Or is this how you have to go about it with GameMaker:Studio?


Landon(Posted 2014) [#23]

1) Increased memory to 16 GB
2) Spent several revisions focused purely upon giving a way to the user to move files from the OUYA and put them on the USB storage. These games could also be launched directly from the storage device.
3) Improved the controllers and reduced the lag (especially the time it takes to link controllers to the OUYA)
4) Added a double-tap and single-tap to the HOME button that allows the programmer to use the Home button as a way to get to their own custom menu. Double-Tap quits the app.



Yea i think i have an updated version, i can double tap for the system menu (where i can choose to close the app or change a setting) Single tap works like a normal start button. I haven't experienced any lag on my controller so i'm assuming the retail in store version has most of those fixes. Yea it gives me the option where to put my apps before and after install.

As for the memory issue... IMO that's a boohoo po widdle consoomah problem.. Honestly if any of us remember the days of cartridges then swapping usb sticks is just a first world problem and shouldn't even really be on the list of complaints. fact of the matter is you can get some beefy usb sticks so i don;t think memory should be a big deal.


time-killer-games(Posted 2014) [#24]
"Or is this how you have to go about it with GameMaker:Studio?"

Yep. Though GMS and YoYoGames have been exposed for planting spyware and retrieving analytics from the games made with that engine. So what I'm doing right now, I'm trying to set aside some money to buy Jungle so I can use Monkey more effectively, and by that time hopefully I'll be using just Monkey and scrapping GMS all together.

Monkey rocks!!
*Sorry for being off topic*


computercoder(Posted 2014) [#25]
@Landon
That's awesome that the OUYAs found in store are the latest hardware. I've thought about getting an updated one. I'd probably rip out the motherboard from my Limited Edition and replace it with the newer version :) Same with the controller... I could use a new controller anyways.

@TKG
How crazy is that? I guess when you are determined to boost your product in whichever way you need to... I'm very happy with Monkey-X. I've been with BRL products since they released BlitzMAX, but have been following them since Blitz3D was announced. Money was an issue back then so I couldn't just buy the software. I had to save up just to get BlitzMAX. It was a very good investment. I code in Monkey-X and BlitzMAX as a hobby. Eventually I'll release something on the OUYA. I don't use Windows much and do ALL my Monkey coding with Mollusk on a Mac. I'd love to see Jungle ported to Mac, but that won't happen. Ziggy uses VS.NET and Windows centric features. It'd be a very hard port. Mollusk does pretty much everything I need though - kudos to Grudlux!


malick(Posted 2014) [#26]
I'm digging using the Ouya in my development process. I have it setup to use ADB over wireless, so all I do is compile to an Ouya target and I can test my game on my big TV, with a gamepad. Ouya seems a lot more sensitive to frame rate issues than my Mac, so I can better tell when I'm doing something that's less than stellar performance-wise and look for a better way to do things.


MikeHart(Posted 2014) [#27]
I am planning to get an OUYA too once I have the money. Can you tell me more about how you have setup the ADB to go over wireless? I am on OSX too.


Sensei(Posted 2014) [#28]
I agree. @malick, I do the same and it's a very enjoyable experience to test on the real deal.

Talking of, I'm a little confused as to how to solve the menu (U) button on the Ouya controller.
Basically, in my game, I want to be able to push this button to return to the game's main menu, which it does.
However, it seems to have a side-effect of if you don't press it again, it quits the game altogether.
In addition, when you load the game up, no controls work until I press the fire button to what seems to me to be activating the controller. On the other hand, if you load the game and push the (U) button on the menu, it then appears to enable the rest of the buttons to work!
This only appears to have started happening since I've changed the code to use the (U) button, so I'll have to look over the code again to see if I've introduced a problem.
However, I have read elsewhere on here that there was some (U) button issues.
Anyone else have this problem and/or a solution?


malick(Posted 2014) [#29]
@MikeHart - There's an option on the development menu on the Ouya where you can enable ADB over the network. Turn that on. You'll have to do that every time you power cycle the device though, since the setting doesn't stick. Then, on your Mac you run two commands from the command line:

adb tcpip 5555
adb connect 192.168.1.2 (or whatever the IP address of your Ouya is)

Once you've done that, when you compile to the Ouya target, after a few seconds the game will pop right up on the screen.


MikeHart(Posted 2014) [#30]
thanks for the info.