Android isn't too hard to develop for if you've got some experience developing games on some other platform. The docs are a bit sparse on the native end, but Java+libGDX is pretty easy to get running.
Asking if it is easy to develop games for the OUYA is like asking if it is easy to write a novel. Anyone can give it a try. Some people find it easy. Some people find it difficult.
You will have to spend some money, to get an OUYA at least, so you can deploy and test on an actual device.
If you don't want to spend any money on a development environment or for education materials, then you will be limited to the Android SDK (Java-based), and perhaps the Android NDK if you're comfortable with C++. Libraries such as libGDK mentioned earlier may also help. Aside from that, you'll be doing lots of searching on the internet for various tutorials and articles people have written about developing games for Android, Java and libGDX (or whatever libraries you use)..
If you already know java and some basic coding ideas and rules, I'd recommend you start learning how to code in Android using the android dev website starting with the training section.
It's very straight forward and it explains some important concepts like the life cycle of the activity (your app) and other things. Also try to explore the website some if something doesn't make sense as they have other examples and api reference pages that might give you a different way to understand something. I've read some books you had to buy and honestly the website one is superior considering the fact it's also up to date and free.
The only one thing you might not find out about is when developing an Android app, make sure you're using Java 1.6 and not Java 1.7 as there's some compatibility issues
You can actually find out right now - if you make a game for android, that will be about the same level of difficulty as making a game for ouya. For an easy start, try making a puzzle type game, like connect 4, using the canvas class (or opengl if you're feeling a bit more ambitious).
I have been a database application developer for many many years, but every time I try to learn Java, C++, C#, VB, etc, it just doesn't click. I'd be reading one chapter and understand it and the next chapter would start describing things that are totally in another direction and confusing. I just haven't found the right teaching material/tools.
I personally never learned programming from books - they were very chaotic. Studies are the best, but if you want to learn on yourself maybe some tutorials on the web? Short, precise, to the point. "Database application developer" means PL/SQL? If so, you should not have much problems. PL/SQL is not that different from normal languages. Forget about Visual Basic by the way. It's only used in some old time corporate environments and definitely not for games. :)
I have been a database application developer for many many years, but every time I try to learn Java, C++, C#, VB, etc, it just doesn't click. I'd be reading one chapter and understand it and the next chapter would start describing things that are totally in another direction and confusing. I just haven't found the right teaching material/tools.
That's a common problem. The reason for this is, it's very difficult to learn modern programming in a sequential way. There are a lot of concepts that overlap into the complex and the simple at the same time (most texts, even for beginners, really struggle with coming up with a sequential means of introducing concepts, which you've already discovered).
The best way to learn from text is to read it all to get an over view, then read it all again. Try the exercise and examples they provide. Every iteration through, you will pick up a little more.
Is it a long and tedious? Sure. But as you begin to grasp solid understanding, the rest tends to gets easier. Remember, if it were easy, in respect to the salaries that good developers can demand these days, everyone would do be doing it.
I personally never learned programming from books - they were very chaotic. Studies are the best, but if you want to learn on yourself maybe some tutorials on the web? Short, precise, to the point. "Database application developer" means PL/SQL? If so, you should not have much problems. PL/SQL is not that different from normal languages. Forget about Visual Basic by the way. It's only used in some old time corporate environments and definitely not for games. :)
VB (.Net, not 6.0 or lower) is not any less suitable for games than Java is. Wouldn't be my language of choice either, but Microsoft *does* allow games to be made with any .Net language on Windows 8, and VB did have XNA bindings at one point.
To add to what arcticdog said, you also have to remember that developing android/ouya is actually a convergence of several different technologies that you are trying to learn at once. If you were just setting out to learn java, that would be one thing, but you're learning java, in the arguably convoluted environment of android, which gets into unix programming. Then for graphics you have opengl, which is fairly low level rendering operations/state machines, and finally, the odk, which is its own thing.
I would recommend anyone new to java to develop a simple program outside of android (using canvas/window/whatever you can wrap your head around), so that you have less to take in at once. A game where you have a square that goes around eating a randomly placed square is a good start.
Then, to learn android, port that project to android, so that you know the code works, and you can focus just on the android stuff.
VB (.Net, not 6.0 or lower) is not any less suitable for games than Java is. Wouldn't be my language of choice either, but Microsoft *does* allow games to be made with any .Net language on Windows 8, and VB did have XNA bindings at one point.
Well, VB is a horrible language. In my opinion it is not suitable for anything. :)
Download the free version of Unity3D http://unity3d.com/ , there are many ways to learn how to start your journey. Start with unity/javascript tutorials from lynda.com and go from there. :)
Download the free version of Unity3D http://unity3d.com/ , there are many ways to learn how to start your journey. Start with unity/javascript tutorials from lynda.com and go from there. :)
+1. Quite possibly the best game engine ever made. Even though the Android/Pro versions do cost a chunk, but there are zero API differences between Free/Pro (anything that works in Free can be upgraded to Pro with no changes at all), so you can get started now on Free, kickstart your game, and use the funds to upgrade your game to Android Pro. I guarantee it will be far more productive than any other Android game engine you'll find (with the exception of Unreal Engine 3 but, c'mon, what indie has the resources to license that amiright?)
You didn't remember the plot of the Doctor Who movie because there was none; Just a bunch of plot holes strung together.
I'm going to port some of my games over (and make some new ones) when GameMaker Studio supports Ouya. The team at YoYo Games say they would like to support it but don't have a dev kit. So I'll just wait patiently...
VB (.Net, not 6.0 or lower) is not any less suitable for games than Java is. Wouldn't be my language of choice either, but Microsoft *does* allow games to be made with any .Net language on Windows 8, and VB did have XNA bindings at one point.
Well, VB is a horrible language. In my opinion it is not suitable for anything. :)
These days, VB is a VERY verbose version of C#. Some developers like to type a lot I guess. :)
I would say, start by learning how to make a game in Flash with ActionScript 3, there's loads of tutorials online, and then you'll be able to export it to Android and run it on OUYA.
But if you're just starting out and know nothing about 3D or programming, you might prefer to get your feet wet with something even simpler, maybe Flash like @Volcanic-Penguin suggested. Then you can supercharge your skills with Unity =)
Comments
If you are at least a little familiar with Java, here is one book you might consider:
"Beginning Android Games, 2nd Edition"
http://www.amazon.com/gp/product/1430246774/ref=as_li_ss_tl?ie=UTF8&tag=wwwcherokeele-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=143024677
AAHAHAHAHAHAHAHAHAH - ahem. No. And it never will be.
But, beyond being hard, it's fun as hell. So give it a shot!
I would recommend anyone new to java to develop a simple program outside of android (using canvas/window/whatever you can wrap your head around), so that you have less to take in at once. A game where you have a square that goes around eating a randomly placed square is a good start.
+1. Quite possibly the best game engine ever made. Even though the Android/Pro versions do cost a chunk, but there are zero API differences between Free/Pro (anything that works in Free can be upgraded to Pro with no changes at all), so you can get started now on Free, kickstart your game, and use the funds to upgrade your game to Android Pro. I guarantee it will be far more productive than any other Android game engine you'll find (with the exception of Unreal Engine 3 but, c'mon, what indie has the resources to license that amiright?)