views:

1680

answers:

10

I'm looking to learn some fundamentals on cartesian geometry or coordinates based game programming. Platform is irrelevant, although I'm most proficient in JavaScript, C, Objective-C. Ultimately being able to create something such as dots or checkers would be ideal. The idea is for me to learn how sprites work and how pathing works programmatically. My question to you folks is where is the best place to learn the fundamentals? Something that isn't math heavy because to be quite frank, anything further advanced than calculus to me at this point is a grey line and requires refreshing my memory.

If there is a particular book, site, or open source project -- that would probably help me the most.

Thanks for any ideas.

+5  A: 

O'Reilly has a great tutorial on simple game development using Objective-C and Cocoa on the Mac. Lines of Action.

Ben Gottlieb
Great article Ben. Just a tad difficult to follow because it was published in late 2006 and Xcode/IB have changed so much since then. Either way, I'm definitely marking this article up. Will try to deal with the differences.
Coocoo4Cocoa
Good point. I guess when I went through that, IB was still 'classic'. However, the ObjC parts and theory should all be pertinent.
Ben Gottlieb
+1  A: 

othello and the book is of course the renowned PAIP by Peter Norvig

Comptrol
+11  A: 

I think there's a few more steps to accomplishing your objective, which is understanding the basics of game programming. You mentioned understanding sprites and pathing, which are imperative to game programming, but I think that initially you should spend a little time understanding the programming and methodology behind general graphical user interaction.

Regardless of what language you will eventually program your game in, I think that learning in a modern language like Java or C# will provide you with a vast amount of libraries and will allow you to accomplish tasks like animation and Event Listeners much more simply.

Here is a list of guides and tutorials that I think will be extremely helpful to you just as they were to me and others:

  1. This is an extremely-detailed tutorial for a Java Game Framework that includes full source code and a full walk through (with source code) of writing the infamous "Snake" game in Java, complete with a control panel, score board, and sound effects!
  2. The book "Beginning Java 5 Game Programming" by Jonathan S. Harbour will introduce you to concepts such as 2D vector graphics and bitmap including sprite animation. Plus you can get it used on Amazon Marketplace for $12!
  3. Here is an unbelievable tutorial on Sprite Animation that has more than 5 parts to it! Plus it's written by Richard Baldwin, a Professor of CompSci and an extremely reliable and knowledgeable source. For more tutorials by him, this is his site.

Between these sources you're going to possess the methodology of the parts that go into a game, which are applicable in any language, as well as the knowledge of how those parts can be actually implemented as well.

G'luck!

Yoely
A: 

Well, for Java, there's an API called GridWorld, (Its used as a case study for the AP Computer Science exam, which is why I'm familiar with it) It uses a coordinate system, so you might learn something from looking at it.

Retsam
+1  A: 

A site I frequently visit is GameDev.net. They have a lot of resources for game programming in general. The forums are a great place to get more specific answers on game development.

On the site, visit the Articles and References page, which contains articles written by developers on various game topics.

You don't learn about a car engine by reading the Chilton's manual; you have to pop the hood and get your hands dirty!

Hope this helps.

Jose Chavez
A: 

You will probably want to understand minimax and Alpha Beta pruning.

RossFabricant
A: 

Sprite animation is going differ significantly based on what platform you choose to do your program on, and any generic reference for animating on that platform will get you through that. If you want to shoot for Java, Yoely's references look pretty good.

For the game AI, though, I recommend you check out Artificial Intelligence: A Modern Approach by Russell and Norvig. It looks intimidating, and understanding much of the book will take a working knowledge of high-level math concepts. However, it is engaging and well-written, and you can probably make it through the first dozen chapters or so without hitting any math landmines. The algorithms and concepts in that book will be more than enough to help you program AI for a simple game, and might even help you decide on one.

A: 

My suggestion would be to use a language/development environment that makes working with sprites easy.

Take a look at Scratch.

The Scratch web site contains thousands of projects that you can download and edit right in the development environment.

Here are some projects to get you started: http://scratch.mit.edu/tags/view/checkers

Plus, there is a good online forum filled with helpful people if you get stuck!

Once you make a game using Scratch, you can upload/share it right from the development environment or you can post it on your own web site (although that takes some doing).

Hope this helps.

BoltBait
A: 

http://www.gamedev.net/

This is probably one of the most well known game/graphics programming site on the net. Its forums are subject to computational geometry, algorithms and all levels of GPU programming concepts.

You would be able to get a lot of help here. There are many articles on the subject of game programming already on this site from which you can see examples and understand the thought processes behind putting together these kinds of systems.

:]

03B
A: 

http://www.pygame.org/

Python is great to get started, and nice examples and tutorials available.