Beginner & realtime strategy

I second this one. I got both books 2 weeks ago, and they are fantastic.
Lots and lots of goodies that are essential both for newbies and pros

/Thomas

Oisin Mulvihill wrote:>

I’d recommend two books which I’m currently using
in game development:

    "Game Architecture and Design"
    by Andrew Rollings and Dave Morris

and

    "Game programming gems"
    By Deloura, Mark (Edt)

They are not specifically for RTS games, but they
cover many essential topics which you’ll need to
know about.

om

-----Original Message-----
From: mlepage at antimeta.com [mailto:mlepage at antimeta.com]
Sent: Friday, December 01, 2000 2:56 PM
To: sdl at lokigames.com
Subject: Re: Offtopic [ Was: [SDL] Beginner & realtime strategy ]

I think he is looking for “Age of Empire II: Do it yourself in 6 easy
steps”. Try amazon.

There is no such book. There is only the Mickey Kawick book which is horrid.
I reviewed the first edition here:

http://www.antimeta.com/projects/review/book/real-time_strategy_game_program
ming_using_ms_directx_6.0.html

I’m not sure how it can get such raves on Amazon, it is the reviews that say
"don’t believe the raves, this book sucks" that are on the money.

That hasn’t stopped it from selling many copies and a forthcoming second
edition in January.

It’s too bad… the author really is quite clueless. I’ve been hoping Matt
Pritchard of Ensemble Studios would take to the word processor and produce a
good book on RTS programming.

Marc A. Lepage
http://www.antimeta.com/

The best way to learn to do something is to DO it.

Yes and no.

Don’t read how to do but just, analyze the problem, try solutions and
then take a look to other similar projects.

Why should anyone want to reinvent the wheel?? If I want to sort a
linked list, I know that thousands of people before me have fine tuned
different sort algorithms. Why not read a book about them/find some info
on a website, and then implement the best the first time around?

The game industry is just to much “I didn’t code this, so it must be bad
code” attitude.

Sorry if I step on your toes, but I firmly believe this is true.

That said - everyone has to learn the alphabet and start of with kiddie
books before being able to read/write a huge novel.

No one can (without any prior experience in coding) sit down and write
Quake 4. So in that way youre right.

/T

Data structures
Algorithms
Discrete mathematics
Database theory
Networking
Graphics
Software engineering
Formal methods
Formal logic
Hardware description language
Artificial intelligence
Operating systems
… and a bunch of other stuff

And I thought I was missing out on a bunch of stuff by getting a
technical degree, but they made me learn most of this stuff too.
(And
a whole lot cheaper and quicker than a real degree too :slight_smile: )

Don’t be wrong. But a real degree can give you these things FASTER and
EASIER that would take you to learn them. But it looks like that there
is people how can pass exams because they only study books, but they
can’t solve problems.

I am also going to degree in a 5-years Computer Science degree, but I
think that knowledge is enough for seeing a problem and try to solve
it, not just look for a step-to-step guide.

You can have a overall view of all the above points, but a real degree
give you a technical and deep approach to them.

Don’t read how to do but just, analyze the problem, try solutions
and

then take a look to other similar projects.

Why should anyone want to reinvent the wheel?? If I want to sort a
linked list, I know that thousands of people before me have fine
tuned
different sort algorithms. Why not read a book about them/find some
info
on a website, and then implement the best the first time around?

The game industry is just to much “I didn’t code this, so it must be
bad
code” attitude.

Sorry if I step on your toes, but I firmly believe this is true.

You are right.
But you know what is a Linked List, what it should be used for and
have a light idea of how to do it.

So you can download one already coded and evaluate it to see if it
fits your idea.

But kids reads “The best TDA for is Linked List” and without
knowing why or how it works they start using it on all.

I think this is the main problem of reading a book that tell you how
to do the things.

I think (personal opinion) that ANALISYS and DESIGN of the problem are
fundamental before even try to code a single line. Perhaps you have a
great new idea that the book can make you to forgive.

Thomas Lund wrote:

