Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

Anyone developing for OUYA?

Discussion in 'General Discussion' started by derkoi, May 15, 2013.

  1. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    I'm on a 32" hdtv here and enjoying it.. although I well imagine some folks are using a Ouya on like a 60" or even bigger, which must be pretty cool.

    I think Ouya should gather up all the files/sdk's/drivers/whatever that are needed to get the Unity integration working and store them in one place in a single zip or something along with proper documentation and some kind of very easy installation wizard where you basically just accept end-user licenses or whatever and away it goes. And then the user input should be totally easy to work with, like import a package and it just works. I'm kind of intimidated also by that huge Ouya `window` within the unity editor with all kinds of buttons and tabs and what-not.... I mean really. Ease of use, not. It should be as simple as a few settings and hit built and play the game.

    I agree at the moment the Ouya audience is not very big and that will put off a lot of people from bothering to port to it, kind of a chicken-and-egg thing. That said, since there are so few titles available and it similarly beckons that you could clean up if you had a decent game on there, especially if there are no other games like it on there, which isn't hard to do right now.
     
  2. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    What about audio though?
     
  3. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    I think of that as the Wall of Buttons user experience. :) In reality, once you get past the crazy initial setup, it is just a matter of hitting Build and Run like anything else, at least in terms of deployment.

    One area that's not so nice is debugging. On the Xbox with XNA, you could simply do a debug build and set your breakpoints. You could then debug while your game was running on the Xbox. Very handy. I assume there's no way to do that on Ouya with Unity.
     
  4. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,526
    As much as that'd rock I don't think it's possible, as some of what's needed is 3rd party - Java and Android SDKs and drivers, for starters. It should be technically quite doable, but license wise I expect there'd be significant hurdles. They can't even link directly to the versions of the Java SDKs that you need because they're behind user account logins.
     
  5. UnknownProfile

    UnknownProfile

    Joined:
    Jan 17, 2009
    Posts:
    2,311
    Oh, those are quite useful indeed, but you would need to send audio separately (and there is no audio out on the Ouya). I have a 30 foot HDMI to DVI-D cable that occasionally hooks my iMac up to my TV in the adjacent room. What gets messy sometimes is the additional 30 foot audio cable.

    About the audio, you're not at a huge loss. My Ouya's audio only works half the time as it is :D.
     
  6. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,526
    Oh? That's interesting.

    When we took Master Thief to AVCon we found that there was no audio when we initially set things up on both mornings. Re-plugging and rebooting everything solved it, so we thought we'd just missed something but really couldn't figure out what. It's interesting to hear that others have had similar issues...
     
  7. UnknownProfile

    UnknownProfile

    Joined:
    Jan 17, 2009
    Posts:
    2,311
    Whenever the audio stops working, changing the HDMI port usually seems to solve the problem, but not always.
     
  8. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    Maybe ouya should talk to the folks who make the various sdks and get a license arranged that lets them host a local copy or something.

    Anyway.. Just got done doing some speed tests on Ouya... for a game I had in mind I either need to grab the backbuffer or upload a texture each frame. Poor results though, very poor. 512x512 ARGB texture upload can only run at ~40fps. 256x256 can only run at ~85fps. Can't be doing many realtime modifications there and expect a smooth framerate. Also grabbing the backbuffer is crazy slow, 512x512 runs at ~16fps, 256x256 at ~22fps. Render Textures where are you? :) Also seems that the difference between 1080p and 720p in terms of pure frame-flip time is only about 5fps, no fill rate considered, but I bet the difference is more once you render stuff. Trying to get something unconventional to run on limited hardware is a challenge!

    *saving up for Unity Pro*
     
  9. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,526
    This means nothing. How many ms? 5 frames at 60fps is radically different to 5 frames at 10fps.
     
  10. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,822
    This.

    10 FPS = 1000ms/s / 10 frames = 100ms/frame
    42 FPS = 1000ms/s / 42 frames = 23.8ms/frame (some sources state that ~42 FPS is 'fluid' to the average human eye)
    60 FPS = 1000ms/s / 60 frames = 16.6ms/frame (well-balanced FPS in terms of performance?)
    200 FPS = 1000ms/s / 200 frames = 5ms/frame (crazy-fast)

    To me, the 60FPS target (16.6ms/frame) seems the most reasonable to strive for.
     
  11. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,526
    "Well balanced" is highly subjective. As long as you're at least 30fps, stable FPS is typically considered to be more important than high FPS, as fluctuations can be particularly noticeable. Synchronisation with the refresh rate of the screen is also important to avoid artefacts related to that. For games where fast reactions are important higher is better, which is where the desire for 60fps on a lot of PC games (especially shooters and RTSs) comes from.

    Most console titles target 30fps because that means twice as much processing time per frame for improved graphics, which as a rule of thumb sells more games than a higher frame rate does.
     
  12. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,797
    How do you mean? HDMI transmits both audio and video.
     
  13. UnknownProfile

    UnknownProfile

    Joined:
    Jan 17, 2009
    Posts:
    2,311
    But DVI does not
     
  14. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,797
    Oh right, lol, didn't think about that :(
    My monitor doesn't even have speakers, so I guess either way I'm screwed. I've just moved abroad so don't have much in terms of stuff, so will probably be investing in a TV soon.
     
  15. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,526
    I'm sure you could buy some kind of active splitter which would cost more than a new screen... lol.
     
  16. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    Sorry, yes you're right. I did have some objects in the scene. I believe it was a jump from like 50 to 55fps. But I've heard other people say they gain up to 50% in speed when switching to 720p. It depends how much you're drawing.

    I managed to figure out an optimization that will let me continue with my desired project, using a form of compression, but it's a bit of a squeeze, so to speak. I don't understand why the transfer from main memory to graphics memory is so slow when both are in shared memory/same memory chips, and also why reading from backbuffer to texture is so much slower than reading from main memory to texture. Either way Render Textures are clearly likely to be a huge help on Ouya if you need to do some realtime texture modifications.
     
    Last edited: Aug 7, 2013
  17. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    I can confirm Ouya does Not support vertex texture fetch.

    Actually I'm getting a little dissillusioned with my Ouya. I've had several games in mind for it and now that I'm doing performance tests, every one of those ideas it out the window. It really is not a very fast platform right now. It's also a bit weird that you get a nice high-resolution display (1920x1080) but then try to power it with a relatively wimpy Tegra 3 that can only churn out maybe 500 million texels/sec fill rate - a depressing 4 times slower than even my old entry level iMac from 2006. The more I try to figure out something that will work within the limits the more I come to notice how most other games are carefully keeping within the limits. I guess it's a matter of making the most of what it can do and what it's best suited for. It seems like you can do reasonable fairly low-poly 3D on it with not too many graphical bells, but now I'm scratching my head for inspiration. I know people are longing for Tegra 4, but it'd be so much better at a Tegra 5 level.
     
    Last edited: Aug 16, 2013
  18. Aiursrage2k

    Aiursrage2k

    Joined:
    Nov 1, 2009
    Posts:
    4,835
  19. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,526
    A quote from Ouya added to the Kotaku article in an update:
    ... really?
     
  20. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    If its an ad its a bit tasteless, but anyway.
     
  21. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    I'm developing on OUYA, for my game Voidkeeper(link in sig).

    I've found it a great dream come true for those of us who always wanted a game on console. Though I wish they had invested more in it's capabilities.lol

    I have learned better design techniques though striving for optimal performance, so I'm greatfull.

    Things that boosted my performance:

    1. Started using a pool manager for spawning my enemies to speed up load times by preloading them before the first splash screen even starts leading to the title screen. And then just calling spawns of them with an empty in the scene, this allowed my load time to go from over a minute to like 4 seconds.

    2. Unity's built in occlusion culling helped a ton in keeping my framerate up.

    3. I switched my entire games gui to NGUI, and that helped a bunch as well.

    Those are the biggies I can think of currently, but if more come to me I'll comment later.
     
  22. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    I'm not sure why but I really like that ad, but I can see how people might not. Personally I would make it like a Nintendo add from the early 90's.
     
  23. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    Amen to that. I've found it really super frustrating trying to develop something for Ouya. It's not that the developing is hard or whatever, it's that the performance is so low. Coming from a fairly fast desktop environment where I do development and going to Ouya which is like at least 10 times slower, it's a real stretch. I think if you're making Ouya games you have to be prepared to radically cut down on the graphical complexity. If you're doing like a scrolling game then you get maybe a couple of layers of graphics with very basic shaders and that's about it. More complicated shaders really slow things down and there just isn't enough fill rate to do complex stuff. Every single time I've coded something and thought to myself that it'd probably be cut down enough to run at a decent framerate on Ouya, as soon as I tested it on the actual console it was like 3-4 times slower than I expected. I personally find this really limiting. If you can work within the limits I guess you're good to go, but you definitely can't do games that push the limits or require a lot of graphics processing. I've pretty much shifted to working on a desktop game with maybe targetting of iPads at some point. Also the tiny market and the lack of willingness of Ouya users to actually buy stuff is a concern. I really wish Tegra4 could've come along a year earlier and be in the first Ouya at $99, it would've made things so much more versatile.
     
  24. mrKaizen

    mrKaizen

    Joined:
    Feb 14, 2011
    Posts:
    139
    Oh yes. That's because Ouya developing is sadly (but also "of course" > low price and cheap hd ) like mobile device developing :| So don't expect high super coolness :)
     
  25. goldbug

    goldbug

    Joined:
    Oct 12, 2011
    Posts:
    766
    I have been considering it, but the sales numbers I see from other developers seem very anemic.
     
  26. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    Sometimes I feel like Ouya as it is now is sort of like a prototype - the market is pretty small, lots of enthusiasts have gone for it but I don't see it being very mainstream yet, the hardware is quite low performance - would've been better in the vicinity of iPad 3/4 or so, it still lacks some really big-name games/support, etc... I think the `Ouya 2` will hopefully be what the Ouya 1 should've been.
     
  27. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,526
    It is mobile development. It's an nVidia Android device that plugs into a TV instead of having its own screen.

    I come from a mobile 3D background and I personally think the Ouya's performance is pretty kickass. What's more, I did once drop a 1080p PC game I'd been making on it just to see what happened and performance there wasn't even that bad. Since it's a mobile platform with a mobile GPU, keep in mind that you'll need to watch out for the same common bottlenecks - be careful with expensive pixel shaders, and especially be careful with fill rate. People are pretty cavalier with fill rate when developing for the PC because in comparison to other platforms we can get away with so much, but you can not do this on mobile.

    In Master Thief the lowest performance scene in the whole game is the main menu, by a long shot. Nothing expensive is going on there in terms of scripts. It all comes down to the menu having multiple layers to the background and then scrolling the menu system on top - so it's commonly sitting around 300% overdraw (ie: on average each pixel is being drawn to 3 times). In the game itself that figure is more like 100%, sometimes even less, and as a result it runs faster than the menu even though there's stuff like the flashlights and a bunch of skinned meshes running around.
     
  28. Aiursrage2k

    Aiursrage2k

    Joined:
    Nov 1, 2009
    Posts:
    4,835
    One thing I was thinking about the ouya, if they are going to have yearly releases and the next consoles are supposed to last ten years at some-point the hardware is going catch up if it doesnt go bankrupt before then.
     
  29. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,526
    To be honest it won't be too long before it doesn't matter. As it is plenty of games won't be taking advantage of the extra oomph available in the new consoles. Many casual titles don't need it at all, and I think we're rapidly approaching the point of diminishing return for the types of things we commonly do in real time graphics. So the mobiles don't need to catch up, they just need to get to the point where the average consumer doesn't care.