How to make a connect 4 iphone game? - iphone

I want to take the next step and make a game, I had Connect4/4 in a Row in mind.
How would I go about with this, I made a pong game from a tutorial and now I want to make something on my own. This type of game doesn't seem that hard to make or perhaps it is?
Anyone got any good advice or some sample code or instructions?
Thanks for all help guys.
David H

Have you ever heard of cocos2d? Its a framework for making 2d games for the iphone.
The community is very helpful, i think it might help you in your aims to 'take the next step'
http://www.cocos2d-iphone.org

Glad to hear you're interested! The way I went about my first steps of game programming was to learn everything I could about computers/programming in order to make games. If you’re not 14 any more, and thus infinite time no longer is available, I’d recommend you start out with two tutorials, one for plain application programming on the platform at hand and the other for learning more specifically how to make games for that platform.
After that, pick what boilerplate you want/need from the public domain, and set out to produce your completely own thing. And hey, good luck (you’ll need it)!

Related

Using Mouse/s. In theory, how difficult would it be to remake a "Pong" or "Poing" (ping pong) game?

I have seen a key version in an excellent book for beginners
Programming Games for Beginners, by Conrod & Tylee. But this kills the classic tv console I first played as a boy age 6.
I did write awhile ago to Kidware software, the publishers. But as yet nothing.
I even bought extra USB Mouse, with no clues as to how to install it in the game, let alone use it to control the sticks.
I'm only a very beginner, and would need simple terms if possible. Or a direction, ideally to where it has been done.
I have looked everywhere for books. But I can't even find books that cover much of the mouse control at all. Not even drag and drop etc. Though I have seen some bits on these excellent pages.
All in all I'm really drawing a blank here! Please help.

How to get better at UIKit/Core Animation with no design experience?

I've read through Aaron Hillegass's iPhone Programming: The Big Nerd Ranch Guide and I feel I have a solid understanding on the fundamental design patterns/APIs of UIKit. After searching on both here and on Google, it seems that to take the 'next step,' I should practice by writing apps. But: I have no design experience, and I feel that unless I'm doing some work that involves custom controls or any sort of other custom elements, re-writing apps with the same standard controls isn't helping me get better at iPhone dev. So, here are my options:
1) Learn design
2) Find a designer who has some app ideas (note that this is just in my spare time, and I'm not yet looking to make it my full time job, so finding a designer who would just give me free controls/designs would probably be hard)
3) ???
Anybody have other ideas?
TL;DR: I want to get better at iPhone dev by writing more apps for practice, but I'm not good at visual design.
EDIT: To be clear, I am not trying to make these apps with the intention of releasing for the App Store. I am writing these apps to practice iPhone dev and to get better at it.
I'd personally start looking at what other apps are creating as far as custom controls go. Trying to reverse engineer, so to speak, what they are doing will give you insight into what some of the lesser known APIs like CALayer can do for you as far effects, animations, etc. Getting comfortable outside the standard set of controls and APIs will give you the skill set you need so when someone comes to you with a design idea, you can easily translate that into reality. For the next version of my own app I did just this, really digging into cool things you can do.
This blog does just this. His posts come at an angle from how to do custom things that both Apple and third party devs do:
iDevRecipes
Also, here's a reference to really get a sense of some of the cool Core Animation APIs. This guy includes videos demonstrating the effects, as well as Xcode projects:
Subtle Effects With CALayer
Complex Interpolation With CAShapeLayer
3D Objects in Objective-C with CATransformLayer
Combining those with blocks based animations introduced in iOS 4.x can produce some real eye popping and easy to program creations.
I'd suggest, you just start to create some apps. Skill comes with practice.
You will surely have ideas for some apps. Just start with a simple idea.
Even if you are just using the standard UIKit classes you will learn something new. It's easy to think you have understood everything you just read, but in practice you will be facing some little problems you wouldn't even know exist, before.
Also, you can create some good-looking apps, using just the standard UIKit classes, even if you don't have a design background. Interface Builder helps a lot to stick to the iOS Human Interface Guidelines (which you should read).

