I just got 'Don't Eat Soap' accepted into the OUYA Console store.
I have been discussing this with various game authors, but I think it is time to start a thread and get a broader discussion rolling
=STATE OF THE ANDROID PORT=
The Android port is going great-- great from a programmers perspective anyway. I eventually want to have an "Export for Android" menu option in the Distribute Games menu, but that is still a long way off. I can't even promise it for the next stable (Callipygious) release.
Right now, packaging your game for Android requires you to install the following:
* subversion and git tools
* The OHRRPGCE source code
* FreeBasic, and all the other tools that are required to compile the OHRRPGCE source code (SCons, python, euphoria, mingw)
* our fork of the commandergenius sdl-android source code
* The Android SDK and NDK
Anyway, My long term goal is that you won't have to worry about any of that (or at the very least that you will only have to worry about the Android SDK and NDK and none of the rest of it) but we aren't there yet.
=Packaging Completed Games=
I would like to package some completed OHRRPGCE games so their authors can upload them to the Android and OUYA Stores. I have already been talking to a random few authors of completed games about this, but I am sure I have forgotten many more.
If you have a fully completed game, and you would like for me to try packaging it, please let me know. I don't want to package demos and works-in-progress right now, but don't worry, you will all get your chance eventually (just no promises on how long it will take)
=What is the difference between Android and OUYA?=
The port is the same, but the two ways of publishing your game are different.
Android Includes phones and tablets. Your game will be played with a fake d-pad and buttons that are overlayed onto the screen. If you have ever played a NES/SNES emulator on your phone, you probably already know what I am taking about. Android games get uploaded to the Google Play store.
OUYA is a console with a controller that resembles an Xbox or Playstation controller. OUYA games are uploaded to the OUYA Discover Store
Both stores have an approval process you have to go through before the game is accepted. I got rejected the first time I submitted, and had to fix a bug they found, and re-submit.
=Getting Your Game Ready=
Do you use any ripped music? If so, you will need to replace it with legal music, whether it is original, or from the OHR's free music collection, or from CC+Mixter
Do you script any extra keyboard keys other than the usual arrow keys and confirm/cancel keys? For example, Vikings of Midgard scripts Z to be the "Run" key. If so, you need to download the latest nightly wip build, and go to "Edit General Game Data" -> "Platform-Specific Options" and set up your extra buttons so that people will be able to press them with a touch screen or a controller.
Do any of your Textboxes or attack captions mention button names? For example, in Wandering Hamster, the Plip Tamer tells you to "Hold ESC to run from battle". There is a new set of text box codes to deal with this. Now you can say "Hold ${B2} to run from battle" and it will be translated appropriately if you are playing with an OUYA controller. You can view and edit these button name codes in "Edit General Game Data" -> "Platform-Specific Options" -> "Button name strings for text boxes" (Also, all ${} codes now work in attack captions, Yay!)
=Selling Games For Money=
The OUYA Discover Store lets you sell your game via in-app purchases. I have not figured out how to get this working yet, so for now, I can only do FREE games for OUYA. When I do get this working, the money will go to you, the author who uploads your game, not to me.
The Google Play store lets you set up-front prices for your games. The money will go to you, the author that uploads your game, not to me. Google Play also supports in-app purchases, but again, I have not yet figured out how to get these working.
=Suggest Games=
Suggest completed games you would like to see packaged. For games made by people who have left the community (Like Valkyree for Ends of the Earth 2) we will have to track them down and see if they want their game re-published this way.
This whole process is still pretty experimental, but with the help of some game authors willing to let me practice packaging on their games, I can learn and improve and fix bugs :)
I will certainly look up this guide for when I get something made, as I would like to publish something in the future.
dOn'T MiNd mE! i'M jUsT CoNtAgIoUs!!!
Play Orbs CCG: http://orbsccg.com/r/4r6x
dOn'T MiNd mE! i'M jUsT CoNtAgIoUs!!!
Play Orbs CCG: http://orbsccg.com/r/4r6x
I am totally sticking C Kane up here when it's done in a couple weeks. Would like to submit Walthros but it will take a good deal of modifying still.
Super Walrus Land: Mouth Words Edition
Super Walrus Land: Mouth Words Edition
One of my longstanding concerns with games like this for console release is re-nameable heroes. Any game with one of those by definition requires the keyboard under our current settings - except for Dungeonmen, which included an in-game keyboard for that function (which is part of why that game would be awesome for such a port).
Using plotscripting to replicate one of our native features in a different format sounds pretty daunting to me, so for most of these games it's going to be easier to just remove that feature for OUYA I'm assuming.
Remeber: God made you special and he loves you very much. Bye!
Using plotscripting to replicate one of our native features in a different format sounds pretty daunting to me, so for most of these games it's going to be easier to just remove that feature for OUYA I'm assuming.
Remeber: God made you special and he loves you very much. Bye!
Nathan Karr wrote:
One of my longstanding concerns with games like this for console release is re-nameable heroes. Any game with one of those by definition requires the keyboard under our current settings - except for Dungeonmen, which included an in-game keyboard for that function (which is part of why that game would be awesome for such a port).
Did Dungeonmen have that? I can't remember it?
But fear not! I have good news! The Android/OUYA port already supports a virtual keyboard for re-naming heroes!
The virtual keyboard pops up automatically whenever you re-name, and then hides itself automatically when you are done.
This is wonderful news! Do you have a HowTo document explaining the entire process of porting a game over to Android? I wouldn't mind giving it a try myself to see if I can automate it somehow and make it easier for other people to do.
On that note, does this mean that FreeBasic now has a GCC backend? Which ultimately means that you can now port the engine to any platform which supports GCC?
On that note, does this mean that FreeBasic now has a GCC backend? Which ultimately means that you can now port the engine to any platform which supports GCC?
Jack wrote:
What about mouse support? I assume it would be touch based for tablets/phones, but what about OUYA? Would the mouse be controlled via control stick?
Yes, mouse support works. I have tested it with Spoonweaver's Slimes and my Vocabulary Mosaic. I still need to finish the feature to disable the virtual gamepad overlay for games that only use the mouse.
EDIT: Oops! forgot to answer the whole OUYA part of your question. The OUYA Controller has a small touchpad similar those touchpads that some laptops have. It is kinda crappy, and I wouldn't recommend relying on it. I think purely mouse based games are better of just targeting Android Phones and Tablets, and skipping the OUYA. (Conversely, sidescrollers like Tim-Tim that would be too awkward on a touch-screen play beautifully on OUYA)
Chronoboy wrote:
This is wonderful news! Do you have a HowTo document explaining the entire process of porting a game over to Android? I wouldn't mind giving it a try myself to see if I can automate it somehow and make it easier for other people to do.
Certainly! The notes TMC and I have been keeping are here:
http://rpg.hamsterrepublic.com/ohrrpgce/Android_Port
http://rpg.hamsterrepublic.com/ohrrpgce/OUYA_Notes
Chronoboy wrote:
On that note, does this mean that FreeBasic now has a GCC backend? Which ultimately means that you can now port the engine to any platform which supports GCC?
Yes, The gcc backend has existed for a while, but it recently got enough bugfixes to be equally as good as the assembly backend. Then TMC fixed a few more things, and got it working well enough to compile the OHRRPGCE for arm processors. I don't think all of TMC's fixes have been integrated back into the official freebasic yet, but hopefully they will be in the future. There is more about this in the Android Port wiki article.
An iOS port is also possible now, we have just been focusing on Android first.
EDIT: Oh, and I forgot to mention, Seth Hetu successfully ported to the Raspberry Pi. You can read more about that in the mailing list archives
While testing Tim-Tim on the ouya I quickly noticed that a large bit of the game was off screen. I actually have this problem with a couple ouya programs that were made for the android first and formost.
I'm wondering if this is something that more than I have seen and if so if it's fixed.
I'm wondering if this is something that more than I have seen and if so if it's fixed.
Spoonweaver wrote:
While testing Tim-Tim on the ouya I quickly noticed that a large bit of the game was off screen. I actually have this problem with a couple ouya programs that were made for the android first and formost.
I'm wondering if this is something that more than I have seen and if so if it's fixed.
I'm wondering if this is something that more than I have seen and if so if it's fixed.
Aha! I read about this! Apparently some TV's have an "overscan" area and the stuff on the edges of the screen get cut off. it is very much TV-specific. I tested with my own TV, and nothing at all is cut off on mine.
Apparently the solution is to use "Safe Zones" If you look at NES or SNES games on emulators, they usually seem to have these safe zones where they don't show important information:
I actually added safe zones like this in the scripting for Don't Eat Soap, so I guess you could do the same for Tim-Tim, but for other OHRRPGCE games, I think I am going to need to figure out a way to add a built-in safe-zone support for the engine.
I'll see what I can figure out. Thank you for reminding me about the problem! :)
SPECIAL NOTE: (I should write up a 'my adventure in submitting to Google Play post as a companion to this, but when I have time)
If you submit your game to Google Play as free you currently can NEVER make it cost money in the future for new buyers.
If you charge money and then make it free, it's stuck as being free.
So if you want to release your game for free but let people pay for it with an IAP, you have to submit it as a paid app, even if the base game is free and even if you have no current IAPS.
This is Google policy. On iOS you can alternate between free and paid as much as you want, but there's no iOS port yet so that's of no concern right now.
edit: the only workaround is to actually de-submit your app from Google Play and re-submit it as paid, but all the people that downloaded the free version don't get carried over to the re-submission. Some developers just do "__GAMENAME__" and "__GAMENAME__ Free", submitting it twice.
If you submit your game to Google Play as free you currently can NEVER make it cost money in the future for new buyers.
If you charge money and then make it free, it's stuck as being free.
So if you want to release your game for free but let people pay for it with an IAP, you have to submit it as a paid app, even if the base game is free and even if you have no current IAPS.
This is Google policy. On iOS you can alternate between free and paid as much as you want, but there's no iOS port yet so that's of no concern right now.
edit: the only workaround is to actually de-submit your app from Google Play and re-submit it as paid, but all the people that downloaded the free version don't get carried over to the re-submission. Some developers just do "__GAMENAME__" and "__GAMENAME__ Free", submitting it twice.
Can we make this topic a "how to sell an OHR game in general" FAQ, because there's still a few things I'm unsure of, like do you have to be a real company, and do you have to deal with income tax and sales taxes, or is that handled by Google or whatever store the game is on?
jcenterprises wrote:
Can we make this topic a "how to sell an OHR game in general" FAQ, because there's still a few things I'm unsure of, like do you have to be a real company, and do you have to deal with income tax and sales taxes, or is that handled by Google or whatever store the game is on?
I can give a few quick answers:
* No, you do not need to be a company, you can sell your game as an individual.
* Yes, Both Google and OUYA have a form you fill out for tax purposes. They do withholding for you, and send you a statement once a year just like an employer would, with numbers that you use when you do your income taxes.
(If you are selling your game some other way, then it is your own job to set aside some percentage of your earnings for tax time.)
If you do want to become a "real" company anyway, there are a bunch of different ways of doing it, such as incorporating, becoming an Limeted-Liability Company (llc), or the simplest cheapest one that I know of is to get a "fictitious business name"
None of these are required, and from what I understand, if you are working along, you are probably better of without it, and just doing business using your real name.



