Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trial
James Brittain
1,675 PointsWriting an App of my own
So I've had this really cool idea for a while for an App. I just checked and while there is one other app with the same basic idea, theirs is really bad. So I play in a live action roleplaying game set in a system called the world of darkness, its put out by White Wolf Publishing. So the way that you test for success is using a modified version of Rock, Paper, Scissors. The modified version being that certain powers/abilities give you what's called the bomb, which can only be beaten by scissors because it cuts the fuse. So I, like a lot of other players, have a really hard time when you're throwing chops (r,p,s,b) 40 or 50 times in a night, with not becoming predictable.
So what I want to do is kind of a modified version of the Crystal Ball App. The idea being that there would be three video animations with sound for each of the possible chops. You have a button on the screen that you can click or unclick in case you have the bomb. The onCreate screen will have something like an animated logo that says prepare to do battle, you shake it and it yells "Fight!" then one of the nine possible videos pops up (you never throw paper when you have the bomb) with the sound effects announcing what you threw. The screen then resets itself back to the onCreate screen until you shake it again.
I have a couple of questions
What are the best dimensions, formats, and speeds to use with my videos for each phone format? Same goes for sound. Is there a size limit for the files I should try to stay under?
How do I create a button that remains clicked until unclicked and tells the app to select from one array or another for the random method? (I'm going to be really embarrassed if I say this wrong.) I can create member variables outside the Main Activity for each of the videos and then input those member variable into an array for the random generator to select instead of text right?
Purely an opinion here, but do you think something like this would look cooler if I modeled stuff in Blender (like swords for scissors, a scroll or a grimoire for paper, etc.) in 3D, or should I just create the videos in AfterEffects and make the pieces look they've been ripped out of comic books with a frayed edge and a drop shadow?
4 Answers
Dave Evans
13,160 PointsThose are a lot of questions, but here are some back that might help you narrow down your questions and possibly get a better focus on the project at hand. First off, are you wanting it on iPhone or Android or both? Are you familiar with developing for both languages or have you thought about using a hybrid web application framework? Using a web application style can allow you to develop once for both devices and reduces some of the learning curve as it's HTML5 and CSS3 with JavaScript, however it more than likely will require an internet connection to run. If you want to have the players be able to use the app without having an internet connection, then you should probably go with a native application. It doesn't sound like a difficult project, and can be as visually appealing and detailed as you want it to be. 1. By developing using percentages you can be fairly flexible in what devices your application will look good in. 2. I'm not sure if I'm understanding the question on this one. 3. I would say 'go big or go home'. If you think it'll look better to contain CG animations, then go that route. This is definitely what you feel more comfortable with or what might fit your overall design better.
James Brittain
1,675 PointsUnfortunately I've only done Android so far, I just finished my simple android app and a friend I met online that did his training through here says to work on projects of your own as soon as you can, especially ones were you don't quite have the skills for yet but you can learn to do soon. He was saying it helps you stay excited about the program and keeping with it, while helping you build a professional portfolio for where you're ready to go job hunting.
Essentially I want to be able to create two different arrays like they do in the Crystal Ball project (where they are trying to give an "array" of mystical answers) where instead of phrases that the random generator pulls from, its video files. I want one array to be the default and the second to be the one that the application uses if the button has been clicked to say your character has the bomb. The default will have rock, paper and scissors, the auxiliary will be rock, scissors and bomb. The thing is if their character has the bomb I don't want them to have to keep clicking it every time they want to shake the phone, but I want them to be able to easily go back to the default if they are no longer able to use the bomb.
James Brittain
1,675 PointsAlso the more I think about it, as cool as 3D would be, I'm just way more comfortable in AfterEffects and it will take a hell of a lot less time and still look really amazing where as I could put time of time and energy into 3D and have nothing to show for it.
Dave Evans
13,160 PointsJava isn't necessarily my forte, but it sounds like you want to definitely have some session variables that detect if the user has used the 'bomb' already. If they have used it, then they can't use it again until the session expires or your variable expires...however you want to set it up.