The best way to learn to do something is to DO it.

Yes and no.

Don’t read how to do but just, analyze the problem, try solutions and
then take a look to other similar projects.

Why should anyone want to reinvent the wheel?? If I want to sort a
linked list, I know that thousands of people before me have fine tuned
different sort algorithms. Why not read a book about them/find some info
on a website, and then implement the best the first time around?

The game industry is just to much “I didn’t code this, so it must be bad
code” attitude.

Sorry if I step on your toes, but I firmly believe this is true.

That said - everyone has to learn the alphabet and start of with kiddie
books before being able to read/write a huge novel.

No one can (without any prior experience in coding) sit down and write
Quake 4. So in that way youre right.

The modern chess grandmaster does more than play chess games. He also
studies past games, interesting positions, existing and avant garde
theory, etc.

You will find this is the case with almost anyone who is the best at
what they do.

Even football players (well, more the coaches) look at strategy and past
plays and don’t just practice throws. Carpenters read up on newer
composite building products. Doctors read journals and go to
conferences.

For some reason there is an enchantment with “coding good, reading about
coding not as good.” Anyone who really thinks about it realizes that
such sentiment is misplaced.

No chess player becomes a grandmaster just by playing. No carpenter
becomes a master craftsman merely by hammering. And no doctor has
personally diagnosed every illness they know about, but at least they’ve
read all about them so they know them to see them!

And then there is the red herring of “reading in a book that X is always
good and not knowing any better because they never try.” I sincerely
hope that most CS degree programs aren’t using such horrible books that
their students are exposed to such trivial views. All the texts I had
were challenging, informative, and made me think.

It’s absolutely correct that a technical graduate will be able to fire
up MSVC++ and link in DirectX and code up something quicker than a CS
graduate, on average. Does everyone honestly think that makes them a
better overall software developer, in the long run? It’s true there are
some duds in CS programs, but always remember that the best students in
CS programs also can fire up MSVC++ and code up something interesting
before graduating…–
Marc A. Lepage
http://www.antimeta.com/
Minion open source game, RTS game programming, etc.

The modern chess grandmaster does more than play chess games. He
also
studies past games, interesting positions, existing and avant garde
theory, etc.

You will find this is the case with almost anyone who is the best at
what they do.

Even football players (well, more the coaches) look at strategy and
past
plays and don’t just practice throws. Carpenters read up on newer
composite building products. Doctors read journals and go to
conferences.

But both Player, Coacher and Chess players has actually played it
before reading it or while playing it.

You really can’t expect to read and be able to reach the state of the
book writer.
You have to code, you have to spend nights in front of the keyboard,
or even better in front of a blanck sheet of paper. Problems look
harder on the screen.

No chess player becomes a grandmaster just by playing. No carpenter
becomes a master craftsman merely by hammering. And no doctor has
personally diagnosed every illness they know about, but at least
they’ve
read all about them so they know them to see them!

What ever you learn not by experience but by studying, is more prone
to be forgotten as the brain store is as a less important experience.

You can read something about R4000 assembler, but if you don’t write
on it you will forget because it is useless for you.

And then there is the red herring of “reading in a book that X is
always
good and not knowing any better because they never try.” I sincerely
hope that most CS degree programs aren’t using such horrible books
that
their students are exposed to such trivial views. All the texts I
had
were challenging, informative, and made me think.

Have you ever read a book about a matter that don’t interest you at
all?

Anyway I agree with you that these aren’t good books. But give you an
easy step to step to solve the specific problem, that is the thing our
student was looking for.

I think that the ability to write good, write fast isn’t on degree but
on experience, on hours of work.

Regards,
Miguel

Why don’t we just say you have to both study (by reading or by another’s
tutorage) AND practice to master something?

I think this’ll satisfy both sides, and hopefully we can end the
argument, hmm? ~,^

Sean Etc.

MIGUEL ANGEL BLANCH LARDIN wrote:

But both Player, Coacher and Chess players has actually played it
before reading it or while playing it.

