[DM-dev] Suggestions for work on DungeonMaker
Brought to you by:
acdalton,
henningsen
From: George H. <kh...@op...> - 2004-02-03 10:07:25
|
first a little background, I had email Peter with an offer to help on DungeonMaker, and as a result we have started a private dialog. After a few messages, Peter suggested that we move the discussion to the mailing list so that others might `profit' and give suggestions as the work continues on DungeonMaker. The following is the first substantial message in this series, an I will post the subsequent messages as replies to this one. George ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Peter, I just complied the existing source, so my executable does nothing new or different. Except for cleaning up as many of the warnings as I could. One thing that I have not do yet is to see if my modified files compile cleanly on a Linux system - probably will do that in a day or to. From what you described about DungeonRaid, it sounds very interesting, and certainly lines up with my interests on several levels. As a player of computer RPG's I have always found the NPC to be rather stall and static. I have always felt that much more could be done to make the game interesting. Secondly, having just finished my Masters in Computer Science with a concentration in Intelligent Interfaces (i.e. artificial intelligence), the AI work is definatly interesting. I have included some thoughts on how to proceed, sorry if I come of a little `strong', but as a senior developer much of my work day is spent evaluating risks and coming up with courses of action and the such. I agree that `playing' in 3D would be very cool, and I suspect it will be a significant undertaking. Thinking about, I see two issues, 1. Converting the 2D world into a 3D world and managing movement. 2. Developing the AI for the MOB's. While the first issue is complex, there is a good precedent on how to do this. In face, I am currently taking a course through "Game Institute" on 3D graphics programming, and in some of the later labs we do construct simple dungeons and implement enough so the camera can move through the dungeon. The second issue is more `risky', there is not as much precedent in the literature for developing intelligent NPC. Of course, this make this issue all the more interesting! I believe that there is an intermediate step that can be made, that of developing proof-of-concept (or demo) systems in 2D. The basic idea would be to have an interface somewhat similar to what DungeonMaker currently produces, with a various colored squares for the different types of MOB's and the player. This interface would allow the play to move his icon around the dungeon or labyrinth and have the MOB's react. I believe this approach would have several benefits: - the AI algorithms can be developed and tested with out the overhead of a true 3D environment. - having an `birds-eye' perspective on the entire dungeon will enable us to keep track of all entities and make sure they are doing what is expected. - being a simple 2D environment, there should be no need for graphic packages such as SDL or openGL. The initial work can be done with a normal window. This means that you do not need to get an improved development machine because we would not be pushing the graphics subsystem as hard. I would think that the first, tentative steps here would be to imbed the current DungeonMaker interface into a GUI of some sort. I can see this being a simple application with a main window and a menu bar. The menu bar would have the following items: file new template - allows the user to select a new design file to use to create dungeon. new - clears the display and generates a new dungeon based on the currently selected design file. edit view - allows the user to view the design file in a read only window edit - allows the user to edit the design file. This can be invoking a simple text editor or a move complex 'wizard' to guide the user through the creation of the design file. save - allows the user to save the modified design back to the original file save as - allows the user to save the modified design to a new file. This would reproduce the current ability of DungeonMaker, however by using one of the cross-platform frameworks (QT, wxWindows, FLTK, etc.) the interface will be the same on all platforms. I have no real preference on these frameworks, having worked with them all, however FLTK does seem to be the easiest to work with (and there is a DevPak for DevC++). I have done a quick search and there seems to be precedence for embedding an SDL window into a widget from any of the afore mentioned frameworks. Once this is done, the next perceived task would be to add a few new features, most notably would be a save and open feature for dungeons. This would be necessary when the move to 3D is made so games could be saved and restarted. Of course this means defining a DungeonMaker file format. A neat extra would be to provide an export feature. As a start, exporting to a bitmap and jpeg would be great. Because, I still play traditional pencil-and-paper role-playing games (e.g. Role Master or Dungeons and Dragons) I make use of a tool called Campaign Cartographer (CC) and I would like to see a conversion between DungeonMaker and CC. Once this is done, we can concentrate on `playing' the dungeon in 2D, implementing player movement and MOB's AI algorithms. Of course being able to reload a dungeon allows for training of the MOB's. At the end of this phase, all of the AI algorithms should be complete and effort can be applied to converting the 2D world to 3D. How does this sound? George |