| Tiny Coffee Golem |
I'm interested in deeveloping programing skills so I can create apps. Initially it'll be for Ipad and Iphone, but in time i'm also interested in cross platform.
Essentially what are the best resources to teach oneself to create apps?
I have some specific ideas for simple little games that I think could turn a profit.
I figured the Paizo community is probably full of tech saavy nerds (a compliment) that can point me in the right direction. Thanks in advance all.
| Evil Lincoln |
Any other programming experience?
If you have some HTML and other web knowledge, then you might try to do the application in a browser-based way. That's the shortest route to cross-platform.
Otherwise, you need a mac, xcode, and a book on Objective C. Start with Hello World and go from there. It's worth dabbling a bit in mac os before moving on to the mobile stuff, IMO.
| Tiny Coffee Golem |
I was a computer science major in undergrad before I changed my major. I used to program basic HTML code back in the netscape days, but that was 12+ years ago. I'm sure it's changed since then.
I understand the principles, but not the specifics.
Basically I can teach myself, but i need good resources that start at a basic level and go from there.
I'd love something like Rosetta stone, but for programming. However, even a book or something would be stellar. Programming for dummies etc.
| Evil Lincoln |
| 2 people marked this as a favorite. |
Some basis for HTML is enough.
Start at w3schools... it will give you a bird's-eye view of all the various technologies and you'll learn what you should focus on from there.
I recommend starting with the web stuff, just because it is often the easiest to work with/look up, and a surprising amount of it can be applied to the types of apps it sounds like you're looking to make.
In the end, nothing surpasses your own curiosity and the patience to look up all of the various technology names that you come across. All of the acronyms can be daunting, but a surprising number of them are actually just names for one specific, easy-to-grasp concept.
Once you're comfortable with something like Javascript (newbies take note that is NOT the same as Java) then you should sign up for the developer site at apple (I believe just a membership is free) and start exploring the tutorials in XCode and whatever videos they might have on line. Apple can be way culty in their developer literature/videos, but you get used to it. Pay attention, but don't drink the Kool Aid.
XCode is probably your primary tool for learning/developing apps, if you want go native.
Again, something web-based is probably the best option for cross-platform utility with your level of experience, but it has limitations. I'd need to have a better idea of what your apps would do.
| Sharoth |
Some basis for HTML is enough.
Start at w3schools... it will give you a bird's-eye view of all the various technologies and you'll learn what you should focus on from there.
I recommend starting with the web stuff, just because it is often the easiest to work with/look up, and a surprising amount of it can be applied to the types of apps it sounds like you're looking to make.
In the end, nothing surpasses your own curiosity and the patience to look up all of the various technology names that you come across. All of the acronyms can be daunting, but a surprising number of them are actually just names for one specific, easy-to-grasp concept.
Once you're comfortable with something like Javascript (newbies take note that is NOT the same as Java) then you should sign up for the developer site at apple (I believe just a membership is free) and start exploring the tutorials in XCode and whatever videos they might have on line. Apple can be way culty in their developer literature/videos, but you get used to it. Pay attention, but don't drink the Kool Aid.
XCode is probably your primary tool for learning/developing apps, if you want go native.
Again, something web-based is probably the best option for cross-platform utility with your level of experience, but it has limitations. I'd need to have a better idea of what your apps would do.
Good advice, Evil Lincoln.
| Tiny Coffee Golem |
Thanks Evil Lincoln! That gives me a good framework to start with. I appreciate it.
Without giving away the details of what I'm trying to do It's effeecctively Bachee Ball.
Open plane (maybe with bumpers on the outer edge, but probably not), throw "white ball," Then throw other balls and try to get close.
That's the basics anyway. It'll have a theme and be more interesting than that, but effectively that's it.
| mearrin69 |
You might try something like Monkey (http://www.monkeycoder.co.nz/) or similar (I'm sure there are others). I haven't tried this product but I have used their BlitzBasic/Blitz3D/BlitzMax products and they're all pretty good. I imagine the language itself is quite like BASIC, which is easy enough for a beginner (as the acronym implies)...though you'll certainly still need to learn the fundamentals of programming (variables, arrays, flow, and probably custom types/objects).
I'm going to give Monkey a go at some point. Would love to write some basic GM apps for my own use on the iPad.
M
| Nix Tharel |
I think it is important for hobby development projects to use a "release early, release often" mentality, although in this case it means to keep something working. If you create too large of a "gap" between what you have and what you are going for, you will lose interest before you finish. If you keep smaller, manageable goals, it helps keep your interest, as you can focus on implementing tweaks, and see the results immediately.
You should also keep a lookout for base technologies you can build on, although some of these can take some time to learn. Especially when you are just starting to get experience, it helps if you don't have to reinvent the wheel, but rather can focus on the areas you are really interested in. However, learning the base technologies will still take a significant amount of time.
Be aware that "cross platform" can lead to many kind of surprises. Even with JavaScript, different web browsers can act in different ways. I've seen many professional app development teams that have tried at cross platform, but can't get it quiet right. I'd recommend focusing on one platform, and have fun with that while you learn. Once you have a good feel for the platform, then try something else, and you will gain an appreciation for what it takes to do cross platform development.
Finally, keep having fun with it. If some aspect is bogging you down, find a way around it for the time being. It's more important to keep trying, learning from mistakes, and trying new things.
| Evil Lincoln |
You're going to need some pretty basic physics math to make something like bocce that doesn't suck. Also, get accustomed to thinking in coordinates if you're going to be doing any graphics programming.
If it helps, know that I came from way behind on the math and physics stuff too. Just don't be scared, if you can play Pathfinder then you have all the geometric and arithmetical expertise to do this!
| Tiny Coffee Golem |
You're going to need some pretty basic physics math to make something like bocce that doesn't suck. Also, get accustomed to thinking in coordinates if you're going to be doing any graphics programming.
If it helps, know that I came from way behind on the math and physics stuff too. Just don't be scared, if you can play Pathfinder then you have all the geometric and arithmetical expertise to do this!
Fair enough. I can do that.
| Nix Tharel |
The hardest part is identifying the problem to solve, especially if it is a layered problem.
A lot of people I have seen that had trouble with problem solving as a skill refused to write out plans/documentation before hand. The simple act of writing down on paper what you are trying to solve can really help you to identify what to work on.
I also recommend you take a look at the GameDev.net site. It is perhaps more focused on a older era of game programming (more application than app), but things like math and engines have been discussed before.