Xref: utzoo comp.graphics:5548 rec.games.programmer:857 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!rochester!rocksanne!bozo!kirby From: kirby@bozo.wbst128.xerox.com (Mike Kirby (co-op)) Newsgroups: comp.graphics,rec.games.programmer Subject: Re: 2D Maze in 3D Message-ID: <747@rocksanne.UUCP> Date: 5 May 89 16:46:18 GMT References: <21795@santra.UUCP> Sender: news@rocksanne.UUCP Reply-To: kirby@bozo.UUCP (Mike Kirby (co-op)) Organization: WRC, XEROX Lines: 31 >I'd like to write a game where the player can wander in a maze and >see the movement in 3D perspective. The player has to be able to >rotate around the vertical axis and it should be possible to move >the viewpoint to any point in the maze. The maze does not change, but >it might contain moving objects. All the maze walls are at 90 degree >angles. >I've thought of some algorithms, but someone must have come up with >an absolutely amazing solution... I need a really fast algorithm. In most of these "dungeon" type games, the maze is divided into squares, where each square is represented by a move. What you could do, is create a database of "sqaures" each representing a possible "room", and then move about, displaying these predefined rooms. In order to get things like perspective, you might want to look into various methods for doing perspective transformations. One good article that I would recommend would be "Nested Transformations and the Blobby Man", by Jim Blinn. (IEEE CG & A, october 87). He talks about basic methods for doing 3-d perspective transformations. The animation is a little tougher. What kind of system are you planning on writing this on? Will you have some hardware, or software support from whatever langauge you are using? (ie. core, etc?). Many graphics libraries contain animation primatives all built into them. If you have to write all this from scratch, then I suggest you look at some of the more basic texts for computer graphics. Michael Kirby mpk9172@ritvax.bitnet (works...) mpk9172%ritcv@cs.rit.edu (sometimes...With a good tailwind) rochester!rocksanne!spot!kirby (I haven't decided if this works or not...)