Beginner path to Game Development for OS X and iPhone

Another question. I have been researching everything this wonderful community has offered me in terms of my journey to pursue game development.
I have come to the conclusion that I would prefer to develop on my native machine, OS X - eventually leading to the iPhone.
I already own both Big Nerd Ranch guide's, Iphone Programming - the Big Nerd Ranch Guide and Learn to Program on Mac OS X - the big Nerd Ranch Guide.
My goal that I am trying to shoot for is a game similar to Blizzard's Diablo II.
When going through these books, everything seemed a bit over my head due to lack of Objective-C experience (so I suspect).
What it the best beginner friendly way for me to reach my goals? I have been looking at Objective-C books for beginners from Apress and the like, or straight C books.
How would experienced developers such as yourself guide a newbie through this path?
Regards
edit -
To answer why I have picked the apple route, it just looks to be the most comfortable (environment is native to the machine). I may be very wrong though. I was looking at Unity, it supports C#, JavaScript and Boo. Others like Panda3D use Python. I am just not sure, it seems like the decision process has become rather challenging.
It depends on the kind of game you're making - but many of the top games on iPhone were created with an open-source framework called cocos2d. It is fabulous, simplifies everything, has great tutorials and is available specifically for the iPhone.
Check it out at:
http://www.cocos2d-iphone.org/
I would recommend you
a) learn the basics of C (especially memory management)
b) learn the basics of Objective-C
c) learn the iPhone SDK from a book (I liked "Beginning iPhone Development" and its 2nd volume)
d) pick any project you find interesting and that is not too challenging and just code. You will find that by the time you are done, you probably think the things you did first are horrible, but you will learn a lot in the process
e) visit Stackoverflow.com as often at possible, it has most of the answers to the questions you will have :)
If you're working on a Mac, then things get interesting.
The largest game markets by several orders of magnitude are consoles and Windows. If you're just targeting the iPhone and OSX, the Mac is ideal for development. However, this is a limited (Mac OS), VERY competitive (iPhone) market. If you want to make something that will become a real product with real sales, limiting yourself to OSX from the starting gate is probably a mistake.
If you're just starting out and want to learn what makes all this game crap tick, stick with the language and OS that you're most comfortable with. Introducing too many variables into a learning expedition is a significant ingredient in failure. One of the nice things about this sort of app is that the algorithms and techniques you'll pick up are inherently cross-platform. Matrices are matrices, whether you're working on a TI-89 or an Alienware desktop.
However, if this is the case, try and remain aware of what platform-specific widgets you're using in your code. Plan to throw this one away. Write a bunch of test apps. And, when you feel confident that you're ready to build something real, you'll be ready to break out a VM or a new desktop with Windows (I LOVE XNA), C++ with DirectX or OpenGL, or whatever, and the variables, the new material you have to learn, won't be about graphics or math or gameplay, but about the platform itself.
Writing "Hello, World!" is a lot easier if you're not figuring out what you're trying to say, but only how to say it.
Also, rather than aiming for a Blizzard clone, start with something dirt simple, like Pong. Then make 3D Pong. Then add gravity. Then collision detection. And so on.
Also check out gamedev.stackexchange.com when you have game dev-specific questions. It's a LOT lower-traffic than SO, and a lot of the participants are teenage fanboys, but there is good knowledge there ready to be tapped.
You can develop a small game for the iPhone quite quickly once you've mastered Objective C and the iOS APIs. It took me about 4 weeks to develop a small iPhone-only game with limited game logic. Here's a writeup of my experiences:
http://corrino-software.com/how_long_does_it_take_to_make_an_iphone_game
However, something like a Diablo-style game would be a massive project. As David says, you're better off starting with something smaller and more managable to begin with, then you can move up to larger projects once you're comfortable with the development process and familiar with the tools and libraries you'll need.
If I were you, I'd start out with C, learn the fundamentals of programming, algorithms, and memory allocation (incredibly important concept in C). Then, you can move up to reading some books on Objective-C and get an idea for object-oriented programming and higher-level concepts like dynamic typing, garbage collection, etc.
As for software, if you're on OS X you want to get XCode, which is an integrated development environment developed by Apple for developing for iOS and OS X. Apparently, it's a free download (though that's just what Apple says on their website, dunno, I don't have a Mac).
As for books, etc. I'd just get some straight C books and look at some tutorials. Read them from cover to cover, and pay special attention to the important (and frustrating) concepts of memory allocation and management and pointers.
I find that a good way to learn a new language is to start with replicating common command-line tools like wc, grep, ls, etc. This will teach you the basics of I/O (both file and stdin/stdout) and some basic string parsing, as well as other goodies here and there. Additionally, you have a deterministic method of determining whether your program does it right or not, since you can easily compare to the standard command's output or behavior.
K&R, as well as Programming in Objective-C 2.0, are good places to learn the basics of C and Objective-C.
Once you have the basics of the language down, start with basic GUI programs (the ones in Hillegass's book are a good start). Once you can hook a basic GUI on the front of some underlying logic, it's time to start thinking more seriously about your game. Hillegass's book has a basic intro to using NSOpenGLView, which you can use to manually draw in 2D and 3D. It's important to note that when going through the examples in any book, you'll want to thoroughly understand what they're doing and how they're doing it, enough so that you can make some modifications yourself to enhance/change the behavior of the sample program you're working with.
Once you understand the basics of how your underlying game logic can hook to something the user can see, it's time to go find a game/drawing library that will get you where you're going. You definitely don't want to write all of the graphics routines yourself for a game similar to Diablo.

Any other game SDK besides CORONA for the iphone/ipad

Does anyone know of another good game SDK/Engine for the ipad or iphone other than CORONA?
Have a look at Cocos2d
Well since you didn't mention you need it to be free, I'd cast unity into consideration.
It's as powerful as it is expensive ;)
The above answers are great possibilities. I highly recommend unity as it just came out with its newest release that offers a gajillion wonderful features like batch rendering, beast lighting, etc. Its also ridiculously easy to program (im surprised there isn't a 'make this game for me' button in it). The price is worth it. By clicking a button, you can publish your game to pc, Mac, web, iPhone, iPad, xbox, wii, ps3, or android, depending on whether you purchased the license for each. It' bloody magic. Keep in mind that you need to buy the unity pro license before you buy the iOS license. One does not work without the other. It'll be a total of around 3 grand USD, but again totally worth it. Community is rad and helpful too.
If you're going the free route and have some coding chops, I'd run with openFrameworks. It's a c++ wrapper of the iphone sdk and has a very low learning curve. OpenFrameworks was created for artists who wanted to make interactive installations and art games but couldn't get really deep into objective c. Check out zach gage's work (stfj). He made bit pilot, unify, synthpond, and sonic wire sculptor all in open frameworks. He's also releasing his best yet very soon for the iPad. My own company is using oF (openFrameworks) for it's new game releasing this coming Saturday. Try it out. I guarantee you'll find something you love about it.
Good question. For very specific gaming needs, PhoneGap is worth a look. But considering it's JavaScript/ HTML/ CSS, it will not be as fast as the (IMO terrific) Corona. But if your game is in any way more page-related than sprite-animation related, give it a look. I created most of the games at VersusPad.com using PhoneGap, but now switched to Corona.

What to learn after learning Objective-c for iphone programming

im im learning objective-c so i can program for the iphone and ipad. What do i learn next? cocoa? and then what else if any of you are developers please give me a list of what i need to learn
Thanks :)
Maybe you should instead ask yourself: what do I want to do next. And then as you think about that, you might realize that you need A, B, and C to be able to make that... and that's when you start learning those. That motivates you more than just learning something in a specific order.
Yeah, go for Cocoa... it's the logical next step. Good luck.
Depends on what you plan to develop… Cocoa Touch for sure, OpenGL ES for games, whatever other frameworks you will be using.