Tech Support > Computers & Technology > Programming > New To Game Proogramming where to start ???
New To Game Proogramming where to start ???
Posted by aghausman@gmail.com on October 18th, 2006


Hi,
I have been in Programming (Web,Software) for many years but now make
plan to start game programming as well. I would like to have a brief
overview of where to start , how to start what to read and what to work
on. I have read calculus many years back in universt now I dont think I
know it any more. Do I need to learn Calculus (Trignomentry). if Yes ,
then what do I need to do for that.
Please also suggest the books that are worth reading in terms of game
development begining.

Posted by [Jongware] on October 18th, 2006


<aghausman@gmail.com> wrote in message
news:1161170123.996109.254440@m73g2000cwd.googlegr oups.com...
There are many different games, and they all have different background
(theory) requirements.
A typical 'puzzle' game such as the omnipresent Sudoku's require *no* math
background, but I've seen explanations using element theory (which
mind-boggles me
For a fairly standard 2D shoot-em-up, you need just basic trig
understanding -- angles, distances, speeds, acceleration (and that's
considered 'fancy'). For anything 3D, you'll need all the trig you've ever
heard of, including 4 dimensional matrices.
There is a number of 'Game Programming for the Beginner' books, but the ones
I have are mostly crap... A solid understanding of the platform you'll be
working on, a good background in general programming, and a good game to
copy idea's from will get you started. Play any game you love until you know
it like the proverbial back o/t hand, then try and make it yourself! You'll
find out what you still need to learn soon enough.

[Jongware]



Posted by Malcolm on October 18th, 2006





<aghausman@gmail.com> wrote in message
news:1161170123.996109.254440@m73g2000cwd.googlegr oups.com...
Then if you think of the next Tetris, you've got it cracked.
If not, you'll still have a nice new game to show at your interview. Then
you'll be set to work on 3d alogorithms as part of a massive $15million
project.
They tell you what you need to know.
--
www.personal.leeds.ac.uk/~bgy1mm
freeware games to download.



Posted by jmcgill on October 19th, 2006


aghausman@gmail.com wrote:
You need to separate the ideas of "game programming" from "graphics
programming."

For graphics programming, you certainly will benefit greatly from a
thorough understanding of geometry and trigonometry, and a certain
amount of linear algebra will be a very big help. (Many of the
algorithms used in graphics programming involve transforms via matrix
operations.)

You should learn trigonometry. It should take you a couple of days of
focused attention, to get to the point where you can analyze triangles,
be able to describe many trig identities in terms of each other, convert
from rectangular to polar coordinates, comprehend the relationship of
angles to points on the unit circle, that sort of thing. In a typical
university precalculus course you get about a week to learn trig.
Typically, it is a semester-long high school course in plane trig.
Then, probably in a second term course of calculus which covers
single-variable integration, you get problems that commonly involve trig
expressions, and in vector calculus you get a whole lot of trig, where
many things are expressed in polar and rectangular space. You should
take all of that, and I'm sure it's all required anyway, for any science
major not just CS.

It will also be very helpful to understand one of the major graphics
platforms -- I would suggest OpenGL. Understanding it well involves far
more research than merely learning the platform API. Many of the ideas
behind the OpenGL specification are universal.

But that's graphics. Game programming often intersects with graphics
programming, of course, because many games are graphically oriented.
There are many more ideas in "game programming" than just graphics.
Pattern matching, searching, cost/benefits analysis, mapping, finite
state machines, grammar machines, fuzzy logic, messaging systems, lots
and lots of algorithm and automata theory ends up being essential to
game development -- including stuff that has very few applications
outside of pure CS research and game development.

Then there's the creative angle of game design. If you can do this part
well, you can just hire people to implement your ideas :-)

Posted by William on October 19th, 2006


<aghausman@gmail.com> wrote in message
news:1161170123.996109.254440@m73g2000cwd.googlegr oups.com...
You might want to read some of the comp.games.* newsgroups and maybe
post your question there in an appropriate subgroup.

-Wm



Posted by Idgarad on October 19th, 2006



aghausman@gmail.com wrote:
As many will say but I will remind you the following (former teacher)

First write a simple turn-based game like a game of Monopoly. It's big
enough that you'll learn quickly how to manage a code library and the
rules are easy to implement but not too simple.

The next as usual is Tetris. It introduces a real-time element to game
development along with some suprisingly tricky coding for first-timers,
collision detection being one of them.