You really can’t expect to read and be able to reach the state of the
book writer.
You have to code, you have to spend nights in front of the keyboard,
or even better in front of a blanck sheet of paper. Problems look
harder on the screen.

Tarrasch strongly recommends that chess beginners study his book (the
classic The Game of Chess) thoroughly and entirely before even
attempting to play their first game, else they pick up bad habits that
have difficulty being rectified.

There’s some wisdom in that for coders I think.

That said, it’s a strong and radical view. As always, I believe the
truth is in the middle.–
Marc A. Lepage
http://www.antimeta.com/
Minion open source game, RTS game programming, etc.

Sean Middleditch wrote:

Why don’t we just say you have to both study (by reading or by another’s
tutorage) AND practice to master something?

I think this’ll satisfy both sides, and hopefully we can end the
argument, hmm? ~,^

Exactly.

So, if anyone has any RTS programming insights or suggestions, send them
my way!–
Marc A. Lepage
http://www.antimeta.com/
Minion open source game, RTS game programming, etc.

Hello mlepage,

Saturday, December 02, 2000, 2:52:05 PM, you wrote:

mac> Tarrasch strongly recommends that chess beginners study his book (the
mac> classic The Game of Chess) thoroughly and entirely before even
mac> attempting to play their first game, else they pick up bad habits that
mac> have difficulty being rectified.

mac> There’s some wisdom in that for coders I think.

mac> That said, it’s a strong and radical view. As always, I believe the
mac> truth is in the middle.

I suspect that Computer Science is much wider subject than carpentry
or football. All your logical constructions may be true for those
topics, but with CS I’d like to have a bit different answer.
I’ve asked the original question because I didn’t have a chance to
get a degree in CS ( if you are interested, all I’ve got is 3 years in
Applied Physics ), but I am trying to enter the programming world. I
wonder how much I’ve lost because of it, by learning only things that
have practical application - no theories of artificial intelligence,
finite state machines or other stuff like that.
I want to ask those who received that degree and now use the earned
knowledge in ‘real’ world. Do you think that all theoretical courses
you learned in college are important? And how much applied stuff
( OSes, APIs, programming languages other than C/C++ ) did you learn?

This is real off-topic, so maybe it’d be better to reply to e-mail (
not to the list ).–
Thanks,
Eugene mailto:divx at euro.ru

Agree completely

You have to know some basic stuff to be able to make intelligent
analysiis and design. When to use quicksort over bubblesort

With the dawn of point and click programming ala Visual Basic this is
even more true. I have meet people who call themselves “programmers”,
and all they have done is read a VB book and clicked through wizards.
Not that VB is bad, but it allows non-programmers to beleive they are
John Carmack :slight_smile:

/T

MIGUEL ANGEL BLANCH LARDIN wrote:>

Don’t read how to do but just, analyze the problem, try solutions
and

then take a look to other similar projects.

Why should anyone want to reinvent the wheel?? If I want to sort a
linked list, I know that thousands of people before me have fine
tuned
different sort algorithms. Why not read a book about them/find some
info
on a website, and then implement the best the first time around?

The game industry is just to much “I didn’t code this, so it must be
bad
code” attitude.

Sorry if I step on your toes, but I firmly believe this is true.

You are right.
But you know what is a Linked List, what it should be used for and
have a light idea of how to do it.

So you can download one already coded and evaluate it to see if it
fits your idea.

But kids reads “The best TDA for is Linked List” and without
knowing why or how it works they start using it on all.

I think this is the main problem of reading a book that tell you how
to do the things.

I think (personal opinion) that ANALISYS and DESIGN of the problem are
fundamental before even try to code a single line. Perhaps you have a
great new idea that the book can make you to forgive.

So, if anyone has any RTS programming insights or suggestions, send
them
my way!

I actually helping in the creation of a RTS.
gcraft, look it on sourceforge.

