Re: rec.games.roguelike.development FAQ
- From: Ray Dillinger <bear@xxxxxxxxx>
- Date: Tue, 13 May 2008 11:23:11 -0700
Ido Yehieli wrote:
On May 13, 5:31 pm, Gerry Quinn <ger...@xxxxxxxxx> wrote:
The coding advice is out of place IMO, and also is somewhat incomplete -
and while most of what you say there is generally good advice, it
incorporates more of your own prejudices than a FAQ should.
It's not mine, it's a pretty old FAQ that people in the community have
been updating and changing for years.
Really? Where are the previous versions? I think I may want to
look at them.
I think it's more appropriate for the FAQ to talk about the design
process than to give advice at the algorithm level. Because advice
at the algorithm level winds up being advice about how to implement
some particular (existing) game, and not advice about designing a
new game.
And, honestly, I've found some of the things you advise here are not
the way I want to do it. That's because code (algorithms, data
structures, etc) follow from design, and your code doesn't follow
from my design. If you feel qualified to give people advice on
what algorithms and data structures achieve their game design, then
you have to start out knowing their design better than they do.
And -- well -- you don't. Not in a FAQ. Heck, you don't even
know what language someone intends to use for development.
And that matters, because a lot of algorithm choices are impractical
in some languages: For example, using linked lists of items in multiple
contexts is a Bad Plan in C, because sooner or later you'll need
to refer to the same item from more than one place (from a floor
tile and a scheduled event affecting the item, for example), and
you'll need to spend a lot of sweat figuring out exactly when it's
okay to deallocate without causing anything to dereference a stale
pointer. It is a less-bad plan in Java or Perl, which have refcount
garbage collection. With refcounting, you don't get into trouble
unless items refer to each other. But that again depends on your
game design; if you want certain kinds of item interactions, they
are loads easier to code in terms of items that refer to each other,
and then you've got a pointer loop that your refcounting GC can't
collect. The same strategy, though, works perfectly in Lisp, or
any fully garbage-collected language, no matter what kind of pointer
loops you have.
Bear
.
- Follow-Ups:
- Re: rec.games.roguelike.development FAQ
- From: Paul Donnelly
- Re: rec.games.roguelike.development FAQ
- From: Ido Yehieli
- Re: rec.games.roguelike.development FAQ
- References:
- rec.games.roguelike.development FAQ
- From: Ido Yehieli
- Re: rec.games.roguelike.development FAQ
- From: Gerry Quinn
- Re: rec.games.roguelike.development FAQ
- From: Ido Yehieli
- rec.games.roguelike.development FAQ
- Prev by Date: Re: L Jumps for Cave Generation
- Next by Date: Re: rec.games.roguelike.development FAQ
- Previous by thread: Re: rec.games.roguelike.development FAQ
- Next by thread: Re: rec.games.roguelike.development FAQ
- Index(es):
Relevant Pages
|
Loading