The next one I reccomend to people is try and design a game of pac-man.
This introduces some basic AI concepts and allows an aspiring developer
the opportunity to implement several different AIs at once, giving each
ghost a personality.

At this point, and which is largely the trend in game development you
have 3 tracks to choose from, Middleware Implementation, Engine
Development, or Level Design. MI is largely what modern programming is,
implementing someone's game engine to achieve your results. If you
choose this track I reccomend you start with the Quake Engine and
Unreal engine and take your pac-man game into a first-person
perspective or a isometic view. Re-make your pacman game in both
engines so you get a feel for what it is like working with middleware.

Engine design I seriously hope you have a lusting for math and
enginneering. This track is for people that like serious programming
from a scientific (rather then creative) perspective. I would reccomend
writing a small game engine that allows you to code in XML your pacman
game so by loading various XML configurations you can drastically alter
your game without actually changing the code itself.

For level design I would crack out Quake and various map tools and
write up a variety of maps. Modern level design is just as serious a
field of programming as the first two cataogries. Many game engines map
systems contain complex triggers and object interaction that is a
language all it's own. It isn't as simple as basic CAD work or 3D
modelling. Depending on how complex the mapping engine you can churne
out more code in a single map then many game took in the early 80s.
Using the Source engine is also an excellent opportunity as well as the
Gamebryo engine.

In summary when creating games I reccomend:

recreating a board game (trains following an existing design and code
management techniques)

Tetris (realtime, IO, collision, video, and sound)

Pacman (as above and AI)

If you can make it past pacman, and still like programming, you can go
as far as your determination will take you. After pacman, I hated
programming. I'd rather be a writer myself. Too hard on the hands for
me. You also might want to look at Stair Dismount for an example of how
a game does not have to have a huge scope to be fun. I made a human
plinko game using the new beta engine. Hoping to get human Pinball
written up with it some day. If anyone does remember to put a "nudge"
feature in, his little body always got stuck in our test bumpers.

Best of Luck

(I could really use a new version of stair dismount with option
wheelchair or full traction hospital bed to shove down the steps with
our superhero in tow... perhaps complete with old, yet comical,
geriatric sound effects.)


Posted by Doug on October 20th, 2006



aghausman@gmail.com wrote:

Hiya there,

Sorry - this mail is both late, and not entirely on-topic - but it's a
newsgroup so your milage may vary! Disclaimer - I'm drunk.

You might want to have a look at XNA. It's completely Windows-specific
(and xbox 360 at some point in the future), but from the playing I've
done so far with it, it looks like a great framework for writing
small-scale games in.

http://msdn.microsoft.com/directx/XNA/default.aspx . Everything you
need is in links on the right hand side.

The help and samples aren't too bad, and there are 'starter kits' to
get you going. (I haven't used them, but apparently the starter kits
are basic games that you can muck around with and see immediate code
changes in.)

It's C#, which anyone with coding experience will be able to pick up
very quickly. There are utility libraries for 2d stuff (e.g. sprites)
and 3d stuff - the latter includes much of the transform stuff you'd
have to code by hand for opengl. You might find you don't actually
need to remember any of that trig or calc - the libraries will do much
of it for you.

I'm dead impressed with it, it pains me to admit.

The big danger is that by learning this way, you're locking yourself
into Microsoft stuff. C# and XNA are, for the forseeable future, going
to be windows/xbox specific. (The lesser danger, of course, is that
you'll never be able to write anything truly kick-arse with this
framework, and everyone using it will have to try hard to avoid looking
like 'another XNA game'.)

The other answers to your post here are very good. imho, the 'ideal'
way to do it would be to get yourself an opengl book, use c/c++, and
try to copy a game. If you can write a game engine in c/c++ using
opengl, you can do pretty much anything, given enough time to think
about it.
with some sample progs, had a blue cover and yellow spine (odd the
things you remember).
were trying to run on. Of course, you only do this once and then
re-use (which is why I said 'from memory').
If you know the trig and calc (and it'll come back to you if you did
truly know it) then the actual transforms, etc. are okay - and if not,
most of these problems have solutions readily available (in code) on
the web already - google is your friend, etc.

Hope this helps, sorry for rambling.
Doug


Posted by Bart on October 25th, 2006


aghausman@gmail.com wrote:
Calculus (integrals and ODEs) may be required if you want to make 3D
physics modeling. Other than that, linear algebra (for graphics) and
algorithms (for AI) are what you'll need from the theoretical side.

Regards,
Bart.



Similar Posts