I think that they are going to use the engine of Arianne
(http://www.arianne.cx) as a base.

… but I am trying to enter the programming world. I

wonder how much I’ve lost because of it, by learning only things
that
have practical application - no theories of artificial intelligence,
finite state machines or other stuff like that.
I want to ask those who received that degree and now use the
earned
knowledge in ‘real’ world. Do you think that all theoretical courses
you learned in college are important? And how much applied stuff
( OSes, APIs, programming languages other than C/C++ ) did you
learn?

You can get the same status, but you are going to have to work hard.

A CS degree can ( not to everyone , as you see ) give you the abilibie
to abstract the problem. That is the most important thing.

Anyway not having it, the better you can do is to read as much as you
can, but keep coding, don’t only read.

Read and try to code something similar, or at least to design it.

It’s absolutely correct that a technical graduate will be able to fire
up MSVC++ and link in DirectX and code up something quicker than a CS
graduate, on average. Does everyone honestly think that makes them a
better overall software developer, in the long run? It’s true there are
some duds in CS programs, but always remember that the best students in
CS programs also can fire up MSVC++ and code up something interesting
before graduating…

Thanks! You give me hope… ( : Although I’ve fired up msvc and shot
off a few cool apps, linking DirectX is still a mystery to me!

“It [three semesters] was only 15 grand…” - Ben Folds Five

-Brent

Sat, 02 Dec 2000 Eugene Kuznetsov wrote:

Hello mlepage,

Saturday, December 02, 2000, 2:52:05 PM, you wrote:

mac> Tarrasch strongly recommends that chess beginners study his book (the
mac> classic The Game of Chess) thoroughly and entirely before even
mac> attempting to play their first game, else they pick up bad habits that
mac> have difficulty being rectified.

mac> There’s some wisdom in that for coders I think.

mac> That said, it’s a strong and radical view. As always, I believe the
mac> truth is in the middle.

I suspect that Computer Science is much wider subject than carpentry
or football. All your logical constructions may be true for those
topics, but with CS I’d like to have a bit different answer.

I don’t think it’s that different, really. The general rule would be that the
more abstract a reasoning is, the more likely is it that the best way to
understand it is to stay away from the keyboard - and consequently; the more
practical things get, the more likely that you’d understand more if you hack
some code and play with it.

//David

…- M A I A -------------------------------------------------.
| Multimedia Application Integration Architecture |
| A Free/Open Source Plugin API for Professional Multimedia |
----------------------> http://www.linuxaudiodev.com/maia -' ..- David Olofson -------------------------------------------. | Audio Hacker - Open Source Advocate - Singer - Songwriter |--------------------------------------> david at linuxdj.com -’

Sat, 02 Dec 2000 mlepage at antimeta.com wrote:

MIGUEL ANGEL BLANCH LARDIN wrote:

But both Player, Coacher and Chess players has actually played it
before reading it or while playing it.

You really can’t expect to read and be able to reach the state of the
book writer.
You have to code, you have to spend nights in front of the keyboard,
or even better in front of a blanck sheet of paper. Problems look
harder on the screen.

Tarrasch strongly recommends that chess beginners study his book (the
classic The Game of Chess) thoroughly and entirely before even
attempting to play their first game, else they pick up bad habits that
have difficulty being rectified.

Good point.

There’s some wisdom in that for coders I think.

That said, it’s a strong and radical view. As always, I believe the
truth is in the middle.

Yes; you can hardly read through the average book on coding or design, and
understand more than a fraction of it. You have to read one chapter at a time,
check out the examples and then do the excercises, then continue with the next
chapter - or you’ll just end up with a terrible chaos in your mind! :slight_smile:

That is, read AND code. (But perhaps read first, so you don’t start picking up
bad habits before you know what you’re doing. Don’t know how serious this is
WRT coding, but there certainly are bad habits to stay away from!)

//David

…- M A I A -------------------------------------------------.
| Multimedia Application Integration Architecture |
| A Free/Open Source Plugin API for Professional Multimedia |
----------------------> http://www.linuxaudiodev.com/maia -' ..- David Olofson -------------------------------------------. | Audio Hacker - Open Source Advocate - Singer - Songwriter |--------------------------------------> david at linuxdj.com -’