From mwedel at scruz.net Wed Jul 4 18:06:50 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:25 2005 Subject: [CF-Devel] Editor questions (mostly java editor) Message-ID: <3B43A18A.6DEFAF5@scruz.net> Is there any general consensus on whether the java editor is good enough to replace the Xt based crossedit program? Main reason I ask is I'm working on adding the map tiling feature to the server code, and in the process have redone the way the map object is handled (simply put, instead of having a map object which we load values into with various meanings, I just load that directly into the map structure itself). I don't really want to have to decipher the callbacks in the crossedit to get that working, especially if it is going to go away soon. I'm sure the the java editor will also need some modifications also, but hopefully it doesn't rely on using the same object structure quite as much (part of the change above was to also make the variables names in both the file and in the structure to have meaningful names. Of course, the server will still support using the old names. I do notice that the java editor does not have fields for some of these attributes right now in its map attribute window. For reference, this is what I have so far: The map variables now make some sense, and are only stored in the map structure itself. I still include the old value (the 'was') so if you are looking at old maps, you know what they mean. Generally speaking, the values in the map files themselves match the same element name in the map structure. 'width','height', was 'x','y': Size of the map. 'enter_x', 'enter_y', was ('hp','sp') = (x,y) of the destination on the new map. These are only used if the exit does not have a specific location set. 'reset_timeout', was 'weight': stores the number of seconds that need to elapse before this map will be reset. Ie, if 1800, it means this map expires after 30 minutes. This value is not modified once loaded - instead reset_time is used to track this. 'swap_time', was 'value': This controls how many ticks must elapse after the map has not been used before it gets swapped out. swapping out is different than reset, as a swapped out map will get loaded back into memory if someone re-visits it before it is due to reset. 'difficulty', was 'level' stores the map difficulty. If not set to anything, the server code will try to come up with some difficulty value. 'fixed_resettime', was 'stand_still': If nonzero, the map reset time will not be updated when someone enters/exits the map. Thus, once the map has been loaded, it will reset in 'reset time' no matter what access happen. This is useful for shops and towns, which are constantly accessed, but should be reset periodically. 'darkness', was 'invisible'. Light/darnkess of map (overall). If 0, all of map is fully bright. 'unique' - if set, this entire map is unique. Exactly unique to what will depend on how it was created (it could be a per player unique map, or maybe a common map that is just permanent for all the players. From mwedel at scruz.net Wed Jul 4 18:19:28 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:25 2005 Subject: [CF-Devel] Java Editor Questions/Notes Message-ID: <3B43A480.C046755C@scruz.net> I tried firing up the java editor and have a few questions/notes. First, I'm using JDK 1.4 beta, so I did need to recompile. Once that was done, I was able to run it just fine. I notice a lot of the images have bogus transperencies (instead of having a transperency, it has a dark blue/black one instead), but quite a few work just fine. I was also unable to select on anything in the map window once I loaded a map. The tracking information (mouse position and relative x,y values on the map) at the bottom of the screen appeared correct, but clicking any of the mouse buttons did not do anything. I was able to click on the object type tabs, and then the objects within those tabs themselves, so it does appear the the app is at least getting some of the clicks. Anyone know what to do to fix this? I like the view options (show monster, show exit). I would suggest that a 'clear all' option may be in order - if you've selected a few and now want to go back to see everything, but able to do that quickly would be nice. Any plans to make let the editor load from the built versions of the archetype and .png file? I would guess that would make start time quite a bick quicker. It also means that if the user already has the server distribution with those files and does not plan to make any archetype changes, they can use those instead of needing to download the arch distribution in addition to what they have. Minor point - if the user selects a multi part object from the selection list, perhaps show the full sized piece in the information pain below that are (that one that lists the name, type, etc) if there is space? All in all, it looks pretty solid. I just need to figure out how I can insert/delete/change things and then I could play around with it more. From tanner at real-time.com Wed Jul 4 18:31:35 2001 From: tanner at real-time.com (Bob Tanner) Date: Thu Jan 13 18:01:25 2005 Subject: [CF-Devel] Java Editor Questions/Notes In-Reply-To: <3B43A480.C046755C@scruz.net>; from mwedel@scruz.net on Wed, Jul 04, 2001 at 04:19:28PM -0700 References: <3B43A480.C046755C@scruz.net> Message-ID: <20010704183135.C29335@real-time.com> Quoting Mark Wedel (mwedel@scruz.net): > First, I'm using JDK 1.4 beta, so I did need to recompile. Once that was > done, I was able to run it just fine. I have found lots of bugs in JDK 1.4 (from other Java projects I am working on), so I have went back to jdk1.3-rc1. What is even better is IBMJava2-SDK-1.3-8.0, it "fixes" the font problems in Linux. > I was also unable to select on anything in the map window once I loaded a > map. The tracking information (mouse position and relative x,y values on the > map) at the bottom of the screen appeared correct, but clicking any of the JDK 1.4's swing stuff just sucks. That is the only way I can put it. 1.3's swing stuff is not much better. Again IBM's jdk is better, but still not perfect. As an aside, I don't know how much bigger the editor will get, but I highly recommend making it use ant for building purposes and if possible jikes, since it's open source and easily compiles on non-intel, non-linux architectures. -- Bob Tanner | Phone : (952)943-8700 http://www.mn-linux.org | Fax : (952)943-8500 Key fingerprint = 6C E9 51 4F D5 3E 4C 66 62 A9 10 E5 35 85 39 D9 From mwedel at scruz.net Wed Jul 4 19:32:55 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:25 2005 Subject: [CF-Devel] Java Editor Questions/Notes References: <3B43A480.C046755C@scruz.net> <20010704183135.C29335@real-time.com> Message-ID: <3B43B5B7.CC161358@scruz.net> Bob Tanner wrote: > I have found lots of bugs in JDK 1.4 (from other Java projects I am working on), > so I have went back to jdk1.3-rc1. What is even better is IBMJava2-SDK-1.3-8.0, > it "fixes" the font problems in Linux. Thanks Bob. That fixed the problem - everything now appears to be working they way it should (including transperencies in the png images) Given then, a few more minor suggestions: 1) Make the message area for objects bigger (maybe have another tab that is 'message' after the script tab?) Even if I resize the windows, the message area remains the same size (about 4 30 character lines) 2) I notice that both the right and middle mouse button does the same thing on the map window - insert the current object. Would be nice if one of those would delete the top object instead (this more mimics the behaviour of the old editor, and IMO would also be a time saver, as less mouse movement need to delete the object on a space. 3) Not sure how important this one is, but the old editor had an option to enter a map. Basically, you select an exit on one map, and then select enter from a pull down menu and it would load the map that the exit points to and select the exit space on the destination map by default. I have found that handy in the fast to see where maps lead and to make sure the exits line up properly. 4) Once again, not sure how important this one is, but maybe put in a 'show lighting effects' option? This obviously can't take into account lightsources the player may bring/create, but could certainly show relative illumination of the different spaces as would be expected from the static sources. This would probably make it easier to map designers to see what the lighting effects actually are. Just suggestions. To MT and others that have done work on the editor, great job. From andi.vogl at gmx.net Thu Jul 5 10:45:12 2001 From: andi.vogl at gmx.net (Andreas Vogl) Date: Thu Jan 13 18:01:25 2005 Subject: [CF-Devel] Editor questions (mostly java editor) In-Reply-To: <3B43A18A.6DEFAF5@scruz.net> Message-ID: Mark W. wrote: > Is there any general consensus on whether the java editor is good > enough to replace the Xt based crossedit program? I think there is no doubt the Java Editor can and will replace Crossedit. - However, don't set your expectations about the Java Editor too high right now. It is still work-in-progress. The base structure is completed and it's usable, but many features known from crossedit will need to be coded into the new Editor before we can say that it "officially outstripped crossedit". You've made some suggestions about features to the Java Editor in a followup post Mark. This adresses exactly what I said above. I agree to all of your suggestions and I'm working on some of it, but I just don't have the time to do it all at once, nor does MT. ;) In the long run I think the Java Editor has some big potential advatages over Crossedit: - Java can be run on any OS. That's pretty cool. - Many people want to learn Java - Few people ever like to learn about the Xt toolkit. Andreas V. From mwedel at scruz.net Thu Jul 5 23:58:37 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:25 2005 Subject: [CF-Devel] Editor questions (mostly java editor) References: Message-ID: <3B45457D.CBC01A27@scruz.net> Andreas Vogl wrote: > I think there is no doubt the Java Editor can and will replace > Crossedit. - However, don't set your expectations about the Java Editor > too high right now. It is still work-in-progress. The base structure > is completed and it's usable, but many features known from crossedit > will need to be coded into the new Editor before we can say that it > "officially outstripped crossedit". I notice that. But OTOH, it does seem to be pretty capable right now, ie, you could create a map. I would guess that probably the biggest shortfall is that it doesn't have the custom dialogue boxes for the different object types (ie, for an exit, crossedit pops up a window that asks for exit path and well as destination coordinates, so the designer doesn't need to know that those really go into the slaying and sp/hp fields. > In the long run I think the Java Editor has some big potential > advatages over Crossedit: > - Java can be run on any OS. That's pretty cool. > - Many people want to learn Java - Few people ever like to learn > about the Xt toolkit. Agree with both of those. From mwedel at scruz.net Fri Jul 6 00:00:40 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:25 2005 Subject: [CF-Devel] Editor questions (mostly java editor) References: Message-ID: <3B4545F8.3608E2F@scruz.net> I should probably mention that I do have crossedit working, just that you can't edit the map properties (get a blank window). You can of course still use your favorite text editor to edit the map specific attributes. From tanner at real-time.com Fri Jul 6 00:04:52 2001 From: tanner at real-time.com (Bob Tanner) Date: Thu Jan 13 18:01:25 2005 Subject: [CF-Devel] Editor questions (mostly java editor) In-Reply-To: <3B45457D.CBC01A27@scruz.net>; from mwedel@scruz.net on Thu, Jul 05, 2001 at 09:58:37PM -0700 References: <3B45457D.CBC01A27@scruz.net> Message-ID: <20010706000452.F3277@real-time.com> Quoting Mark Wedel (mwedel@scruz.net): > > In the long run I think the Java Editor has some big potential > > advatages over Crossedit: > > - Java can be run on any OS. That's pretty cool. > > - Many people want to learn Java - Few people ever like to learn > > about the Xt toolkit. > > Agree with both of those. There are some pitfalls. Swing can be a pain in the butt. Java is write once and almost run everywhere Swing's look-n-feel can put a headache into your day. Non-Microsoft people know there is only 1 Java specification, but many MS developers forget this and start to callback to Win32 APIs. Must of these we have software at my company by picking one JDK and one JVM for deployment. You can develop on whatever you want, but deployment is IBM's Jikes compiler and IBM's JVM. -- Bob Tanner | Phone : (952)943-8700 http://www.mn-linux.org | Fax : (952)943-8500 Key fingerprint = 6C E9 51 4F D5 3E 4C 66 62 A9 10 E5 35 85 39 D9 From dnh at hawthorn.csse.monash.edu.au Thu Jul 12 02:53:15 2001 From: dnh at hawthorn.csse.monash.edu.au (dnh) Date: Thu Jan 13 18:01:25 2005 Subject: [CF-Devel] Server having problems compiling Message-ID: I imagine this is a problem on my side but can someone help me out. What is the fix for this bug? Initializing gods...done. Initializing reading data...Reading messages from /usr/games/crossfire/share/crossfire/messages...done. Reading bookarch from /usr/games/crossfire/var/crossfire/bookarch... book archives(used/avail): (0/924)(1/169)(1/77)(3/70)(1/70)(1/120) done. init_mon_info() got 247 monsters Done Reading alchemical formulae from /usr/games/crossfire/share/crossfire/formulae...done. Checking formulae lists...done. Aborting! Reached limit of available experience categories. Need to increase value of MAX_EXP_CAT. I just compiled the lastest cvs and ran the server... dnh From dnh at hawthorn.csse.monash.edu.au Thu Jul 12 03:02:09 2001 From: dnh at hawthorn.csse.monash.edu.au (dnh) Date: Thu Jan 13 18:01:25 2005 Subject: [CF-Devel] hmmpf Message-ID: Firstly ignore the last message, a make clean etc seemed to fix things (I have included make clean in my cvs script now.. =). The purpose of me updating was actually to include a few new artifacts for Joel. It would appear my png lib is fairly rooted right now, so this may be a symptom of that. I finished a burning whip (AKA the Burning tail) and included all the appropriate files and ran make collect etc. When I finally got the server working I poped one in the city and tried to take alook. When the image was just about to appear on screen *BANG* the SDL client died. ERROR on BlitSurface in file gx11.c line 6294 Surfaces must not be locked during blit I suspect it may still have an alphachannel, does the new SDL blitter support this (like the GDK one did?). dnh From dnh at hawthorn.csse.monash.edu.au Thu Jul 12 03:04:50 2001 From: dnh at hawthorn.csse.monash.edu.au (dnh) Date: Thu Jan 13 18:01:25 2005 Subject: [CF-Devel] Jeeez I am spamming tonight Message-ID: interesting I just loaded up the old client, and no crash. I guess I need to run something like pngquant (which I can't cause my png libs are stuffed). peterm you about? dnh From smurf at CSUA.Berkeley.EDU Fri Jul 13 01:05:46 2001 From: smurf at CSUA.Berkeley.EDU (Scott MacFiggen) Date: Thu Jan 13 18:01:25 2005 Subject: [CF-Devel] hmmpf In-Reply-To: ; from dnh@hawthorn.csse.monash.edu.au on Thu, Jul 12, 2001 at 06:02:09PM +1000 References: Message-ID: <20010712230546.A85176@CSUA.Berkeley.EDU> On Thu, Jul 12, 2001 at 06:02:09PM +1000, dnh wrote: > When I finally got the server working I poped one in the city and tried to > take alook. When the image was just about to appear on screen *BANG* the > SDL client died. > > ERROR on BlitSurface in file gx11.c line 6294 > Surfaces must not be locked during blit > > I suspect it may still have an alphachannel, does the new SDL blitter > support this (like the GDK one did?). SDL absolutley supports full alpha channel.. Assuming the PNG image was properly done. The SDL client doesn't actually lock any of the image surfaces but the SDL library itself does. So you either hit a bug in the SDL library or your image is messed up which is causing SDL to barf on it.. You might want to try running the client with the SDL_DEBUG environment variable set to 1. Dunno if that will help or not. Feel free to send me the files necessary for me to reproduce this and I'll look at it. -SCott From dnh at hawthorn.csse.monash.edu.au Fri Jul 13 09:28:15 2001 From: dnh at hawthorn.csse.monash.edu.au (dnh) Date: Thu Jan 13 18:01:25 2005 Subject: [CF-Devel] hmmpf In-Reply-To: <20010712230546.A85176@CSUA.Berkeley.EDU> Message-ID: K, well it is actually a whole archetype.. when I get a chance I will put it here.. mids.student.utwente.nl/~dnh/scott/* dnh On Thu, 12 Jul 2001, Scott MacFiggen wrote: > On Thu, Jul 12, 2001 at 06:02:09PM +1000, dnh wrote: > > When I finally got the server working I poped one in the city and tried to > > take alook. When the image was just about to appear on screen *BANG* the > > SDL client died. > > > > ERROR on BlitSurface in file gx11.c line 6294 > > Surfaces must not be locked during blit > > > > I suspect it may still have an alphachannel, does the new SDL blitter > > support this (like the GDK one did?). > > SDL absolutley supports full alpha channel.. Assuming the PNG image > was properly done. The SDL client doesn't actually lock any of the > image surfaces but the SDL library itself does. So you either hit a > bug in the SDL library or your image is messed up which is causing > SDL to barf on it.. You might want to try running the client > with the SDL_DEBUG environment variable set to 1. Dunno if that > will help or not. > Feel free to send me the files necessary for me to reproduce this > and I'll look at it. > > -SCott > From michael.toennies at nord-com.net Fri Jul 13 14:41:23 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:25 2005 Subject: [CF-Devel] multi tile monsters - one png Message-ID: Hi As i look at the new mapcmd code from mark, i notice that this opens the door to a nice feature - to avoid the cutting of multi tile monster pictures. First, lets remember what multi tile monster means. They are needed for server to control monsters which reach over more than 1 tile. In this process isn't a face(=png picture) involved or used - they are only used on client side. The client itself don't know anything about multi monsters nor about the shown monsters - it just print the pngs. A multi tile monster is for the client nothing different than x single tile pieces. Well, to send all this parts, the server goes through the objects in a map tile, collect and sort them and send the attached faces/animation faces to the client. Its easy now to include here a control. Every multi tile monster part knows which his "first" tile (=head) is and which his relative position to his own position is. So, its easy to send this to the client. Means this: If (multi tile monster part) goto head if (this monster not shown this map update) send client face + x offset of head + y offset of head mark monster as shown this step continue This will of course invoke 2 more bytes at this point to the map cmd, but because only ONE time a face information get send from a multi tile monster, this will safe some byte at the end. On client side, there are many ways then to draw this right. Easiest way is to clip it or to presort it... Its not hard and there are some working ways. What will give it to us? For all clients, this is a great sacrifice for the artists. It will drawing & storing of bigger monsters some more easier. And this is REALLY a good thing. For the iso client but even for the normal client, this will open the way for some nicer layering. I had worked with this before in other games, and you will really not miss the picture tiling when you had done this. Its really needed for the iso client, because the cutting for iso multi is very tricky and a pain in a ass if you must do it with hands. And i don't want introduce here a programm (scripting will not work easily because you need some trick masks). From michael.toennies at nord-com.net Fri Jul 13 18:20:32 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:26 2005 Subject: [CF-Devel] some funny Message-ID: As you all perhaps know, there is a game called whyvern... Just look at this screenshot and read the text... http://mids.student.utwente.nl/~michtoen/GRIN.png And give the stat potions in the upper left corner a look :) btw, they player starts be pissed as i start laughing as i saw the stat potions. :) Michael From dnh at hawthorn.csse.monash.edu.au Fri Jul 13 21:27:06 2001 From: dnh at hawthorn.csse.monash.edu.au (dnh) Date: Thu Jan 13 18:01:26 2005 Subject: [CF-Devel] hmmpf In-Reply-To: Message-ID: done On Sat, 14 Jul 2001, dnh wrote: > K, well it is actually a whole archetype.. > > when I get a chance I will put it here.. > > mids.student.utwente.nl/~dnh/scott/* > > dnh > > On Thu, 12 Jul 2001, Scott MacFiggen wrote: > > > On Thu, Jul 12, 2001 at 06:02:09PM +1000, dnh wrote: > > > When I finally got the server working I poped one in the city and tried to > > > take alook. When the image was just about to appear on screen *BANG* the > > > SDL client died. > > > > > > ERROR on BlitSurface in file gx11.c line 6294 > > > Surfaces must not be locked during blit > > > > > > I suspect it may still have an alphachannel, does the new SDL blitter > > > support this (like the GDK one did?). > > > > SDL absolutley supports full alpha channel.. Assuming the PNG image > > was properly done. The SDL client doesn't actually lock any of the > > image surfaces but the SDL library itself does. So you either hit a > > bug in the SDL library or your image is messed up which is causing > > SDL to barf on it.. You might want to try running the client > > with the SDL_DEBUG environment variable set to 1. Dunno if that > > will help or not. > > Feel free to send me the files necessary for me to reproduce this > > and I'll look at it. > > > > -SCott > > > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel > From dnh at hawthorn.csse.monash.edu.au Fri Jul 13 21:29:27 2001 From: dnh at hawthorn.csse.monash.edu.au (dnh) Date: Thu Jan 13 18:01:26 2005 Subject: [CF-Devel] multi tile monsters - one png In-Reply-To: Message-ID: Assuming this all works... I am very pleased to here this concept. While we have autocutting scripts for monsters, it gets very tiresome. dnh On Fri, 13 Jul 2001, Michael Toennies wrote: > Hi > > As i look at the new mapcmd code from mark, i notice that this opens the > door > to a nice feature - to avoid the cutting of multi tile monster pictures. > > First, lets remember what multi tile monster means. They are needed for > server to > control monsters which reach over more than 1 tile. > > In this process isn't a face(=png picture) involved or used - they are only > used on client side. > The client itself don't know anything about multi monsters nor about the > shown monsters - > it just print the pngs. A multi tile monster is for the client nothing > different than x single > tile pieces. > > Well, to send all this parts, the server goes through the objects in a map > tile, collect and sort > them and send the attached faces/animation faces to the client. > > Its easy now to include here a control. Every multi tile monster part knows > which his "first" tile > (=head) is and which his relative position to his own position is. So, its > easy to send this to the > client. Means this: > > If (multi tile monster part) > goto head > if (this monster not shown this map update) > send client face + x offset of head + y offset of head > mark monster as shown this step > continue > > This will of course invoke 2 more bytes at this point to the map cmd, but > because only ONE time a face > information get send from a multi tile monster, this will safe some byte at > the end. > > On client side, there are many ways then to draw this right. Easiest way is > to clip it or to presort > it... Its not hard and there are some working ways. > > What will give it to us? > > For all clients, this is a great sacrifice for the artists. It will drawing > & storing of bigger monsters > some more easier. And this is REALLY a good thing. > > For the iso client but even for the normal client, this will open the way > for some nicer layering. > > I had worked with this before in other games, and you will really not miss > the picture tiling when > you had done this. > > Its really needed for the iso client, because the cutting for iso multi is > very tricky and a pain in > a ass if you must do it with hands. And i don't want introduce here a > programm (scripting will not work > easily because you need some trick masks). > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel > From michael.toennies at nord-com.net Fri Jul 13 22:05:01 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:26 2005 Subject: [CF-Devel] whyvern gfx set Message-ID: BTW, when one is interested to give the Whyvern gfx set a look, download the map editor here... Arches are included in package. http://www.cabochon.com/editor/editor_download.html#Step_2:_ From michael.toennies at nord-com.net Fri Jul 13 23:10:12 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:26 2005 Subject: [CF-Devel] FW: hi guys Message-ID: I had written the wyvern guys and got this asap back. Hope, this will give us all some good influence ... Because as i quick play it, they have included some ideas we talked long about. Wyvern has the "user oriented" focus which Cf has not - and which the great weakness of CF is. Michael > -----Original Message----- > From: Steve Yegge [mailto:stevey@cabochon.com] > Sent: Saturday, July 14, 2001 5:53 AM > To: michael.toennies@nord-com.net > Subject: Re: hi guys > > > Hi Michael, > > Thank you for your feedback. I agree 100% with you that I should > have given the Crossfire team credit for much inspiration, and > in response to your email, I have spent the past 2 hours writing > a document about it on my website: > > http://www.cabochon.com/influences.html > > I encourage you to read it, and to forward it to the Crossfire > development team. I apologize for not having done this before. > > I take minor offense to labeling Wyvern as a "clone", and I have > spent a good deal of effort in my document explaining why. I hope > you (and they) take the time to read what I have written. > > I think it's very cool that you've written clients for a bunch > of new platforms, since I always felt it was a shame that > Crossfire was only available on X when I used to play it. I > hope that Crossfire enjoys great success in the future. There > is plenty of room in the internet gaming space for lots of > games in this genre. > > Thanks again for writing. I hope you will be kind enough to > forward my URL to the Crossfire development team, and I look > forward to hearing their feedback about it. > > Best regards, > > Steve > > Michael Toennies writes: > > Hi > > > > Iam Michael Toennies from the Crossfire dev team. > > I got a look at your game and i was somewhat suprised because > > its a nice crossfire clone. > > > > You have done some great work! New ideas and so on! > > Nice. > > > > Well, what a bit sad is, that you don't give a single note to > crossfire. > > Like "inspired by crossfire" or something. > > > > Notice, that the crossfire guys (i speak about mark wedel > which has now the > > copyright stuff) are very friendly. > > > > So, even if you plan to go commercial, there should be no problem. > > > > But i really just wonder, you guys don't even make a small not > about it. > > > > Remember, that some gfx ideas etc. are from outside guys. When > one of this > > is pissed > > about "to close" same gfx... > > > > You players get a bit pissed as i call your game a crossfire > clone, so thats > > not the way > > this should go. > > > > I really love to see, how we can make there a better notice about the > > others. > > > > And perhaps there is more than only notice. Many crossfire guys hasn't > > problems > > to share ideas or code/work woth others... > > > > Notice, that iam not direct from server team. > > > > Iam the guy who coded the DirectX client, ported the server to > win32 and now > > i had ported > > the game to true ISO style and nearly finished a SDL client, > which will let > > crossfire run > > under several OS with same client... and alpha blending etc. > will no problem > > (i got 55 fps > > under windowed mode with a p500 yet). > > > > So, i know the problems with this old die hard linux server > guys... Same > > really hate me > > because i opend CF to windows worlds... and i really thought > about making a > > WinCrossfire... > > Well, but i found it better to invade them, instead of split. :) > > > > Michael > > > > From smurf at CSUA.Berkeley.EDU Sat Jul 14 00:16:41 2001 From: smurf at CSUA.Berkeley.EDU (Scott MacFiggen) Date: Thu Jan 13 18:01:26 2005 Subject: [CF-Devel] multi tile monsters - one png In-Reply-To: ; from michael.toennies@nord-com.net on Fri, Jul 13, 2001 at 09:41:23PM +0200 References: Message-ID: <20010713221641.A59976@CSUA.Berkeley.EDU> On Fri, Jul 13, 2001 at 09:41:23PM +0200, Michael Toennies wrote: > Hi > > As i look at the new mapcmd code from mark, i notice that this opens the > door > to a nice feature - to avoid the cutting of multi tile monster pictures. > > First, lets remember what multi tile monster means. They are needed for > server to > control monsters which reach over more than 1 tile. I had a similiar idea to this one. While working on the client I found it somewhat annoying that as a client author I couldn't even tell where the player was on screen.. All I get from the server are face id's to paint onto the screen. I have to do a server hack to get info from the server that the player entered a new map, as it is today I can't even get this info from the server. I was thinking it would be better if the server passed object ID info to the client where the first time an object came into view all the necessary info would be given to the client. This would include the face ID and if the face was multitile, so be it. This would open up more advanced features to the client as well as allow everything Michael proposed in his email. Unfortunetly I'm going to Brasil for 2 months in about 6 weeks so I can't work on this myself but it would be nice. -Scott From mwedel at scruz.net Sat Jul 14 00:33:04 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:26 2005 Subject: [CF-Devel] multi tile monsters - one png References: Message-ID: <3B4FD990.9474209E@scruz.net> I think I agree with what was said. I'm going to restate what I think it means and how to do it just to prevent any confusion. The way I would see doing this would be multipart monsters would still have multiple object parts, but only the head would have a face, and the image pointed to would be of the appropriate size. The other parts would have no face/animation value. This means images of an arbitrary size must be supported - the server doesn't care about that. Note that one side effect of this is that it now means even more data can be displayed/sent to the client. Take a 2x2 monster - of those 4 spaces, the monster is using 1 of the 3 available layers. With this system, the head of the monster is taking 1 of the 3 layers, but the other 3 spaces have all 3 layers available, which means that you could effectively get 4 or more layers drawn on the client map (or more can be caused by the fact you have other multipart objects overlapping with this one even) Now there are two main cases I see: 1) Tall objects (ie, towers, giants): in this case, when the image is drawn, the location is the base. Lets say the tower is 32x64 and a single space (say 5,5). In this case, it should be drawn such that it goes on 5,4 and 5,5. It should not be drawn such that it goes on 5,5 and 5,6 2) Objects whose head starts the definition of their footprint. Say dragons and perhaps stores. In this case, the head is the base. Take a 2x2 creature, head also at 5,5. In this case, it should be drawn such that it fills up 5,5, 5,6, 6,5, 6,6 Note that the above are simple cases. Maybe you want to make that ogre be 32x44 so it is a little taller. Since only the server knows the actual size of the object, presumably the server has to communicate to the client if the object should be drawn up or drawn down. Ideally, the archetype itself does not know or care what the image looks like. But the easiest approach is to probably add a flag to the objects which gets sent to the client to tell if the image should be drawn 'up' or drawn down. I've given this some thought, and any other determination to do this would require just as much work (ie, redoing the way multipart objects go, etc) Some objects would probably still need to get redone - right now, I believe all multipart objects have the head at the upper left. I could certainly see cases where the monsters footprint is say 2x2, but the monster itself should be much taller (think of things like titans). In this case, the titan should get redone such that the head as at the bottom right, so that when we tell it to draw up, it still covers all the spaces which its footprint belongs. In terms of offset - yes, that is necessary if the head is outside the viewable map area. But there is no real way to include that along with the draw up/draw down flag. I suppose you could set the high bit for what should be the face to denote this is a multipart face, and then include the draw up/draw down flag and offset in the first two bytes, followed by 2 bytes for the actual image. Probably the hardest part will be updating the clients to properly deal with all of this. The client current knows about things in the tile format, and only redraws what it needs to - aside from supporting these large images, it needs to know that when it redraws space x,y, a big image at q,r extends into x,y, so that also needs to get redrawn (or at least some portion of it). From mwedel at scruz.net Sat Jul 14 00:55:06 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:26 2005 Subject: [CF-Devel] Map tiling code checked in. Message-ID: <3B4FDEBA.F1014E3@scruz.net> I've checked in code that does automatic map tiling. Much more changed than just the addition of map tiling. There are some sample maps I made to test it out. They are link back to the main city, but I did not check city map that links to them. Following is the necessary link: arch house_2 name map tiling demo slaying /test/tile1 hp 7 sp 13 x 27 y 16 end There are some areas which almost certainly need to be improved on with the tiling code. At minimum, the monster logic probably won't work really well (monsters on a tiled map won't know about the player on the next tiled map over, and so will probably just stand around and do nothing). But I have done some testing, and at least with non tiled maps (which is currently everything but the sample maps), the code should hopefully be no less stable and have no more bugs than the old code did. the java editor certainly needs to be modified to know about the new map fields. crossedit knows about them, and will preserve the values, but have no way to modify them (for my sample maps, I created them in crossedit, but put in the tiling information by hand). From yann.chachkoff at mailandnews.com Sat Jul 14 09:24:34 2001 From: yann.chachkoff at mailandnews.com (Chachkoff Yann) Date: Thu Jan 13 18:01:26 2005 Subject: [CF-Devel] Re: [CF List] Too stupid... Message-ID: <01071410243402.01007@localhost.localdomain> Some remarks... >The behavior for the leveled weapons already exists, one of the random >quests has an item Ruggillis Wisker or something and it has been improved >127 times so no player char can wear it. I didn't knew that item. I'll check it. >As we already have discussed the progressive way would be more difficult to >implement That is only your point of view, not mine. >and partial improvement is really annoying/stupid (drop a level and loose >the ability of hitting fire with your weapon???) Experience: Knowledge acquired by a long training and observation (Larousse). So I think partial improvement is not that stupid. And it already exist in some way in the game with spells: spells are getting stronger with your experience; drop a level and you may become unable to cast some spells. If you accept the idea for some abilities, why can't you accept it for others ? It is of course only my opinion; but if you ever read Fantasy or played "table" RPG (not computer RPG), you certainly already encountered such behaviour. >You do not have to guess if it would consume you, it is a feeling the player >gets when trying to apply the weapon. This may be true for some items - but would it be for all of them ? Some weapons could be intelligent enough to keep that secret (an magical identification would then be needed). Again, it is not an original idea: The One Ring is a well-known sample of an item consuming the wearer without warning. Also remember I never said the dark side of the item could not be discovered: identification by a powerful wizard could be possible for example. >The two second last are good ideas. The last is somewhat useless quest topic >in crossfire, since money has no meaning in it. When you get to level >20 >you get more money than you can ever spend so you keep dropping it to >somewhere or store it to chests infinitely. The fact that money has no meaning is a problem that should be corrected, and I know the problem for quite a long time. I was just giving common samples often found in Fantasy litterature. >PS. read at least 10 last messages on thread before starting to comment on >individual messages... this one is quite long already and most things have >been quite throroughly discussed, explained and justified I always read all messages that I receive before starting to answer. Maybe you think anything has been said on a particular subject, but never forget that anyone can have a different idea about it. And I never expressed my own ideas on this subject before. Some points may now be 100% clear and justified for *you*, but not for anyone. I am sorry to ask questions that could have been answered before, but if I put them again, it is because I think there are still things to say about it. >>?I haven't looked at the new scripting; could that be used to have a >>?scripted object that gives out bonuses based on the details of the >>?character applying it? ?If so, then there could even be a Ring of the >>?Fireborn that only gives the full bonuses to a Fireborn player (or gives >>?the bonuses at a lower level). >we probably don't want to use scripting for 'simple' things (simple things >being values that do not change). ? I agree with that. Common code should stay in C. Maybe we can test things with scripts and, if they proove to be useful, implement them in C ? >?I just think it would be pretty annoying to have a pile of 30 items and not > really know the full strength of any of them until you are of appropriate level. I agree with that. Just an idea I got when reading this: identifying powerful items could be a good goal for a quest. That message is quite long. I'm sorry if reading it is boring for most people, but I think everyone has the right to express his own opinions, boring or not. Chachkoff Y. From michael.toennies at nord-com.net Sat Jul 14 16:32:42 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:26 2005 Subject: [CF-Devel] FW: hi guys Message-ID: Well, that 2nd mail from wyvern guy. Remember this whole thread is not as hot as it seems.. So, please no flame mail to anyone, this was a mail to me. Michael > -----Original Message----- > From: Steve Yegge [mailto:stevey@cabochon.com] > Sent: Saturday, July 14, 2001 6:23 AM > To: michael.toennies@nord-com.net > Subject: Re: hi guys > > > Hi Michael, > > Incidentally, I read through the shout logs today and saw the > conversation you had with some of the players online. It's > not surprising that they were rather hostile to you, because > your wording was (I believe) rather too strong. Wyvern has > over 3500 pictures (all of them done by artists who have > never seen Crossfire in their lives), and you chose two or > three of them that looked similar to pictures in Crossfire > and used that as the basis for labeling my game as a "clone" > that "stole" everything from Crossfire. > > Quite frankly, I'm surprised that the makers of the Titan board > game haven't sued to make you remove your artwork for the > Behemoth and the Chinese Dragon in Crossfire, both of which > were clearly photocopied from the tiles in the board game. > Not to mention the ghosts (from Gauntlet), and I could go on > with more examples if I put my mind to it. The Crossfire team > STOLE artwork from these other games, and I don't see any > mention of them on your website. > > Do you see my point now? If you lighten up a little bit, > people will go easier on you, I think. > > Regards, > > -steve > > > > Michael Toennies writes: > > Hi > > > > Iam Michael Toennies from the Crossfire dev team. > > I got a look at your game and i was somewhat suprised because > > its a nice crossfire clone. > > > > You have done some great work! New ideas and so on! > > Nice. > > > > Well, what a bit sad is, that you don't give a single note to > crossfire. > > Like "inspired by crossfire" or something. > > > > Notice, that the crossfire guys (i speak about mark wedel > which has now the > > copyright stuff) are very friendly. > > > > So, even if you plan to go commercial, there should be no problem. > > > > But i really just wonder, you guys don't even make a small not > about it. > > > > Remember, that some gfx ideas etc. are from outside guys. When > one of this > > is pissed > > about "to close" same gfx... > > > > You players get a bit pissed as i call your game a crossfire > clone, so thats > > not the way > > this should go. > > > > I really love to see, how we can make there a better notice about the > > others. > > > > And perhaps there is more than only notice. Many crossfire guys hasn't > > problems > > to share ideas or code/work woth others... > > > > Notice, that iam not direct from server team. > > > > Iam the guy who coded the DirectX client, ported the server to > win32 and now > > i had ported > > the game to true ISO style and nearly finished a SDL client, > which will let > > crossfire run > > under several OS with same client... and alpha blending etc. > will no problem > > (i got 55 fps > > under windowed mode with a p500 yet). > > > > So, i know the problems with this old die hard linux server > guys... Same > > really hate me > > because i opend CF to windows worlds... and i really thought > about making a > > WinCrossfire... > > Well, but i found it better to invade them, instead of split. :) > > > > Michael > > > > From mwedel at scruz.net Sat Jul 14 17:06:47 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:27 2005 Subject: [CF-Devel] Re: [CF List] Too stupid... References: <01071410243402.01007@localhost.localdomain> Message-ID: <3B50C277.67AFE674@scruz.net> Chachkoff Yann wrote: > > Some remarks... > > >The behavior for the leveled weapons already exists, one of the random > >quests has an item Ruggillis Wisker or something and it has been improved > >127 times so no player char can wear it. > I didn't knew that item. I'll check it. As a note, that current code probalby only works for weapons. I'm pretty sure it uses some field for the number of times that is has been improved that is actually used for something else in armor (like last_sp or something). As it is now, IMO using that overloaded field is not a good idea in general, but was standard practice in crossfire for a long time. > Experience: Knowledge acquired by a long training and observation (Larousse). > So I think partial improvement is not that stupid. And it already exist in > some way in the game with spells: spells are getting stronger with your > experience; drop a level and you may become unable to cast some spells. If > you accept the idea for some abilities, why can't you accept it for others ? > It is of course only my opinion; but if you ever read Fantasy or played > "table" RPG (not computer RPG), you certainly already encountered such > behaviour. One difference here is that spell casting is more active, while using equipment is more passive. Ie, you drop a level and try to cast a spell and it will plainly tell you that is beyond a level. Use some level equipment items, drop a level, and you may quickly die again, not realizing several of your items are now longer as good as they were. I've played table RPG's many times, and they have one great advantage of computer RPG's: a real life GM who can make various decisions about balance. IF you had a real life human OK'ing giving of artifacts to other characters, we would have no problem right now. My general approach to most problems is start with the simple solution, and go onward from there if it doesn't work. Remember, the main problem we are trying to address here is artifacts being given to low level players. Even doing minimum level won't fix this problem completely (the high level people could instead give money, potions, or other non level dependent stuff). For many items, a simple minimum level probably works fine - the ring of high magic might be such a case - until character is appropriate level, there would still be plenty of non level rings which could help ie (magic +1 or int+1 rings would still be available at 0 level). Other things like dragon shield/armor may not be worth doing incrementally, simply because to do so woudl make the item worse than standard things, and create more confusion. Generally speaking, probably the lower the level of the artifact, the less worth while to do it incrementally (first because player will get to appropriate level pretty quickly, and second because with a small total level range, bonuses and rounding would change pretty rapidly or not be nearly as worthwhile). As for money having no meaning, this gets trickier to fix. At one point, it was easier to spend money on really good items in shops. But it has been decided that most the really good stuff should be find in the 'wild', and not in shops, so that reduces usefulness of money. Back when stat potions where in shops, that used to be the typical consumer of money, first to max out the stats of the character, and then to start stocking up to make your improved weapon. So probably after level 10-15, there is nothing good in shops to buy, and of course you still pile up loot and thus money. The idea of building castles or whatever could be some use for money. You could also add recurring costs - your apartment is really a rental, so you need to periodically pay to keep access to it, and pay even more if you've extended it. But dealing with money is tricky - there is a very fine line of the characters being perpetually poor (not enough money to cover extensives) and players getting really rich. And some also goes into player style. Someone could be perpetually poor if they are quickly going through dungeons and not collecting much, but another character in the same dungeon who more carefully goes through, collects magical stuff, alchemies other, etc, will certainly be richer in terms of gold, but maybe not exp. From smurf at CSUA.Berkeley.EDU Sun Jul 15 16:13:06 2001 From: smurf at CSUA.Berkeley.EDU (Scott MacFiggen) Date: Thu Jan 13 18:01:27 2005 Subject: [CF-Devel] Map tiling code checked in. In-Reply-To: <3B4FDEBA.F1014E3@scruz.net>; from mwedel@scruz.net on Fri, Jul 13, 2001 at 10:55:06PM -0700 References: <3B4FDEBA.F1014E3@scruz.net> Message-ID: <20010715141305.A91487@CSUA.Berkeley.EDU> On Fri, Jul 13, 2001 at 10:55:06PM -0700, Mark Wedel wrote: > > I've checked in code that does automatic map tiling. Much more changed than > just the addition of map tiling. The lastest CVS image seems to have problems getting face information to the clients. If I run around long enough in the undead church for example, the clients core because they are accessing NULL image data since I guess it was never sent to the client. And using the -cache option is quite interesting... I also noticed this message on server startup: Reading archetypes from ../lib//archetypes... arch-pass 1...Unrecognized string: resist_paralysis 100 Unrecognized string: resist_paralysis 100 -Scott From mwedel at scruz.net Sun Jul 15 23:42:42 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:27 2005 Subject: [CF-Devel] Map tiling code checked in. References: <3B4FDEBA.F1014E3@scruz.net> <20010715141305.A91487@CSUA.Berkeley.EDU> Message-ID: <3B5270C2.D484D270@scruz.net> Scott MacFiggen wrote: > > On Fri, Jul 13, 2001 at 10:55:06PM -0700, Mark Wedel wrote: > > > > I've checked in code that does automatic map tiling. Much more changed than > > just the addition of map tiling. > > The lastest CVS image seems to have problems getting face information > to the clients. If I run around long enough in the undead church > for example, the clients core because they are accessing NULL image > data since I guess it was never sent to the client. > And using the -cache option is quite interesting... I found a bug that I've just fixed that would happen if you were using the smaller map size (11x11). I haven't seen any problems with the larger maps. The map transmission code for the most part is completely unchanged (if you do a diff, you will see that very little has changed for map tiling). If the change I just checked in for darkness doesn't fix the problem, then I'm not sure what the problem is. > > I also noticed this message on server startup: > Reading archetypes from ../lib//archetypes... > arch-pass 1...Unrecognized string: resist_paralysis 100 > Unrecognized string: resist_paralysis 100 This is an archetype problem in the Greater Demon and the Demon Lord. wrong name was used for the variable they were trying to enter (my guess is resist_paralyze) From mwedel at scruz.net Mon Jul 16 00:05:33 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:27 2005 Subject: [CF-Devel] Map world redo. Message-ID: <3B52761D.5A587AA3@scruz.net> Now that a big piece that makes this possible is now in (map tiling), I thought I should at least re-iterate the conclusions from previous discussion, as well as some things to make this more manageable. first, I should note I made no attempt at any modification for the current maps. One reason for this is that the current world maps did their tiling by using a 5 space overlap on the next map. To make the world maps use the new tiling features would basically mean that this 5 space overlap gets removed, which unless it is filled with something else, would then result in all the coordinates on the map being off by 5 spaces, which then means all the exits leading to the map are off. In short summary, it means that it would take a lot of work to make the current maps use tiling as is. The first conclusion was that a dual scale system should be used instead of the tri scale we currently have. The dual scale would basically be indoor/outdoor. The world maps would no longer have the little city symbols, but rather the city would appear the same scale they currently are, but be on the world map. The city would still have the the various shops, and things like towers and caves would similarly appear in the world maps. Unified scale has been suggested, and I think there are a lot of good reasons why doing it is not a good thing. I don't really want to discuss this again, so if you missed the discussion first time around, please re-read the archives. The second point which is open up to a little more interpertation/discussion. is how much larger the scale should be. Anywhere from 20 to 50 is probably valid. I put 20 at the low end simply with the unified scale, you sort of need this for this to work in at least reasonably OK. Note that the current maps are effectively 32x24 (this effective size gotten by removing the 5 space overlap). The main continent right now is 3x4, which means the entire thing is roughly 96x96 spaces. Scaling at 20 would make this 2000x2000 spaces, by 50 would be 5000x5000 spaces. Point 3 would be the size of each tile. Somewhere in the range of 50-100 for each axis would probably be appropriate. Note that on my machine, each object is 428 bytes. This means that a 100x100 map would roughly take up 5 megabtyes of ram (I'm make the assumption in this case that most of the outdoor maps only have 1 thing per space). Point 4 would be naming system (right now it is world_a1, world_a2, world_b1, etc). Ideally, this naming system and directory setup should be such that it is pretty unlimited - at some point, sailing boats accross the ocean to other continents may happen instead of the instant journey it is now, so something that will last long enough is probably the ideal thing. My personal thought would be to do it as something like sprintf(path, "world/%03d/w_%03d_%03d", x, x, y), where x is the x position in the world. This means an entire row would be stored in one directory. I note that if you do the math and take the largest scale (50) with the smallest map size (50), that would result in a 100x100 set of maps, and you probably don't want that many files in one directory for reasons of space. I would also suggest that scorn starts somewhere in the middle of this set, so things can work outwards. If these values get nailed down, this then means that multiple people can work on different aspects. For example, if you know the size of the tiles, and know the scale, and know that scorn is on map 400x400, you can then figure out that 'ok - navar city should be at map 458,395' for example, so that a person can work on the navar city area, a person work on the scorn area, a person work on the brest area, etc. Of course where the two meet up, some changes may need to get made, but I think a world redo probably needs to get done by several people at minimum. I don't think it will be complicated, it will just be a bunch of work that just takes time. From smurf at CSUA.Berkeley.EDU Mon Jul 16 01:14:48 2001 From: smurf at CSUA.Berkeley.EDU (Scott MacFiggen) Date: Thu Jan 13 18:01:27 2005 Subject: [CF-Devel] Map tiling code checked in. In-Reply-To: <3B5270C2.D484D270@scruz.net>; from mwedel@scruz.net on Sun, Jul 15, 2001 at 09:42:42PM -0700 References: <3B4FDEBA.F1014E3@scruz.net> <20010715141305.A91487@CSUA.Berkeley.EDU> <3B5270C2.D484D270@scruz.net> Message-ID: <20010715231448.A43383@CSUA.Berkeley.EDU> On Sun, Jul 15, 2001 at 09:42:42PM -0700, Mark Wedel wrote: > Scott MacFiggen wrote: > I found a bug that I've just fixed that would happen if you were using the > smaller map size (11x11). > > I haven't seen any problems with the larger maps. The map transmission code > for the most part is completely unchanged (if you do a diff, you will see that > very little has changed for map tiling). If the change I just checked in for > darkness doesn't fix the problem, then I'm not sure what the problem is. Now it works fine for 11x11 maps but on larger maps it still dies in the Undead Church. If you walk up far enough once in the church the pngximage client will start complaing of no png data. (This is on a 16x16 map by the way). The face id that it seems to be having so much trouble with is 3342 which corresponds to ./arch/light/torch_lit2.111 The SDL client just dies since it doesn't protect against NULL image data. Go up even farther and it starts trying to paint bogus face id's. I just saw it try to paint face id 7014, 10059, and 16640.. So far I have only seen this happen in the Undead Church.. Also, when I went into the cave just outside of the starting city on the opposite side of the first mountain (the East side, not the south side), I got the following error messages from the server: update_position called with P_NEED_UPDATE not set: /esben/hole (20, 2) update_position called with P_NEED_UPDATE not set: /esben/hole (26, 6) update_position called with P_NEED_UPDATE not set: /esben/hole (27, 6) update_position called with P_NEED_UPDATE not set: /esben/hole (21, 11) update_position called with P_NEED_UPDATE not set: /esben/hole (21, 10) update_position called with P_NEED_UPDATE not set: /esben/hole (28, 5) update_position called with P_NEED_UPDATE not set: /esben/hole (22, 10) update_position called with P_NEED_UPDATE not set: /esben/hole (28, 4) update_position called with P_NEED_UPDATE not set: /esben/hole (23, 10) update_position called with P_NEED_UPDATE not set: /esben/hole (23, 9) update_position called with P_NEED_UPDATE not set: /esben/hole (29, 5) update_position called with P_NEED_UPDATE not set: /esben/hole (21, 34) update_position called with P_NEED_UPDATE not set: /esben/hole (19, 5) update_position called with P_NEED_UPDATE not set: /esben/hole (18, 2) update_position called with P_NEED_UPDATE not set: /esben/hole (21, 2) update_position called with P_NEED_UPDATE not set: /esben/hole (3, 8) update_position called with P_NEED_UPDATE not set: /esben/hole (26, 33) update_position called with P_NEED_UPDATE not set: /esben/hole (21, 31) update_position called with P_NEED_UPDATE not set: /esben/hole (16, 26) update_position called with P_NEED_UPDATE not set: /esben/hole (12, 33) . . . -Scott From dnh at hawthorn.csse.monash.edu.au Mon Jul 16 03:48:24 2001 From: dnh at hawthorn.csse.monash.edu.au (dnh) Date: Thu Jan 13 18:01:27 2005 Subject: [CF-Devel] Map tiling code checked in. In-Reply-To: <20010715141305.A91487@CSUA.Berkeley.EDU> Message-ID: > I also noticed this message on server startup: > Reading archetypes from ../lib//archetypes... > arch-pass 1...Unrecognized string: resist_paralysis 100 > Unrecognized string: resist_paralysis 100 Hmm this looks like an error I would make (Australian spelling). Unfortunetly my internet is down and out (using a dodgy connection to read email..) so if someone could fix this problem for me that would be helpful. dnh From michael.toennies at nord-com.net Mon Jul 16 22:11:40 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:28 2005 Subject: [CF-Devel] multi tile monsters - one png In-Reply-To: <3B4FD990.9474209E@scruz.net> Message-ID: Yes, you described it exactly. The simplification is for the artist and for the server also, because we don't must synchronize the animation of a multi tile monster anymore - we got only one tile (= head) with this information. The problem with the right shifting of the image on client side is easy, when we define 2 simple rules. The iso client is in fact working with this. Because in iso a image be higher than a floor tile, the client always assume that the image start at y=0 as offset the bottom of the floor tile. For this reason, we must shift the monsters/items we use for iso in a new position. If the image is higher then the floor tile, we do a (in real all floor tiles has the same width/high of course) blit_y_pos = floor_tile_y_pos if(image_high > floor_tile_high) blit_y_pos -= image_high - floor_tile_high; For the x position, we can do the same, if we assume that the first x pixel of the image is the x start of the first left tile - this also works in iso. So, if the image is > floor_width, we just shift it one floor_width to the left until the rest is not bigger, then we got it. All what the client then needs is the to know at which (relative or not) position the head is - when the head then the right bottom tile is! To handle multi tile objects in this way (a fixed head in the right bottom corner) should not be bad and maybe its useful for other things too. At last, we got a rid off the multi part images, which is a must for interesting more artist in my opinion (they are all girls and don't like to cut there pictures :) and we have a positive effect on server & bandwith side (a minor effect perhaps, but permanent). The client must do more work then, but its only some calculation and this use performance where most performance is: on cpu side. And because there is only one picture to blit, it should also be faster there because blitting images is a bottleneck (well, don't think there will be a noticable speed effect ever). That the map cmd then has more place to submit other objects on the free layer cell is a really nice side effect i don't notice before. Well, when i add all this we should include this single image per multi tile ASAP... It has alot of good effects. Michael > I think I agree with what was said. I'm going to restate what I > think it means > and how to do it just to prevent any confusion. > > The way I would see doing this would be multipart monsters would > still have > multiple object parts, but only the head would have a face, and the image > pointed to would be of the appropriate size. The other parts > would have no > face/animation value. This means images of an arbitrary size > must be supported > - the server doesn't care about that. > > Note that one side effect of this is that it now means even more > data can be > displayed/sent to the client. Take a 2x2 monster - of those 4 spaces, the > monster is using 1 of the 3 available layers. With this system, > the head of the > monster is taking 1 of the 3 layers, but the other 3 spaces have > all 3 layers > available, which means that you could effectively get 4 or more > layers drawn on > the client map (or more can be caused by the fact you have other multipart > objects overlapping with this one even) > > Now there are two main cases I see: > > 1) Tall objects (ie, towers, giants): in this case, when the > image is drawn, > the location is the base. Lets say the tower is 32x64 and a > single space (say > 5,5). In this case, it should be drawn such that it goes on 5,4 > and 5,5. It > should not be drawn such that it goes on 5,5 and 5,6 > > 2) Objects whose head starts the definition of their footprint. > Say dragons and > perhaps stores. In this case, the head is the base. Take a 2x2 > creature, head > also at 5,5. In this case, it should be drawn such that it fills > up 5,5, 5,6, > 6,5, 6,6 > > Note that the above are simple cases. Maybe you want to make > that ogre be > 32x44 so it is a little taller. Since only the server knows the > actual size of > the object, presumably the server has to communicate to the > client if the object > should be drawn up or drawn down. > > Ideally, the archetype itself does not know or care what the > image looks like. > But the easiest approach is to probably add a flag to the objects > which gets > sent to the client to tell if the image should be drawn 'up' or > drawn down. > I've given this some thought, and any other determination to do this would > require just as much work (ie, redoing the way multipart objects > go, etc) Some > objects would probably still need to get redone - right now, I believe all > multipart objects have the head at the upper left. I could > certainly see cases > where the monsters footprint is say 2x2, but the monster itself > should be much > taller (think of things like titans). In this case, the titan > should get redone > such that the head as at the bottom right, so that when we tell > it to draw up, > it still covers all the spaces which its footprint belongs. > > In terms of offset - yes, that is necessary if the head is > outside the viewable > map area. But there is no real way to include that along with > the draw up/draw > down flag. I suppose you could set the high bit for what should > be the face to > denote this is a multipart face, and then include the draw > up/draw down flag and > offset in the first two bytes, followed by 2 bytes for the actual image. > > Probably the hardest part will be updating the clients to > properly deal with > all of this. The client current knows about things in the tile > format, and only > redraws what it needs to - aside from supporting these large > images, it needs to > know that when it redraws space x,y, a big image at q,r extends > into x,y, so > that also needs to get redrawn (or at least some portion of it). > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel > From michael.toennies at nord-com.net Mon Jul 16 22:24:20 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:28 2005 Subject: [CF-Devel] Java Editor Questions/Notes In-Reply-To: <3B43A480.C046755C@scruz.net> Message-ID: Uh. sorry for the late answer, i missed to send this before. > I tried firing up the java editor and have a few questions/notes. > > First, I'm using JDK 1.4 beta, so I did need to recompile. Once > that was done, > I was able to run it just fine. Yes, i use jdk 1.3. As i know from the past, the different packages of java are not compatible. Sadly , you can often start jar files compiled with older packages, and first its looks they work, but fast you will encounter strange runtime effects. So, its really nessecary to include in the docs which packages was used for a jar file, so the user can recompile the source if needed. > I notice a lot of the images have bogus transperencies (instead > of having a > transperency, it has a dark blue/black one instead), but quite a > few work just > fine. The native png loader from sun is broken and has real problems with many pngs. 16 color pngs are really a problem for it. I got a png lib called "sixlegs png lib". The old version of this has problems too but i had contact the author and we had done some tests. The last version is much faster as the native png loader, use only a few more mbs and has only problems with 1 or 2 of the 3500 pngs. > I was also unable to select on anything in the map window once I > loaded a map. > The tracking information (mouse position and relative x,y values > on the map) at > the bottom of the screen appeared correct, but clicking any of > the mouse buttons > did not do anything. I was able to click on the object type > tabs, and then the > objects within those tabs themselves, so it does appear the the > app is at least > getting some of the clicks. Anyone know what to do to fix this? > > I like the view options (show monster, show exit). I would > suggest that a > 'clear all' option may be in order - if you've selected a few and > now want to go > back to see everything, but able to do that quickly would be nice. AV has improved here some code... > Any plans to make let the editor load from the built versions of > the archetype > and .png file? I would guess that would make start time quite a > bick quicker. > It also means that if the user already has the server > distribution with those > files and does not plan to make any archetype changes, they can use those > instead of needing to download the arch distribution in addition > to what they > have. Yes, i plan to him load from packed files. With the sixleg lib, this should be possible (to load the pngs from one big file). > Minor point - if the user selects a multi part object from the > selection list, > perhaps show the full sized piece in the information pain below > that are (that > one that lists the name, type, etc) if there is space? This can be inserted in the quick view panel left bottom area. Because i plan longer to make this 1 image for multi tiles i had not included here this. Also, its some work to implement it for iso & normal view both. > All in all, it looks pretty solid. I just need to figure out how I can > insert/delete/change things and then I could play around with it more. > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel > From michael.toennies at nord-com.net Mon Jul 16 22:34:42 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:28 2005 Subject: [CF-Devel] arch types & xbm&xpm libs Message-ID: Hi The SDL client goes right version 1.0, in fact i need only to include the inventory & below window. What i don't want include is xbm&xpm support. Should it not be time to remove them from server CVS? Another point is this ugly item_type module and the way the client try to get and idea of the type. Well, we only need a way to include the real type information in the arch type. Mainly, we need to update the items with it - all stuff which a client can put in his inventory. Really, this should be a must! The old methode is a hack and a violation of the rules of the arch object system. The arch object system is dynamic and server side. What the client try is static and not server side. In fact, current client item type code is outdated in the second it is written. I should be really not the horrible work to include a type (and perhaps a subtype information) in the item arches. From mwedel at scruz.net Tue Jul 17 00:11:08 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:28 2005 Subject: [CF-Devel] arch types & xbm&xpm libs References: Message-ID: <3B53C8EC.E0B1246B@scruz.net> Michael Toennies wrote: > > What i don't want include is xbm&xpm support. No requirement that you do. You can easily state in the client documentation that this client can only be played on a server that has png images available (which I think realistically is pretty much all of them). If you happen to get a server that does not have png images (such that when your client says it wants pngs, server says can't do that), you could just pop up a message stating as such. Of course, removal of these from the servers does not change the case in any way if someone is on a very old server. As a note, the gtk client never supported the xbm format. So that is a real case example of only supporting some set of images. > > Should it not be time to remove them from server CVS? Probably. I will note the biggest issue on this is people still using the older sets and prefering them for whatever reason (if you have monochrome, the xbm make sense, if you have limited screen size, ie laptop, the xpm may be preferable over the png, etc). a related question on this is dealing with multiple png sets. As I see it, current there are the main png set, the alternate png set, and the iso png set. In the long run, one of the following should probably happen: 1) Server does not provide images at all. If a site adds images, they provide them through other means (ftp or the like) In this sense, the client deals with all image stuff (basically like cached is always on). This simplifies code, but may make hopping to different servers more of a pain (OTOH, you could very well have some sites which have every image available). This is almost certainly what commercial programs do, but they can also always rely on the fact that they know what the server and client is transmitting. I don't know if this is ideal - the code for both client and server for transmitting images isn't that complicated. 2) Remain as is, with server only supplying one image set, if a user wants to use another, they must download the appropriate files. This is basically what we have here. 3) Server provides some number of images sets. this could be done more intelligently in the sense that the main set remains as is (has everything), where as the other ones only collect the images that are custom to that set. Thus, the crossfire.png-alt may only have a couple hundred images. When the server needs to send an image to the client, it checks the specific set the client is using, and if it doesn't have it there, it goes to the main set and uses that image. As an aside, I think there is a little too much focus on the alternate set in this sense - it seems right now whenever someone improves an image, it pretty much goes to the alternate set. I think there are many cases where the improved image should really have replaced what is a mediocre image in what is currently the main set. I know that one of the original motivations of the alternate set was to deal to have a set that did not use scaled up images (presumably, if all those had gotten redone by hand at the proper scale, that would make some more images between the two sets common. > > Another point is this ugly item_type module and the way the client > try to get and idea of the type. > > Well, we only need a way to include the real type information in the arch > type. > Mainly, we need to update the items with it - all stuff which a client can > put in his > inventory. > > Really, this should be a must! The old methode is a hack and a violation of > the rules of the > arch object system. The arch object system is dynamic and server side. > What the client try is static and not server side. In fact, current client > item type code is > outdated in the second it is written. > > I should be really not the horrible work to include a type (and perhaps a > subtype information) in the > item arches. There is of course an object type in the archs. The problem is that sending it then violates another rule - the rule that the client is assumed non trustworthy, and sending data that the item that appears like shovel is really a key or the like. One other motivation I originally had in the client having an item types field was to effectively let the end user determine how they wanted their stuff sorted by changing values in that file as appropriate. The ordering of the object types in the arch is not in any order - just a sample: #define ROD 3 #define POTION 5 #define FOOD 6 #define POISON 7 #define BOOK 8 #define ARROW 13 #define BOW 14 #define WEAPON 15 #define ARMOUR 16 #define SPECIAL_KEY 21 #define KEY 24 #define SHIELD 33 #define HELMET 34 #define HORN 35 #define MONEY 36 #define AMULET 39 #define DRINK 54 #define GEM 60 #define RING 70 I could go on, but I think its reasonably easy to see that things may not get grouped nearly as well as you want it (keys are between armour and shield, and things like cloak, gauntlets, boots are still further down the list. So if the client sorts by this official item type, its pretty non sensical. You could of course have the client re-map this values to other values for purposes of sorting, but that seems to reduce the hackiness of the current setup by a minor degree. The ideal solution is probably as you mention - put in something like a public_type field, which then gets sent to the client. Doing type/subtype problem makes the most sense, as that way you can put all of armor, shield, boots, gloves, into the main armor type, and then assign subtypes for each of those. One nice thing this setup would have is that if new subtypes got added on the server, the client would still work fine, since it doesn't really care how the binding works out. This is different than say if we had that re-mapping table on the client, as it would get a new type that it doesn't know about and have no idea to re-map it. Note that putting those fields in is a big difference from the type/subtype redo I have suggested would make more sense for the object structure. But even if this redo of the object structure is redone, the type/subtype (which could just be done as something like 'client_type 8/14', where 8 is the major type, and 14 the subtype, having this client_type still prevents the problem of sending more information to the client than perhaps should be done (like poison for example, of the fact that the shovel may be a ring,etc). From dnh at hawthorn.csse.monash.edu.au Tue Jul 17 03:29:16 2001 From: dnh at hawthorn.csse.monash.edu.au (dnh) Date: Thu Jan 13 18:01:28 2005 Subject: [CF-Devel] To all interested. Message-ID: I have been puzzeling over the states of ruggilli and gorokh in particular. I have found these gods to be rather boring to play, this is simply because there is no super major balances for the lack of armour, or lack of real protections. To compensate I asked peterm to add a simple spell rage, which basically pumps the player up. I found with rage, no armour, and a nice weapon I could do the Mwizard tower in 2 minutes flat. While the obvious problem was, rage helped to much, I found it was still fairly boring. An idea I had before rage was to modify drain to steal hp from the target creature being hit and give it to the player (at a much lower rate, say 2%), as in the case of diablo's sword of the leech. I still think this idea is a good one, but the general concensus was that it was to hard to balance, and didn't really improve the gods players exp for wisdom (which I will point out, rage doesn't either). I have thought of a similar solution to the changed drain. The prayer/spell of bloodlust. While I am certain I could code the drain change i'm afraid after some looking I am not sure a spell/prayer of this nature would be quite so simple. If someone could code this prayer, I would be quite happy to balance it and give it to ruggilli in particular. I feel this would add a whole new element to these rather dull gods that would certainly make for some interesting play. For example, wielding that bonecrusher after casting bloodlust might be alot more useful than the darkblade you have because you can still make up the hp with the damage. Anyway, the idea is there, if someone could try it out (smiles nicely at peterm) or pass on some help in doing it I would be greatful. thanks, dnh From michael.toennies at nord-com.net Tue Jul 17 08:38:30 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:28 2005 Subject: [CF-Devel] arch types & xbm&xpm libs In-Reply-To: <3B53C8EC.E0B1246B@scruz.net> Message-ID: Well, this preloading of a image set on client side is one thing we really should think over when we arrived a user number of x. Theoretical the submit of the png data is a way to thread the server/bandwith, when you often relogin with deleted cache. Thinking about it is of course a issue of the future, but we should have it in mind. The best i can think about it, is to make reall full set and in each set a kind of init file. The client then sends this to the server, so the server knows which set the client is use - when the server then has access to this set, he can try to update the pngs, when he don't know it, the client must live with his own. This will be a problem of course with user made map, when we allow the user the create new arch types too for map sets... We don't do it yet, so its ok. I have no real idea what the best it - for client coding i don't really care about the set, i just must know the size and then i blit it. > Michael Toennies wrote: > > Should it not be time to remove them from server CVS? > > Probably. I will note the biggest issue on this is people still > using the > older sets and prefering them for whatever reason (if you have > monochrome, the > xbm make sense, if you have limited screen size, ie laptop, the xpm may be > preferable over the png, etc). > > a related question on this is dealing with multiple png sets. > As I see it, > current there are the main png set, the alternate png set, and > the iso png set. > > In the long run, one of the following should probably happen: > 1) Server does not provide images at all. If a site adds images, > they provide > them through other means (ftp or the like) In this sense, the > client deals with > all image stuff (basically like cached is always on). This > simplifies code, but > may make hopping to different servers more of a pain (OTOH, you > could very well > have some sites which have every image available). This is > almost certainly > what commercial programs do, but they can also always rely on the > fact that they > know what the server and client is transmitting. I don't know if > this is ideal > - the code for both client and server for transmitting images isn't that > complicated. > 2) Remain as is, with server only supplying one image set, if a > user wants to > use another, they must download the appropriate files. This is > basically what > we have here. > 3) Server provides some number of images sets. this could be done more > intelligently in the sense that the main set remains as is (has > everything), > where as the other ones only collect the images that are custom > to that set. > Thus, the crossfire.png-alt may only have a couple hundred > images. When the > server needs to send an image to the client, it checks the > specific set the > client is using, and if it doesn't have it there, it goes to the > main set and > uses that image. > > As an aside, I think there is a little too much focus on the > alternate set in > this sense - it seems right now whenever someone improves an > image, it pretty > much goes to the alternate set. I think there are many cases > where the improved > image should really have replaced what is a mediocre image in > what is currently > the main set. I know that one of the original motivations of the > alternate set > was to deal to have a set that did not use scaled up images > (presumably, if all > those had gotten redone by hand at the proper scale, that would > make some more > images between the two sets common. > > Well, you should remember that the type/subtype is part of the item data - they should only accessible to player/client when he had identified the item. So, there should be a genric type xxx/UNIDENTIFIED. WHEN the player then had identified the item, he should be have the right to know the type. For the key/shovel notice that you can trick this: When you have a open keyring, the server insert the shovel in the keyring even when not identified. This gives me a few times someting to think, because in pterms random quests are also keys with other faces and they go direct in my keyring. So, at i try to find them this item, i don't find it in my main inventory. I need some time, before i start to search my keyring for it... This should be fixed: if not identified, don't insert a key in keyring...? Hm, better we handle this with subtype... if type is not key/key (perhaps key/OTHER) then not insert it in key ring. We should hold this in mind. I mainly need this type info for the inventory doll of the client. I must know exactly the type of an item i wear/wield - means i must know how the server handle this item when i wear it. This should be really an information the client/player has the right to know. On the other side, we REALLY can do with the script stuff some nice thing with type/subtype. I think there to make real weapon/armor type stuff, like a priest only can wield mace/rod stuff or wizards don't can wield 2 hand sword or something... When we do this, we have now room to create special items. A powerful demon slaying dagger is yet senseless, for a non sword wizard of course it is a must. This subtype thing then has manily effect on server side. > > > > Another point is this ugly item_type module and the way the client > > try to get and idea of the type. > > > > Well, we only need a way to include the real type information > in the arch > > type. > > Mainly, we need to update the items with it - all stuff which a > client can > > put in his > > inventory. > > > > Really, this should be a must! The old methode is a hack and a > violation of > > the rules of the > > arch object system. The arch object system is dynamic and server side. > > What the client try is static and not server side. In fact, > current client > > item type code is > > outdated in the second it is written. > > > > I should be really not the horrible work to include a type (and > perhaps a > > subtype information) in the > > item arches. > > There is of course an object type in the archs. The problem is > that sending it > then violates another rule - the rule that the client is assumed non > trustworthy, and sending data that the item that appears like > shovel is really a > key or the like. > > One other motivation I originally had in the client having an > item types field > was to effectively let the end user determine how they wanted > their stuff sorted > by changing values in that file as appropriate. The ordering of > the object > types in the arch is not in any order - just a sample: > > #define ROD 3 > #define POTION 5 > #define FOOD 6 > #define POISON 7 > #define BOOK 8 > #define ARROW 13 > #define BOW 14 > #define WEAPON 15 > #define ARMOUR 16 > #define SPECIAL_KEY 21 > #define KEY 24 > #define SHIELD 33 > #define HELMET 34 > #define HORN 35 > #define MONEY 36 > #define AMULET 39 > #define DRINK 54 > #define GEM 60 > #define RING 70 > I could go on, but I think its reasonably easy to see that > things may not get > grouped nearly as well as you want it (keys are between armour > and shield, and > things like cloak, gauntlets, boots are still further down the > list. So if the > client sorts by this official item type, its pretty non sensical. > You could of > course have the client re-map this values to other values for purposes of > sorting, but that seems to reduce the hackiness of the current > setup by a minor > degree. > > The ideal solution is probably as you mention - put in something like a > public_type field, which then gets sent to the client. Doing type/subtype > problem makes the most sense, as that way you can put all of > armor, shield, > boots, gloves, into the main armor type, and then assign subtypes > for each of > those. One nice thing this setup would have is that if new > subtypes got added > on the server, the client would still work fine, since it doesn't > really care > how the binding works out. This is different than say if we had > that re-mapping > table on the client, as it would get a new type that it doesn't > know about and > have no idea to re-map it. > > Note that putting those fields in is a big difference from the > type/subtype > redo I have suggested would make more sense for the object > structure. But even > if this redo of the object structure is redone, the type/subtype > (which could > just be done as something like 'client_type 8/14', where 8 is the > major type, > and 14 the subtype, having this client_type still prevents the problem of > sending more information to the client than perhaps should be > done (like poison > for example, of the fact that the shovel may be a ring,etc). > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel > From michael.toennies at nord-com.net Tue Jul 17 08:58:21 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:28 2005 Subject: [CF-Devel] S2C map head information and map data caching Message-ID: Hi This is something is noted some times before, but with the new SDL client, i can know implement it. I just finished the sound stuff, so the SDL client yet has the full dx client sound... nice. Well, at the moment the client knows nothing about the current map the player is in. Not the size, not the name, etc. What i want include in the client is a automap feature! This is another sacrifice of the map layer thing. For automap i don't need to know the moving objects like monsters, i just want see the "structure" of my surrounding. 2nd is that we want include ambient sounds - for this i must know which one or the type of dungeon we have. Also, i want show the name where we are (if player should not know it, make it unknown). For this, i prefer to send a maphead cmd to the client. In this maphead is the - name - xlen - ylen - ambient sound 1 - ambient sound 2 - sound source 1 - sound source 2 name should be clear, also xlen/ylen - this is need to setup a useful caching structure for the map. The caching itself is easy... just copy the map stuff in the cache structure of the client. Then i make a automap with it. The problem is, that the client also must know then the position in the map where the player is. This give us a REAL new point: If the server also knows that the client stores the floor layer data, the server can use dirty flags too! So, he don't must send a unchanged floor tile twice for a map! This will shrink the map cmd for nothing...! Ambient sound should be clear - background sound the client plays at random - like dropping water for a dungeon, bird noices in a wood, etc. Sound source is somewhat different. Its like we set a water noice in the river or something like this. There is not "real" way to handle this generic. You don't want set a sound source fore every river tile - it will end in wild sound roaming. There is no need to submit this with the map cmd - better let calculate the sound range from the client. From michael.toennies at nord-com.net Tue Jul 17 09:13:45 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:28 2005 Subject: [CF-Devel] maps - media arch Message-ID: One note for the ambient sound/sound source i introduce the map before: This is looping stuff or random looped stuff - So it need somewhat different way to handle it and thats the reason why i should be seperated from map cmd. There is another thing i want include in the SDL client - media tags! What is a media tag/ media arch? A modified magic mouth, submiting ont only a text messages. In fact, its only a addition to a magic mouth. A magic mouth drops a text message every time you step on it. A media tag is only a additional information, this magic mouth submit to the client. Mainly, this works so and its only a text string addition: 0x0a A media tag is nothing more than a file name! it can be .wav (sound), .png(gfx) and for example .mpg (for video!!). Now, if the client get a media cmd (the modified new magic mouth - all old magic mouthes in maps are still usable - they just send a media cmd with media tag = 0 and 2nd part is old text message). When now a media tag is like showme.png, the client search in the media folder for this gfx. If he found it, he shows it! I will include in the client a area where this png can be shown - they can be big! 100x100 or bigger! So, when you step in front of a door, the magic mouth triggers and shows you a text message like strange black door and the media tag shows you a rendered big picture of this door! This can go on!! When you attach a sound file in this way: Then we can play this when you step on it!! In this way, we include speech to CF!! Like you HEAR the "who is there" or something! For videos, this is real cool - we can include dramatic story elements with it! Well, before i forgot: This should be all client side - means the server only submit the in the maps defined file name. The player then have to download the (normally big) files extern to his media folder! If the client can't find the media file, he skip it - we have still the text message! This stuff is really cool - assume we can include this in the script stuff - means sending media tag when wield a item or do some other action - NPCS starts explaining you someting with REAL VOICES when you ask them... From reeve at ductape.net Tue Jul 17 10:58:37 2001 From: reeve at ductape.net (Scott Barnes) Date: Thu Jan 13 18:01:28 2005 Subject: [CF-Devel] Gods Message-ID: <20010717115837.A30743@terra.localnet> I've been studying the various "cults" in Crossfire, and I've noticed a few problems. For one, many of the gods are not worth following. In particular I've noticed this problem with Valriel and Sorig. Valriel has some nice resistance advantages, but the "blessings" he gives are fairly useless unless you happen to be in a dungeon filled with demons (not very common) and by disallowing the cause wounds spells and the fact that his "holy word" only harms demons (which it doesn't hurt them much apparently, I've tried and I can barely kill an imp with it) which makes it close to impossible to gain wisdom levels. With Sorig, the problem is the fact that Sorig doesn't seem to do much of anything at all. Many of the other gods are good but greatly imbalanced. For instance, Gorokh is good as far as using spells (I don't know about anyone else but I think flaming aura is just awesome :)) but he doesn't have much else going for him. The Devourers are wonderful as they are, they give you incredible benefits but equally strong restrictions. Also, I really think the game needs a few more gods to balance things out (gods for other races, like the elves have Lythander, the dwarves have Mostrai; gods for other elements, a god for cold perhaps?) As an aside, not about the gods themselves but related, there need to be more temples. Most gods have only their temple in Scorn and most towns have no temples at all. Just some thoughts to consider :) Oh, and I also wanted to suggest the every god have a "special prayer" that you can only learn by following them. Something that pertains to what they are the god of, like maybe a "pacify" spell for Valriel, a mana recharge spell for Lythander, etc. I have some ideas for the new gods as well, if anyone is interested. I'll wait and see if anyone else thinks it's a good idea to even add new gods before I go into that though. I think the gods are one of the coolest things about Crossfire and I'd love to see their implementation improved. Oh, and one last aside (sorry, I know this message is getting long) I think the gods should bless things other than just your weapons. Especially cloaks, since a normal cloak is utterly useless at the moment, so if the gods could bless them at least it would give them *some* use :) I'd love to get some comments if anyone has them. -- -- -- Reeve the cat ----BEGIN FORTUNE---- A bore is someone who persists in holding his own views after we have enlightened him with ours. ----END FORTUNE---- -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS d? s: a? C++++ UL++++ P+ L++++ E- W++ N o K- w--- O M-- V-- PS+++ PE Y PGP t+++ 5 X+ R+++ tv+ b+++ DI++ D+ G e* h-- r+++ y** ------END GEEK CODE BLOCK------ From highway at cstone.net Tue Jul 17 11:44:51 2001 From: highway at cstone.net (Sean Michael Whipkey) Date: Thu Jan 13 18:01:28 2005 Subject: [CF-Devel] Gods References: <20010717115837.A30743@terra.localnet> Message-ID: <3B546B83.C3EDADB1@cstone.net> Scott Barnes wrote: > I've been studying the various "cults" in Crossfire, and I've noticed a > few problems. For one, many of the gods are not worth following. In > particular I've noticed this problem with Valriel and Sorig. Valriel has > some nice resistance advantages, but the "blessings" he gives are fairly > useless unless you happen to be in a dungeon filled with demons (not very > common) and by disallowing the cause wounds spells and the fact that his > "holy word" only harms demons (which it doesn't hurt them much apparently, > I've tried and I can barely kill an imp with it) which makes it close to > impossible to gain wisdom levels. With Sorig, the problem is the fact My character follows Valriel, and I haven't seen that. I got some great bonuses, and the light ability makes life a lot easier in dark dungeons. So I don't get wounds or disease. The holy word/orb/etc. works on undead and on demons. I started leveling against undead, then went to certain areas where I knew there were one or two demons and used holy word on them to get more points (i.e., such as the basement of the Tower of the Stars and the 2nd Slave Pit in Wolfsberg with the raas). Do I use clerical as much as others? Not as much as physique but my character started as a fighter. More than magic, though, since it's much more reliable. SeanMike From michael.toennies at nord-com.net Tue Jul 17 19:49:13 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:28 2005 Subject: [CF-Devel] new title,name, gender and race naming Message-ID: For the new client i want change the current title/name/race naming. At the moment you got as title a string like "Player: Darkmoon the xxx" Where you can set xx with the title cmd. I want this: Lord Darkmooon Dwarf Paladin of Light Here is Lord = Title & Gender Darkmoon = Name Dwarf = race Paladin of Light = Profession The Title is used as gender information too! You start as "Sir" or "Lady" and when you go higher in Rank, it is shown here. The highest Title is shown. Name & Race are known. Profession is used for the new guild system. At moment we have a wizard or paladin or thief here. Here is the last/highest profession shown the character has achived. This needs the addition of gender information, which is easy (i like the different gender chars in wyvern for example). The 2 strings above which holds all this information are easy and gives a maximum information with minimum of chars. From mwedel at scruz.net Tue Jul 17 23:18:34 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:28 2005 Subject: [CF-Devel] maps - media arch References: Message-ID: <3B550E1A.F664012A@scruz.net> I don't really have any problems with adding a 'media' protocol command that the server sends to the client. Arguably, the media command should be used for all sounds. My only thought is that it won't get used that much (except for perhaps sound). With the difficult in just getting png images down for the map size, I don't really see it likely that arbitrary sized images that display special things will get done anytime soon. Even less so for movies. Similar for voice acting. So I guess in summary: IMO, yes, this is a cool feature. I just don't see it getting used for much at all in the near future. This, in my mind, puts it more at the bottom of list of things to do. From mwedel at scruz.net Tue Jul 17 23:34:32 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:28 2005 Subject: [CF-Devel] new title,name, gender and race naming References: Message-ID: <3B5511D8.66705417@scruz.net> As a very recent thread suggested, removing the ability of the player to set the title is the first step. Michael Toennies wrote: > Lord = Title & Gender > Darkmoon = Name > Dwarf = race > Paladin of Light = Profession as a note, the last should probably be 'class of god'. Ie, Paladin of Lythander, Priest of Gorokh, etc. > Name & Race are known. as is class and god. > This needs the addition of gender information, which is easy (i like the > different gender chars > in wyvern for example). As I think I suggested in another message, I would certainly at some point like to see the archs modified so that every arch has 2 names - a single name and plural name. This fixes some bugs (where we don't plural a name correctly because it doesn't follow simple english rules), and also makes life simpler (remove need_ie flag, etc). For player archs, this second name could be used as the second gender (you won't have need to use that for real plural of things like the class of pc race). Presumably, to make a title permanent, an object would need to get added into the characters inventory which now says the title is Lord/Lady, Count/Countess, etc. If you only want each character to have one title, this may get a little trickier, as it means that maps that grant this need to be consistent (presumably, some field in the object that contains the title can be used to say how notable this title is, so if you do something, the code only changes the title if the new one is of higher noteworthiness). But it has been suggested, and I think I like this better, is that a character could have multiple titles. Tiberius, The Priest of Gorokh, Slayer of the Dragon King, Destroyer of the Crypt Keeper, .... The first few - Tiberius (name), The Priest (class) of Gorokh (god) would be calculated from the start. The second would be various rewards as gained through adventuring. The only worry about this is that this could get to be a very long string no one really cares about. But to be honest, I've never ever really cared much what the title of the character is. From michael.toennies at nord-com.net Tue Jul 17 23:58:34 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:29 2005 Subject: [CF-Devel] maps - media arch In-Reply-To: <3B550E1A.F664012A@scruz.net> Message-ID: No, the media cmd should be some special, different from normal sounds. Also ambient sounds are different used, sound sources too. Voice action is really easy to implement - just get a microphone, record some and voila! If we have the cmd, i can ask a friend to make some real cool speech effects. He has some professional equipment and can speaks good english, so he can make some fancy things. Also, this can be easily implemented with scripts then - thing about maps you assign a media tag and then you show a big 120x120 drawn pixel map when you examine the map. Please lets insert this cmd YET because i just have the code of the client in the hand and we can insert it without real work. When this stuff is insert, map makers will use it. Well, some speech or sound effects should be no problem. > I don't really have any problems with adding a 'media' protocol > command that > the server sends to the client. > > Arguably, the media command should be used for all sounds. > > My only thought is that it won't get used that much (except for perhaps > sound). With the difficult in just getting png images down for > the map size, I > don't really see it likely that arbitrary sized images that > display special > things will get done anytime soon. Even less so for movies. > Similar for voice > acting. > > So I guess in summary: IMO, yes, this is a cool feature. I just > don't see it > getting used for much at all in the near future. This, in my > mind, puts it more > at the bottom of list of things to do. > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel > From dnh at hawthorn.csse.monash.edu.au Wed Jul 18 00:59:37 2001 From: dnh at hawthorn.csse.monash.edu.au (dnh) Date: Thu Jan 13 18:01:29 2005 Subject: [CF-Devel] new title,name, gender and race naming In-Reply-To: Message-ID: Neato idea, and rather easy to implement. Exactly where do you intend to use this information though? for the 'list command? for the highscores? While on this point, I notice you no longer get the amount of exp you have lost on a gravestone or who killed you (I think). Anyone know why that is? dnh On Wed, 18 Jul 2001, Michael Toennies wrote: > For the new client i want change the current title/name/race naming. > > At the moment you got as title a string like "Player: Darkmoon the xxx" > Where you can set > xx with the title cmd. > > I want this: > > Lord Darkmooon > Dwarf Paladin of Light > > Here is > > Lord = Title & Gender > Darkmoon = Name > Dwarf = race > Paladin of Light = Profession > > The Title is used as gender information too! You start as "Sir" or "Lady" > and when you go higher in > Rank, it is shown here. The highest Title is shown. > > Name & Race are known. > > Profession is used for the new guild system. At moment we have a wizard or > paladin or thief here. > Here is the last/highest profession shown the character has achived. > > This needs the addition of gender information, which is easy (i like the > different gender chars > in wyvern for example). > > The 2 strings above which holds all this information are easy and gives a > maximum information > with minimum of chars. > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel > From dnh at hawthorn.csse.monash.edu.au Wed Jul 18 01:02:55 2001 From: dnh at hawthorn.csse.monash.edu.au (dnh) Date: Thu Jan 13 18:01:29 2005 Subject: [CF-Devel] new title,name, gender and race naming In-Reply-To: <3B5511D8.66705417@scruz.net> Message-ID: In regards to this I always enjoyed creating clever and funny names (Carrot the Suicidal). I like the additional titles and the titles for quests, but I defn want to be able to make up my own title. dnh > > Lord = Title & Gender > > Darkmoon = Name > > Dwarf = race > > Paladin of Light = Profession > > as a note, the last should probably be 'class of god'. Ie, Paladin of > Lythander, Priest of Gorokh, etc. > But it has been suggested, and I think I like this better, is that a character > could have multiple titles. Tiberius, The Priest of Gorokh, Slayer of the > Dragon King, Destroyer of the Crypt Keeper, .... > But to be honest, I've never ever really cared much what the title of the > character is. From mwedel at scruz.net Wed Jul 18 01:13:51 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:29 2005 Subject: [CF-Devel] S2C map head information and map data caching References: Message-ID: <3B55291F.3D1532EB@scruz.net> Michael Toennies wrote: > Well, at the moment the client knows nothing about the current map the > player is in. > Not the size, not the name, etc. This sort of goes back to a non trustworthy client. If we presume we can't trust the client, then sending this may violate that principal, but seen notes further down. > Also, i want show the name where we are (if player should not know it, make > it unknown). Note that currently the vast majority of maps have no meaningful name. Currently, the user can also the the 'mapinfo' command that returns the current map name. So including name isn't a big deal. I know Scott MacFiggen is working on fog of war code (spaces on the map that are no longer in view show a greyed out version of what was last seen there). As part of those changes, I believe he is needing to modify the server so that it tells the client when it changes map. Presumably, it wouldn't be too hard to extend that to also include a map name. xlen and ylen from the map are pretty meaningless, as well a violation of the trustworthy principals. But more relevant, such a scheme does not work at all with map tiling (or if it does, does not give results as you want them). I personally would wait to see what Scott's code does. Presumably if that can get along without know the map coordinates, so could your autotiling code, as most all the issues should be the same. > This give us a REAL new point: If the server also knows that the client > stores the floor layer data, > the server can use dirty flags too! So, he don't must send a unchanged floor > tile twice for a map! > This will shrink the map cmd for nothing...! This gets more complicated because floors can change. godfloors is the immediate case I can think of, there are probably others. Note that the current use of dirty tags I put in with tiling is marking a space of being dirty with regard to how the server thinks it should look. While presuming the floor will not change 95% of the time and your caching system would work in that case, its that 5% that are critical - if the client doesn't display it properly to the player, it could make some maps pretty unusable, as the player does not realize that the space has changed. Any method of making sure this gets updated gets pretty complicated pretty quickly (server now needs to store a list in the client of spaces out of view whose floors has changed, or when the floor changes tell the client that space has changed, which IMO is a very serious violation of trustiness, as player now instantly know he did something that changed the status elsewhere on the map that may not be directly visible). > > Ambient sound should be clear - background sound the client plays at > random - like dropping water > for a dungeon, bird noices in a wood, etc. IMO, the sound system for crossfire needs to be completely redone. And until how it is handled in the server is done, trying to figure out how we send it to the client is premature IMO. There are several categories of sounds: 1) sounds that replay constantly if player is close enough to sound (ie, near woods, water sound from fountain, water movement from river, etc.). The source of these sounds is static. 2) Sounds that replay pretty constantly, but their nature is more dynamic. Monster sounds will fall into this category - generally, most should make some noise, but the source may move, or the source may even be eliminated. 3) Sounds that only need to get played once (spell sounds, door open sounds, etc). These are already handled, but their generation within the code is hard coded - this should be derived from object attributes. Case #1 can be handled as you described. However, sound source should really be an offset from when the player enters the map - I think this will work better with the tiled maps - as the player moves around, server can send ambiant sound information for all sounds within some radius. My bigger question would be how do you handle the ambiant sounds? are they played with directional bias from relative to the source of the sound on the speaker channels, or is distance only relevant for purposes of volume? If the former, it seems that you then need several ambiant sources - say you have a road with woods along the entire length - having just one ambiant source in the middle of the woods wouldn't work very well (actually, this wouldn't work very well even for distance - so presumably that woods needs to get sprinkled pretty liberally with ambiant sources for sounds to be played properly. From michael.toennies at nord-com.net Wed Jul 18 08:59:26 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:29 2005 Subject: [CF-Devel] S2C map head information and map data caching In-Reply-To: <3B55291F.3D1532EB@scruz.net> Message-ID: Hm, we have here a definition problems about the term "not trustworthy". I don't want start , even with the type/subtype of items, to send to the client information where the player has no right to know them. In Ultima Online this was a problems some years ago. They send the information of hidden players to the client with flags (if flag set, player was hidden and the client don't show him) A 3rd party programm was inserted then from a hacker in the data stream and it removes the hidden flag. More bad, not even the player saw now hidden player, he also was be able to attack them because the client has a valid target. Thats something was i call a classic problem Mark fears. But the automap/map chace thing i introduce was something which works with the information the client has a right to know - i just need some extra information to make it working with brain. This needs a better server/client communication. At the moment, this is somewhat bad. I mean, i can start to poll the mapinfo cmd all times the map cmd deletes the whole map assuming that then the player has perhaps entered a new map - but thats bad for server and client too! But thats something was is "legal" - and thats stupid. Its like the same to insert for sorting the hard coded names and types for the items in the client- THATS information the client should not have! The automap information works in core like the fog of war. You just see a area of the map you had go around before. But ONLY the area you see will be updated. At this point the server can use the fact, the client has cached the floor/wall level face data. I don't have think about the code, yet so think about this as an example. But the server can send a "dirty flag map" at start, showing the client with map cells in the map cmd are updated with this map cmd, which are null (not seen yet), and which should be used from client map cache. The server only tracks the actuell map and because the server has 100% control about this process there is no 90% working - this is 100%. In fact, the system is the same like the face storing system - except the client dont save the map data. The face system also works 100% because the server use dirty flags and know exactly which face the client knows yet - same for the maps cells of course. If a floor tile change, then only on server side of course - then dirty flag will be deleted and when then the player enters the changed area again the server sends this floor again - and the client stores it again. Assume, that this makes sense with the whole "floor/wall/static tiles" system - for fast fights (which is the core of CF) this will bring a MAJOR shrink on bandwidth for the map system. If for example a whole area was moving walls and the player pull the trigger lever for it, then only the parts of the automap will updated which the player has entered then again - exactly the cells which the player saw on map. > Michael Toennies wrote: > > > Well, at the moment the client knows nothing about the current map the > > player is in. > > Not the size, not the name, etc. > > This sort of goes back to a non trustworthy client. If we > presume we can't > trust the client, then sending this may violate that principal, > but seen notes > further down. > > > > Also, i want show the name where we are (if player should not > know it, make > > it unknown). > > Note that currently the vast majority of maps have no meaningful name. > Currently, the user can also the the 'mapinfo' command that > returns the current > map name. So including name isn't a big deal. > > I know Scott MacFiggen is working on fog of war code (spaces on > the map that > are no longer in view show a greyed out version of what was last > seen there). > As part of those changes, I believe he is needing to modify the > server so that > it tells the client when it changes map. Presumably, it wouldn't > be too hard to > extend that to also include a map name. > > xlen and ylen from the map are pretty meaningless, as well a > violation of the > trustworthy principals. But more relevant, such a scheme does > not work at all > with map tiling (or if it does, does not give results as you want them). > > I personally would wait to see what Scott's code does. > Presumably if that can > get along without know the map coordinates, so could your > autotiling code, as > most all the issues should be the same. > > > > This give us a REAL new point: If the server also knows that the client > > stores the floor layer data, > > the server can use dirty flags too! So, he don't must send a > unchanged floor > > tile twice for a map! > > This will shrink the map cmd for nothing...! > > This gets more complicated because floors can change. godfloors is the > immediate case I can think of, there are probably others. > > Note that the current use of dirty tags I put in with tiling is > marking a > space of being dirty with regard to how the server thinks it should look. > > While presuming the floor will not change 95% of the time and > your caching > system would work in that case, its that 5% that are critical - > if the client > doesn't display it properly to the player, it could make some maps pretty > unusable, as the player does not realize that the space has > changed. Any method > of making sure this gets updated gets pretty complicated pretty > quickly (server > now needs to store a list in the client of spaces out of view > whose floors has > changed, or when the floor changes tell the client that space has > changed, which > IMO is a very serious violation of trustiness, as player now > instantly know he > did something that changed the status elsewhere on the map that may not be > directly visible). > > > > > > Ambient sound should be clear - background sound the client plays at > > random - like dropping water > > for a dungeon, bird noices in a wood, etc. > > IMO, the sound system for crossfire needs to be completely > redone. And until > how it is handled in the server is done, trying to figure out how > we send it to > the client is premature IMO. > > There are several categories of sounds: > > 1) sounds that replay constantly if player is close enough to > sound (ie, near > woods, water sound from fountain, water movement from river, > etc.). The source > of these sounds is static. > > 2) Sounds that replay pretty constantly, but their nature is more > dynamic. > Monster sounds will fall into this category - generally, most > should make some > noise, but the source may move, or the source may even be eliminated. > > 3) Sounds that only need to get played once (spell sounds, door > open sounds, > etc). These are already handled, but their generation within the > code is hard > coded - this should be derived from object attributes. > > Case #1 can be handled as you described. However, sound source > should really > be an offset from when the player enters the map - I think this > will work better > with the tiled maps - as the player moves around, server can send > ambiant sound > information for all sounds within some radius. > > My bigger question would be how do you handle the ambiant > sounds? are they > played with directional bias from relative to the source of the > sound on the > speaker channels, or is distance only relevant for purposes of > volume? If the > former, it seems that you then need several ambiant sources - say > you have a > road with woods along the entire length - having just one ambiant > source in the > middle of the woods wouldn't work very well (actually, this > wouldn't work very > well even for distance - so presumably that woods needs to get > sprinkled pretty > liberally with ambiant sources for sounds to be played properly. > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel > From michael.toennies at nord-com.net Wed Jul 18 09:29:14 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:29 2005 Subject: [CF-Devel] sounds system Message-ID: I seperated this from other threads. First, the SDL client has the whole sound interface now as the dx client has. SDL works here like a x channel sytem. You assign channel 0 for music/bachground. The other channels are used from mixer then. But normally, the client don't notice about this. i saw this kind of sounds. ambient sound effect sound static sound source dynamic sound source In this system all sounds fit. The problem with sounds is, that for example a stepping sound of a moving orc is fine - but when you now attach this sound as static sound source to the orc - you ever think about what happens when you face 50 orcs (what will often happens)? Then the server send 50 times the orc step noice which is of course very very bad. Well, here is the system. Ambient sounds Ambient sounds are the background sounds. it *can* be music too, but i think more about noices like dropping water, bird noices, wind noices, etc. In CF we can insert here a static system which depends on the map makers idea about it. The sounds will played randomly in a loop - after one noice has ended, the other starts. It is good to make here a 2 or 3 layer system (= channels) so some sounds can overlap - this will give a nice "sound ambient". In some games, the have very nice ambient sounds - if you ever can, try ot the game "Giants", the have some big ambient sound files in the sound folders. We must here assume that we don't have access to this ass kicking sounds - so we make it somewhat easier. In other programs, the server analyze the map tiles and the structures - and generate from this a ambient sound table. This is often chained to sound sources, so this both systems can overlap here. Effect sounds Effect sounds are fired and forget - like a spell noice. The client get sound name and pan/volume data and mix it in. Its all of this spell sounds or hit noices, etc. Static sound sources This sound sources works like torches in a dungeon. Instead of "lit" the dungeon with light, they flood it with sounds. This is used for several sounds and the sound itself is not static. A waterfall for example will become a rushing water sound as sound source ... when the player comes in, the noice starting and getting louder when they come nearer the waterfall. So, a sound source needs pan/volume information too. The problem is, that this noices will played from client sound system in a loop. Because the server has no knowledge about the status of played sounds of the clients, the server can't give here cmds, except from "start playing sound source xxx" and "stop playing...". So, best is, give the client, when the player entered a new map, a list of set sound source - even in big maps that will not be many. Than the client can count the sound sources - but for this, we also need the player map position. The client then loops the sounds. If the player is "out of reach" of a sound source, the client stops playing of it. Dynamic sound sources Well, this is more tricky. Assume this: You stand before a door. Behind the doors are 10 dragons. Well, moving dragons should make some noices. So, we include "dragon sounds", like heavy steps and deep breathing. The problem is to determinate, the pan/volume of the sound, also, we don't want play 10 of them. This is maybe realistic but it will mess up your sound system. we don't talk here about real or not - we talk about to fake it in a way, the player accept as real. The solution is, that every dragons has a attached dynamic sound source. But the server stores only one of it. When server goes through the map, he use only the nerarest dynamic sound source, relative to the player. So, the player hears always only ONE moving sound from the nearest dragon. Same for 50 orcs. This is not real trivial and when you look at it, you will see that many games has here some problems. And what is which looping? Here comes the trick: All sound are about 1.50 seconds long - and the server only update the dynamic sounds all 2 seconds. This is the easiest methode, all other start to be very complex. From mwedel at scruz.net Thu Jul 19 01:19:47 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:29 2005 Subject: [CF-Devel] S2C map head information and map data caching References: Message-ID: <3B567C03.A1C036C2@scruz.net> Trustworthyness is a tricky issue. There is some level of exposure of data that the client maybe should not really know, but letting the client know it doesn't expose much risk. That said, for the fog of war code, the server will send the client a message that the player is on a new map. The code isn't done yet, so I'm not sure how it will handle tiled maps (from my mail with him, it seemed like for fog of war code will treat the tiled maps as one large map, which IMO is the right thing to do). It seems to me that the automap code use that same code. I don't see any reason why the automap code needs to know the actual map size the character is on (aside from that being meaningless for tiled maps, it seems that information is only useful if you know the precise location the character is on that map). Otherwise, it seems the automap can track what it sees, center as appropriate, and scale as appropriate. Its a matter of debate how bit an issue know map size is. I will maintain that knowing the precise location the character is on relative to the map size is a pretty big giveway. This could make some maps much easier (those with linked teleporters for example). Would give may more clues to where secret areas may be, etc. I'm unclear on what you are talking about when you refer to floor caching. The server already only sends floors that have changed. This, if you are doing combat, the floors will not be resent that the combat is occurring on. This is for the area that is viewable to the client (whatever mapsize the client sent to the server). If instead you are referring to something like the player moves right 5 spaces, but the client remembers that 5 spaces at the left that are now scrolled off, such that if the player now moves to the left, the server doesn't send the floors again, this gets tricky for the following reasons: 1) How does the server know what the client has cached, and thus what it doesn't need to resend (maybe the client doesn't cache any floors out of sight. You could also get a case where the client remembers several maps of data (for example, if in a dungeon, you might want to remember the previous levels). 2) Given the case described yesterday, where he floor changes. The server knows the floor 5 spaces to the left of the clients viewable area has changed. But recording that fact gets tricky - the server just can't say that floor is now different, because suppose you have a second player also on that map who is a space left of the other player. He moves back, server sees that floor is different, sends to that player. You now get a case where you always resend that floor for every client where it reappears into view, even if it hasn't changed (because you can't clear that fact because maybe the player to the further right hasn't seen it yet). Any attempt to clear this so the redundant floor doesn't get displayed again requires having per client information for what floors has changed, which means you basically have to have per client information for the entire map size. I personally don't consider this a very big issue. Worst case is that there are 98 bytes send for floors (this presumes playing with 25x25 map size, and moving diagonally, and all the spaces are in view). For combat, this is trivial compared to the potential for the spells (that 10x10 spell affect is 200 bytes at least, and probably 400 if it obscures objects below it). And a 10x10 effect actually gets pretty small if your playing on a 25x25 map (which has 625 spaces). All in all, if we're concerned about bandwidth, I think there are other places to look than trying to cache floors that are now out of sight. Especially since not all clients will do that anyways. From mwedel at scruz.net Thu Jul 19 02:02:25 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:29 2005 Subject: [CF-Devel] sounds system References: Message-ID: <3B568601.9AF68533@scruz.net> Michael Toennies wrote: > > i saw this kind of sounds. > > ambient sound > effect sound > static sound source > dynamic sound source Agree. > Ambient sounds > > Ambient sounds are the background sounds. it *can* be music too, but i think > more about noices like > dropping water, bird noices, wind noices, etc. > In CF we can insert here a static system which depends on the map makers > idea about it. > The sounds will played randomly in a loop - after one noice has ended, the > other starts. > It is good to make here a 2 or 3 layer system (= channels) so some sounds > can overlap - this > will give a nice "sound ambient". > In some games, the have very nice ambient sounds - if you ever can, try ot > the game "Giants", > the have some big ambient sound files in the sound folders. > We must here assume that we don't have access to this ass kicking sounds - > so we make it somewhat > easier. > > In other programs, the server analyze the map tiles and the structures - and > generate from this a > ambient sound table. This is often chained to sound sources, so this both > systems can overlap here. A few questions/clarifications: When you say the next sound is played, does that mean that each terrain type may have multiple sounds associated with it, or does that mean it may play the forest sound, then the water sound, then the xxx sound, etc? Are sounds ever played simultaneous (ie, wood sound with the water sound at the same time), or is that done in the looping I described above? I would presume that volume/type of sounds would change as the player moves around the map. As the player moves away from the water and into the forest, the water should disappear and he should get forest sounds. Obviously, we probably don't want to have every space have its own ambiant sound, or if you do, certainly don't send them all when a player first enters a map. My personal though would be to send the ambiant sounds to play each time the player moves. This shouldn't take much space (I can't see more than 4 bytes/sound, and probably some realistic low limit on the number of sounds to send). I suppose if bandwidth is a real big issue, you could send this every so many ticks/spaces moved (so if the character is just wandering between a few spaces, you don't send it, but if he wanders across the entire map, you do). My concern with sending the ambiant sounds when the player first enters the map are this: 1) To keep the number of sound sources low, it would seem you need to just place a select number of the map, which then introduces inaccurancies (ie, ever woods space can't have an ambiant sound that gets sent, otherwise you hvae a humongous list). So instead, you need to place a few sources of ambiant sounds within the woods. This would generally work OK where you have big blocks of the same type, but work less good where you have many intermixed terrain tapes. 2) This doesn't work very well with tiled maps. In tiled maps, you don't really have a concept of entering one tiled map when you move to the next one - this is all invisible. Plus, this gets tricky, as if you're at the edge of one map, you really should be getting the ambiant sounds of the map you are right next to (as you can see everything on it). But if we envision the world becoming a huge set of tiled maps, you obviosuly can't send ambiant sound information for all of those. To do this in any reasonable way means you need some way of sending a new/supplemental ambiant sound list. But this gets tricky as far as the client is concerned, as the coordinates may end up getting pretty weird. > Effect sounds > > Effect sounds are fired and forget - like a spell noice. The client get > sound name and pan/volume data > and mix it in. Its all of this spell sounds or hit noices, etc. Yeah - this is basically what we have now. Sending name is certainly better than number. Currently, the client gets x,y offset if I recall - that allows it to better determine volume and balance on its own. I suppose if you had a surround sound system, you could have a system that did an even better job (ie, client could do forward and back as well as left and right. Of course, right now it only does left and right) > > Static sound sources > > This sound sources works like torches in a dungeon. Instead of "lit" the > dungeon with light, they flood > it with sounds. This is used for several sounds and the sound itself is not > static. A waterfall for > example will become a rushing water sound as sound source ... when the > player comes in, the noice > starting and getting louder when they come nearer the waterfall. So, a sound > source needs pan/volume information too. Ok. So ambiant sounds are always played with constant volume then? And for static sound sources, this may then go into what I described with the ambiant sounds above - since these change as the player moves, they could be piggybacked on the map command for example (or a seperate command - not a big deal either way) > > The problem is, that this noices will played from client sound system in a > loop. > Because the server has no knowledge about the status of played sounds of the > clients, the server > can't give here cmds, except from "start playing sound source xxx" and "stop > playing...". Thats one advantage with putting sound information in the map command as the player moves - player can more easily see what to do - ie, waterfall sound should now be played at a lower volume, or not at all. > > So, best is, give the client, when the player entered a new map, a list of > set sound source - even in > big maps that will not be many. Than the client can count the sound > sources - but for this, we also > need the player map position. The client then loops the sounds. If the > player is "out of reach" of > a sound source, the client stops playing of it. As I said in another message, player map location IMO starts to open up things much more to make clients that cheat and make play much easier. The other problem with this approach is that it may discourage map makers from using sounds for things that should. For example, you may want to have some clue like 'the treasure is behind the waterfall'. If the player knows right when he enters the map where the waterfall is, this may making things much easier compared to if he actually has to explore things. The trivial 'cheating' client would just dump out all the sound sources when the player enters the map, ie something like: torch.wav (5,10) torch.wav (15,12) waterfall.wav (20,3) to either one of the text windows. There was a thread a few months ago about sending player coordinates on the map. One problem with this is that it lets the player know much more about the map than he might. For example, if the furthest north they got was at y +10, that might be a very big clue that there is a secret door/passage somewhere there that lets them get to the remaining 10 spaces. Not knowing the y value, you may not know this. Also, such 'send sounds when map is entered', doesn't work very well for tiled maps as previously described. It might be good if you can clarify the difference between static sounds and ambiant sounds. Is it just a matter of volume and whether that changes, or is it something else? > Dynamic sound sources > > Well, this is more tricky. Assume this: You stand before a door. Behind the > doors are 10 dragons. > Well, moving dragons should make some noices. So, we include "dragon > sounds", like heavy steps and > deep breathing. > > The problem is to determinate, the pan/volume of the sound, also, we don't > want play 10 of them. > This is maybe realistic but it will mess up your sound system. we don't talk > here about real or not - > we talk about to fake it in a way, the player accept as real. > > The solution is, that every dragons has a attached dynamic sound source. But > the server stores only one > of it. When server goes through the map, he use only the nerarest dynamic > sound source, relative to the > player. So, the player hears always only ONE moving sound from the nearest > dragon. Same for 50 orcs. > > This is not real trivial and when you look at it, you will see that many > games has here some problems. > > And what is which looping? Here comes the trick: All sound are about 1.50 > seconds long - and the server > only update the dynamic sounds all 2 seconds. This is the easiest methode, > all other start to be very > complex. Is this 'play only the nearest dynamic sound source', or 'player only nearest dynamic sound source of each time'? For example, suppose player is in a hallway - to the left is a room of titans, to the right is a room of dragons. They use different dynamic sounds. Player is slightly closer to the dragons, but not a lot. Does he only get to hear the dragons, or does the titan, being a different type of sound, also heard? If the former, this would actually be pretty easy to do - it wouldn't be too hard to extend the MapSpace structure on the server to have fields for things like dynamic sound, static sound, and ambiant sound. While processing the spaces to get sent to the client, it would be that hard to do something like 'if dynamic sound on this space and this space is closer than any other dynamic sound, then store information to send this dynamic sound to client'. And if your going to do that, it wouldn't be hard to do the same thing for static sounds, or ambiant sounds for that matter. But it then seems to me that if that approach is used, defining the different between static and dynamic sounds would need to be relevant. So far, the only difference I have seen is the nature of the object they are attached with. It would be easy to track all these sounds in the MapSpace structure - it would basically be the same as how lighting is tracked - when an object is added, if it has a sound, set the sound in that space appropriately. If an object is removed, same thing. Or this could just as easily get done in update_position - depending on how far sounds travel of course. From andi.vogl at gmx.net Thu Jul 19 03:49:52 2001 From: andi.vogl at gmx.net (Andreas Vogl) Date: Thu Jan 13 18:01:29 2005 Subject: [CF-Devel] sounds system In-Reply-To: <3B568601.9AF68533@scruz.net> Message-ID: Mark W. wrote: > > Trustworthyness is a tricky issue. There is some level of exposure > > of data that the client maybe should not really know, but letting the > > client know it doesn't expose much risk. [...] > > As I said in another message, player map location IMO starts to > open up things much more to make clients that cheat and make play > much easier. > > The trivial 'cheating' client would just dump out all the sound > sources when the player enters the map, ie something like: > > torch.wav (5,10) > torch.wav (15,12) > waterfall.wav (20,3) > [...] I agree that we shouldn't give away critical information to the client. But I think it really doesn't make sense to bother about minor stuff like map size, player- or soundsource locations. Don't forget that all the map data for crossfire is available to anyone. If I want to make a cheat client, I can integrate the whole CF map-bundle in my client. Then, I can easily create features like these: - Whenever a player approaches a gate with magic_ear, the password gets printed automatically. - When a player approaches a locked gate, the exact coordinates of the appropriate key get printed. - When a player is fighting a monster, the monster's resistances get listend. etc etc... So, considering this is possible and noone has cared about it yet - I think map size, player- or soundsource locations are minor. Andreas V. From mwedel at scruznet.com Thu Jul 19 18:30:17 2001 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:01:29 2005 Subject: [CF-Devel] sounds system In-Reply-To: Message-ID: On Thu, 19 Jul 2001, Andreas Vogl wrote: > > I agree that we shouldn't give away critical information to the client. > But I think it really doesn't make sense to bother about minor stuff > like map size, player- or soundsource locations. > > Don't forget that all the map data for crossfire is available to anyone. > If I want to make a cheat client, I can integrate the whole CF map-bundle > in my client. > Then, I can easily create features like these: > - Whenever a player approaches a gate with magic_ear, the password gets > printed automatically. > - When a player approaches a locked gate, the exact coordinates of the > appropriate key get printed. > - When a player is fighting a monster, the monster's resistances get > listend. > etc etc... That is a big presumption that all maps on most all servers remain public. I agree that if that remains true, then worrying about this security is pretty pointless. At that point, we might as well send the entire map (walls and floors at least) to the client. There are of course cases right now where this is not the case. Random maps are different each time, so hence the client will never be able to know location of various things, or even the size of the map, in a reliable fashion. Random maps are a poor example in many areas, as they are as cleverly made as human made maps of course, so giving away extra details isn't quite a big deal. But if crossfire grows and becomes more popular, I could certainly see more 'private' maps that are only available on a specific server (or select few, but traded privately, and not publically). I'd really hate to do something now, and then when the above happens and people complain about the security flaws, have to re do it all over again to fix those bugs. May as well do it right in the first place. As said, this is a matter of risk. I remember many of the early adventure games basically gave this info away (all maps were of standard size, and you could know your precise coordinate on that map), and certainly that isn't a big deal. And even my case of private maps is not perfect of course - as people play them enough, they could effectively reproduce/make public versions of them (you may not know precise detail of monsters for example, but you would know where treasure rooms are and what not). Is size of map, location of sounds, and where the player is on the map a terrible amount of information to give out? No. If the sounds could be done without giving out that information should that be done instead? Yes. Even my example still gives out some information. In the watefall example (ie, treasure behind waterfall), if the waterfall has a sound radiuse of say 10, then once the player gets within 10 spaces, they would know precise where they are. This may or may not be a big risk - on one side, if your that close, you might already be able to see it or going the final 10 spaces is not a big deal, on the counter side, maybe it is behind the wall, and you have to go a long way around before you can get to it. But even in that later case, giving that clue may still be reasonable. I know I may seem a bit picky about giving out unneccessary information to the client, but some of this is due to the cumulative nature. Individually, each piece probably doesn't seem like that much, and if you evaluated each piece on its own, you would probably come to the conclusion that leaking that individual pieces is fine. But leaking all the pieces may be enough to really generate useful information. Consider a gif image. Seeing 1% of the pixels chosen at random probably won't let you have idea what the picture is. Getting 25% of the pixels would probably give you some clue as to the nature of the picture (portrait, nature scene, etc). Getting 50% would probably give you a good chance of identifying the specific person, or where the picture was taken (if you've also visited it), etc. And IMO that is a bit like crossfire. Provide enough individual 'leaks', none of which themselves gives much, and you may get to the 50% stage of the picture, where you really do have a lot of information when that is all summed together. From mwedel at scruz.net Fri Jul 20 01:15:05 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:29 2005 Subject: [CF-Devel] Map tiling code checked in. References: <3B4FDEBA.F1014E3@scruz.net> <20010715141305.A91487@CSUA.Berkeley.EDU> <3B5270C2.D484D270@scruz.net> <20010715231448.A43383@CSUA.Berkeley.EDU> Message-ID: <3B57CC69.98FD2FD7@scruz.net> Scott MacFiggen wrote: > > Now it works fine for 11x11 maps but on larger maps it still > dies in the Undead Church. If you walk up far enough once in > the church the pngximage client will start complaing of > no png data. (This is on a 16x16 map by the way). > The face id that it seems to be having so much trouble with > is 3342 which corresponds to ./arch/light/torch_lit2.111 > The SDL client just dies since it doesn't protect against NULL > image data. > I've fixed this up - form the CHANGES file: socket/request.c: Fix bug in map1 command which resulted in it sending too much data with even maps. For example, if the client requested a 16x16 map, the server would effectively send a 17x17 map to the client. MSW 2001-07-19 Thanks for specifying the map size you were using, at that let me find the problem. I never saw it because I use odd sized maps (typically 19x25) > > update_position called with P_NEED_UPDATE not set: /esben/hole (20, 2) I've fixed these also. Only happens when there is no floor object, which is pretty since most maps were modified to have a floor. In any case, this was a bug that is now fixed: common/object.c: remove_ob - set P_NEED_UPDATE before calling update_position to prevent warnings from update_position being called with P_NEED_UPDATE being set. MSW 2001-07-19 From michael.toennies at nord-com.net Fri Jul 20 10:58:10 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:29 2005 Subject: [CF-Devel] server problems Message-ID: I notice 2 server problems A minor one is, that the server sometimes send the client the face #0 as used face. This face is a dummy on server side (bug.111.png) which is not used from client. The other point is, that i had removed the face cmd from the sdl client, because i always send PNG|CACHE to him. Well sometimes, when i start the server (different archfiles/pngfiles) he send the face cmd instead of face1 cmd. It seems the server skips the checksum part as a side effect. From mwedel at scruznet.com Fri Jul 20 17:47:13 2001 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:01:29 2005 Subject: [CF-Devel] server problems In-Reply-To: Message-ID: On Fri, 20 Jul 2001, Michael Toennies wrote: > I notice 2 server problems > > A minor one is, that the server sometimes send the client the face #0 as > used face. > This face is a dummy on server side (bug.111.png) which is not used from > client. Are you saying that the server is sending face 0 in terms of png data, or that the server is sending face 0 as the face to use for something? If the later case, what something? If the map, that is perfectly valid (read the protocol doc) - that means to clear the face from being used on that layer of the map. > > The other point is, that i had removed the face cmd from the sdl client, > because > i always send PNG|CACHE to him. Well sometimes, when i start the server > (different archfiles/pngfiles) he send the face cmd instead of face1 cmd. > > It seems the server skips the checksum part as a side effect. the facemd does not include a checksum. The server will alway use the face1 cmd if the client is new enough. This also presumes the server is new enough (at least 0.96.0). The code snippet is: if (ns->sc_version >= 1026) strcpy((char*)sl.buf, "face1 "); else strcpy((char*)sl.buf, "face "); So it seems that the likely case is that either the client is not not providing right sc_version to the server, or you are playing on an old server (from the metaserver list, only voldsboks.pvv.org is that old) From michael.toennies at nord-com.net Fri Jul 20 20:51:26 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] server problems In-Reply-To: Message-ID: ct: Re: [CF-Devel] server problems > > > On Fri, 20 Jul 2001, Michael Toennies wrote: > > > I notice 2 server problems > > > > A minor one is, that the server sometimes send the client the face #0 as > > used face. > > This face is a dummy on server side (bug.111.png) which is not used from > > client. > > Are you saying that the server is sending face 0 in terms of png data, > or that the server is sending face 0 as the face to use for something? > > If the later case, what something? If the map, that is perfectly valid > (read the protocol doc) - that means to clear the face from being used > on that layer of the map. I don't know why, but the server sends sometimes the a face 0, and then the client ask for it. Perhaps a map releated bug. > > The other point is, that i had removed the face cmd from the sdl client, > > because > > i always send PNG|CACHE to him. Well sometimes, when i start the server > > (different archfiles/pngfiles) he send the face cmd instead of > face1 cmd. > > > > It seems the server skips the checksum part as a side effect. > > the facemd does not include a checksum. > > The server will alway use the face1 cmd if the client is new enough. > This also presumes the server is new enough (at least 0.96.0). The > code snippet is: > > if (ns->sc_version >= 1026) > strcpy((char*)sl.buf, "face1 "); > else > strcpy((char*)sl.buf, "face "); > > So it seems that the likely case is that either the client is not > not providing right sc_version to the server, or you are playing > on an old server (from the metaserver list, only voldsboks.pvv.org > is that old) > nope, the client do all correct. Most times i got a face1 cmd, but in some ways, i start the server and the client gets a face1 cmd. I can't see, this is invoked by the client. From yann.chachkoff at mailandnews.com Sat Jul 21 13:16:58 2001 From: yann.chachkoff at mailandnews.com (Chachkoff Yann) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] Projects List, part I Message-ID: <01072114165802.01204@localhost.localdomain> (I am speaking as ESPS representative this time) After nearly 3 months of information gathering of all sorts about Crossfire, we established the following list of most wanted things to do in Crossfire. We do know that those things could not be to the taste of some people. Some of the following things will certainly sound uninteresting to quite a lot of people usually speaking on the crossfire-devel list (else those matters would probably have been studied deeper here and would be now available in the code). We do not want to impose any idea to the Crossfire Community; we also do not want to write all these things by ourselves, because 1) we do not have enough time to manage anything (it is not the only project we are working on) 2) because we think there are already anough coders involved in the project to handle all the work 3) because a code coming from outside the Community would get less chance to get accepted (as previous attempts clearly showed this). However, after reading our records of IRC conversations about various ideas and seeing how problems were handled by the Crossfire Community, we decided that posting a list of most wanted things could make decisions about what should and what should not be done a little easier. The list in unsorted - the order used to present things does not mean anything here. 1. Multiheaded servers: Ability to link several servers so they can share datas (like communications, items, players or maps); 2. Multiplayer infrastructure: Quests, maps and game rules promoting the multiplayer gaming; 3. Network Protocol: New network protocol better suited for low-end connections (like 36K/56K analog modems) and lowering both bandwidth and required computing time both on client and server side; 4. Improved esthetics: ISO graphics with complete animations (by "complete anims", we mean that the game no longer use a square-by-square walk scheme, but a more precise positioning system); 5. Dynamic maps: Ability to have maps that can be changed at runtime, even by players. 6. Dynamic server: Ability to add game objects or rules at runtime, even by players. 7. Functional split: Code reorganization implying that each main game function (graphics handling, rules engine, networking stuff, etc.) become independent of each other, so developments in the "rules" part would require no modifications in the other parts. All those ideas were already discussed, in a way or another. All other subjects are either less often wanted or very small ones that could be handled by only one coder working for a couple of hours. Of course, there are lots of objections to each of those subjects (for example, 1 implies security problems; 5 implies performance problems). We deeply studied any of them and we have written quite a lot of datas about (algorithms that can be used, possible problems and suggested solutions, testings, etc.); those datas are mostly handwritten ones, but we are ready to transcript them on a "digital" format and share them to the Crossfire Community. However, we are ready to share our knowledge only we are certain there's a strong will to do serious work with them. We'll not agree to put our work "on the middle of the arena" just to see endless debates about them. We are of course not again the idea of discussing each point, but we do not want all our work wasted by infinite chatting about worthless details. So, if someone is interested by working any of those points, let us know (simply send a reply to yann.chachkoff@mailandnews.com with "ESPS Crossfire" as subject). If you are not interested, do not reply. We'll not answer to "philosophical" questions about this message - either you accept or refuse the idea, but nothing else interest us. Anyone interested in the idea can send us an e-mail, even those that have no knowledge of programming. Of course, the people that agree to help are not "confined" in some kind of private work. It is just a confirmation that allows us to see how many people are ready to work on a particular subject - our infos would be diffused via the standard crossfire-devel list as it is already now. If not enough people can be found for a particular point, we'll simply put it aside. If not enough people can be found for all ideas, we'll simply conclude that Crossfire reached a point where evolution has become too difficult and we'll propose our work to another similar project. We hesitated quite a long time before mailing this message, because it could be interpreted as an attempt to gain control of the project, or to restrict the current field of research. We finally decided to go on, because we think that the Crossfire Community members are clever enough to see that we only want to see the project quality to improve, and that we have no interest in an eventual "control". Well, you may like or hate the idea. It does not matter for us. We simply hope that Crossfire will continue to improve, with or without support. If you have any technical question about this message, email to yann.chachkoff@mailandnews.com with "ESPS Crossfire question" as subject. For the ESPS, E. Verfay, Programmer/Coord. Y. Chachkoff, Programmer/Obs. A. Cafarelli, Programmer/Obs. From bugs at real-time.com Sat Jul 21 02:10:03 2001 From: bugs at real-time.com (bugs@real-time.com) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] Your Bugzilla buglist needs attention. Message-ID: <200107210710.f6L7A3o11623@crusader.real-time.com> [This e-mail has been automatically generated.] You have one or more bugs assigned to you in the Bugzilla bugsystem (http://bugzilla.real-time.com/) that require attention. All of these bugs are in the NEW state, and have not been touched in 7 days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: (1) You decide this bug is really quick to deal with (like, it's INVALID), and so you get rid of it immediately. (2) You decide the bug doesn't belong to you, and you reassign it to someone else. (Hint: if you don't know who to reassign it to, make sure that the Component field seems reasonable, and then use the "Reassign bug to owner of selected component" option.) (3) You decide the bug belongs to you, but you can't solve it this moment. Just use the "Accept bug" command. To get a list of all NEW bugs, you can use this URL (bookmark it if you like!): http://bugzilla.real-time.com/buglist.cgi?bug_status=NEW&assigned_to=crossfire-devel@lists.real-time.com Or, you can use the general query page, at http://bugzilla.real-time.com/query.cgi. Appended below are the individual URLs to get to all of your NEW bugs that haven't been touched for a week or more. You will get this message once a day until you've dealt with these bugs! http://bugzilla.real-time.com/show_bug.cgi?id=368 http://bugzilla.real-time.com/show_bug.cgi?id=369 http://bugzilla.real-time.com/show_bug.cgi?id=374 From smurf at CSUA.Berkeley.EDU Sun Jul 22 14:01:07 2001 From: smurf at CSUA.Berkeley.EDU (Scott MacFiggen) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] Fog of war code checked in Message-ID: <20010722120107.A92234@CSUA.Berkeley.EDU> So I finally got around to finishing up my fog of war client feature. To use just checkout the latest CVS client and server and start the client with the command line: -sdl -fog For the moment the fog code only works with the sdl blitter. Some server cooperation is needed for this to work properly but it is possible to connect to an older server. The new CVS server now sends a newmap notification to the client when the player enters a new map if the client requested such a notification. Use Control-Shift-i to simuate this notification if playing on an older server. When playing on one of the cvs-11b servers I see in the metaserver list, a bug that was just fixed that sent too much info to the client makes itself obvious. With the fog code you basically get a sort of xray vision effect where it seems the player can see through walls and stuff. Mark, you should probably redo my server changes if you have some time, the change is very minor but I don't know the server code very well so I probably violated some coding standard or something. I didn't update the Protocol doc because of that. -Scott From mwedel at scruznet.com Tue Jul 24 18:01:17 2001 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] Fog of war code checked in In-Reply-To: <20010722120107.A92234@CSUA.Berkeley.EDU> Message-ID: On Sun, 22 Jul 2001, Scott MacFiggen wrote: > > Mark, you should probably redo my server changes if you have some time, > the change is very minor but I don't know the server code very well > so I probably violated some coding standard or something. > I didn't update the Protocol doc because of that. As a quick look, I didn't see any problem with them. However, when I try to use the client (gtk) in sdl mode, I get some interesting coloring effects. I don't know if this got changed with the fog of war code or not - I recall that sdl mode client mostly worked before (there are some images it doesn't seem to do right, like the floor tiles on the greeting map), but this is certainly much worse. I get this running with either -fog or without it. An image of it can be found at http://tavern.santa-clara.ca.us/cf/sdl.gif From smurf at CSUA.Berkeley.EDU Tue Jul 24 18:10:37 2001 From: smurf at CSUA.Berkeley.EDU (Scott MacFiggen) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] Fog of war code checked in In-Reply-To: ; from mwedel@scruznet.com on Tue, Jul 24, 2001 at 04:01:17PM -0700 References: <20010722120107.A92234@CSUA.Berkeley.EDU> Message-ID: <20010724161037.A13562@CSUA.Berkeley.EDU> > However, when I try to use the client (gtk) in sdl mode, I get > some interesting coloring effects. I don't know if this got > changed with the fog of war code or not - I recall that sdl mode client > mostly worked before (there are some images it doesn't seem to > do right, like the floor tiles on the greeting map), but this is > certainly much worse. I get this running with either > -fog or without it. An image of it can be found at > > http://tavern.santa-clara.ca.us/cf/sdl.gif Hey that's cool.. Luckily I can reproduce it. Only happens when you have a non rectangular view set, like 19x21 or 19x25. Try 20x20 or something if you wanna try out -fog until I get this fixed. -Scott From smurf at CSUA.Berkeley.EDU Tue Jul 24 18:42:10 2001 From: smurf at CSUA.Berkeley.EDU (Scott MacFiggen) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] Fog of war code checked in In-Reply-To: ; from mwedel@scruznet.com on Tue, Jul 24, 2001 at 04:01:17PM -0700 References: <20010722120107.A92234@CSUA.Berkeley.EDU> Message-ID: <20010724164210.A19757@CSUA.Berkeley.EDU> On Tue, Jul 24, 2001 at 04:01:17PM -0700, Mark Wedel wrote: > However, when I try to use the client (gtk) in sdl mode, I get > some interesting coloring effects. I don't know if this got > changed with the fog of war code or not - I recall that sdl mode client > mostly worked before (there are some images it doesn't seem to > do right, like the floor tiles on the greeting map), but this is > certainly much worse. I get this running with either > -fog or without it. An image of it can be found at > > http://tavern.santa-clara.ca.us/cf/sdl.gif This should be fixed now.. I was making a bad assumption about how SDL was padding the scanlines in the pixel array. -Scott From mwedel at scruz.net Wed Jul 25 00:29:58 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] Fog of war code checked in References: <20010722120107.A92234@CSUA.Berkeley.EDU> <20010724164210.A19757@CSUA.Berkeley.EDU> Message-ID: <3B5E5956.9B7CBD1F@scruz.net> Scott MacFiggen wrote: > This should be fixed now.. I was making a bad assumption about how > SDL was padding the scanlines in the pixel array. Works like a charm now. A very cool feature - makes doing some of the random maps much easier to verify you've covered the spaces, and also positioning for the ideal position when casting the various detection spells. I do notice that it gets confused when using the shop mats, and I imagine it would get confused with all inter map transports. Unfortunately, I don't have a perfect solution - if we tell the client exactly where the player has gotten moved to, this will make some maps much easier (as you will very easily know what way you likely need to get back to where you where, or know where all the secret chambers are more likely to be, etc. For shop mats, sending an offset of how much the player got moved would probably be OK, as most all cases the destination mat is in plain view of hte source, and even in cases where the wall is pretty solid, its pretty obvious where the mat leads. Unfortunately, I know there are maps that use many teleporters in which the destination is not readily available, and the same goes for pit traps, etc. From dnh at hawthorn.csse.monash.edu.au Wed Jul 25 02:01:04 2001 From: dnh at hawthorn.csse.monash.edu.au (dnh) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] Java map editor idea Message-ID: Here's a thought. How hard would it be to create a 'walk through' command where by you can enter the map and walk around via the editor. Obviously you wouldn't want creatures etc to move, but in terms of looking at the most basic map parts this could work quite well. Ie. You just add a door that is triggered in another part of the map via a push button. You walk the 'player' over to the button and watch to see if the gate opens. There are some obvious flaws, for example. I remember in one of AV's pupland maps (i'm not saying which ;)) there was a gate that was triggered by a monster dropping an item when it dies. If monsters etc weren't implemented this couldn't be tested, infact any monster based trigger wouldn't work. With this in mind it could be considered better to just test with a server... but I find it quite annoying to have to run back to a particular spot test it then kill the server if it is something like a gate. Anyway, the concept is real-time testing of mechanisms for crossfire maps in the editor, even just an 'activate switch' option in the menu would probably do it. food for thought, dnh From andi.vogl at gmx.net Wed Jul 25 10:16:54 2001 From: andi.vogl at gmx.net (Andreas Vogl) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] Java map editor idea In-Reply-To: Message-ID: dnh wrote: > Here's a thought. > > How hard would it be to create a 'walk through' command where by > you can enter the map and walk around via the editor. Obviously you > wouldn't want creatures etc to move, but in terms of looking at the > most basic map parts this could work quite well. Ie. You just add a > door that is triggered in another part of the map via a push button. > You walk the 'player' over to the button and watch to see if the > gate opens. > > [...] it could be considered better to just test with a server... > but I find it quite annoying to have to run back to a particular > spot test it then kill the server if it is something like a gate. > > Anyway, the concept is real-time testing of mechanisms for crossfire > maps in the editor, even just an 'activate switch' option in the menu > would probably do it. This is certainly a feature that would be very useful. I know how time-consuming it is to fire up the server, run through the maps and test everything. The problem is that it's not at all easy to do. The CF server is not only very complex, but also a subject of continuous changes and modifications. So if I try to build parts of the server code into the editor, it's not only a lot of work - It must be updated regularly (As an example, I remind of the changes in the button-handling-code that broke many of the pupland maps). If editor and server would "run out of sync" that would be terrible, as mapmakers might test their maps with the editor where everything works - But on the CF server it does not, due to some new feature/change. Hence, I think it is more effective to build in hints for verifying certain aspects of a map, rather than hacking a minor version of the server into the editor. Some examples (stuff I would like to see in the editor in future): o Changing maps by left-clicking on an exit and selecting a menu- command "exit" (Like in Crossedit). If the exit-path is wrong, you get a notification. Maybe also a "check all exits" command to search for broken exit-paths in a whole set of maps. o It would be nice to browse throught a list of all connections in the map. Some way to handle connections with an easy GUI, rather than getting dirty with the object-attributes. o Scripting support in the editor. o Ability to test darkness-effects and line of sight for any spot in a map. However, I don't want to make promises if and when I might code any of these features into the editor. :-) Andreas V. From michael.toennies at nord-com.net Wed Jul 25 13:43:05 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] iso client - snapshot Message-ID: Hi A new snapshot from the iso client. http://mids.student.utwente.nl/~michtoen/sdl_client/snap.png You see the skin and the iso start map. I included as player information in the left upper area the player name with same info. Its like Rank (with Information) / Name Race / Profession (and/or highest guild title) level / experience Also, you see in the text windows key word marking. a draw_info text is searched for '&'. Every string part will be shown in a different color until a white space. This means you change a "ask me about the guildmaster" to "ask me about the &guildmaster" and guildmaster will be marked. You can use it, but you don't must. Also, right side you see a picture, invoked by a media tag included in a draw_info text of a magic mouth. With the text, you got a info. its like "?picture.png|0|0 /n ask me about the guildmaster". The, the client search the draw_info text for the media tag, cut it of and try to load the picture from media folder. Is it not there, nothing happens - you still got the text. You must download the media files seperate, its not submited by server nor part of CF itself. It is user installed and so we can also use copyright stuff. We don't change the pictures in any way (except scale them). Well, of course this is used quest maker can include stuff, iam sure this is interesting for artists. Well, some other stuff is shown, the client is yet full usable. What i need is a drawn inventory doll like in this skin from David Gervais. http://mids.student.utwente.nl/~michtoen/sdl_client/mockup3.gif Well, our skin locks pretty similiar, but thas because the kind of program is very similiar too and i use his tiles. Notice, that i need at last 14 slots for items! All should be 32x32, so there is no much space. I need an artist for it, so come on guys! Michael From dnh at hawthorn.csse.monash.edu.au Wed Jul 25 16:28:18 2001 From: dnh at hawthorn.csse.monash.edu.au (dnh) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] Java map editor idea In-Reply-To: Message-ID: > Some examples (stuff I would like to see in the editor in future): > o Changing maps by left-clicking on an exit and selecting a menu- > command "exit" (Like in Crossedit). If the exit-path is wrong, you get > a notification. Maybe also a "check all exits" command to search for > broken exit-paths in a whole set of maps. > o It would be nice to browse throught a list of all connections in the > map. Some way to handle connections with an easy GUI, rather > than getting dirty with the object-attributes. Yes, well I was also thinking through this, the previous function (left-clicking on exits) could be reimplmented for each basic type. ie when you left click on a teleporter it moves the selection to the exit point, if you left click on a switch, it highlights all the same attribute number (ie 0,1,2...) dnh From michael.toennies at nord-com.net Wed Jul 25 16:54:51 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] Java map editor idea In-Reply-To: Message-ID: Yes, to implement this kind of stuff is very easy in the editor. this kind of information is sorted in the arch objects and parsed (or can be) and so you can access nearly all stuff and manipulate it. Moving around is somewhat harder. Perhaps you can do it for some basic things, but only real basic like test teleporter or so. you can also easy parse solid / non solid walls or so, but the tricky stuff, the stuff you WANT test because its tricky will not work - because you must most times include to much server stuff in it. What should work is to setup a server and start the client. and make a macro like "go in dmmode, reload map x/leace dm mode". Then you just hit save in editor, switch to client and hit macro - voila. > > Some examples (stuff I would like to see in the editor in future): > > o Changing maps by left-clicking on an exit and selecting a menu- > > command "exit" (Like in Crossedit). If the exit-path is wrong, you get > > a notification. Maybe also a "check all exits" command to search for > > broken exit-paths in a whole set of maps. > > o It would be nice to browse throught a list of all connections in the > > map. Some way to handle connections with an easy GUI, rather > > than getting dirty with the object-attributes. > > Yes, well I was also thinking through this, the previous function > (left-clicking on exits) could be reimplmented for each basic type. ie > when you left click on a teleporter it moves the selection to the exit > point, if you left click on a switch, it highlights all the same attribute > number (ie 0,1,2...) > > dnh > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel > From mwedel at scruznet.com Wed Jul 25 19:35:20 2001 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] Java map editor idea In-Reply-To: Message-ID: On Wed, 25 Jul 2001, Andreas Vogl wrote: > This is certainly a feature that would be very useful. I know how > time-consuming it is to fire up the server, run through the maps and test > everything. One thought might be to make this easier to do in the server, ie, have something like: crossfire -test -mapfile=/some/path -player=name Which deposits players name onto the map file, and when running in test mode, the character can not get saved and the monsters do nothing (optionally, a flag to turn monsters on and off could be added) Putting in such a test mode probably would not be hard to do. > > The problem is that it's not at all easy to do. The CF server is not only > very complex, but also a subject of continuous changes and modifications. > So if I try to build parts of the server code into the editor, it's not > only a lot of work - It must be updated regularly (As an example, I remind > of the changes in the button-handling-code that broke many of the pupland > maps). > If editor and server would "run out of sync" that would be terrible, as > mapmakers might test their maps with the editor where everything works - > But on the CF server it does not, due to some new feature/change. Yeah - the other fact is that if you do this in the java editor, you are probably half the way to having the server all done. Note one advantage of a tst mode is that you can see how spells and other things interact (just what exactly area is that large fireball hitting, and so on). > o It would be nice to browse throught a list of all connections in the > map. Some way to handle connections with an easy GUI, rather > than getting dirty with the object-attributes. Yes - this was always one of the things I wanted in the crossedit program. Trying to find what that button links to was always a pain (even if you find one link, you may find the others). Being able to select the button and do something like 'show me what this is connected to' would be vary handy. From smurf at CSUA.Berkeley.EDU Thu Jul 26 20:11:29 2001 From: smurf at CSUA.Berkeley.EDU (Scott MacFiggen) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] Fog of war code checked in In-Reply-To: <3B5E5956.9B7CBD1F@scruz.net>; from mwedel@scruz.net on Tue, Jul 24, 2001 at 10:29:58PM -0700 References: <20010722120107.A92234@CSUA.Berkeley.EDU> <20010724164210.A19757@CSUA.Berkeley.EDU> <3B5E5956.9B7CBD1F@scruz.net> Message-ID: <20010726181129.A12271@CSUA.Berkeley.EDU> On Tue, Jul 24, 2001 at 10:29:58PM -0700, Mark Wedel wrote: > Works like a charm now. A very cool feature - makes doing some of the random > maps much easier to verify you've covered the spaces, and also positioning for > the ideal position when casting the various detection spells. Glad you like it. I was mostly trying to fix the claustrophobic feel crossfire had, open things up a bit. > I do notice that it gets confused when using the shop mats, and I imagine it > would get confused with all inter map transports. Unfortunately, I don't > have a perfect solution - if we tell the client exactly where the player > has gotten moved to, this will make some maps much easier (as you will > very easily know what way you likely need to get back to where you where, > or know where all the secret chambers are more likely to be, etc. > For shop mats, sending an offset of how much the player got moved would > probably be OK, as most all cases the destination mat is in plain view of hte > source, and even in cases where the wall is pretty solid, its pretty obvious > where the mat leads. Unfortunately, I know there are maps that use many > teleporters in which the destination is not readily available, and the same > goes for pit traps, etc. I think sending a newmap cmd every time the player goes through a transporter or pit or dragon transport or whatever is fine. I can do a few things to make the reset_map() function less expensive. Right now it clears everything then asks for a full update from the server. Saving the current faces in with viewport should be good enough to prevent asking for a full update. If this actually works, getting a newmap cmd from the server shouldn't be a big deal. I haven't had time to go poking through the server to find the code path for transporters and pits, can anyone point me in the right direction? Mark, do you want to extend the pngximage client to do use fog of war? -Scott From michael.toennies at nord-com.net Sat Jul 28 13:08:02 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] SDL CFClient - Alpha Release in CVS Message-ID: Hi Ok, here we go: The first and only pure SDL client for crossfire. At the moment, this client is for iso cf - so the skins etc are for iso view, but you *can* login in a normal server for testing - its just log ugly. The client runs now on win32 and linux - testing on Solaris, BeOS and MacOS X shows it will run there too! First a word to the performance - we still are testing. At the moment, the client trys to blit every loop a full frame. So, he use alot of CPU (maximal of course). This will change of course. Also, i blit the whole skin and then most part again - thats also for testing, so there is some performance hidden. On a P3 500/192mb with win98, i got around 50-55 fps in windowed mode staying and 40-50 when running. Fullscreen its always between 90-111 fps. On linux system you can only get between 6-20 fps. Remember you don't has a low level driver system there for 2D blits and pay the price for the more secure driver system. One should go and include OpenGL support for the client, then the blitter should use hardware support when possible (i don't know about OpenGl performance in windowed mode). Use --help to see the cmd line options. You can try -warp and -hw to boost performance. The linux user should create a database about best options/X-Windows inits to get good SDL performance - even small changes are critical! How to run a iso server? For full testing, setup a normal server and copy the iso arch data from this package http://mids.student.utwente.nl/~michtoen/sdl_client/isoserverdata.zip over the server data in share folder. The copy this special HallOfSelection map over the HallOfSelection from the normal map set. http://mids.student.utwente.nl/~michtoen/sdl_client/HallOfSelection Also, as example for media tags, download this package and copy it in the CLIENT folder, where the sdl_client exe is http://mids.student.utwente.nl/~michtoen/sdl_client/media.zip The media folder must be in the same folder then the cache folder is. The file cfkeys.sdl hold the key binds. ** I don't include the key bind menu yet, i will do it ASAP ** So, you must include the scankey numbers by hand! Start for this the client with -key option and write down the scancode, which is shown in the text window for every pressed key. Ok, this is for testing, no other docs, some unfinished stuff... But its full playable! Next is, to finish the client and start map&arch works! Well, i STILL search one, who draw me the inventory doll! look here http://mids.student.utwente.nl/~michtoen/sdl_client/mockup3.gif it should look like this (but not to same please!). Michael From yann.chachkoff at mailandnews.com Sun Jul 29 08:35:47 2001 From: yann.chachkoff at mailandnews.com (Chachkoff Yann) Date: Thu Jan 13 18:01:30 2005 Subject: [CF-Devel] SDL CFClient - Alpha Release in CVS In-Reply-To: References: Message-ID: <01072909354700.01337@localhost.localdomain> I just want to add a few comments about my part of that work (porting). > The client runs now on win32 and linux - testing on Solaris, BeOS and MacOS > X shows it will run there too! > It seems to run on Solaris, BeOS and MacOSX. But I suggest not expecting too much for thoses until more complete tests are finished. Anyway, since the client uses BSD sockets, any system based on those having the SDL libraries should run fine. If you encounter problems, please tell me. > On a P3 500/192mb with win98, i got around 50-55 fps in windowed mode > staying and 40-50 when running. > Fullscreen its always between 90-111 fps. > > On linux system you can only get between 6-20 fps. Remember you don't has a > low level driver system > there for 2D blits and pay the price for the more secure driver system. As I already said, fps are not a very good mesure for performance comparaison in crossfire, because the bottleneck here is the speed at which the server can send/receive datas. You also need to know the average number of packets transmitted by seconds in each direction (nps). If nps>fps, then it is a problem; if not, it isn't. And Linux does have accelerated 2D-blits too (integrated in the XAA of X-Window). I didn't encountered speed problems while running the SDL client under Linux. (It was running more or less at the same speed as the GTK client). However, if it causes problems to anyone, let me know. Chachkoff Yann From michael.toennies at nord-com.net Sun Jul 29 12:05:42 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:01:31 2005 Subject: [CF-Devel] how we can manually remove files from CVS attic? Message-ID: Hi One problem with the CVS: When we remove a file with CVS commands (remove, etc.), the file is removed from official tree, but not deleted. The file is moved in a hidden sub folder, called Attic. This is for later access - perhaps we remove something but then we want recast is later. Then the CVS get this file back from this hidden folder. So good, so intelligent. Not so intelligent is, that CVS has no really folder managment. If you remove a file y from folder x, file y is put in Attic folder of x. But because y is not cleared (there is still y in hidden Attic), the folder x is still shown with a CVS entry - also when it is empty. Because this actions, the Yoyodyme folder is still CVS. What we must is, to remove the files in Attic folder with hand - means we must access the folder of the CVS rep. and do a rm y, so this is removed from Attic - THEN CVS removes the Yoyodyme folder too! Well, anyone knows how we/i can access our CVS root? For the iso_arch, i had some to add/remove and change, this will look very ugly. From mwedel at scruz.net Mon Jul 30 01:38:54 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:31 2005 Subject: [CF-Devel] how we can manually remove files from CVS attic? References: Message-ID: <3B6500FE.482F9932@scruz.net> I don't think there is anyway to remove the Attic files (and thus complete subdirectories) save for having the adminsters of sourceforge do it. This is probably reasonable to ask them to clear out the top level yoyodyne directories, but probably is not that feasible for minor subdirectories. However, for the most part, this should not make any difference. Yes, if you browse CVS via their web interface, you see all that cruft, but if you do a checkout, I'm pretty sure that stuff won't show up. From mwedel at scruz.net Tue Jul 31 01:50:17 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:01:31 2005 Subject: [CF-Devel] Fog of war code checked in References: <20010722120107.A92234@CSUA.Berkeley.EDU> <20010724164210.A19757@CSUA.Berkeley.EDU> <3B5E5956.9B7CBD1F@scruz.net> <20010726181129.A12271@CSUA.Berkeley.EDU> Message-ID: <3B665529.665E4864@scruz.net> Scott MacFiggen wrote: > > On Tue, Jul 24, 2001 at 10:29:58PM -0700, Mark Wedel wrote: > > Works like a charm now. A very cool feature - makes doing some of the random > > maps much easier to verify you've covered the spaces, and also positioning for > > the ideal position when casting the various detection spells. > > Glad you like it. I was mostly trying to fix the claustrophobic feel > crossfire had, open things up a bit. IMO, it is much nicer for the outdoor maps (still very useful for indoor also), but really lets you see more of the countryside. I had thought that objects should have partial blocking abilities - ie, it would take several forests to completely block, but a single forest would effectively make things behind it harder to see (done basically with the lighting code, which means if your in a forest at night, your light wouldn't go as far either). Such a change is unrelated to the one above in terms of technical ability, but a similar motivation, which was to make more of it visible, was evident. > I think sending a newmap cmd every time the player goes through a transporter > or pit or dragon transport or whatever is fine. I can do a few things to > make the reset_map() function less expensive. Right now it clears everything > then asks for a full update from the server. Saving the current faces in > with viewport should be good enough to prevent asking for a full update. > If this actually works, getting a newmap cmd from the server shouldn't > be a big deal. The best thing would probably be to have a flag on those objects which us somthing like 'secret transporter'. For non secret ones, the default is to send the coordinates the player moves (shop mats are such an example, and probably should be the only that have this on by default). However, other transporters would send a newmap command. Map makers could of course override this - if the map maker knows that the teleporters he has placed are close enough or the two locations are pretty obvious, those could also send appropriate offset. I notice the teleport function also still has the hard coded values of distance it searches for use of random teleports (basically, a 5 square square from the original one). With the larger map size, this is probably less useful, and this search range should really be customizable. the teleport function itself is in server/move.c, line 197. transport_ob, which handles things like trapdoors, is right above that. > Mark, do you want to extend the pngximage client to do use fog of war? At some point, we should really figure out what of the various image styles we will support. I would guess adding support for this in pngximage should be pretty easy. Was the above an offer or asking if I would do it? From yann.chachkoff at mailandnews.com Tue Jul 31 12:42:37 2001 From: yann.chachkoff at mailandnews.com (Chachkoff Yann) Date: Thu Jan 13 18:01:31 2005 Subject: [CF-Devel] Bug report - Persistent book pictures Message-ID: <01073113423701.01820@localhost.localdomain> Put some spellbooks in a bookshelf. Learn them. The book pictures will not disappear as expected. Chachkoff Y. From lohner at debian.org Tue Jul 31 11:22:19 2001 From: lohner at debian.org (Nils Lohner) Date: Thu Jan 13 18:01:31 2005 Subject: [CF-Devel] Autopickup patch Message-ID: <200107311622.SAA04166@topaze.ecf.teradyne.com> Here was a request I made on c-list: - have better auto-pickup selections: allow for all-edible, coins and gems, missile weapons (daggers, arrows, etc). It's a pain to pick up individual daggers and arrows all the time!!! I think you understand what I mean. Also, right now they're exclusive, they should be individually selectable (i.e. automatically grab missile weapon stuff, magic items and coins). So I've programmed it into the server. It supplements the current mode so it shouldn't break anything. It's bit oriented (see define.h PU_* definitions) and takes effect if the high bit is set. To use it, try 'pickup 65511 and you should see: command_pickup: set_pickup_mode 64511, 0xfbff, 0b1 1111 0111 1111 111 NEWMODE FOOD VALUABLES MISSILEWEAPON BOW ARROW ARMOUR HELMET SHIELD KEY ...this is all except WEAPON which will grab chairs too. THere are a lot of debug printf's right now; they need to be cleaned out. SOmeone responsible for the server should take this and decide how it should be integrated and what should happen to the current code. The clients need to deal with this in some way as well, since currently you need to take the hex bitset nad translate it to decimal to input it... not exactly ideal :) In GTK this should be easy with selection boxes. For text, something like pickup +something or -something (or apickup+arrow etc.) would work well. I'll attach the patch as it currently is; it works well. Feel free to integrate it. Nils. ISSUES: BUG: If you change mode from uint16 to uint32 the server no longer works correctly. SOmeone who knows the internals should debug this. - class 'weapon' seems to grab a lot! You pick up the chair. Pickup mode: 0xffff WEAPON ...is this intended? - what are daggers? this doesn't pick them up: if(op->contr->mode & PU_MISSILEWEAPON) if(tmp->type == WEAPON && QUERY_FLAG(tmp, FLAG_IS_THROWN)) { pick_up(op, tmp); fprintf(stderr,"MISSILEWEAPON\n"); } ...how does this need to be done? Here's the patch. diff -ruN crossfire-1.0.0/include/define.h crossfire-1.0.0.new/include/define.h --- crossfire-1.0.0/include/define.h Sun May 13 23:55:41 2001 +++ crossfire-1.0.0.new/include/define.h Tue Jul 31 17:22:20 2001 @@ -257,6 +257,27 @@ #define MAX_NAME 16 #define BIG_NAME 32 + +/* definitions for detailed pickup descriptions. + * The objective is to define intelligent groups of items that the + * user can pick up or leave as he likes. */ + +/* high bit as flag for new pickup options */ +#define PU_NOTHING 0x0000 +#define PU_NEWMODE 0x8000 + +#define PU_FOOD 0x0001 +#define PU_VALUABLES 0x0002 +#define PU_WEAPON 0x0004 +#define PU_BOW 0x0008 +#define PU_ARROW 0x0010 +#define PU_HELMET 0x0020 +#define PU_SHIELD 0x0040 +#define PU_ARMOUR 0x0080 +#define PU_KEY 0x0100 +#define PU_MISSILEWEAPON 0x0200 +#define PU_ALLWEAPON 0x0400 + /* Instead of using arbitrary constants for indexing the * freearr, add these values. <= SIZEOFFREE1 will get you * within 1 space. <= SIZEOFFREE2 wll get you withing diff -ruN crossfire-1.0.0/server/c_object.c crossfire-1.0.0.new/server/c_object.c --- crossfire-1.0.0/server/c_object.c Sun May 13 23:55:41 2001 +++ crossfire-1.0.0.new/server/c_object.c Tue Jul 31 17:23:14 2001 @@ -1235,19 +1235,41 @@ int command_pickup (object *op, char *params) { - int i; + int i, j; if(!params) { + fprintf(stderr,"command_pickup: !params\n"); op->contr->count_left=0; set_pickup_mode(op, (op->contr->mode > 6)? 0: op->contr->mode+1); return 0; } if(params==NULL || !sscanf(params, "%d", &i) || i<0 ) { - new_draw_info(NDI_UNIQUE, 0,op,"Usage: pickup <0-7> or ."); - return 1; - } - set_pickup_mode(op,i); - return 1; + fprintf(stderr,"command_pickup: params==NULL\n"); + new_draw_info(NDI_UNIQUE, 0,op,"Usage: pickup <0-7> or ."); + return 1; + } + set_pickup_mode(op,i); + + fprintf(stderr,"command_pickup: set_pickup_mode %d, 0x%x, 0b", i, i); + for(j=0;j<16;j++) + { + fprintf(stderr,"%d",i>>(15-j)&0x01); + if(!(j%4))fprintf(stderr," "); + } + fprintf(stderr,"\n"); + if(i & PU_NEWMODE) fprintf(stderr,"NEWMODE\n"); + if(i & PU_FOOD) fprintf(stderr,"FOOD\n"); + if(i & PU_VALUABLES) fprintf(stderr,"VALUABLES\n"); + if(i & PU_ALLWEAPON) fprintf(stderr,"ALLWEAPON\n"); + if(i & PU_MISSILEWEAPON) fprintf(stderr,"MISSILEWEAPON\n"); + if(i & PU_BOW) fprintf(stderr,"BOW\n"); + if(i & PU_ARROW) fprintf(stderr,"ARROW\n"); + if(i & PU_ARMOUR) fprintf(stderr,"ARMOUR\n"); + if(i & PU_HELMET) fprintf(stderr,"HELMET\n"); + if(i & PU_SHIELD) fprintf(stderr,"SHIELD\n"); + if(i & PU_KEY) fprintf(stderr,"KEY\n"); + + return 1; } void set_pickup_mode(object *op,int i) { diff -ruN crossfire-1.0.0/server/player.c crossfire-1.0.0.new/server/player.c --- crossfire-1.0.0/server/player.c Sun May 13 23:55:41 2001 +++ crossfire-1.0.0.new/server/player.c Tue Jul 31 17:44:49 2001 @@ -864,6 +864,8 @@ tag_t next_tag=0, op_tag; int stop = 0; + + /* if you're flying, you cna't pick up anything */ if (QUERY_FLAG (op, FLAG_FLYING)) return 1; @@ -872,6 +874,9 @@ next = op->below; if (next) next_tag = next->count; + + /* loop while there are items onteh floor that are not marked as + * destroyed */ while (next && ! was_destroyed (next, next_tag)) { tmp = next; @@ -894,28 +899,23 @@ } #endif /* SEARCH_ITEMS */ + /* high bit set? We're using the new autopickup model */ + fprintf(stdout,"Pickup mode: 0x%x\n", op->contr->mode); + + if(!(op->contr->mode & PU_NEWMODE)) + { switch (op->contr->mode) { case 0: return 1; /* don't pick up */ - - case 1: - pick_up (op, tmp); + case 1: pick_up (op, tmp); return 1; - - case 2: - pick_up (op, tmp); + case 2: pick_up (op, tmp); return 0; - case 3: return 0; /* stop before pickup */ - - case 4: - pick_up (op, tmp); + case 4: pick_up (op, tmp); break; - - case 5: - pick_up (op, tmp); + case 5: pick_up (op, tmp); stop = 1; break; - case 6: if (QUERY_FLAG (tmp, FLAG_KNOWN_MAGICAL) && ! QUERY_FLAG(tmp, FLAG_KNOWN_CURSED)) @@ -935,6 +935,44 @@ >= op->contr->mode) pick_up(op,tmp); } + } /* old model */ + else + { + if(op->contr->mode & PU_FOOD) + if (tmp->type == FOOD) { pick_up(op, tmp); fprintf(stderr,"FOOD\n"); } + + if(op->contr->mode & PU_VALUABLES) + if (tmp->type == MONEY || tmp->type == GEM) + { pick_up(op, tmp); fprintf(stderr,"MONEY/GEM\n"); } + + if(op->contr->mode & PU_BOW) + if (tmp->type == BOW) + { pick_up(op, tmp); fprintf(stderr,"BOW\n"); } + if(op->contr->mode & PU_ARROW) + if (tmp->type == ARROW) + { pick_up(op, tmp); fprintf(stderr,"ARROW\n"); } + + if(op->contr->mode & PU_ARMOUR) + if (tmp->type == ARMOUR) + { pick_up(op, tmp); fprintf(stderr,"ARMOUR\n"); } + if(op->contr->mode & PU_HELMET) + if (tmp->type == HELMET) + { pick_up(op, tmp); fprintf(stderr,"HELMET\n"); } + if(op->contr->mode & PU_SHIELD) + if (tmp->type == SHIELD) + { pick_up(op, tmp); fprintf(stderr,"SHIELD\n"); } + + if(op->contr->mode & PU_MISSILEWEAPON) + if(tmp->type == WEAPON && QUERY_FLAG(tmp, FLAG_IS_THROWN)) + { pick_up(op, tmp); fprintf(stderr,"MISSILEWEAPON\n"); } + if(op->contr->mode & PU_ALLWEAPON) + if(tmp->type == WEAPON) + { pick_up(op, tmp); fprintf(stderr,"WEAPON\n"); } + + if(op->contr->mode & PU_KEY) + if (tmp->type == KEY) + { pick_up(op, tmp); fprintf(stderr,"KEY\n"); } + } /* the new pickup model */ } return ! stop; } From lohner at debian.org Tue Jul 31 11:56:45 2001 From: lohner at debian.org (Nils Lohner) Date: Thu Jan 13 18:01:31 2005 Subject: [CF-Devel] make distclean problems/cleanups Message-ID: <200107311656.SAA06650@topaze.ecf.teradyne.com> I was trying to generate a patch and ran into problems. I'll do this step by step, because there's a lot of cleaning to be done. Here's the first test. /sup/build/crossfire > gtar xvjf ../src/games/crossfire-1.0.0.tar.bz2 /sup/build/crossfire > mv crossfire-1.0.0 crossfire-1.0.0.orig /sup/build/crossfire > gtar xvjf ../src/games/crossfire-1.0.0.tar.bz2 /sup/build/crossfire > cd crossfire-1.0.0 /sup/build/crossfire/crossfire-1.0.0 > ./configure /sup/build/crossfire/crossfire-1.0.0 > make distclean /sup/build/crossfire/crossfire-1.0.0 > cd .. /sup/build/crossfire > diff -ruN crossfire-1.0.0 crossfire-1.0.0.orig > cfdiffs Theoretically this diff should be minimal, but it's not. /sup/build/crossfire > wc diffs.distclean 380 1633 11736 diffs.distclean - remove crossfire-1.0.0/doc/spell-docs/Makefile ...there's a Makefile.in there and make distclean removes it. - other removed files: --- crossfire-1.0.0/lib/checkarch.pl Tue Jul 31 18:30:42 2001 --- crossfire-1.0.0/utils/crossloop Tue Jul 31 18:30:42 2001 --- crossfire-1.0.0/utils/crossloop.pl Tue Jul 31 18:30:43 2001 --- crossfire-1.0.0/utils/metaserver.pl Tue Jul 31 18:30:43 2001 ... I don't know if distclean should delete these or not. SOmeone needs to look at this. - What's left: --- crossfire-1.0.0/lib/collect.pl Tue Jul 31 18:30:42 2001 --- crossfire-1.0.0/lib/xpmtopix.pl Tue Jul 31 18:30:41 2001 --- crossfire-1.0.0/utils/add_throw.perl Tue Jul 31 18:30:42 2001 ...three files with the following difference: -#!/sup/bin/perl +#!/usr/bin/perl This I can live with; they're easy to filter out. Next, I'll do the same thing with a build. I already saw that 'tags' files and '*~' backup files are not removed by a 'make distclean'. They should be. Please take care of these changes, as they'll make supplying patches much easier (so you'll get more of them :) Thanks, Nils. From lohner at debian.org Tue Jul 31 12:10:44 2001 From: lohner at debian.org (Nils Lohner) Date: Thu Jan 13 18:01:31 2005 Subject: [CF-Devel] more missing distclean files Message-ID: <200107311710.TAA09357@topaze.ecf.teradyne.com> When I took the 'make distclean' tree, copied it, build and did another 'make distclean' I only get the following errors: Binary files crossfire-1.0.0/common/libcross.a and crossfire-1.0.0.built/common/libcross.a differ Binary files crossfire-1.0.0/random_maps/random_map.a and crossfire-1.0.0.built/random_maps/random_map.a differ Binary files crossfire-1.0.0/random_maps/standalone.o and crossfire-1.0.0.built/random_maps/standalone.o differ Binary files crossfire-1.0.0/socket/socket.a and crossfire-1.0.0.built/socket/socket.a differ So if these are added to the targets to get them cleaned out, the distclean should be correct. The files only exist in the dir where the server was build and are not present in the sourceball. Nils. From smurf at CSUA.Berkeley.EDU Tue Jul 31 18:24:44 2001 From: smurf at CSUA.Berkeley.EDU (Scott MacFiggen) Date: Thu Jan 13 18:01:31 2005 Subject: [CF-Devel] Fog of war code checked in In-Reply-To: <3B665529.665E4864@scruz.net>; from mwedel@scruz.net on Mon, Jul 30, 2001 at 11:50:17PM -0700 References: <20010722120107.A92234@CSUA.Berkeley.EDU> <20010724164210.A19757@CSUA.Berkeley.EDU> <3B5E5956.9B7CBD1F@scruz.net> <20010726181129.A12271@CSUA.Berkeley.EDU> <3B665529.665E4864@scruz.net> Message-ID: <20010731162444.A8532@CSUA.Berkeley.EDU> On Mon, Jul 30, 2001 at 11:50:17PM -0700, Mark Wedel wrote: >IMO, it is much nicer for the outdoor maps (still very useful for indoor also), >but really lets you see more of the countryside. I had thought that objects >should have partial blocking abilities - ie, it would take several forests to >completely block, but a single forest would effectively make things behind it >harder to see (done basically with the lighting code, which means if your in a >forest at night, your light wouldn't go as far either). Such a change is >unrelated to the one above in terms of technical ability, but a similar >motivation, which was to make more of it visible, was evident. That would be neat but using the existing lighting code would end up doing the wrong thing on the client side, if the interpolated stuff is used anyway. If you are thinking that the end effect would be to darken tiles that are blocked by LOS, you don't want full bright tiles adjancent to these 'blocked' tiles leaking light in since it isn't a lighting issue, it is a blocked view issue. >The best thing would probably be to have a flag on those objects which use >something like 'secret transporter'. > >For non secret ones, the default is to send the coordinates the player moves >(shop mats are such an example, and probably should be the only that have this >on by default). However, other transporters would send a newmap command. Map >makers could of course override this - if the map maker knows that the >teleporters he has placed are close enough or the two locations are pretty >obvious, those could also send appropriate offset. This solutions sounds right. > > Mark, do you want to extend the pngximage client to do use fog of war? > >At some point, we should really figure out what of the various image styles we >will support. I would guess adding support for this in pngximage should be >pretty easy. Was the above an offer or asking if I would do it? Oh yeah, guess I could have worded that better. I was hoping you could do it cause I don't have time to do anymore crossfire features until I get back from my sabbatical in November. I still have some bugs to fix in the gtkSDL client that dnh reported to me and fix up the other transport mechanisms to get fog working properly in all cases before I go. Do you have any sort of release schedule in mind? Are we just gonna add lots of features to crossfire and do a 2.0 release in like a year or two or do you plan on a 1.1 release? -Scott From jbontje at suespammers.org Sun Jul 1 03:28:23 2001 From: jbontje at suespammers.org (jbontje@suespammers.org) Date: Thu Jan 13 18:04:01 2005 Subject: [CF List] That name is already in use. In-Reply-To: <01063023291701.08346@server.unix.home> References: <01063023291701.08346@server.unix.home> Message-ID: <20010701102823.A10966@mids.student.utwente.nl> On Sat, Jun 30, 2001 at 11:29:17PM -0500, Lane Holcombe wrote: > I just discovered crossfire in my FreeBSD ports directory so I > installed it but when I try to run it I get the same response > for each character I try to create: "That name is already in use." > > The FAQ seems to skip over this problem. What version of crossfire is in your ports collection? A friend of mine has 0.94.3 in it. (3 years old I guess) The latest stable crossfire version is 1.0 .... Download the latest version of crossfire from the website http://crossfire.real-time.com and optionaly ask for a port update. I am quite sure that the latest crossfire version will fix your problem. Joris Bontje / mids From leaf at real-time.com Mon Jul 2 15:32:04 2001 From: leaf at real-time.com (Rick Tanner) Date: Thu Jan 13 18:04:01 2005 Subject: [CF List] Is there no end? In-Reply-To: <3B3A35F7.B60455B1@cstone.net> Message-ID: On Wed, 27 Jun 2001, Sean Michael Whipkey wrote: > Somewhat related, where can I find a Holy Avenger? > As far as I know, there is no map where you will find a Holy Avenger every time. It is a random treasure item. Some places that I have found a Holy Avenger is the Fortress Ang (north of Navar) and the Burial Ground in the mountains of Lake Country. HTH - Rick Tanner leaf@real-time.com From joel at mamia.prninfo.com Mon Jul 2 16:28:10 2001 From: joel at mamia.prninfo.com (Joel South) Date: Thu Jan 13 18:04:01 2005 Subject: [CF List] Is there no end? In-Reply-To: from "Rick Tanner" at Jul 02, 2001 03:32:04 PM Message-ID: <200107022128.RAA23600@mamia.prninfo.com> > > > On Wed, 27 Jun 2001, Sean Michael Whipkey wrote: > > > > Somewhat related, where can I find a Holy Avenger? > > > > As far as I know, there is no map where you will find a Holy Avenger every > time. It is a random treasure item. > > Some places that I have found a Holy Avenger is the Fortress Ang > (north of Navar) and the Burial Ground in the mountains of Lake Country. > I know of a map where you will find a holy avenger every time,Ludo's tower in Brest. At the end is a Holy Avenger and dragon mail. You have to fight a large assortment of monsters to get,including demonlords,dragons,and big wizards. Joel Southal From anyname at jan.anorak.org.uk Tue Jul 3 00:27:26 2001 From: anyname at jan.anorak.org.uk (Jan) Date: Thu Jan 13 18:04:01 2005 Subject: [CF List] Too stupid... References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> Message-ID: <3B4157BE.EBE4EFBB@jan.anorak.org.uk> Hi, Perhaps I'm too stupid, but I can't sort of get into the game. I keep wandering around killing the lesser monsters, but anything from black puddings and beholders and up is too much, it seems. I have been on a lot of maps, but there are places I can't go - eg. in on of the mazes in the city there's a place where I have to kill a smallish hill troll, which I can't. Can somebody help me a bit in the right direction, please? Are there any written instructions (I think I've read all the spoilers etc)? /jan From highway at cstone.net Tue Jul 3 11:42:55 2001 From: highway at cstone.net (Sean Michael Whipkey) Date: Thu Jan 13 18:04:01 2005 Subject: [CF List] Too stupid... References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> Message-ID: <3B41F60F.92755985@cstone.net> Jan wrote: > Can somebody help me a bit in the right direction, please? > Are there any written instructions (I think I've read > all the spoilers etc)? I'm actually working on rewriting the Spoilers, starting with Scorn. Here are some suggestions: * Get an apartment as soon as you can. It helps incredibly by letting you lighten your load, save things, etc. * If you don't start with piety, learn it or get a holy symbol. The bonuses of following a god help a lot. * If you're having problems with certain monsters, check out the spoilers on the monsters and see what they're vulnerable to and what they attack with. You may be attacking a monster with something it's immune to. * Use potions and ring combinations depending on what you're fighting. Fighting black puddings? Use a ring of acid. Beholders? Switch to magic resistance. * Never be happy with armor or weapons that are simply +x. Instead, look for artifacts! Those help you *much* more. * If you're running low on money, sell EVERYTHING you come across. Get to know certain areas that are good for lots of plat. * Take the time to replay certain quests so that you can get the XP and the plat. * If you're stuck somewhere, find another player who is willing to help. For example, on my server, a number of us split the cost of a house in Stoneville to pool our resources. That way when the wraith mage found a Warrior's Helmet it helped my half-ork fighter, and when I found a Ring of Adamant I gave it to the wraith. You can also tag team high XP areas and work together. * This sounds stupid, but it helped me - find certain areas where you can get XP easily and just try to hit them regularly. For example, if you get a weapon that does anything other than physical damage (such as weaponmagic or electricity) I use it to kill every city guard and royal guard I come across. That adds up, after all. I also use areas like the beginning of raffle2 to boost up magic XP - I'd go down there with some potions of magic, lob off a few fireballs, recharge, lob off a few more, and eventually wrack up some good XP. If you'd like a preliminary copy of the spoilers for Scorn, let me know. SeanMike From andrew at science.uva.nl Tue Jul 3 12:12:05 2001 From: andrew at science.uva.nl (Andrew D. Bagdanov) Date: Thu Jan 13 18:04:01 2005 Subject: [CF List] Too stupid... In-Reply-To: <3B41F60F.92755985@cstone.net> References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> Message-ID: <15169.64741.568738.401124@vegas.science.uva.nl> Sean Michael Whipkey writes: > Jan wrote: > > Can somebody help me a bit in the right direction, please? > > Are there any written instructions (I think I've read > > all the spoilers etc)? > > I'm actually working on rewriting the Spoilers, starting with Scorn. > Cool... I have a few additions that might be useful as well... See below. > Here are some suggestions: > > * Get an apartment as soon as you can. It helps incredibly by letting > you lighten your load, save things, etc. > * If you don't start with piety, learn it or get a holy symbol. The > bonuses of following a god help a lot. > * If you're having problems with certain monsters, check out the > spoilers on the monsters and see what they're vulnerable to and what > they attack with. You may be attacking a monster with something it's > immune to. > * Use potions and ring combinations depending on what you're fighting. > Fighting black puddings? Use a ring of acid. Beholders? Switch to > magic resistance. It's also useful to setup keybindings to quickly switch between "modes" of play. I use essentially three modes: smash and bash, wizard, and priest. I set up the keybindings so that I can switch to the most appropriate set of rings, armor, etc. with a minimum of fuss. > * Never be happy with armor or weapons that are simply +x. Instead, > look for artifacts! Those help you *much* more. > * If you're running low on money, sell EVERYTHING you come across. Get > to know certain areas that are good for lots of plat. > * Take the time to replay certain quests so that you can get the XP and > the plat. > * If you're stuck somewhere, find another player who is willing to > help. For example, on my server, a number of us split the cost of a > house in Stoneville to pool our resources. That way when the wraith > mage found a Warrior's Helmet it helped my half-ork fighter, and when I > found a Ring of Adamant I gave it to the wraith. You can also tag team > high XP areas and work together. You might also be lucky enough to find some generous soul who will give you an appropriate artifact when you're starting out, or create a party with you so you can gain some levels where you're lacking. If someone does this for you, remember it when you replay those quests and start getting duplicate artifacts so that you can help the next guy. > * This sounds stupid, but it helped me - find certain areas where you > can get XP easily and just try to hit them regularly. For example, if > you get a weapon that does anything other than physical damage (such as > weaponmagic or electricity) I use it to kill every city guard and royal > guard I come across. That adds up, after all. I also use areas like > the beginning of raffle2 to boost up magic XP - I'd go down there with > some potions of magic, lob off a few fireballs, recharge, lob off a few > more, and eventually wrack up some good XP. > A list of these places might be a good idea. The giant floor of raffle1 is excellent for gaining physical, magic, and wisdom (if you're a Mostrai devotee) exp. See the above note about switching between "modes" easily. When I was starting out I would launch fireballs into the giants until out of mana, then switch to holy word of Mostrai while I was recharging. When that got boring I would move (a little way) into the room for some phys. Be careful that you don't become a "point monger", though. I see many players who become so entranced with watching their exp rack up that this is all they do. It's very important to get "real" experience by exploring and trying some of the quests. I'd rather have a sensible, balanced, and experienced level 10-15 character of any class along with me on the Titans Quest or Warrior Tower ordeal that a level 30 character who spends hours mechanically racking up exp in the raffles. > If you'd like a preliminary copy of the spoilers for Scorn, let me know. > Yes, please... -Andy (Beleg) From anyname at jan.anorak.org.uk Tue Jul 3 14:49:22 2001 From: anyname at jan.anorak.org.uk (Jan) Date: Thu Jan 13 18:04:01 2005 Subject: [CF List] Too stupid... References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> Message-ID: <3B4221C2.FCC2AEC3@jan.anorak.org.uk> Sean Michael Whipkey wrote: > > If you'd like a preliminary copy of the spoilers for Scorn, let me know. > > SeanMike > Yes please! And thanks for your help too! /jan From Kimmo.Hoikka at Digia.com Wed Jul 4 06:47:21 2001 From: Kimmo.Hoikka at Digia.com (Kimmo Hoikka) Date: Thu Jan 13 18:04:01 2005 Subject: [CF List] Too stupid... References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> <15169.64741.568738.401124@vegas.science.uva.nl> Message-ID: <3B430249.EDEC254C@Digia.com> > > * Never be happy with armor or weapons that are simply +x. Instead, > > look for artifacts! Those help you *much* more. > > * If you're running low on money, sell EVERYTHING you come across. Get > > to know certain areas that are good for lots of plat. > > * Take the time to replay certain quests so that you can get the XP and > > the plat. > > * If you're stuck somewhere, find another player who is willing to > > help. For example, on my server, a number of us split the cost of a > > house in Stoneville to pool our resources. That way when the wraith > > mage found a Warrior's Helmet it helped my half-ork fighter, and when I > > found a Ring of Adamant I gave it to the wraith. You can also tag team > > high XP areas and work together. > > You might also be lucky enough to find some generous soul who will > give you an appropriate artifact when you're starting out, or create a > party with you so you can gain some levels where you're lacking. If > someone does this for you, remember it when you replay those quests > and start getting duplicate artifacts so that you can help the next > guy. Damn you to encourage people to play like that. This kind of behavior has lead to that all good artifacts have been downsized and made useless (like white dragon scale mail) because people keep giving them to newbies. If you get gift artifacts you never learn to get them yorself and never learn to play the game. I encourage people not to accept any gift artifacts, since they make the people lazy on learning the real tricks and methods required to play the game. I myself have played over 10 chars from beginning to level 110 in various servers and never too any gift artifacts because its lame. money is ok to give and also items that can be found from scorn but anything greater of that really spoils the game. For the game it is better to show the quest through where you can obtain the artifact than to give it as a gift. I am really disappointed to see people wearing tons of stuff and when you ask them which quest item is that and that artifact, they just dont know, someone gave it to them... > > * This sounds stupid, but it helped me - find certain areas where you > > can get XP easily and just try to hit them regularly. For example, if > > you get a weapon that does anything other than physical damage (such as > > weaponmagic or electricity) I use it to kill every city guard and royal > > guard I come across. That adds up, after all. I also use areas like > > the beginning of raffle2 to boost up magic XP - I'd go down there with > > some potions of magic, lob off a few fireballs, recharge, lob off a few > > more, and eventually wrack up some good XP. > > > > A list of these places might be a good idea. The giant floor of > raffle1 is excellent for gaining physical, magic, and wisdom (if > you're a Mostrai devotee) exp. See the above note about switching > between "modes" easily. When I was starting out I would launch > fireballs into the giants until out of mana, then switch to holy word > of Mostrai while I was recharging. When that got boring I would move > (a little way) into the room for some phys. > > Be careful that you don't become a "point monger", though. I see many > players who become so entranced with watching their exp rack up that > this is all they do. It's very important to get "real" experience by > exploring and trying some of the quests. I'd rather have a sensible, > balanced, and experienced level 10-15 character of any class along > with me on the Titans Quest or Warrior Tower ordeal that a level 30 > character who spends hours mechanically racking up exp in the raffles. > > > If you'd like a preliminary copy of the spoilers for Scorn, let me know. > > > > Yes, please... > > -Andy (Beleg) > > _______________________________________________ > crossfire-list mailing list > crossfire-list@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-list From andrew at science.uva.nl Wed Jul 4 09:02:12 2001 From: andrew at science.uva.nl (Andrew D. Bagdanov) Date: Thu Jan 13 18:04:01 2005 Subject: [CF List] Too stupid... In-Reply-To: <3B430249.EDEC254C@Digia.com> References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> <15169.64741.568738.401124@vegas.science.uva.nl> <3B430249.EDEC254C@Digia.com> Message-ID: <15171.8676.843004.457701@vegas.science.uva.nl> Kimmo Hoikka writes: > > You might also be lucky enough to find some generous soul who will > > give you an appropriate artifact when you're starting out, or create a > > party with you so you can gain some levels where you're lacking. If > > someone does this for you, remember it when you replay those quests > > and start getting duplicate artifacts so that you can help the next > > guy. > > Damn you to encourage people to play like that. This kind of > behavior has lead to that all good artifacts have been downsized > and made useless (like white dragon scale mail) because people keep > giving them to newbies. If you get gift artifacts you never learn > to get them yorself and never learn to play the game. I encourage > people not to accept any gift artifacts, since they make the people > lazy on learning the real tricks and methods required to play the > game. I myself have played over 10 chars from beginning to level > 110 in various servers and never too any gift artifacts because its > lame. money is ok to give and also items that can be found from > scorn but anything greater of that really spoils the game. > Dude, it's just a game. Try to remember that before you start damning people for trying to give advice. > For the game it is better to show the quest through where you can > obtain the artifact than to give it as a gift. I am really > disappointed to see people wearing tons of stuff and when you ask > them which quest item is that and that artifact, they just dont > know, someone gave it to them... > You're probably right... Although I don't think having artifacts as a newbie upsets the game balance too much, it does devalue the worth of artifacts in general. Note that in my original post I never suggested artifacts should be a substitute for _real_ experience. In retrospect I think the most valuable thing I ever got from more experienced players was the experience of tagging along with them on quests to see how they handled certain situations, and what tricks they used that I had never thought of. Without that the fact that I was given a Belzebub's Sword as a newbie didn't make a whit of difference. -Andy From mwedel at scruz.net Wed Jul 4 16:44:33 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:01 2005 Subject: [CF List] Too stupid... References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> <15169.64741.568738.401124@vegas.science.uva.nl> <3B430249.EDEC254C@Digia.com> <15171.8676.843004.457701@vegas.science.uva.nl> Message-ID: <3B438E41.28A074F2@scruz.net> "Andrew D. Bagdanov" wrote: > You're probably right... Although I don't think having artifacts as a > newbie upsets the game balance too much, it does devalue the worth of > artifacts in general. There are probably two main perspectives on this: 1) As a player, you get these gifts and say 'wow cool- this is so great, and makes life easier'. 2) As a developer/map designer, they see this get done and meant that artifact for higher level characters. How much it affects game balance is harder to say. But if its a good artifact, that makes play easier, and thus gaining exp easier. I think the other problem as mentioned is that if players give these artifacts to other newbies, then when the newbie does eventually get around to doing that quest, they already have the artifact, so the reward is nothing special. It has been suggested in the past the items should have different minimum level requirements before a person could use it. I would venture to say that those suggestions are in large part due to the frequent gifting of powerful artifacts to low level characters (as I believe all artifacts themselves are located at appropriate level, so that min level requirement would probably never kick in for characters that got the artifact themself). But it was mentioned that things like money or other common gifts are OK. This in itself if tricky - giving a first level character 500 plat will make their life much easier (they can probably afford at least +2 items of the appropriate type for their character). And I know that if I have duplicate artifacts, I'll sell the extra one to a shop, which means someone could come up and buy it. At the same time however, it is a multi player game, and if these exchanges never took place, it looses some of that. My personal thought is selling/trading objects is very reasonable - especially if it is something that is fairly common but the shops may be sold out of. If a person needs a potion of life and you have a pile, selling it for a fair price seems completely reasonably to me (the the payment may just be future consideration, ie, return the favor perhaps or give some other potion). But dropping off a set of +3 dragon mail to the less than 5'th level character because you don't need it seems a bit execessive on generousity. From Kimmo.Hoikka at Digia.com Thu Jul 5 07:37:21 2001 From: Kimmo.Hoikka at Digia.com (Kimmo Hoikka) Date: Thu Jan 13 18:04:01 2005 Subject: [CF List] Too stupid... References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> <15169.64741.568738.401124@vegas.science.uva.nl> <3B430249.EDEC254C@Digia.com> <15171.8676.843004.457701@vegas.science.uva.nl> <3B438E41.28A074F2@scruz.net> Message-ID: <3B445F81.174AE87E@Digia.com> Mark Wedel wrote: > "Andrew D. Bagdanov" wrote: > > You're probably right... Although I don't think having artifacts as a > > newbie upsets the game balance too much, it does devalue the worth of > > artifacts in general. > > There are probably two main perspectives on this: > > 1) As a player, you get these gifts and say 'wow cool- this is so great, and > makes life easier'. > 2) As a developer/map designer, they see this get done and meant that artifact > for higher level > characters. And it often leads to downgrade on the artifact bonuses (like the wdsm) and there no longer exists high level artifacts that only the best players can achieve > It has been suggested in the past the items should have different minimum level > requirements before a person could use it. I would venture to say that those > suggestions are in large part due to the frequent gifting of powerful artifacts > to low level characters (as I believe all artifacts themselves are located at > appropriate level, so that min level requirement would probably never kick in > for characters that got the artifact themself). This would be really good idea. Self made weapons already have that kind of ability so why not all artifacts? Then you could really have some artifacts for the really high level chars that could have better bonuses than the best artifacts now, since there was no fear of too low level chars getting those and the higher level char would really have a point on taking those really tough quests. Now for example there is no point on taking the quest for Lorkas since the turban of heavens is no better than other helmets and the risk of dying versus the exp is high. > But it was mentioned that things like money or other common gifts are OK. This > in itself if tricky - giving a first level character 500 plat will make their > life much easier (they can probably afford at least +2 items of the appropriate > type for their character). And I know that if I have duplicate artifacts, I'll > sell the extra one to a shop, which means someone could come up and buy it. > > At the same time however, it is a multi player game, and if these exchanges > never took place, it looses some of that. > > My personal thought is selling/trading objects is very reasonable - especially > if it is something that is fairly common but the shops may be sold out of. If a > person needs a potion of life and you have a pile, selling it for a fair price > seems completely reasonably to me (the the payment may just be future > consideration, ie, return the favor perhaps or give some other potion). > > But dropping off a set of +3 dragon mail to the less than 5'th level character > because you don't need it seems a bit execessive on generousity. > _______________________________________________ > crossfire-list mailing list > crossfire-list@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-list From andrew at science.uva.nl Thu Jul 5 08:48:11 2001 From: andrew at science.uva.nl (Andrew D. Bagdanov) Date: Thu Jan 13 18:04:01 2005 Subject: [CF List] Too stupid... In-Reply-To: <3B445F81.174AE87E@Digia.com> References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> <15169.64741.568738.401124@vegas.science.uva.nl> <3B430249.EDEC254C@Digia.com> <15171.8676.843004.457701@vegas.science.uva.nl> <3B438E41.28A074F2@scruz.net> <3B445F81.174AE87E@Digia.com> Message-ID: <15172.28699.679613.291753@vegas.science.uva.nl> Kimmo Hoikka writes: > Mark Wedel wrote: > > > > It has been suggested in the past the items should have > > different minimum level requirements before a person could use > > it. I would venture to say that those suggestions are in large > > part due to the frequent gifting of powerful artifacts to low > > level characters (as I believe all artifacts themselves are > > located at appropriate level, so that min level requirement would > > probably never kick in for characters that got the artifact > > themself). > > This would be really good idea. Self made weapons already have that > kind of ability so why not all artifacts? Then you could really > have some artifacts for the really high level chars that could have > better bonuses than the best artifacts now, since there was no fear > of too low level chars getting those and the higher level char > would really have a point on taking those really tough quests. Now > for example there is no point on taking the quest for Lorkas since > the turban of heavens is no better than other helmets and the risk > of dying versus the exp is high. > I like this idea very much too... There are a few interesting things that could be done: 1. Minimum level in specific categories as mentioned above. It would be cool if you could only get some of the bonuses for an artifact depending on your range of exp, i.e. you get the dam bonus if your phys level is high enough, but maybe not the pow if you're not too bright. This way artifacts could "grow" with a character as he gained levels... 2. Personalize artifacts once they're gained. So once I've had an artifact in my inventory I can give it away, but it will be useles to whoever gets it. With this, if a lower level character helps on a quest, he can still get an artifact for his trouble -- but he's got to be there. Doesn't prevent someone from going into a cleaned out area and scooping up artifacts left lying around, though... 3. Keep a record of character accomplishments. Kinda like a CV. So that I can't use Flametongue+7 unless my vitae says I've slain the High Dragon Lord. All in all, I think the minimum level suggestion makes the most sense, but it still doesn't prevent gifting of artifacts. Levels are pretty easy to gain in a straightforward, mechanical way once you're beyond a certain point. -Andy From dubious at 2xtreme.net Thu Jul 5 11:26:06 2001 From: dubious at 2xtreme.net (cf) Date: Thu Jan 13 18:04:01 2005 Subject: [CF List] Too stupid... In-Reply-To: <15172.28699.679613.291753@vegas.science.uva.nl> References: <3B3A35F7.B60455B1@cstone.net> <3B445F81.174AE87E@Digia.com> <15172.28699.679613.291753@vegas.science.uva.nl> Message-ID: <200107051620.f65GKWr03474@www.interlinkbiotech.com> On Thursday 05 July 2001 06:48 am, you wrote: > 1. Minimum level in specific categories as mentioned above. It > would be cool if you could only get some of the bonuses for an > artifact depending on your range of exp, i.e. you get the dam > bonus if your phys level is high enough, but maybe not the pow if > you're not too bright. This way artifacts could "grow" with a > character as he gained levels... > > 2. Personalize artifacts once they're gained. So once I've had an > artifact in my inventory I can give it away, but it will be > useles to whoever gets it. With this, if a lower level character > helps on a quest, he can still get an artifact for his trouble -- > but he's got to be there. Doesn't prevent someone from going > into a cleaned out area and scooping up artifacts left lying > around, though... Perhaps these two could be combined. How hard would it be to set things up such that each "artifact" had its own specific 'use' skill? The "beginning" rating for the skill could depend on the character's existing experience, but then be built up separately from there. That way "artifact'-quality items get even better with use, but if they're given away to lower-level characters, they're still "useful", just not nearly so powerful for low-level types - until the low-level type has used the artifact enough to get as good with it (by which time he/she/it won't be 'low level' any more). Also, then, if the artifact is given back to the original owner by the 'lower level' character, it's just as powerful for him/her/it as it was when it was given away. Just a thought... -- "Given the pace of technology, I propose we leave math to the machines and go play outside." - Calvin From mwedel at scruz.net Thu Jul 5 23:54:57 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:01 2005 Subject: [CF List] Too stupid... References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> <15169.64741.568738.401124@vegas.science.uva.nl> <3B430249.EDEC254C@Digia.com> <15171.8676.843004.457701@vegas.science.uva.nl> <3B438E41.28A074F2@scruz.net> <3B445F81.174AE87E@Digia.com> <15172.28699.679613.291753@vegas.science.uva.nl> Message-ID: <3B4544A1.393D0CB1@scruz.net> "Andrew D. Bagdanov" wrote: > > I like this idea very much too... There are a few interesting things > that could be done: > > 1. Minimum level in specific categories as mentioned above. It > would be cool if you could only get some of the bonuses for an > artifact depending on your range of exp, i.e. you get the dam > bonus if your phys level is high enough, but maybe not the pow if > you're not too bright. This way artifacts could "grow" with a > character as he gained levels... This is possible (anything is really possible), but would be much harder to do. The only way I could really think to do this is for the artifact to have an inventory of the different abilities, and when the player equips it (or their level changes), this inventory is examined to see what criteria the character matches (wis level is high enough, so they get the +2 wis bonus, but pow level is not high enough). This would also allow for multiple powers. Ie, wis level 10 gives you +1 wisdom stat, wis level 20 give you 5 extra grace (in addition to the +! stat), wis level 30 gives you ... As I type this, I wonder if this is also possible with the new scripting code. I believe there is logic in there so that the script is called each time the item is applied. That script could do this checking and set bonuses appropriately. + > > 2. Personalize artifacts once they're gained. So once I've had an > artifact in my inventory I can give it away, but it will be > useles to whoever gets it. With this, if a lower level character > helps on a quest, he can still get an artifact for his trouble -- > but he's got to be there. Doesn't prevent someone from going > into a cleaned out area and scooping up artifacts left lying > around, though... The other problem with this is if your in a party (either official or unofficial) and one character accidentally picks up the item (lets say the wizard is hanging back picking up good looking magic items, and picks up that hackmaster +12 - wizard wants the fighter to have it, the fighter wants to have it, and the fighter is actually there, but just wasn't the first to pick it up). Maybe they don't even sort this out until they are back in town, so doing map comparisons doesn't work. Now once again, with the script code, you could probably do something that once someone starts using an artifact, it becomes attuned to them so it is less powerful if given away. But this doesn't really help - presumably people aren't giving away the artifacts they use, but that extra object they found in a dungeon and don't need. > > 3. Keep a record of character accomplishments. Kinda like a CV. So > that I can't use Flametongue+7 unless my vitae says I've slain > the High Dragon Lord. This once again may not work out that good when playing with a party. Maybe it was the wizards spell that took out the dragon lord, but the fighter was up there hacking it also. > > All in all, I think the minimum level suggestion makes the most sense, > but it still doesn't prevent gifting of artifacts. Levels are pretty > easy to gain in a straightforward, mechanical way once you're beyond a > certain point. True, but it seems the big problem isn't a level 50 character giving the level 30 character something, but the level 50 character giving the level 5 character somthing. And at some point, the player can just get the artifact itself. Presumably the level requirements are roughly what level the map designer expects the character to be when they complete the quest. It is of course possible that some characters may be a lower level when they get the item (through either very good play, or using lots of expendible magic items like potions, or just the nature of the character (between race, class, and religion, perhaps they have really high resistance for what they meet on that map). You can't ever really make something fullproof. But the idea is to get a close enough approximation that doesn't cause a bunch of side effects. From quinet at gamers.org Fri Jul 6 09:41:21 2001 From: quinet at gamers.org (Raphael Quinet) Date: Thu Jan 13 18:04:01 2005 Subject: [CF List] Too stupid... References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> <15169.64741.568738.401124@vegas.science.uva.nl> <3B430249.EDEC254C@Digia.com> <15171.8676.843004.457701@vegas.science.uva.nl> <3B438E41.28A074F2@scruz.net> <3B445F81.174AE87E@Digia.com> <15172.28699.679613.291753@vegas.science.uva.nl> <3B4544A1.393D0CB1@scruz.net> Message-ID: <3B45CE11.7070002@gamers.org> On Thu, 05 Jul 2001, Mark Wedel wrote: > "Andrew D. Bagdanov" wrote: >> All in all, I think the minimum level suggestion makes the most sense, >> but it still doesn't prevent gifting of artifacts. Levels are pretty >> easy to gain in a straightforward, mechanical way once you're beyond a >> certain point. > > True, but it seems the big problem isn't a level 50 character giving the level > 30 character something, but the level 50 character giving the level 5 character > somthing. And at some point, the player can just get the artifact itself. > Presumably the level requirements are roughly what level the map designer > expects the character to be when they complete the quest. It is of course > possible that some characters may be a lower level when they get the item > (through either very good play, or using lots of expendible magic items like > potions, or just the nature of the character (between race, class, and religion, > perhaps they have really high resistance for what they meet on that map). Yes, this is very important: I would hate to find a map in which I spend a lot of time fighting tough monsters using several expensive potions and wands, and then reach a treasure room that contains only some artifacts that I cannot use because my current level is lower than what the map maker recommended. > You can't ever really make something fullproof. But the idea is to get a close > enough approximation that doesn't cause a bunch of side effects. Since the problem occurs mostly with low-level characters, the artifacts could be made unusable by players that are lower than level 8 or 9. With the current set of maps, I think that a player who has a level between 1 and 5 should stay inside Scorn, a level between 5 and 10 is suitable for some (non-artifact) quests, and a level above 10 or 20 is usually required for the artifact quests. Since some level 20 quests could be solved by a good team of level 10 players, setting the threshold for the artifacts around level 8 or 9 should prevent most abuses without ruining the fun for a team of players who managed to get through a high-level quest. This threshold would be fixed for all artifacts so that the map makers would not have to take care of it. But there is another solution that could be more interesting IMHO: allow the map maker to set the level for the artifacts (default values would be in the archetypes) according to the expected level for the quest. Then the artifact (weapon or armour) would behave as follows: - If the player's level is higher or equal, then it works as usual - If the player's level is lower, but more than half of the artifact level, then every once in a while there is a 10% chance that the artifact is unapplied automatically. The frequency of these random events could depend on the difference in levels. For example, the delay could be 1 minute divided by the level difference. - If the player's level is lower than half of the artifact level, then instead of being unapplied at random, the artifact would be dropped to the ground. This should be enough to discourage low-level players from accepting powerful items given by high-level players. Imagine that you are a level 5 fighter running through a room full of demons and wyverns with a shield that makes you immune to most attacks and a very powerful weapon that kills these beasts before you even see them... then suddently you see the message "Your Shield of Immunity glows with power - you cannot hold it anymore." or even "Your Hackslayer+30 vibrates violently and falls to the ground". You would probably be in deep trouble... With this system, the low-level players could accept the gifts from high-level players only if they are willing to take the risks... And if their level is too low, they would not be able to keep these items for more than a few seconds because the random throws for dropping or unapplying the artifacts would occur very frequently. -Raphael From mwedel at scruz.net Sat Jul 7 00:01:26 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:02 2005 Subject: [CF List] Too stupid... References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> <15169.64741.568738.401124@vegas.science.uva.nl> <3B430249.EDEC254C@Digia.com> <15171.8676.843004.457701@vegas.science.uva.nl> <3B438E41.28A074F2@scruz.net> <3B445F81.174AE87E@Digia.com> <15172.28699.679613.291753@vegas.science.uva.nl> <3B4544A1.393D0CB1@scruz.net> <3B45CE11.7070002@gamers.org> Message-ID: <3B4697A6.E2B548DE@scruz.net> Raphael Quinet wrote: > > Yes, this is very important: I would hate to find a map in which I > spend a lot of time fighting tough monsters using several expensive > potions and wands, and then reach a treasure room that contains only > some artifacts that I cannot use because my current level is lower > than what the map maker recommended. Liberal minimum level estimates could be put in place (2/3'rd or ? min level on the artifact). And even if your just a little bit lower, it just means you need to gain a little exp and then you can use the item. > Since the problem occurs mostly with low-level characters, the > artifacts could be made unusable by players that are lower than level > 8 or 9. With the current set of maps, I think that a player who has a > level between 1 and 5 should stay inside Scorn, a level between 5 and > 10 is suitable for some (non-artifact) quests, and a level above 10 or > 20 is usually required for the artifact quests. Since some level 20 > quests could be solved by a good team of level 10 players, setting the > threshold for the artifacts around level 8 or 9 should prevent most > abuses without ruining the fun for a team of players who managed to > get through a high-level quest. This threshold would be fixed for all > artifacts so that the map makers would not have to take care of it. Level 8-9 can be achieved in probably just a few hours of play. And I believe some of the bigger problems are not the things like dragon shields or dragon armor, but rather truly unique artifact (map customizations) on very high level maps - maps require level 50+ characters. It is presumably those artifacts that are really going to have the minimum levels, so they can be made pretty good without the worry of them being given to 5'th level characters. > - If the player's level is lower, but more than half of the artifact > level, then every once in a while there is a 10% chance that the > artifact is unapplied automatically. The frequency of these random > events could depend on the difference in levels. For example, the > delay could be 1 minute divided by the level difference. I have a feeling there will be lots of complaints about this - when a character dies because that artifact became unequipped, people are not going to be happy. And what someone can easily do is write/modify a client that looks for these things, and then automatically re-equipes it for them (giving basically the lag time of it actually not being equipped). > - If the player's level is lower than half of the artifact level, then > instead of being unapplied at random, the artifact would be dropped > to the ground. > > This should be enough to discourage low-level players from accepting > powerful items given by high-level players. Imagine that you are a > level 5 fighter running through a room full of demons and wyverns with > a shield that makes you immune to most attacks and a very powerful > weapon that kills these beasts before you even see them... then > suddently you see the message "Your Shield of Immunity glows with > power - you cannot hold it anymore." or even "Your Hackslayer+30 > vibrates violently and falls to the ground". You would probably be > in deep trouble... I don't think the problem is too much that low level characters now going on quests that are way beyond their skill if they didn't have that item (although the players would have to answer if that is really happening or not) - my guess is they get the artifacts and now may go on slightly more difficult quests. One of the complaints wasn't as much that the low level characters would now go on all the tought quests, but more that if all the low level characters have the best artifacts (due to generous high level characters), that sort of diminishes their specialness. The other problem I see with the above is it could really screw new players. For example, someone new connects, plays for a little while, asks for some help, and the experienced old hand drops off some extra artifacts. That new player may not know the dangers, and would probably be pretty upset if they take them for face value (good items), and then get killed when they suddenly unequip/drop to the ground. This could be help by good messages about the items themselves. If you just have a minimum level and lower than that level you can not use them, that provides a simple method - no one will get killed because of it, and its also much simpler to do. That would presumably help out the problem of low level characters having too many artifacts. Another suggestion tossed out a long time ago would be giving artifacts and effective ego, and if the ego of all your artifacts is above your level by some ratio, bad things start happening. This would apply to both low and high level characters - a high level character may be able to get all the best artifacts, but wearing them all at the same time may go above his ego total. And for low level characters, one artifact may be above the ego total. Now what happens in that circumstance could by anyones guess. Different artifacts could even do different things (some may confuse the player, others may only let the player attack, others could drain sp/hp/mana/food, etc). But this then falls into the above area again - could be too obnoxious. It may be cute the first few times you see it, but if your using just above your ego and die because something strange happens, you probably are not going to be very happen by the extreme randomness. From extremecs at yahoo.com Sat Jul 7 15:16:30 2001 From: extremecs at yahoo.com (October) Date: Thu Jan 13 18:04:02 2005 Subject: [CF List] Help: client and xpmlib Message-ID: <01070713163001.14286@dynacom.net> Heya, The game looks sweet! I'm rather new and unexperienced with linux but *please* bear with me anyway? I've downloaded the maps, the server, and the client and followed all the instructions on how to compile and install these. I'm running into this error when trying to ./configure: checking for XpmReadFileToXpmImage in -lXpm... no configure: error: XPM library not found - you may need to use --with-ldflags=-Ldir I am running a fresh install of Mandrake 8.0 including GTK+ and X11R6. I'm sure I have the "xpmlib" somewhere on my system but "whereis" and "locate" find nothing. I've even gone so far as to install xpm-3.4k-10mdk (http://www.rpmfind.net/linux/RPM/cooker//cookfire/i586/Mandrake/RPMS//xpm-3.4k-10mdk.i586.html) Could someone please help me out getting this game to work? Thanks in advance, October From andi.vogl at gmx.net Sun Jul 8 04:04:00 2001 From: andi.vogl at gmx.net (Andreas Vogl) Date: Thu Jan 13 18:04:02 2005 Subject: [CF List] Help: client and xpmlib In-Reply-To: <01070713163001.14286@dynacom.net> Message-ID: To get the install done, you'll need to find/get that xpm lib on your system. Search for "libxpm*". Then link the library file into your standard lib-directory, or use the "--with-ldflags=..." compile option. If you still have problems grab an IRC client, connect to openprojects.net and join the channel #crossfire. You'll get help there. Andreas V. > Heya, > > The game looks sweet! > > I'm rather new and unexperienced with linux but *please* bear with me anyway? > I've downloaded the maps, the server, and the client and followed all the > instructions on how to compile and install these. > > I'm running into this error when trying to ./configure: > > checking for XpmReadFileToXpmImage in -lXpm... no > configure: error: XPM library not found - you may need to use > --with-ldflags=-Ldir > > I am running a fresh install of Mandrake 8.0 including GTK+ and X11R6. I'm > sure I have the "xpmlib" somewhere on my system but "whereis" and "locate" > find nothing. > > I've even gone so far as to install xpm-3.4k-10mdk > > (http://www.rpmfind.net/linux/RPM/cooker//cookfire/i586/Mandrake/RPMS//xpm-3 .4k- 10mdk.i586.html) > > > Could someone please help me out getting this game to work? > > Thanks in advance, > > October From andrew at science.uva.nl Mon Jul 9 09:38:42 2001 From: andrew at science.uva.nl (Andrew D. Bagdanov) Date: Thu Jan 13 18:04:02 2005 Subject: [CF List] Too stupid... In-Reply-To: <3B4697A6.E2B548DE@scruz.net> References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> <15169.64741.568738.401124@vegas.science.uva.nl> <3B430249.EDEC254C@Digia.com> <15171.8676.843004.457701@vegas.science.uva.nl> <3B438E41.28A074F2@scruz.net> <3B445F81.174AE87E@Digia.com> <15172.28699.679613.291753@vegas.science.uva.nl> <3B4544A1.393D0CB1@scruz.net> <3B45CE11.7070002@gamers.org> <3B4697A6.E2B548DE@scruz.net> Message-ID: <15177.49650.822969.989762@vegas.science.uva.nl> Mark Wedel writes: > Raphael Quinet wrote: > > > > > Yes, this is very important: I would hate to find a map in which I > > spend a lot of time fighting tough monsters using several expensive > > potions and wands, and then reach a treasure room that contains only > > some artifacts that I cannot use because my current level is lower > > than what the map maker recommended. > > Liberal minimum level estimates could be put in place (2/3'rd or ? > min level on the artifact). And even if your just a little bit > lower, it just means you need to gain a little exp and then you can > use the item. > > This makes sense, since I think we all agree that the problem is with gifting to extremely low level characters. > > Since the problem occurs mostly with low-level characters, the > > artifacts could be made unusable by players that are lower than level > > 8 or 9. With the current set of maps, I think that a player who has a > > level between 1 and 5 should stay inside Scorn, a level between 5 and > > 10 is suitable for some (non-artifact) quests, and a level above 10 or > > 20 is usually required for the artifact quests. Since some level 20 > > quests could be solved by a good team of level 10 players, setting the > > threshold for the artifacts around level 8 or 9 should prevent most > > abuses without ruining the fun for a team of players who managed to > > get through a high-level quest. This threshold would be fixed for all > > artifacts so that the map makers would not have to take care of it. > > Level 8-9 can be achieved in probably just a few hours of play. > And I believe some of the bigger problems are not the things like > dragon shields or dragon armor, but rather truly unique artifact > (map customizations) on very high level maps - maps require level > 50+ characters. It is presumably those artifacts that are really > going to have the minimum levels, so they can be made pretty good > without the worry of them being given to 5'th level characters. > I must admit that I've never seen artifacts of this caliber given away before, but I don't play on an extremely active server... > > > - If the player's level is lower, but more than half of the artifact > > level, then every once in a while there is a 10% chance that the > > artifact is unapplied automatically. The frequency of these random > > events could depend on the difference in levels. For example, the > > delay could be 1 minute divided by the level difference. > > I have a feeling there will be lots of complaints about this - > when a character dies because that artifact became unequipped, > people are not going to be happy. And what someone can easily do > is write/modify a client that looks for these things, and then > automatically re-equipes it for them (giving basically the lag time > of it actually not being equipped). > I think this would be more confusing than anything else. I think it would be better if the atrifact's attributes scaled with the character's level. That way it a character would be more interested in "growing his own" enchanted weapons until reaching a level where artifacts become useful. > > - If the player's level is lower than half of the artifact level, then > > instead of being unapplied at random, the artifact would be dropped > > to the ground. > > > > This should be enough to discourage low-level players from accepting > > powerful items given by high-level players. Imagine that you are a > > level 5 fighter running through a room full of demons and wyverns with > > a shield that makes you immune to most attacks and a very powerful > > weapon that kills these beasts before you even see them... then > > suddently you see the message "Your Shield of Immunity glows with > > power - you cannot hold it anymore." or even "Your Hackslayer+30 > > vibrates violently and falls to the ground". You would probably be > > in deep trouble... > > [... snip ...] > > Another suggestion tossed out a long time ago would be giving > artifacts and effective ego, and if the ego of all your artifacts > is above your level by some ratio, bad things start happening. > This would apply to both low and high level characters - a high > level character may be able to get all the best artifacts, but > wearing them all at the same time may go above his ego total. And > for low level characters, one artifact may be above the ego total. > > Now what happens in that circumstance could by anyones guess. > Different artifacts could even do different things (some may > confuse the player, others may only let the player attack, others > could drain sp/hp/mana/food, etc). But this then falls into the > above area again - could be too obnoxious. It may be cute the > first few times you see it, but if your using just above your ego > and die because something strange happens, you probably are not > going to be very happen by the extreme randomness. This seems exceedingly complicated to me if it's only intended to solve the artifact gifting problem. It might enhance gameplay in other ways, but it would certainly have far-ranging impact on all characters -- high and low level. I think there is consensus that level minimums are the solution to this problem, but ideas about what happens below minimum level vary wildly: 1. Item cannot be applied and is totally useless. 2. Item attributes scale with character's level. Item may be used by low-level characters, but with reduced effectiveness. 3. Item randomly un-applies itself depending on level. Item may be used, but with high potential risk. Did I miss any options? I'm too lazy to review the whole thread right now... Option 1 is certainly the simplest solution, but options 2 and 3 add interesting gameplay elements... -Andy From anyname at jan.anorak.org.uk Mon Jul 9 14:25:43 2001 From: anyname at jan.anorak.org.uk (Jan) Date: Thu Jan 13 18:04:02 2005 Subject: [CF List] Diseases References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> <15169.64741.568738.401124@vegas.science.uva.nl> <3B430249.EDEC254C@Digia.com> <15171.8676.843004.457701@vegas.science.uva.nl> <3B438E41.28A074F2@scruz.net> Message-ID: <3B4A0537.9A8583C0@jan.anorak.org.uk> Can monsters get ill? I just wondered - I would love to see just once a million mice with flaming fart disease. /jan From olle at viksten.com Mon Jul 9 14:35:25 2001 From: olle at viksten.com (Olle Viksten) Date: Thu Jan 13 18:04:02 2005 Subject: [CF List] Diseases In-Reply-To: <3B4A0537.9A8583C0@jan.anorak.org.uk> References: <3B3A35F7.B60455B1@cstone.net> <3B438E41.28A074F2@scruz.net> <3B4A0537.9A8583C0@jan.anorak.org.uk> Message-ID: <200107091937.OAA27116@folkvang.freja.net> m?ndagen den 9 juli 2001 21:25 wrote Jan: > Can monsters get ill? I just wondered - I would love to see > just once a million mice with flaming fart disease. Well, at least you can infect them. If you can use prayer and are a low level you can use this in places like the newbie tower and other well populated ares. Use the spell cause cold or cause flu and then leave the area. Jusr sit back a few minutes and watch your points soar. But the mice idea is nice to. :-) Olle -- MicroSoft Network may not carry this message without license to do so. License to carry this message requires a fee of $1000, payable within 30 days to Olle Viksten. Appearance of this message on MicroSoft Network constitutes an agreement to terms. From quinet at gamers.org Mon Jul 9 17:38:44 2001 From: quinet at gamers.org (Raphael Quinet) Date: Thu Jan 13 18:04:02 2005 Subject: [CF List] Diseases (spoiler warning!) References: <3B3A35F7.B60455B1@cstone.net> <3B438E41.28A074F2@scruz.net> <3B4A0537.9A8583C0@jan.anorak.org.uk> <200107091937.OAA27116@folkvang.freja.net> Message-ID: <3B4A3274.3040104@gamers.org> [stop reading this mail right now if you do not like spoilers] On Mon, 9 Jul 2001, Olle Viksten wrote: > m?ndagen den 9 juli 2001 21:25 wrote Jan: >> Can monsters get ill? I just wondered - I would love to see >> just once a million mice with flaming fart disease. > > Well, at least you can infect them. If you can use prayer and are a low level > you can use this in places like the newbie tower and other well populated > ares. Use the spell cause cold or cause flu and then leave the area. Jusr sit > back a few minutes and watch your points soar. There is an easy way to collect a lot of points without taking any risks if you know the spells "cause cold" and "cause flu": go to the port of Scorn, in the Animal Quarantine hangar. Do not open the door, but stay close to the wall and cast the two spells on the poor guy who is standing there. The disease will spread over the wall and will infect the hundreds of animals on the other side. They will never reach you as long as you do not open the door, and you will keep on collecting exp points for several minutes (until the room is full of creatures that are immune). The newbie tower is full of low-level monsters and is good for beginners, but that big hangar has some medium- and high-level monsters that will give you more points. It is also possible to spread diseases "safely" (while being out of reach of the monsters) on some other maps that do not have an easy victim waiting outside. The trick is to stay close to a wall or locked door, then to summon a pet monster and to inflict the disease to your pet. This will spread over the wall or door and infect the monsters on the other side. -Raphael From mwedel at scruz.net Mon Jul 9 22:21:08 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:02 2005 Subject: [CF List] Diseases References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> <15169.64741.568738.401124@vegas.science.uva.nl> <3B430249.EDEC254C@Digia.com> <15171.8676.843004.457701@vegas.science.uva.nl> <3B438E41.28A074F2@scruz.net> <3B4A0537.9A8583C0@jan.anorak.org.uk> Message-ID: <3B4A74A4.9CDD5579@scruz.net> Jan wrote: > > Can monsters get ill? I just wondered - I would love to see > just once a million mice with flaming fart disease. Monsters are certainly vulnerable to diseases as cast via spells from the player. I think that pretty much all the diseases you get from traps are non transmittable. And I don't think there are necessarily any spells that directly correspond to the disease. But even some of the low level diseases (cold and flu) are very good for clearing out those nuisance monsters. From mwedel at scruz.net Mon Jul 9 22:45:41 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:02 2005 Subject: [CF List] Too stupid... References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> <15169.64741.568738.401124@vegas.science.uva.nl> <3B430249.EDEC254C@Digia.com> <15171.8676.843004.457701@vegas.science.uva.nl> <3B438E41.28A074F2@scruz.net> <3B445F81.174AE87E@Digia.com> <15172.28699.679613.291753@vegas.science.uva.nl> <3B4544A1.393D0CB1@scruz.net> <3B45CE11.7070002@gamers.org> <3B4697A6.E2B548DE@scruz.net> <15177.49650.822969.989762@vegas.science.uva.nl> Message-ID: <3B4A7A65.6DF82AA1@scruz.net> "Andrew D. Bagdanov" wrote: > I think there is consensus that level minimums are the solution to > this problem, but ideas about what happens below minimum level vary > wildly: > > 1. Item cannot be applied and is totally useless. > 2. Item attributes scale with character's level. Item may be used > by low-level characters, but with reduced effectiveness. > 3. Item randomly un-applies itself depending on level. Item may be > used, but with high potential risk. > > Did I miss any options? I'm too lazy to review the whole thread right > now... > > Option 1 is certainly the simplest solution, but options 2 and 3 add > interesting gameplay elements... Those points are also in rough order of how hard to do. Depending on the item and level, point #2 may also be useless. Lets take dragon scale armor, and say the min level is 10. Presuming the scale is pretty linear (such that at level 9, you get 90% of the bonus, level 8 you get 80%, etc), if your level 7 or 8, the armor may actually end up being worse than standard armor. And at level 1, it would appear like complete crap (you may also get some confusion in than when a player examines an object, it should tell the bonuses as related to that character, so that level 5 character would see really 50% of the various, where that level 10+ would see all of them). The other little complication is that for items that give stats, even really good ones tend not to give really high stat bonuses, so even if just a little below min level, the item may appear much worse. If we continue with the example of a level 10 item that has +1 Str, +1 Int, and +1 Dex, if you do simple fraction drops, this item has no bonuses even at level 9. If you do standard rounding, then at level 5 (.5 for each stat), the item is effectively fully usable. This is a very simplistic example, but there probably are many good artifacts at there which have moderate bonuses in a whole bunch of things, so the rounding could really make those appear weaker. I wouldn't really want to try to give partial benefits (in the case above, at 4'th level, you get one of the +1, at 7'th, you get 2, and at 10'th, you get all three). But this dimishing/confusion could probably be fixed relatively easily by doing something like this when the item is examined: The ring of might is a level 10 item. ITs full bonuses are .... The bonuses you would get are ... (this only gets printed out of character is less than 10th level) This way, the low level characters could see what they may eventually get from the item. But I will note that case #1 has to be done before either #2 or #3 can proceed. So it probably makes most sense to do that, and if further refinements are needed, #2 or #3 could be done after the fact without a lot of difficulty. I have the feeling that the hardest part in all of this is assigning reasonable minimum level items to the relevant artifacts From andrew at science.uva.nl Wed Jul 11 04:38:08 2001 From: andrew at science.uva.nl (Andrew D. Bagdanov) Date: Thu Jan 13 18:04:02 2005 Subject: [CF List] Too stupid... In-Reply-To: <3B4A7A65.6DF82AA1@scruz.net> References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> <15169.64741.568738.401124@vegas.science.uva.nl> <3B430249.EDEC254C@Digia.com> <15171.8676.843004.457701@vegas.science.uva.nl> <3B438E41.28A074F2@scruz.net> <3B445F81.174AE87E@Digia.com> <15172.28699.679613.291753@vegas.science.uva.nl> <3B4544A1.393D0CB1@scruz.net> <3B45CE11.7070002@gamers.org> <3B4697A6.E2B548DE@scruz.net> <15177.49650.822969.989762@vegas.science.uva.nl> <3B4A7A65.6DF82AA1@scruz.net> Message-ID: <15180.7808.39340.598251@vegas.science.uva.nl> Mark Wedel writes: > "Andrew D. Bagdanov" wrote: > > > I think there is consensus that level minimums are the solution to > > this problem, but ideas about what happens below minimum level vary > > wildly: > > > > 1. Item cannot be applied and is totally useless. > > 2. Item attributes scale with character's level. Item may be used > > by low-level characters, but with reduced effectiveness. > > 3. Item randomly un-applies itself depending on level. Item may be > > used, but with high potential risk. > > > > Did I miss any options? I'm too lazy to review the whole thread right > > now... > > > > Option 1 is certainly the simplest solution, but options 2 and 3 add > > interesting gameplay elements... > > Those points are also in rough order of how hard to do. > > > > The other little complication is that for items that give stats, > even really good ones tend not to give really high stat bonuses, so > even if just a little below min level, the item may appear much > worse. If we continue with the example of a level 10 item that has > +1 Str, +1 Int, and +1 Dex, if you do simple fraction drops, this > item has no bonuses even at level 9. If you do standard rounding, > then at level 5 (.5 for each stat), the item is effectively fully > usable. > > This is a very simplistic example, but there probably are many > good artifacts at there which have moderate bonuses in a whole > bunch of things, so the rounding could really make those appear > weaker. I wouldn't really want to try to give partial benefits (in > the case above, at 4'th level, you get one of the +1, at 7'th, you > get 2, and at 10'th, you get all three). > Hadn't thought of that. Trying to give partial bonuses would be a real mess... > But this dimishing/confusion could probably be fixed relatively > easily by doing something like this when the item is examined: > > The ring of might is a level 10 item. ITs full bonuses are .... > The bonuses you would get are ... (this only gets printed out of > character is > less than 10th level) > This is a very good idea. The full bonuses wouldn't even necessarily have to be given, it could say something more ambiguous like: You feel you are not powerful enough to awaken the full potential of this item. It would be interesting to have to go through all the trash in your apartment every once and a while to see if there are any artifacts that are now useful. > This way, the low level characters could see what they may > eventually get from the item. > > But I will note that case #1 has to be done before either #2 or #3 > can proceed. So it probably makes most sense to do that, and if > further refinements are needed, #2 or #3 could be done after the > fact without a lot of difficulty. > Well I guess it's about time for me to get off my lazy ass and look at the server code... -Andy From mwedel at scruz.net Wed Jul 11 22:41:04 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:02 2005 Subject: [CF List] Too stupid... References: <3B3A35F7.B60455B1@cstone.net> <3B3A411C.A9390995@Digia.com> <3B4157BE.EBE4EFBB@jan.anorak.org.uk> <3B41F60F.92755985@cstone.net> <15169.64741.568738.401124@vegas.science.uva.nl> <3B430249.EDEC254C@Digia.com> <15171.8676.843004.457701@vegas.science.uva.nl> <3B438E41.28A074F2@scruz.net> <3B445F81.174AE87E@Digia.com> <15172.28699.679613.291753@vegas.science.uva.nl> <3B4544A1.393D0CB1@scruz.net> <3B45CE11.7070002@gamers.org> <3B4697A6.E2B548DE@scruz.net> <15177.49650.822969.989762@vegas.science.uva.nl> <3B4A7A65.6DF82AA1@scruz.net> <15180.7808.39340.598251@vegas.science.uva.nl> Message-ID: <3B4D1C50.FC00AC47@scruz.net> "Andrew D. Bagdanov" wrote: > > This is a very good idea. The full bonuses wouldn't even necessarily > have to be given, it could say something more ambiguous like: > > It would be interesting to have to go through all the trash in your > apartment every once and a while to see if there are any artifacts > that are now useful. I dunno. While the above two ideas may make the game more realistic, it also makes it more annoying to play. When you get an artifact above your level, you can't really be sure if its worth keeping since you can't see the full bonuses My guess is that the result of this would be that people will just go to the spoilers and other sources to find out what the item is and if its worth keeping. And of course, experienced players that have seen the full bonuses from another character already know if its worth keeping or not. > > > This way, the low level characters could see what they may > > eventually get from the item. > > > > But I will note that case #1 has to be done before either #2 or #3 > > can proceed. So it probably makes most sense to do that, and if > > further refinements are needed, #2 or #3 could be done after the > > fact without a lot of difficulty. > > > > Well I guess it's about time for me to get off my lazy ass and look at > the server code... Such a change should not be to hard to make. Off the top of my head, these are the changes that should be made: add a min_level field to the object structure modify the load/save code to load/save that value modify the apply code (apply_special I believe) to look at min level. While at this, the player improved weapon code should be modified to use the min_level value, as that then makes this code more common. Since object values default to 0, this would actually work quite well - items with no set value would have a min level of 0, which everyone would equal or exceed. From michael.toennies at nord-com.net Wed Jul 11 23:32:26 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:04:02 2005 Subject: [CF List] Too stupid... In-Reply-To: <3B4D1C50.FC00AC47@scruz.net> Message-ID: Hm, you forgot one thing: You should not find are be able to collect a artifact which is far beyond your level. Why? Well, because the artifact should be fit to the map level. We can calculate a level range which you need to clear a quest or map and the artifact should fit in this. I can't understand all the arguments, because many of the ideas and problems you all are talking about are old ones, which are solved often in normal muds. Most of your ideas are there realized before, so they are not new. But that also explain a major weakness of CF. The whole game in this area is very plain. Means, no guilds, no skills you really must assemble, no connected quests, etc. If you ever plays a real mud, you will notice the difference. Most of the muds are in server structure (the technical part) much more simpler, also in the stuff you can do. But the "world" itself is much much more deeper. Thats something i had tried to explain in the past ,and perhaps my bad english has not cleared it. Working on the server, including more options inside there will make the game not much better, because you will not invoke a big, noticable game play boost with it - the game is good enough. The only real game play boost will come from map design and "gaming design" like quested or level depending artifact for example. Many muds have this leveled artifacts. Everquest for example has also included "non drop" items, to avoid special item trading. And so on. Really, if we want make the game better, we need to rework the maps and what you can do with it and the way we handle things like race, skills (messed up skills like hiding, set traps, etc), quest and artifacts. (why have titans artifacts weapons?). Ok, thats only examples, but most of the maps are about 8 years old. In this time, the game play has changed much, so its time to redo there something. With scriptfire, we can include there fantastic quests and maps, sadly no one works on real map sets yet. > > "Andrew D. Bagdanov" wrote: > > > > > This is a very good idea. The full bonuses wouldn't even necessarily > > have to be given, it could say something more ambiguous like: > > > > It would be interesting to have to go through all the trash in your > > apartment every once and a while to see if there are any artifacts > > that are now useful. > > I dunno. While the above two ideas may make the game more > realistic, it also > makes it more annoying to play. When you get an artifact above > your level, you > can't really be sure if its worth keeping since you can't see the > full bonuses > > My guess is that the result of this would be that people will > just go to the > spoilers and other sources to find out what the item is and if its worth > keeping. And of course, experienced players that have seen the > full bonuses > from another character already know if its worth keeping or not. > > > > > > This way, the low level characters could see what they may > > > eventually get from the item. > > > > > > But I will note that case #1 has to be done before either #2 or #3 > > > can proceed. So it probably makes most sense to do that, and if > > > further refinements are needed, #2 or #3 could be done after the > > > fact without a lot of difficulty. > > > > > > > Well I guess it's about time for me to get off my lazy ass and look at > > the server code... > > Such a change should not be to hard to make. Off the top of my > head, these are > the changes that should be made: > > add a min_level field to the object structure > modify the load/save code to load/save that value > modify the apply code (apply_special I believe) to look at min > level. While at > this, the player improved weapon code should be modified to use > the min_level > value, as that then makes this code more common. > > Since object values default to 0, this would actually work quite > well - items > with no set value would have a min level of 0, which everyone > would equal or > exceed. > _______________________________________________ > crossfire-list mailing list > crossfire-list@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-list > From Kimmo.Hoikka at Digia.com Fri Jul 13 04:27:52 2001 From: Kimmo.Hoikka at Digia.com (Kimmo Hoikka) Date: Thu Jan 13 18:04:02 2005 Subject: [CF List] Too stupid... References: Message-ID: <3B4EBF18.F60451E7@Digia.com> > Hm, you forgot one thing: > You should not find are be able to collect a artifact which is far beyond > your level. > Why? Well, because the artifact should be fit to the map level. We can > calculate a level > range which you need to clear a quest or map and the artifact should fit in > this. You forget the main point of this thread. The ones that can collect the artifacts collect plenty of them and give them away or sell them to shops where other players can get them even when the artifacts are far beyond their level. -- snip -- snip -- > But that also explain a major weakness of CF. The whole game in this area is > very plain. > Means, no guilds, no skills you really must assemble, no connected quests, > etc. Real guilds should be introduced and skill system should be improved to really separate character classes and to improve the game play. Advancing in guild would be a good source of quests to accomplish. -- snip -- snip -- > Many muds have this leveled artifacts. Everquest for example has also > included "non drop" items, > to avoid special item trading. And so on. Leveled artifacts would be really good, that way we could have more meaning to get to the levels > 100 also. Now the game mainly loses the point after level 60 or 70, nothing more to obtain after that than exp. A level requirement, so that there would exist level 100 items also would keep the players interested longer and also enable the mapmakers to do items for the really best players only (why is the 110 level limit btw in exp and 107 in skills?). For lover level chars the game could just act as it does with current weaponbuilder weapons: "the artifact is too powerfull for you, it would consume your soul" Non-drop items are not so good idea, since many players like to collect items into a treasure chamber, which is a good hobby and keeps the game interesting when you try to obtain all the items in the game. If items are non-drop the player is forced to carry all the stuff around all the time and it is really annoying since those non-drop items cannot go to containers so you end up having million items in your inventory and that weakens playability a lot as we all know (who have played a little more than little). > Really, if we want make the game better, we need to rework the maps and what > you can do with it and the > way we handle things like race, skills (messed up skills like hiding, set > traps, etc), quest and artifacts. > (why have titans artifacts weapons?). > > Ok, thats only examples, but most of the maps are about 8 years old. In this > time, the game play has > changed much, so its time to redo there something. With scriptfire, we can > include there fantastic > quests and maps, sadly no one works on real map sets yet. Some maps are old as well as some artifacts are old and some of them should be reworked to make them playable (some are still broken). A few new maps have been introduced during the last year, but all the new maps I've seen are plain boring hack & slash. Kill this monster and get to meet the bigger one. Where have all the good mapmakers gone?? I have had real fun playing the pupland quests for years and I think those maps are the greatest in the game (not the wdsm quest anymore, as it has been changed to plain hack&slash) since they are largely connected, contain a lot of puzzle solving and have a good intrigue in them (not just hack&slash) - Kimmo Hoikka - Kimmo@Hoikka.com From yann.chachkoff at mailandnews.com Fri Jul 13 16:31:36 2001 From: yann.chachkoff at mailandnews.com (Chachkoff Yann) Date: Thu Jan 13 18:04:02 2005 Subject: [CF List] Too stupid... In-Reply-To: <3B4EBF18.F60451E7@Digia.com> References: <3B4EBF18.F60451E7@Digia.com> Message-ID: <01071317313601.00946@localhost.localdomain> Le Vendredi 13 Juillet 2001 05:27, vous avez ?crit : > > But that also explain a major weakness of CF. The whole game in this area > > is very plain. > > Means, no guilds, no skills you really must assemble, no connected > > quests, etc. > > Real guilds should be introduced and skill system should be improved to > really separate character classes and to improve the game play. Advancing > in guild would be a good source of quests to accomplish. > Real guilds are something the players should make by themselves and should not become a development issue. The problem is that guilds are currently unneeded because: - Too few players; - Too few "multiplayer" quests (nearly all quests can be achieved alone). Promoting a guild system would be useless without quests to support them. > -- snip -- snip -- > > > Many muds have this leveled artifacts. Everquest for example has also > > included "non drop" items, > > to avoid special item trading. And so on. > > Leveled artifacts would be really good, that way we could have more meaning > to get to the levels > 100 also. Now the game mainly loses the point after > level 60 or 70, nothing more to obtain after that than exp. A level > requirement, so that there would exist level 100 items also would keep the > players interested longer and also enable the mapmakers to do items for the > really best players only (why is the 110 level limit btw in exp and 107 in > skills?). For lover level chars the game could just act as it does with > current weaponbuilder weapons: "the artifact is too powerfull for you, it > would consume your soul" > What about items that reveal their powers only in a progressive way ? For example, a sword that would be +1 when used by a character of level < 20, +2 and fire attack for characters between level 21 and 50, +3 and fire+electricity attacks when the character is higher than 50 ? I do not like the idea of "The artifact is too powerful for you, it would consume your soul". How can you guess an unknown item would consume you ? Why not allowing too low level players use the item, but getting problems with it (Item rebellion, power losses, etc.) ? I think it would add an interesting point to the game, because you would never be sure a powerful item is really good for you. > Non-drop items are not so good idea, since many players like to collect -snip- I think non-drop items are non-sense: they are the source of many problems and I just don't understand how to justify their non-drop behaviour in the game universe (for me, "for playbalance" is not enough); > > Really, if we want make the game better, we need to rework the maps and > > what you can do with it and the > > way we handle things like race, skills (messed up skills like hiding, set > > traps, etc), quest and artifacts. > > (why have titans artifacts weapons?). > > > > Ok, thats only examples, but most of the maps are about 8 years old. In > > this time, the game play has > > changed much, so its time to redo there something. With scriptfire, we > > can include there fantastic > > quests and maps, sadly no one works on real map sets yet. > > Some maps are old as well as some artifacts are old and some of them should > be reworked to make them playable (some are still broken). A few new maps > have been introduced during the last year, but all the new maps I've seen > are plain boring hack & slash. Kill this monster and get to meet the bigger > one. Where have all the good mapmakers gone?? I have had real fun playing > the pupland quests for years and I think those maps are the greatest in the > game (not the wdsm quest anymore, as it has been changed to plain > hack&slash) since they are largely connected, contain a lot of puzzle > solving and have a good intrigue in them (not just hack&slash) > Yes, but still there is one thing lacking in crossfire: good stories. Some plots do exist (for example the story of Lord Eureka), but for most quests, there is a dungeon "just because characters want to get artifacts". The "backgound" stories are often too weak. The two main goals now are: - Doing the level to get experience points; - Doing the level to get a powerful item. For me, it should be something like: - Saving the Princess because I'm a Noble Knight; - Getting that Magical Sword to save the world of the Hrontar the Black; - Finding the Lost Key of Mandor to become rich, rich, rich ! This can be done without writing code - This is a work for scenarists. Chachkoff Y. From Kimmo.Hoikka at Digia.com Fri Jul 13 12:03:42 2001 From: Kimmo.Hoikka at Digia.com (Kimmo Hoikka) Date: Thu Jan 13 18:04:03 2005 Subject: [CF List] Too stupid... References: <3B4EBF18.F60451E7@Digia.com> <01071317313601.00946@localhost.localdomain> Message-ID: <3B4F29EE.5DD23283@Digia.com> > > Leveled artifacts would be really good, that way we could have more meaning > > to get to the levels > 100 also. Now the game mainly loses the point after > > level 60 or 70, nothing more to obtain after that than exp. A level > > requirement, so that there would exist level 100 items also would keep the > > players interested longer and also enable the mapmakers to do items for the > > really best players only (why is the 110 level limit btw in exp and 107 in > > skills?). For lover level chars the game could just act as it does with > > current weaponbuilder weapons: "the artifact is too powerfull for you, it > > would consume your soul" > What about items that reveal their powers only in a progressive way ? > For example, a sword that would be +1 when used by a character of level < 20, > +2 and fire attack for characters between level 21 and 50, +3 and > fire+electricity attacks when the character is higher than 50 ? > I do not like the idea of "The artifact is too powerful for you, it would > consume your soul". How can you guess an unknown item would consume you ? Why > not allowing too low level players use the item, but getting problems with it > (Item rebellion, power losses, etc.) ? I think it would add an interesting > point to the game, because you would never be sure a powerful item is really > good for you. The behavior for the leveled weapons already exists, one of the random quests has an item Ruggillis Wisker or something and it has been improved 127 times so no player char can wear it. As we already have discussed the progressive way would be more difficult to implement and partial improvement is really annoying/stupid (drop a level and loose the ability of hitting fire with your weapon???) You do not have to guess if it would consume you, it is a feeling the player gets when trying to apply the weapon. Go try with the Ruggilli's Wisker to see that. The only thing missing is similar behavior for other artifacts i.e armour, amulets etc. > > Non-drop items are not so good idea, since many players like to collect > -snip- > I think non-drop items are non-sense: they are the source of many problems > and I just don't understand how to justify their non-drop behaviour in the > game universe (for me, "for playbalance" is not enough); > > > > Really, if we want make the game better, we need to rework the maps and > > > what you can do with it and the > > > way we handle things like race, skills (messed up skills like hiding, set > > > traps, etc), quest and artifacts. > > > (why have titans artifacts weapons?). > > > > > > Ok, thats only examples, but most of the maps are about 8 years old. In > > > this time, the game play has > > > changed much, so its time to redo there something. With scriptfire, we > > > can include there fantastic > > > quests and maps, sadly no one works on real map sets yet. > > > > Some maps are old as well as some artifacts are old and some of them should > > be reworked to make them playable (some are still broken). A few new maps > > have been introduced during the last year, but all the new maps I've seen > > are plain boring hack & slash. Kill this monster and get to meet the bigger > > one. Where have all the good mapmakers gone?? I have had real fun playing > > the pupland quests for years and I think those maps are the greatest in the > > game (not the wdsm quest anymore, as it has been changed to plain > > hack&slash) since they are largely connected, contain a lot of puzzle > > solving and have a good intrigue in them (not just hack&slash) > > > Yes, but still there is one thing lacking in crossfire: good stories. Some > plots do exist (for example the story of Lord Eureka), but for most quests, > there is a dungeon "just because characters want to get artifacts". The > "backgound" stories are often too weak. The two main goals now are: > - Doing the level to get experience points; > - Doing the level to get a powerful item. > For me, it should be something like: > - Saving the Princess because I'm a Noble Knight; > - Getting that Magical Sword to save the world of the Hrontar the Black; > - Finding the Lost Key of Mandor to become rich, rich, rich ! > This can be done without writing code - This is a work for scenarists. > > Chachkoff Y. The two second last are good ideas. The last is somewhat useless quest topic in crossfire, since money has no meaning in it. When you get to level >20 you get more money than you can ever spend so you keep dropping it to somewhere or store it to chests infinitely. The game has no places where to really spend money, like a casino (a good idea for a new building in scorn) or a potion shop where to buy endless amount of resistance potions (with high prize ofcourse) PS. read at least 10 last messages on thread before starting to comment on individual messages... this one is quite long already and most things have been quite throroughly discussed, explained and justified Kimmo Hoikka Kimmo@Hoikka.com From pc-crossfire at crowcastle.net Fri Jul 13 12:28:23 2001 From: pc-crossfire at crowcastle.net (pc-crossfire@crowcastle.net) Date: Thu Jan 13 18:04:03 2005 Subject: [CF List] Too stupid... Message-ID: <200107131728.f6DHSN717720@lol1122.lss.emc.com> > What about items that reveal their powers only in a progressive way ? > For example, a sword that would be +1 when used by a character of level < 20, What about having a flag that indicates whether abilities are level-based or progressive? How about armour that gives you +level resistance to certain attacks? (Implemented by setting it to +100 with progressive usability to level 100.) Or maybe we want a combination. Ideally, this should be as flexible on the server as possible. I haven't looked at the new scripting; could that be used to have a scripted object that gives out bonuses based on the details of the character applying it? If so, then there could even be a Ring of the Fireborn that only gives the full bonuses to a Fireborn player (or gives the bonuses at a lower level). If the server has enough flexibility, then the real issue is what the characteristics of existing items should be. This would mean a review of artifacts, both randomly-available and quest-based. --PC From mwedel at scruznet.com Fri Jul 13 13:44:24 2001 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:04:03 2005 Subject: Guilds & Quests, was Re: [CF List] Too stupid... In-Reply-To: <01071317313601.00946@localhost.localdomain> Message-ID: Changed subject to reflect new discussion, as I don't think this is really related to artifact weapons. On Fri, 13 Jul 2001, Chachkoff Yann wrote: > > Real guilds are something the players should make by themselves and should > not become a development issue. The problem is that guilds are currently > unneeded because: > - Too few players; > - Too few "multiplayer" quests (nearly all quests can be achieved alone). > Promoting a guild system would be useless without quests to support them. I think this really depends on what you want the guilds to be doing. IMO, guilds could still provide the following even for single players: 1) Supply of certain good items (fighter guild may always have +2 full helms, +2 high shields, etc in stock in their private store) 2) Ability to learn advanced skills. This would require changing the skill stuff some, but maybe at level 10 you can learn 'melee weapons 2' which gives an extra wc bonus, at level 20 you can learn melee weapons 3, which gives extra dam or speedup, etc. These skills would replace the one before it. This would allow more differentiation between classes (as you can only belong to a guild of your class, so a wizard could not go to the fighter guild to get those). IMO this would also help with balance - if certain classes are seen to be too weak at certain levels in the game, make the appropriate advanced skills for that level 3) Sources of information. The alchemist guild should have all recipes on file, but maybe you need to be level 30 to get access to the most advanced ones. Likewise, the alchemist shop may have a supply store as well as laboratory so that people can make recipes. Also, instead of using levels for various classifications, doing certain quests could be used. So at the fighters guild, killing a certain creature may be enough to get you that advancement. Really, probably a mix of both of these is best, withh the level requirement being a little higher than character would need to be do to it on their own (Repeat players may not want to do some quest for the 5th time they've played the game, and instead do some other maps, but still want that advantage). > Yes, but still there is one thing lacking in crossfire: good stories. Some > plots do exist (for example the story of Lord Eureka), but for most quests, > there is a dungeon "just because characters want to get artifacts". The > "backgound" stories are often too weak. The two main goals now are: > - Doing the level to get experience points; > - Doing the level to get a powerful item. > For me, it should be something like: > - Saving the Princess because I'm a Noble Knight; > - Getting that Magical Sword to save the world of the Hrontar the Black; > - Finding the Lost Key of Mandor to become rich, rich, rich ! > This can be done without writing code - This is a work for scenarists. I think the big thing missing in the reward outside the quest. Now the random map quests that Peter did give you a reward when you get back to town, but most other ones (pirate quest or wizard tower in navar city, or 'quests' referred to from people in the tavern) don't give you anything when you complete it, other than what you get along the way. Given this, there is not necessarily a big reason to do a certain quest, vs just going someplace that has the right monster for your character to gain exp. Giving exp on completion of a quest is probably a good thing. That reduces the need for the maps to be so chock full of monsters, as now the characters can get exp in ways other than killing things (ok, there are some other ways right now, like using skills to identify items or other skills usage), but by and large, the big bulk of exp comes from killing stuff. I know from commercial games played that a good portion (at least 25%) comes from bonus for actual completion of the quest. The one problem here is that with crossfire it gets trickier - if you give bonus exp, what skill category(s) does it go into? If it just adds to the total exp, that becomes less useful, as most of what makes the character powerful is the actual skill levels, and not overall level. From highway at cstone.net Fri Jul 13 13:48:57 2001 From: highway at cstone.net (Sean Michael Whipkey) Date: Thu Jan 13 18:04:03 2005 Subject: Guilds & Quests, was Re: [CF List] Too stupid... References: Message-ID: <3B4F4299.1F96E8B6@cstone.net> Mark Wedel wrote: > 2) Ability to learn advanced skills. This would require changing the skill > stuff some, but maybe at level 10 you can learn 'melee weapons 2' > which gives an extra wc bonus, at level 20 you can learn > melee weapons 3, which gives extra dam or speedup, etc. These > skills would replace the one before it. This would allow more > differentiation between classes (as you can only belong to a guild > of your class, so a wizard could not go to the fighter guild to get > those). IMO this would also help with balance - if certain classes > are seen to be too weak at certain levels in the game, make the > appropriate advanced skills for that level Personally, I think that should happen from the beginning. Otherwise, most characters end up the same - "I have xx level wisdom, xx level magic, and xx level physique." The fighters should excel at fighting and get a difficulty, even at high levels, at magic and prayer. Clerics should have a bonus to prayer but have problems with magic and fighting. Dual class type characters, like paladins, would have the advantage of doing well at multiple things but will take longer to level up. SeanMike From michael.toennies at nord-com.net Fri Jul 13 14:08:08 2001 From: michael.toennies at nord-com.net (Michael Toennies) Date: Thu Jan 13 18:04:03 2005 Subject: [CF List] race, profession, guild & titles In-Reply-To: Message-ID: I had collect some ideas as i build the editor (hm, as i write i saw that my answers to marks editor notes hasn't come to list, i will remail then) race, profession, guilds & titles I want a similiar guild/race concept like in muds & rpgs. Means, that you can change your profession only at guilds. You start then as "non profession" (or adventurer, but i don't like this name). After to join a guild, you are then a "black warrior", "priest of gorokh" (instead of only a follower of gorokh when you join his religion), "paladin of crown" "archmages of bla" and so on. Different guilds can provide different status, spells, skills. etc. etc. This concept is very often used by muds and even helps in single as in multi player gaming. Nice is, that you can build of a tree system of guilds. Means you must be a "warrior" of level 25 or higher and you must bring a demonslayer sword (means solved demon tower quest) to join the "paladin of light" guild. And so on. Other guilds can only be entered at the ends of other quests. Imagine the guildmaster of guild at the end of the ancient pupland quest... guilds don't must be so different, is fun enough to run around as "XXX the paladin of light". This bring me to titles. I prefer to delete the title change cmd for players. So, players only get "real" titles in the game. Means a Lord then is really a lord and so on = "Lord xxx the paladin of light". Don't underestimate this, it gives playing a real nice note. Guild then often comes with a message board, etc. etc. Things like (player)guildmaster, etc. is part of the cummunity, apart of the technical parts. 2. From Kimmo.Hoikka at Digia.com Fri Jul 13 14:41:07 2001 From: Kimmo.Hoikka at Digia.com (Kimmo Hoikka) Date: Thu Jan 13 18:04:03 2005 Subject: [CF List] race, profession, guild & titles References: Message-ID: <3B4F4ED2.3C16330D@Digia.com> > You start then as "non profession" (or adventurer, but i don't like this > name). > After to join a guild, you are then a "black warrior", "priest of gorokh" > (instead of > only a follower of gorokh when you join his religion), "paladin of crown" > "archmages of bla" > and so on. I really liked the guild system in Omega. Every player can choose the guilds to join and then get the guild quests to advance in the guild and when you get better status on guild you are given better bonuses. > Different guilds can provide different status, spells, skills. etc. etc. > This concept is very often used by muds and even helps in single as in multi > player > gaming. > > Nice is, that you can build of a tree system of guilds. Means you must be a > "warrior" of level 25 > or higher and you must bring a demonslayer sword (means solved demon tower > quest) to join the > "paladin of light" guild. And so on. Other guilds can only be entered at the > ends of other quests. > Imagine the guildmaster of guild at the end of the ancient pupland quest... > > guilds don't must be so different, is fun enough to run around as "XXX the > paladin of light". > > This bring me to titles. I prefer to delete the title change cmd for > players. So, players only > get "real" titles in the game. Means a Lord then is really a lord and so on > = "Lord xxx the paladin of light". Don't underestimate this, it gives > playing a real nice note. > > Guild then often comes with a message board, etc. etc. > Things like (player)guildmaster, etc. is part of the cummunity, apart of the > technical parts. The title system in Omega works well also. You have different titles for guilds and it really makes the playing interesting since you can almost never achieve the perfect char. Either you consentrate on one guild and become the master of that guild or you join different ones and end up beeing mediocre on each (or perhaps the champion of all after years and years of playing). One problem in crossfire nowadays is that you can so easily get to 110 level and have the three most important skills >100 and it only takes a few months of play. After that you tend to loose interest, start another char or go play something else. I think that a mud (such as crossfire) should provide years and years or achieving and improving for the real addicts (like me ;) Kimmo Hoikka Kimmo@Hoikka.com From mwedel at scruz.net Fri Jul 13 23:27:04 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:03 2005 Subject: [CF List] Too stupid... References: <200107131728.f6DHSN717720@lol1122.lss.emc.com> Message-ID: <3B4FCA18.A09AEEF8@scruz.net> pc-crossfire@crowcastle.net wrote: > What about having a flag that indicates whether abilities are level-based > or progressive? > > How about armour that gives you +level resistance to certain attacks? > (Implemented by setting it to +100 with progressive usability to level > 100.) As discussed in a previous message, this can be done. It certainly works better for resistances than for stats, simply by the size of the numbers being used. But unless done in a script, it would be very hard to do this on a per ability basis in the item (ie, resistance fire is incremental, where as resist physical is incremental) > I haven't looked at the new scripting; could that be used to have a > scripted object that gives out bonuses based on the details of the > character applying it? If so, then there could even be a Ring of the > Fireborn that only gives the full bonuses to a Fireborn player (or gives > the bonuses at a lower level). From what I have seen, the scripting is actually quite powerful. But IMO, we probably don't want to use scripting for 'simple' things (simple things being values that do not change). Some of this is efficiency - the scripting code certainly has more overhead than doing an equivalant check in C, and second is in terms of simplicity - if the check is a value in the object structure itself, presumably the map editor can present a nice field that the player enters some value into, instead of needing to write a script for it (now certainly that editor front end could say 'enter minimum level', and then write a script and link it in appropriately). > > If the server has enough flexibility, then the real issue is what the > characteristics of existing items should be. This would mean a review of > artifacts, both randomly-available and quest-based. Note that a hybrid could also be used - you could make some artifacts with a simple min level check, and others be incremental. Ones that give stats really won't work very well incrementally (at least for the stat portion, simply because if the stat is say +3, being level 29 out of 30 means its still only +2). One problem I do see with the script approach is knowing the full bonuses - the script knows what the full bonuses are, but if you examine an item, you will only see what bonuses were last given or are currently in use (with a level dependent thing, presumably the bonus would be set when the item is applied, and something else happens when unapplied). Which then gets the problem that players won't know the true bonuses until they are full level to use it, which could be annoying, or at minimum gives an even greater advantage to longer term players or those who go to the spoiler. ie, newbie finds artifact that gets better with level, but has no idea what its full power is. But experience pro knows what it does, and knows it isn't worth keeping, so sells it right away. If this is done on a limited basis, this may be OK. I just think it would be pretty annoying to have a pile of 30 items and not really know the full strength of any of them until you are of appropriate level. From mwedel at scruz.net Fri Jul 13 23:40:32 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:03 2005 Subject: [CF List] race, profession, guild & titles References: <3B4F4ED2.3C16330D@Digia.com> Message-ID: <3B4FCD40.86B23FFB@scruz.net> Kimmo Hoikka wrote: > > The title system in Omega works well also. You have different titles for guilds > and it really makes the playing interesting since you can almost never achieve > the perfect char. Either you consentrate on one guild and become the master of > that guild or you join different ones and end up beeing mediocre on each (or > perhaps the champion of all after years and years of playing). I have no problem removing the ability of players to set the title. certain quests giving titles could be handy (at a basic level, consider the random maps quest in scorn - your title could certainly be set to baron/knight/lord/etc as appropriate). Note that this idea is falling back into a category that has often been discussed before, but requires some serious map development. IMO there have been many good ideas which largely come down to just making more maps (another example of this was different racial starting areas/towns, ie, a dwarf cave system, elf forest, etc,). > > One problem in crossfire nowadays is that you can so easily get to 110 level and > have the three most important skills >100 and it only takes a few months of > play. After that you tend to loose interest, start another char or go play > something else. I think that a mud (such as crossfire) should provide years and > years or achieving and improving for the real addicts (like me ;) Is this caused by abuses, or just the fact that there are so many high level/high exp monsters that this can easily happen? I am sure some of the problems are in the skills - some skills have such few ways to get exp in it that it was coded such that each time you did manage to successfully use it, you get a bunch of exp, so if you manage to find a high level monster or item to use appropriate skill on, you get lots and lots of exp for that. OTOH, if you come to the conclusion that you should generally be able to get one level a day with reasonable amount of playing, that then means it would take 110 takes to get to level 110, that is roughly 4 months. I'm really not sure what a reasonable pace is. Certainly, the max level could be increased, but I'm not positive if that is a good idea (if the effects per level gained are pretty good, in then may mean everything becomes a cakewalk, so the complaint then becomes everything is too easy. If you don't really get anything per level gained, then whats really the point? I'm also worried that increasing max level won't really fix the problem - make it 200, and then someone will make a level 150 map which player can gets lots of exp, and then get to level 200 quickly). Plus IMO I would much rather have map developement more concentrated at the lower levels so that there is more variety for the lower level characters. IMO it will probably take new players many attempts before they manage to get high level, so they may end up playing level 1-20 characters (or be in that range) a very long time, so giving plenty of options in that range would be better than plenty of options in the 50-100 range which few people are probably at. From Kimmo.Hoikka at Digia.com Sat Jul 14 00:46:26 2001 From: Kimmo.Hoikka at Digia.com (Kimmo Hoikka) Date: Thu Jan 13 18:04:03 2005 Subject: [CF List] race, profession, guild & titles References: <3B4F4ED2.3C16330D@Digia.com> <3B4FCD40.86B23FFB@scruz.net> Message-ID: <3B4FDCB1.431C0723@Digia.com> > OTOH, if you come to the conclusion that you should generally be able to get > one level a day with reasonable amount of playing, that then means it would take > 110 takes to get to level 110, that is roughly 4 months. I'm really not sure > what a reasonable pace is. Certainly, the max level could be increased, but I'm > not positive if that is a good idea (if the effects per level gained are pretty > good, in then may mean everything becomes a cakewalk, so the complaint then > becomes everything is too easy. If you don't really get anything per level > gained, then whats really the point? I'm also worried that increasing max level > won't really fix the problem - make it 200, and then someone will make a level > 150 map which player can gets lots of exp, and then get to level 200 quickly). > > Plus IMO I would much rather have map developement more concentrated at the > lower levels so that there is more variety for the lower level characters. IMO > it will probably take new players many attempts before they manage to get high > level, so they may end up playing level 1-20 characters (or be in that range) a > very long time, so giving plenty of options in that range would be better than > plenty of options in the 50-100 range which few people are probably at. I think that the level requirement curve should keep closer to exponential (as it is in beginning) than linear like it is in the end. In the beginning you really have to struggle to get a level, in the end you get 5-10 levels from a single quest if you do your own level quests. It is better to have almost unreachable level 110 (or whatever be the maximum) than to have several players ending up level 110 and loose practically all means to gain exp (after 107 you stop gaining exp on that skill). I know exp is not the main point of the game, but I just hate games where you too easily bang into the limits. I remember starting to play crossfire a few years ago and having fun at the beginning, making a level every now and then (level<50) and then all of a sudden beeing level 110 before noticing. Kimmo Hoikka Kimmo@Hoikka.com From yann.chachkoff at mailandnews.com Sat Jul 14 09:34:23 2001 From: yann.chachkoff at mailandnews.com (Chachkoff Yann) Date: Thu Jan 13 18:04:03 2005 Subject: Guilds & Quests, was Re: [CF List] Too stupid... In-Reply-To: References: Message-ID: <01071410342303.01007@localhost.localdomain> Le Vendredi 13 Juillet 2001 14:44, vous avez ?crit : > > I think this really depends on what you want the guilds to be doing. > IMO, guilds could still provide the following even for single players: > 1) Supply of certain good items (fighter guild may always have +2 full > 2) Ability to learn advanced skills. This would require changing the skill > 3) Sources of information. The alchemist guild should have all recipes > > Also, instead of using levels for various classifications, doing certain > quests could be used. So at the fighters guild, killing a certain creature > may be enough to get you that advancement. Really, probably a mix of both > of these is best, withh the level requirement being a little higher than > character would need to be do to it on their own (Repeat players may not > want to do some quest for the 5th time they've played the game, and instead > do some other maps, but still want that advantage). > I didn't understood what you put under the term "guild". I was speaking about groups of players Uniting Their Forces to Fight the Bad. You were speaking about guilds implemented "inside" the game (with buildings and specific rules maybe). Sorry for that confusion. And I agree with what you say about "ingame guilds". > I think the big thing missing in the reward outside the quest. Now I had no time to work on script stuff last month. I'll implement functions to give you experience in a particular skill now. Maybe it could help for quest rewards ? > The fighters should excel at fighting and get a difficulty, even at high > levels, at magic and prayer. ?Clerics should have a bonus to prayer but > have problems with magic and fighting. ?Dual class type characters, like > paladins, would have the advantage of doing well at multiple things but > will take longer to level up. I don't like the idea of "classes". It is a concept from AD&D and I think it is too rigid. The problem is that it is now too easy for a Warrior to find Wizard Knowledge. For example, it would be better if spells could only be found in Wizards Guilds or in the depths of a Dungeon. If a warrior wants to learn wizardry, he'll have to prove his valor first. Only very simple spells should be in common shops. After all, as Merlin said: "Magic is not like eating an apple: it is a little more difficult". Chachkoff Y. From andi.vogl at gmx.net Sat Jul 14 04:41:31 2001 From: andi.vogl at gmx.net (Andreas Vogl) Date: Thu Jan 13 18:04:03 2005 Subject: [CF List] level gains (was RE: guild & titles) In-Reply-To: <3B4FDCB1.431C0723@Digia.com> Message-ID: Kimmo Hoikka wrote: > > > One problem in crossfire nowadays is that you can so easily get to 110 > > > level and have the three most important skills >100 and it only takes a > > > few months of play. > > > > Is this caused by abuses, or just the fact that there are so many high > > level/high exp monsters that this can easily happen? > > I think that the level requirement curve should keep closer to exponential > (as it is in beginning) than linear like it is in the end. In the beginning > you really have to struggle to get a level, in the end you get 5-10 levels > from a single quest if you do your own level quests. It is better to have > almost unreachable level 110 (or whatever be the maximum) than to have > several players ending up level 110 and loose practically all means to gain > exp (after 107 you stop gaining exp on that skill). I know exp is not the main > point of the game, but I just hate games where you too easily bang into > the limits. I remember starting to play crossfire a few years ago and having > fun at the beginning, making a level every now and then (level<50) and then > all of a sudden beeing level 110 before noticing. This is absolutely true. The amount of exp you need to collect in order to gain one level has a "maximum cap" of about 3 mill somewhere near level 50. That means effectively: Gaining levels above 50 does not get harder - No, it get's a lot easier. The character grows stronger while the amount of exp per level gain stays the same. While that sounds nuts, some time ago, as the exp-loss on death was HUGE, it really made sense. The amount of exp the character lost when dying did greatly increase by level - So reaching level 110 was harder than level 50. However, loosing heaps of levels for dying once turned out to be rather frustrating and it was capped to, I think, three levels at worst case. We should really widen the gaps between levels at the high end. This will make death a little more painful again, but only in respect of loosing "playtime". A high level character still won't get much weaker for dying once. Hence, I think it won't be too frustrating, since the player can still do the same (high-level) quests to recover from the loss. If that's not enough, I would reduce the exp-penalty-on-death even further rather than sticking with level gaps equal past 50. Andreas V. From jajcus at bnet.pl Sat Jul 14 05:21:51 2001 From: jajcus at bnet.pl (Jacek Konieczny) Date: Thu Jan 13 18:04:03 2005 Subject: Guilds & Quests, was Re: [CF List] Too stupid... In-Reply-To: Message-ID: <20010714122151.D3245@nic.gliwice.sdi.tpnet.pl> On Fri, Jul 13, 2001 at 11:44:24AM -0700, Mark Wedel wrote: > The one problem here is that with crossfire it gets trickier - if > you give bonus exp, what skill category(s) does it go into? If it > just adds to the total exp, that becomes less useful, as most of what > makes the character powerful is the actual skill levels, and not > overall level. It should be written in the map. The map designer should dicide, that XXX quest should give A points to wisdom, B points to physical and C points to agility for example. If the quest itself doesn't justify those bonuses map designer can always add some story like "you found some drawings on cave walls showing you secrets of ancient magic" for extra magic exp. Greets, Jacek From yann.chachkoff at mailandnews.com Sat Jul 14 11:59:23 2001 From: yann.chachkoff at mailandnews.com (Chachkoff Yann) Date: Thu Jan 13 18:04:03 2005 Subject: [CF List] race, profession, guild & titles In-Reply-To: <3B4FCD40.86B23FFB@scruz.net> References: <3B4F4ED2.3C16330D@Digia.com> <3B4FCD40.86B23FFB@scruz.net> Message-ID: <01071412592300.01564@localhost.localdomain> about the title problem. > Kimmo Hoikka wrote: > > The title system in Omega works well also. You have different titles for > > guilds and it really makes the playing interesting since you can almost > > never achieve the perfect char. Either you consentrate on one guild and > > become the master of that guild or you join different ones and end up > > beeing mediocre on each (or perhaps the champion of all after years and > > years of playing). > > I have no problem removing the ability of players to set the title. > certain quests giving titles could be handy (at a basic level, consider the > random maps quest in scorn - your title could certainly be set to > baron/knight/lord/etc as appropriate). Problem with the system right now: you cannot have more than one title at a time. The current title command should better be called "nickname", because it is not really a reward, but just a way to name your character. Maybe implementing a list containing all the titles a character owns is a good idea, and quite easy to do, so you can have a character like this: Gros the bug keeper, Knight of Scorn, Apprentice of Occidental Mages where "bug keeper" is just a nickname given by the player with no practical use, and the others are titles useful in the game. Then the player commands should be modified to something like: nickname [name] : gives your player the nickname specified (the current title command); titles : display all your titles in the client log window. Chachkoff Y. From peterm at tonks.EECS.Berkeley.EDU Sat Jul 14 13:17:10 2001 From: peterm at tonks.EECS.Berkeley.EDU (Peter Mardahl) Date: Thu Jan 13 18:04:03 2005 Subject: [CF List] race, profession, guild & titles In-Reply-To: Your message of "Fri, 13 Jul 2001 22:41:07 +0300." <3B4F4ED2.3C16330D@Digia.com> Message-ID: <200107141817.f6EIHAw31847@tonks.EECS.Berkeley.EDU> > I really liked the guild system in Omega. Every player can choose the guilds > join and then get the guild quests to advance in the guild and when you get > better status on guild you are given better bonuses. I liked it too, but I'd rather we didn't copy it verbatim for Crossfire. > > The title system in Omega works well also. You have different titles for guil > and it really makes the playing interesting since you can almost never achiev > the perfect char. Either you consentrate on one guild and become the master o > that guild or you join different ones and end up beeing mediocre on each (or > perhaps the champion of all after years and years of playing). That's strange. When I played Omega, I maxed my char in every guild I could join (including the secret one) in less than a month. Maybe they made it harder or something. > One problem in crossfire nowadays is that you can so easily get to 110 level > have the three most important skills >100 and it only takes a few months of > play. After that you tend to loose interest, start another char or go play > something else. I think that a mud (such as crossfire) should provide years a >nd > years or achieving and improving for the real addicts (like me ;) Well, the solution to that is to REMOVE THE CAP AT LEVEL 110!!! PM > Kimmo Hoikka > Kimmo@Hoikka.com > > _______________________________________________ > crossfire-list mailing list > crossfire-list@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-list From scott at campy.tymnet.com Sat Jul 14 14:10:27 2001 From: scott at campy.tymnet.com (Scott Wedel) Date: Thu Jan 13 18:04:03 2005 Subject: [CF List] race, profession, guild & titles Message-ID: <200107141910.NAA02276@moots.tymnet.com> While reading through the various posts, I had a radical idea on dealing with Crossfire money an artifacts oversupply issues. Rank the characters by the value of items in their castle which they have to pay to have constructed. Castle construction could consist of so much per random premade level of which player can ask for repeated randomly created proposed levels until they get one they like. Once player selects a level then it becomes a fixed map part of the game. All monsters in the player's castle are friendly to the player and the player's party. Player would get no exp for killing a monster in his castle. And then allow apartments only in a player's castle and restrict the total value of what can be stored in an apartment by the level of castle map built by the player. So, for instance, if a player buys a $10,000 GP map level then it might be a level 5 map with an apartment able to store $5,000 GP worth of items. Also, a castle owner with excess items should be able to try to hide such items in the castle by dropping items in particularly difficult locations to reach and so on. These items should persist in the map until they are picked up by other adventurers or the castle owner. But the monsters in the castle should refresh as in normal maps. Castle maps would not have randomly generated treasures beyond that of it's monsters personal items. And a castle map should have certain features such as a teleports which work only for the castle owner which the castle owner can use to immediately reach the apartments on any level. I see the castle map consisting of multiple levels because the owner builds another level when they get enough money. Anyway, something like that adds a money consuming element to the game that is needed by the players to store their stuff and then if high score is not exp, but value of items stored in the castle (does not include the cost of the castle which makes getting a high score that much more difficult) then there is something to continue to play for. Also, it'd allow a player get the current high score by building a cheap castle in a very obscure and difficult to reach location and drop expensive items in it even though other players could take them. So then competing players might have to find such castles and raid them so that their expensive castles with properly secured apts once again have the top scores. And I suppose castle construction would cost more the more difficult the terrain and the distance from the nearest town. And then there could also be locals in that town's meeting place willing to say that yes, they built a castle for adventurer Tom or whatever so then other adventurers known there is a castle to look for. And I suppose the castle owner could also pay a silence fee which determines how much the locals in the town's inn need to be bribed before they will say there is a local castle. And so on. I think that instead of some of the other ideas on levels, guilds and so on that don't really fit in with the fundamentally hack n slash world of crossfire, maybe we should try players building castles as a a means to soak up excess money and artifacts. Castles in the game could start of fairly simplistic and then get more and more complicated and interesting as additional features are added. From mwedel at scruz.net Sat Jul 14 17:11:22 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:03 2005 Subject: Guilds & Quests, was Re: [CF List] Too stupid... References: <20010714122151.D3245@nic.gliwice.sdi.tpnet.pl> Message-ID: <3B50C38A.75B3C9CD@scruz.net> Jacek Konieczny wrote: > > On Fri, Jul 13, 2001 at 11:44:24AM -0700, Mark Wedel wrote: > > The one problem here is that with crossfire it gets trickier - if > > you give bonus exp, what skill category(s) does it go into? If it > > just adds to the total exp, that becomes less useful, as most of what > > makes the character powerful is the actual skill levels, and not > > overall level. > It should be written in the map. The map designer should dicide, that > XXX quest should give A points to wisdom, B points to physical and C > points to agility for example. If the quest itself doesn't justify those > bonuses map designer can always add some story like "you found some > drawings on cave walls showing you secrets of ancient magic" for extra > magic exp. This may or may not work, depending on the map in nature. If like most maps right now, the map involves a lot of combat to solve, and a fighter goes in, he may not really want that magic exp. OTOH, this can be adjusted based on the fact of who gives the character the quest, and thus the reward. If the quest giver is a fighter, then certainly it will give things in the fighting exp category, if a wizard, then magic category, etc. And certainly many people may be willing to reward for the same quest, but a character can only get one reward. So for example, a party of a fighter, cleric, and wizard could get the quest from various sources (priest in the church, wizard in tavern, fighter in the guild), and when each goes back to the appropriate person, they get exp in the matching category. Thus does mean that characters could improve experience categories they did not use (maybe that fighter has no wisdom exp, and at his level (20) he doesn't want to spend time use holy word on some kobolds. Doing a quest for the priest may give him 100,000 wisdom exp (it is say a level 20 quest), which brings the character up to level 8 or something in wisdom - something high enough to at least be somewhat useful for the level 20 stuff they are now doing. > > Greets, > Jacek > _______________________________________________ > crossfire-list mailing list > crossfire-list@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-list From mwedel at scruz.net Sat Jul 14 17:15:38 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:03 2005 Subject: [CF List] level gains (was RE: guild & titles) References: Message-ID: <3B50C48A.F6009AC4@scruz.net> Andreas Vogl wrote: > > This is absolutely true. The amount of exp you need to collect in order to > gain one level has a "maximum cap" of about 3 mill somewhere near level 50. > That means effectively: Gaining levels above 50 does not get harder - No, it > get's a lot easier. The character grows stronger while the amount of > exp per level gain stays the same. Note that the experience is done off a simple table in common/living.c, so it is very easy to adjust the tables. You could very well make the gains relatively huge after level 100, making it very difficult to get to level 110 (level 110 = 10 times level 100 exp for example) From mwedel at scruz.net Sat Jul 14 17:21:59 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:04 2005 Subject: [CF List] race, profession, guild & titles References: <3B4F4ED2.3C16330D@Digia.com> <3B4FCD40.86B23FFB@scruz.net> <01071412592300.01564@localhost.localdomain> Message-ID: <3B50C607.86CC02F@scruz.net> Chachkoff Yann wrote: > > Problem with the system right now: you cannot have more than one title at a > time. The current title command should better be called "nickname", because > it is not really a reward, but just a way to name your character. Maybe > implementing a list containing all the titles a character owns is a good > idea, and quite easy to do, so you can have a character like this: While there is only one 'title' string, there is nothing preventing the use of a very long string, which effectively amounts to multiple titles. It would probably make sense to make the title a string pointer instead something of static length, but thats a pretty easy change. I don't see the need for a list - if you really need to extract something from it, you can use strstr or the like. But for most actual events, the inventory checker and invisible marker objects should probably be what is used. Optionally, msg values or the like in these marker objects could be used to generate a title. Note that title is a player only feature (monsters do not have titles), which may be one reason that using the marker objects could be better. > > Gros the bug keeper, Knight of Scorn, Apprentice of Occidental Mages > > where "bug keeper" is just a nickname given by the player with no practical > use, and the others are titles useful in the game. Then the player commands > should be modified to something like: > > nickname [name] : gives your player the nickname specified (the current title > command); > titles : display all your titles in the client log window. Is there a big reason for nicknames within the game? Its not a hard feature to support (since it already exists), I just wonder how much people care about it or would look at them. Presumably, when people still talk/shout, it will just use the base name (Gros), and not the title information. Otherwise, at higher levels, the titles would be longer than the message itself, which could prove pretty annoying. From mwedel at scruz.net Sat Jul 14 17:43:28 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:04 2005 Subject: [CF List] race, profession, guild & titles References: <200107141910.NAA02276@moots.tymnet.com> Message-ID: <3B50CB10.C57ED1FF@scruz.net> Scott Wedel wrote: > > While reading through the various posts, I had a radical idea on > dealing with Crossfire money an artifacts oversupply issues. > > Rank the characters by the value of items in their castle which > they have to pay to have constructed. Castle construction could > consist of so much per random premade level of which player can > ask for repeated randomly created proposed levels until they get one > they like. Once player selects a level then it becomes a fixed > map part of the game. All monsters in the player's castle are > friendly to the player and the player's party. Player would get no > exp for killing a monster in his castle. While ideas similar to this has been discussed before, it comes down to a more basic quest of: Should all the loot a character stores aways/gathers be perfectly safe, or should other players be able to get it? If the answer is that it should be perfectly safe, then not a lot will change with that. I would say that players will generally say that stuff they have on personally should be safe when the safe. And if that is the case, the likely result is that players will carry the good stuff with them when the save, and may then only leave the crappier stuff they don't care about open to possible theft (or they may just sell it all - if you think it may get stolen, why not just get the money for it). I know for my current character, I have a lot of lesser powered artifacts stored away not because I am likely to use them, but because there is no point selling them (I already have enough money). But I do think the the idea of players being able to build/create monements could be interesting. Maybe characters could buy a wing of the museum, and put some of their artifacts there to show others that yes, I have done this and gotten these cool things. Being able to buy different sized statues that you can put different inscriptions on in the town park, etc. (a 2x2 golden statue could be something like 100,000 plat, while that 1x1 stone may only be 1000 plat). Only allow each character one statue at a time per park of course. But as I've said before, I think some problem is the never ending nature of the game, which basically means players can accumulate as much money as they want if they keep on playing. Maybe use of expendable items should be increased, re regenerating hp/sp is constant no matter what your total is, so when you have lots of hp/sp, you will start buying those healing and magic power potions so you don't end up waiting all day (right now hp/sp regain is based on total - it takes C time to get all your points back, where C is some constant but all your points vary. things that increase/decrease regen rate obviously affect C, but given the faster rate, the time would still be constant based on the total). Such a change would still make it reasonable for lower level characters (they can just wait around for 15-20 seconds to get there 20 hp back), but for the high level characters with 400, even with regen +2, you probably want to use that healing potion. Of course, shops should have a never ending supply of some of these common items. IMO, one reason money is no problem is there is no need to spend it on anything at higher levels. The character has regen +2 and sp +3, so getting back all hp/sp is so quick that they don't need potions. You find all the food you need as bodyparts or in the dungeon, you have all the spells and skills, so no need to buy any of those. Maybe the only thing you might be is some of the protection potions. Another expenditure of money has been suggested needing repairs to armor/weapons. While that would chew up money, by personal opinion is that it will just prove to be pretty obnoxious. From joel at prninfo.com Sat Jul 14 18:11:58 2001 From: joel at prninfo.com (Joel South) Date: Thu Jan 13 18:04:04 2005 Subject: [CF List] race, profession, guild & titles In-Reply-To: <200107141910.NAA02276@moots.tymnet.com> from "Scott Wedel" at Jul 14, 2001 01:10:27 PM Message-ID: <200107142311.TAA28461@mamia.prninfo.com> > > While reading through the various posts, I had a radical idea on > dealing with Crossfire money an artifacts oversupply issues. > > Rank the characters by the value of items in their castle which > they have to pay to have constructed. Castle construction could > consist of so much per random premade level of which player can > ask for repeated randomly created proposed levels until they get one > they like. Once player selects a level then it becomes a fixed > map part of the game. All monsters in the player's castle are > friendly to the player and the player's party. Player would get no > exp for killing a monster in his castle. I like this idea. The monsters would have to be hired at a cost. Some would cost more than others,such as dragons. Of course there would be a need for hiring really powerful monsters to keep out powerful level 110 players. Also,the players could pay for magic fire walls and other mechanisms to keep out thieves. Some of these fire walls would be very expensive,such as a comet wall,a color spray wall,or a room that floods with vitriol or gas. There are many possibilities,a room for recharging mana,a healing room,etc. > And then allow apartments only in a player's castle and restrict the >total value of what can be stored in an apartment by the level of > castle map built by the player. > > So, for instance, if a player buys a $10,000 GP map level then it > might be a level 5 map with an apartment able to store $5,000 GP > worth of items. > > Also, a castle owner with excess items should be able to try to hide > such items in the castle by dropping items in particularly difficult > locations to reach and so on. These items should persist in the map > until they are picked up by other adventurers or the castle owner. > But the monsters in the castle should refresh as in normal maps. > Castle maps would not have randomly generated treasures beyond that > of it's monsters personal items. > > And a castle map should have certain features such as a teleports which > work only for the castle owner which the castle owner can use to > immediately reach the apartments on any level. > > I see the castle map consisting of multiple levels because the owner > builds another level when they get enough money. > > Anyway, something like that adds a money consuming element to the > game that is needed by the players to store their stuff and then if > high score is not exp, but value of items stored in the castle (does > not include the cost of the castle which makes getting a high score > that much more difficult) then there is something to continue to > play for. > > Also, it'd allow a player get the current high score by building a > cheap castle in a very obscure and difficult to reach location and drop > expensive items in it even though other players could take them. So > then competing players might have to find such castles and raid them > so that their expensive castles with properly secured apts once again > have the top scores. > > And I suppose castle construction would cost more the more difficult > the terrain and the distance from the nearest town. And then there > could also be locals in that town's meeting place willing to say that > yes, they built a castle for adventurer Tom or whatever so then > other adventurers known there is a castle to look for. And I suppose > the castle owner could also pay a silence fee which determines how > much the locals in the town's inn need to be bribed before they > will say there is a local castle. > > And so on. > > I think that instead of some of the other ideas on levels, guilds and > so on that don't really fit in with the fundamentally hack n slash > world of crossfire, maybe we should try players building castles as a > a means to soak up excess money and artifacts. Castles in the game > could start of fairly simplistic and then get more and more complicated > and interesting as additional features are added. > > _______________________________________________ > crossfire-list mailing list > crossfire-list@lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-list From peterm at tonks.EECS.Berkeley.EDU Sun Jul 15 13:24:33 2001 From: peterm at tonks.EECS.Berkeley.EDU (Peter Mardahl) Date: Thu Jan 13 18:04:04 2005 Subject: [CF List] An overabundance of money In-Reply-To: Your message of "Sat, 14 Jul 2001 15:43:28 PDT." <3B50CB10.C57ED1FF@scruz.net> Message-ID: <200107151824.f6FIOXf06995@tonks.EECS.Berkeley.EDU> > > While ideas similar to this has been discussed before, it comes down to a mo > basic quest of: > > Should all the loot a character stores aways/gathers be perfectly safe, or > should other players be able to get it? If loot in an apartment isn't safe, players (including ME) will simply start storing loot on other characters, and not using apartments for anything. I really think the "problem" of an overabundance of money for successful high level chars is insoluble in crossfire: with infinite regenerating maps, a player can always loot areas to accumulate wealth. If you then take away this wealth to such an extent that a serial-map-rapist can't get arbitrarily rich, then people who don't loot-in-depth will all end up destitute. And the game will suck. I also don't believe it is a problem to begin with. Successful players get filty rich. That seems correct to me, somehow. If you want to use this "wealth" for something, just create maps where players have to spend lots of money. PeterM > they keep on playing. Maybe use of expendable items should be increased, re > regenerating hp/sp is constant no matter what your total is, so when you have > lots of hp/sp, you will start buying those healing and magic power potions so > you don't end up waiting all day (right now hp/sp regain is based on total - I really, really hate this idea. I dont want to go shopping all the time for potions. > > Another expenditure of money has been suggested needing repairs to > armor/weapons. While that would chew up money, by personal opinion is that i > will just prove to be pretty obnoxious. I completely agree. I don't think the game should be about maintaining your equipment any more than it already is. PeterM From Kimmo.Hoikka at Digia.com Mon Jul 16 16:13:06 2001 From: Kimmo.Hoikka at Digia.com (Kimmo Hoikka) Date: Thu Jan 13 18:04:04 2005 Subject: [CF List] race, profession, guild & titles References: <200107141910.NAA02276@moots.tymnet.com> Message-ID: <3B5358E1.EF1986D@Digia.com> Scott Wedel wrote: > While reading through the various posts, I had a radical idea on > dealing with Crossfire money an artifacts oversupply issues. > > Rank the characters by the value of items in their castle which > they have to pay to have constructed. Castle construction could > consist of so much per random premade level of which player can > ask for repeated randomly created proposed levels until they get one > they like. Once player selects a level then it becomes a fixed > map part of the game. All monsters in the player's castle are > friendly to the player and the player's party. Player would get no > exp for killing a monster in his castle. > > And then allow apartments only in a player's castle and restrict the > total value of what can be stored in an apartment by the level of > castle map built by the player. > > So, for instance, if a player buys a $10,000 GP map level then it > might be a level 5 map with an apartment able to store $5,000 GP > worth of items. > > Also, a castle owner with excess items should be able to try to hide > such items in the castle by dropping items in particularly difficult > locations to reach and so on. These items should persist in the map > until they are picked up by other adventurers or the castle owner. > But the monsters in the castle should refresh as in normal maps. > Castle maps would not have randomly generated treasures beyond that > of it's monsters personal items. > > And a castle map should have certain features such as a teleports which > work only for the castle owner which the castle owner can use to > immediately reach the apartments on any level. > > I see the castle map consisting of multiple levels because the owner > builds another level when they get enough money. > > Anyway, something like that adds a money consuming element to the > game that is needed by the players to store their stuff and then if > high score is not exp, but value of items stored in the castle (does > not include the cost of the castle which makes getting a high score > that much more difficult) then there is something to continue to > play for. > > Also, it'd allow a player get the current high score by building a > cheap castle in a very obscure and difficult to reach location and drop > expensive items in it even though other players could take them. So > then competing players might have to find such castles and raid them > so that their expensive castles with properly secured apts once again > have the top scores. > > And I suppose castle construction would cost more the more difficult > the terrain and the distance from the nearest town. And then there > could also be locals in that town's meeting place willing to say that > yes, they built a castle for adventurer Tom or whatever so then > other adventurers known there is a castle to look for. And I suppose > the castle owner could also pay a silence fee which determines how > much the locals in the town's inn need to be bribed before they > will say there is a local castle. A very interesting idea. To some extent that might be quite easily implemented using the random map code to generate the bought levels, they only need to be saved the artifacts are brought in by the castle owner. The castle needs to have some private parts for the player to keep his private stuff and some supply of new artifacts. Then when someone asks for an artifact, instead of giving it away the player can go and put it to his dungeon and tell the asker to go get it. To spice that up a bit the player should be able to cast or use scrolls to create something richer than plain walls and runes. Making traps and setting up some permanent spells could be cool but may be difficult to enable. This feature would anyway enable the players to create maps while playing, making the interaction between the world and the players much richer. -- * Kimmo@Hoikka.com * * +358(0)407380747 * From highway at cstone.net Tue Jul 17 08:43:50 2001 From: highway at cstone.net (Sean Michael Whipkey) Date: Thu Jan 13 18:04:04 2005 Subject: [CF List] Spoilers Message-ID: <3B544116.3A3A82A0@cstone.net> This is a preliminary guide I've been working on. Sorry if it comes through wrong. Take a look and tell me what you think. WARNING! It contains Spoilers for Scorn; if you don't want to know them, DON'T READ IT! :) --------- Levels aren't given; it varies depending on character and equipment. Simply read the descriptions and see if you think you can handle it or not. SCORN: Beginner's Area: Location: white house to the left of town square and the signs lining the beginning area. This is the place to start off with your new character, especially if you're new to Crossfire. You get experience using wands, arrows, levers, buttons and boulders. You get to fight various creatures. There are some hidden areas here plus a decent amount of food. Hints: If you're new, go through the corridors in order. Pick up everything and sell it just down the street; that'll help build up your beginning money. Be careful of orc chops. Remember that some earthwalls can be beaten through, and make sure to check for traps on chests. If you're new to crossfire remember: let gates completely go down before moving through them. If you pull the lever you'll open some earthwalls. You can use that to move the boulder out onto the large button. That will open up a gate. Be careful in there; there's an ogre, which at level one or two can hurt you badly. There are several areas in there where you can beat through the earth walls. If you go to the top right corner of the area, one square below the food, you'll find that you can break through the earthwalls. Inside you'll find gems and a pixie. Be careful; pixies sometimes have wands, and at low levels can be hard to hit. Monsters: Kobolds, orcs, goblins, gnolls, ogres, bats, bees, ants, pixies Random House: Location: brown house immediately to the right of Wanderer Inn Level(s): 1+ Hints: This is a random map, so it's different every time. Still, I've never found any monsters in there, or for that matter, anything worth doing in there other than disarming traps on doors or hitting the occasional fountain. Monsters: None? Newbie Tower: Location: Of the three towers below town square, it is the one farthest to the left. Hints: This is THE place to go to level up when you've just started up. Remember to go after the generators, otherwise you'll be overrun! You start off with a bunch of kobolds. These drop no treasure, but there's some on the ground, plus a good bit of food. Kill the generators and all the kobolds before grabbing the next key and fighting the orcs. Orcs carry more treasure but also carry weapons. Kill them all before going on to the next door. If you're playing a less-strong character, make several trips through here to pick up all the treasure - don't try to carry it all with you. The next door is hiding goblins. Once again, you get more treasure, but more risk, as well. After the goblins the next door has orcs, but there's a generator for gnolls down in the lower left corner. Take it out as fast as you can, and you should be set. Monsters: Kobolds, orcs, goblins, gnolls Jones' House: Location: white house next to the Random House Hints: This is slightly rougher area, but a good place for random treasure. Check every door and treasure chest for traps thoroughly before opening them. If you don't have lockpicks, expect it to take a little bit. The house people will not attack unless attacked; you may want to click on them and see what they're carrying to see if they're worth dealing with or not. Certain chests are always trapped, usually with poison or ball lightning, and will have either a ring or an amulet inside. One chest (guarded by bats) has multiple traps on it. Outside there is usually little to no treasure but lots of insects. Monsters: Townspeople, pixies, giant centipedes, bats, bees, birds, ants, mice Friendly Giant's Tower: Location: Tower just south of the Magic Shop Hints: You start off with a few kobolds and their generators. Go through them (or around them) and to the southwest corner. In the very corner, hidden behind earth walls, is a stairway. When you go up the stairs go immediately to your right to take out some mice lest they reproduce and fill up the whole floor. Then pull the lever to fight some orcs and goblins. The next stairway takes you to three gnolls. Kill them and grab the key, then move on. There's an orc generator and a lone madman. You'll see two doors. The door to the north is hiding two skeletons. If you can defeat them, you'll get decent treasure, but it's not necessary. The southern door holds a goblin generator and five goblins; kill them and you can turn the lever to open the gate. After the gate there are a few goblins more and a door. If you remembered the strange key, open the door, where you'll see orcs and goblins, along with one hill giant. Notice that not all of them attack! Kill the ones that do, along with the generators, and talk to Mork. Mention "Gork" to him (it's important to another quest) but you don't need to attack him. If you talk to him, he'll open the gates back near where the first orc generator was on this level, and you'll get some more treasure. The gork key is used in Gork's Grovel. Monsters: Kobolds, orcs, goblins, madmen, skeletons Alfalfa's House: Location: To the right of the Friendly Giant's Tower, the middle brown house next to the road. Hints: The biggest thing is to remember to check each door for traps. Many of them are trapped! Going inside you'll kill a few kobolds first. You can see the next room from outside, it's full of goblins. Through there you'll find a corridor with a few kobolds and a goblin. There's one door immediately south, and if you go east there are four more doors. On the east corridor the top two doors go to self contained rooms, one with kobolds and goblins and the other with mice. The first southern door is filled with orcs, and at least two of these should get you some scrolls. The last door, plus the first door you saw, lead in a loop. Starting from the last door in the east corridor, it goes like this: One room full of kobolds, plus a treasure chest. The room to the west of here is full of gnolls and ogres, plus some treasure. Going south leads to a room that connects north to where you came in (above) and south to a room full of kobolds and ghosts. Watch out for mice, birds, orcs, kobolds, and gnolls in here. Take out the ghost generators as fast as possible, particularly at low levels. Monsters: kobolds, orc, goblins, gnolls, mice, birds, ghosts, ogres. Fun House: Location: fifth white house from the left, lining the road in from the gates towards Town Square. Hints: As you go in you'll be attacked by goblins. Kill them and head north to hit the generator. Then head straight south where orcs are overflowing. Take the first west to find jewels and a key then go back and go east to find more jewels and another key. Go back to the first intersection and go east to kill off all the mice before they proliferate, as well as get some more keys and treasure. Go back to the original intersection and go north again. The first door west is full of goblins; the first door east is full of skeletons and mice. If you kill the mouse generator it opens up another room full of mice. Finish off all of them and head north through that newly opened room. You'll find yet another room full of goblins; head out the west door and slightly southwest to the last door to open up a room full of kobolds that also has a treasure chest. Monsters: kobolds, orcs, goblins, mice, skeletons Gork's Grovel: Location: white house just south of the east gate of Scorn. Hints: Going in you're immediately hit by goblins and orcs. Go east then west to clear out the generators, then if you wish, take out the mice for the treasure in the room north of the east generator, then head back west to the doors. Check the double doors just north of the main doors for traps but don't open them yet. Go through the door to the north of the west wing and take out the generators to the north and to the east. Clear out the orcs and go ahead and open the double doors if you wish. You cannot open the door to the northwest yet, so open the one in the north east and take out all of the goblins and orcs. Keep pushing until it's clear and go upstairs. There's some food and some orcs and goblins waiting for you. For the next bit it's all orcs and goblins in two-wide corridors. Fight your way through there. Eventually you'll see two generators. Destroying the east one will get you a crusty old key with a goblins head on it; you'll need that for the door downstairs. Go through the door that's immediately next to you and get ready to go meet Gork. If you talk to Gork he'll tell you where you can get the key for the treasure outside this room (it is in the Friendly Giant's Tower). If you don't attack him you can loot to your content. As a troll, Gork is weaker than average, so higher level characters might want the experience for killing him. You can then go back down, clear out the last treasure room, and leave. The downstairs treasure room includes a Gate Pass, meaning you can now get out of Scorn without knowing the password. Monsters: goblins, orcs, mice, troll Old Mansion: Location: Long brown house just south of the east gate of Scorn. Hints: When you go into the house there isn't much. Check out the treasure chest and open the lever. Outside there's a goblin, some kobolds, and some ants. They're easy to kill. If you go east, there's a wishing well. Inside you'll find city guards, kobolds, orcs, goblins, gnolls, ogres, grim reapers, ghosts, demons, and lots of transporters and earth walls. I have not explored it thoroughly. To the west is Filur's Cave. Go down and pull the lever, then follow the path. When you come out, you'll be attacked by an orc and a cleaning woman. Take care of them, go west and clear out the generator before heading on. A quick note: if you're not careful in here, you can trap yourself. Either make sure someone else on the server can help you out, or have a scroll (or spell) of word of recall on you. After killing the kobolds and orcs to the west go east through the earth wall. Make sure you have something you can use to drop on buttons. Drop something on the little button then clear out the kobolds, orcs, and gnolls. Go turn the lever, head north through the gate and kill the enemies up there (goblins and orcs) and make sure there are goods left on the buttons up there. Feel free to open the door to the south connecting back to the previous rooms if you want. The next few rooms will probably be open between themselves thanks to buttons. Kill the ogres, gnolls, orcs, goblins, and few madmen, but don't roll the boulder! After killing them all roll the boulder north than west onto the big button to open up the next gate. Here you'll hit a large room full of orcs, goblins, gnolls, ogres, birds, and ants, with the occasional pixie. Start slaughtering them and destroying the generators, and hit the hole in the east part of the room for more fun. Throw the lever on the east to open the door to the outside (you'll come out at the Stronghold). As you kill them, mind the buttons, and start moving south. As you do so, mind the buttons (remember, some creatures will pick up items on the ground) and kill the ogre generators. South of there you'll see a demon or two, a beholder, orcs, goblins, ogres, gnolls, and ghosts. Go after the demons and beholder first, then clear out the rest. Hit the hole in the northwest corner, but whatever you do, do not go all the way south yet. Mind the boulder, kill the enemies, then roll it onto the large button for safekeeping. As you move south on either side you'll kill one generator and see more. Be careful when you go fully south! Not only are there madmen down there, but also wyverns and one skull. You'll also have demons and scorpions. Finish them all off and you're finished, with lots of treasure if the wyverns and skull didn't fry them. Monsters: kobolds, orcs, goblins, gnolls, ogres, madmen, ghosts, birds, ants, city guards, grim reapers, demons, beholders, wyverns, skulls House of Porters: Location: white house, north of stronghold Hints: As the sign points out, this is a one way map. Go inside, look at the stuff (don't worry, this is the one room you'll return to) then head on in. The first room is fairly easy; just green slime. They do reproduce, though. Then you have ants, orcs and birds. You then have gnolls, mice, more mice, goblins, and more green slime. Remember that you don't have to kill them all, you just have to get through to the teleporter. You then have bees, bats, orcs, and ogres before you're back out. Monsters: slimes, ants, orcs, birds, gnolls, mice, goblins, bees, bats, ogres Mad Mage's Tower: Location: Southernmost of three towers, just south of Town Square Hints; As you burst through the door there are three rooms to the right with generators, than the hallway goes to the left and there are two more. It then goes south and you hit two more. Killing all the orcs and kobolds you can go up the stairs. Upstairs you hit kobolds, orcs, and goblins, in two wide hallways. Past a few sets of generators and you go up another flight of stairs to the same thing. Go south, then east, but skip the first hallway and go north in the second. There, destroy the generators, throw the lever, and go back to the first hallway so that you can go through the gate and grab your treasure. Upstairs there's a guard and the mad mage. Neither will attack you but you can talk to them. Monsters: kobolds, orcs, goblins Lake House: Location: The brown house in the south east corner of the lake, south east of town square, near Harry's Place. Hints: Go in and go north in the grass to get the key and take care of some pesky bees. Go back to the front and unlock the front door. Orcs and goblins immediately greet you; kill them, destroy the generator, grab the key and go back to the two doors immediately inside the front door. The west one has mice, the east one orcs. Then go through the north door. You face a large group of goblins, gnolls and birds. Kill them and the door to the south hides a scorpion and an ogre. The final door, to the south, hides a skeleton and a panther. Monsters: kobolds, orcs, mice, goblins, gnolls, birds, scorpions, panther, skeletons Harry's Place: Location: White building east south east of the lake, near town square. Hints: The sign says at least level 4, though if you're going much into it you'll want to be higher. If you go west, then north, there's a weapon usually hidden in the bushes. As you go in most of the doors are simply "walk through" type doors. Clear out the two ghosts and one zombie to the northeast first; that'll give you a little bit of a warning of what you're doing. Then go west and get the large room full of them. Don't open doors you don't have to, just take them one at a time. As you work your way through the east side you can go outside. Go down the stairs to the lower level. Kill the ghosts. On the east side you'll see four gravestones; the second one from the top has a button. Drop something on it and kill the skeletons, then go into the next room and kill any generators in there. The wall in the southwest corner is fake; go south through it. Quickly go east and clear out the zombies, skeletons, and madmen, return west and clear out the first room to the north. Go east again and clear out the room on the east side after you head north and the room above it, They only contain mice and bats. The large room to the west is full of zombies, fight them off and you'll see a gate to the north. Go back into the hallway, go into the far northeast room, kill the spiders and throw the lever. Go back to the gate. The skull there is actually a teleporter. Get on it and hit "a" to go through to the other side. The sign says "under construction"; if you go south, you fight one black pudding and get some treasure. West and you deal with skeletons, xans, and snakes. Go back to the very beginning of the house and this time go north. Once again, take each room one at a time, and try to clear them out behind you so you're not ambushed later by accident. Go through the south door and there's a set of stairs warning you that you should be level 5 or higher. Clear out the initial room and then it's your pick. Starting from the east you're going to hit lots of zombies, skeletons and ghosts in each room, without many surprises. Simply clear them all out, and try to keep a clear lane to the stairs in case you need to retreat. Monsters: ghosts, skeletons, zombies, xans, madmen, snakes, black pudding, spiders, bats Goth's Tavern: Location: Yellow building just inside the east gate. Hints: Don't start a fight on the main floor, though the current changes to characters makes that impossible. If you talk to the various people you can get hints, helps, etc., for various parts of the game. The drunk in the upper northwest corner will open a gate to the downstairs if you give him booze. Downstairs is a large number of interconnected large rooms. Going east will take you to a room full of ants; go north and take out two hallways full of mice. From there it's a large number of orcs, kobolds, and goblins. On the main floor you can also see that the gate password is (check next to the poker room, outside of it on its west wall, near one of the grey columns). You can also go upstairs. Upstairs is a place for sneaking from room to room, stealing stuff. You have to deal with pirates, vikings, elves, thieves, dogs, mice, and Royal Guards up there. Monsters: kobolds, orcs, goblins, ants, mice, towns people, city guards, royal guards, pirates, vikings, elves, thieves, dogs Puddings Place: Location: In the group of six brown houses west of Goth's Tavern it is the upper middle one. Hints: It starts off inocous enough with some kobolds and orcs. You'll hit two slimes, though, that attack with acid, and then a black pudding which does the same. After two more black puddings you run into a group of wraiths. Fireballs are you friends here. At the end is a decent selection of loot. Watch out for your weapons and acid degradation, though! Monsters: kobolds, orcs, slimes, black puddings, wraiths Smith's House: Location: long red house, north of undead church, in the south of Scorn. Hints: Finish off the birds and gnolls outside, then move in. There are gnolls in every room. If you go north, than east, then outside you'll find gnoll generators in the garden in the far two corners. Destroy them and free the house. Monsters: gnolls, birds Devourer's Temple: Location: the first small grey temple from Town Square, next to the sign saying "Street of the Gods". Hints: If you go outside the temple proper near the small building below it, a secret door will open one square in from the west side. Go in, and go downstairs. First some skeletons will jump you. Go to the east and pull the lever. A secret door to the north will open with a number of vampires and two skeleton generators. Monsters: vampires, skeletons Undead Church: Location: white church in the middle of the far southern wall. Hints: Bring a torch with you! Clear out the zombies on the inside then go through the northern doors (this are just "walk through" doors). Clear out the skeleton and zombie generators to get some treasure. At the very south end is a hole in the ground to a random map; this is important for a quest from the king. Prison: Location: Northeast corner of Scorn. Hints: This is an important place to talk to people. Talk to everyone! The manacled prisoner will tell you where the goblin prisoner escaped so you can open a passage to Port Joseph. Pull the northern lever to the east to open up the next part of the courtyard. The first few rooms are easy enough. Kill the kobolds, kill the orcs, kill the gnolls, kill the birds. To get to the next room after the gnolls apply the "gate room door" lever. Don't open the other ones yet; open the door and kill the giant and the pixies, gathering the viable pixie dust, pixie wings, wands and staves, then open up the northern door if you need to and kill the slimes and one greem slime to get food. The levers are fairly well labeled. Just be careful you know what you're getting into as you open each one! In right cell 4 there's a hidden treasure chamber. When you pull the "Grass Area" lever you'll let out not only the black puddings but also the Chinese Dragons; play it right and the dragons will kill the puddings. Monsters: City Guards, cleaning women, kobolds, orcs, gnolls, birds, hill giants, pixies, ghosts, wraiths, skulls, zombies, demons, angels, wyverns, dreads, grimreapers, ogres, gnolls, skeletons, scorpions, mice, black puddings, chinese dragons, beholders Yarid's House: Location: Brown house two squares east of the Mad Mage's tower's base. Hints: The chest in Charles' Private Room has a rune of ball lightning OVER it; check for traps before entering. The trick to getting inside where the skeletons are is to step on the booze in Charles' room, then run up there. You can get a Port Pass up there. Pulling the lever will let you get the note with the password (chair) on it. Go south and give the password. Note that it says this dungeon is level 8 or higher. As you go through, just before the first set of double doors, go west. The wall will break away and you can get some treasure. Watch out for the rune of confusion just north of here! There's a sign warning you of it. Follow the next room around and clean it out. The room with food contains a secret wall that'll let you into a room full of beholders. The lever to the east simply shuts up parts of the room. Stepping one square to the west of the gate will open it up. You can get to the hole down there by going to the hole in the first room; they meet up. After clearing it all, go to the teleporter. Going through there you'll hit some skeletons and skulls. After them, grab the loot (remember to look INSIDE the bags in here) then pull the lever to go on. If you go past the next lever towards the dead end, back up one square and go north through the earth wall. Watch out for the lightning wall and head on through. The demon you killed should give you mithril chainmail. The next room is full of fire experiments. If you go to the southwest corner, there is an earthwall to the west. If you continue on you'll find some more monsters and more treasure. The key here is to find Yarid's Key, and open his door; if you fail to do so, you'll be attacked by a Wild Pyromaniac. Also make sure to bring word of recall or the such so you can escape if trapped. Monsters: Skeletons, dogs, blobs, trees, madmen, ogres, skulls, beholders, wild pyromaniacs, giants Church of Gorokh: Location: immediately southwest of the Temple of the Devourers Hints: If you move the fireplace you'll find a random map. In this random map are many different types of demons. Church of Valriel: Location: White church near the far southwest corner of Scorn. Hints; At the very top of this is a random map full of angels. In addition, if you past the altar, to the very top middle, then right, you can go through the wall and get a treasure chest, one wine and one bread. Quests: Underworld Quest: Locations: A Small Well (between the healer and the guild building in the northeast part of Scorn), Drinking Fountain (immediately south of town square), Dark Well (far south of Scorn, next to the Undead Church), the east Gatehouse Hints: For the east Gatehouse, go right to the middle of the gatehouse and go south. You should be able to see the two inner walls; the middle block allows you to walk through. You have to kill an mercenary to get down the stairs, though. All of these maps intersect in different ways. The ultimate goal is to get the Special Cup, the Special Crown, and the Special Dagger, then lay them on the three flagstones to open up the gate. Go through the gate, come back, and there's a side passage to a room that if cleared out will allow you to block the hole the monsters are coming in through. To give a complete walkthrough would take too much time. Simply explore the maps, and talk to anything that doesn't attack you right away. For example, a skeleton will "grin at you expectedly"; talk to him and answer his riddle (clouds) and he'll give you the special crown. After you lay down the three "Special" items you'll go towards a staircase. If you go immediately right or left you'll open up secret treasure rooms. Monsters: kobolds, orcs, goblins, gnolls, ogres, small trolls, beholders, demons, pirates, vikings, thieves, hill giants, madmen, panthers, bats, ants, bees, xans, diijas (ninjas), dogs, scorpions, snakes, giant centipedes, city guards, royal guards, wyverns, spiders Nobility Titles Quests: Locations: Hall of Quests, Random maps Hints: These quests gain you ranks of nobility. In addition, you will occasionally get artifacts for completing them, and will no longer need passes for the port or the gate. For the most part, you'll want to move as fast as possible through these quests, constantly going down, until you find the last level, and from there kill whomever needs killing and get the item. The first is the Knight quest. You need to get the head of the Goblin Chief. You'll find the random map one square south and three squares east of the tower of Barad-Dur just northeast of Scorn. Monsters: orcs, kobolds, goblins The second quest is to become a Baronet. Go to the hole just south of the city and kill the Ogre chief. You'll find madmen and Ogres down there. The third quest is to become a Baron. For this, you need to go to the undead church and go to the random maps beneath it. There you'll fight varieties of undead until you kill the Lich, and get his ring. Monsters: Ghosts, spiders, skeletons, wraiths, zombies After that, the next step is to become a Marquis. For this, you'll need to go to the random map in the far south of Scorn and get a magic mushroom. It is in the forest in the far far south of Scorn, two squares south of a cave south of Brittany. The best way to handle this one is to move through the maps as fast as possible, find the mushroom (which will be obvious) and word of recall out. You'll deal with centipedes, ants, bees, bats, giant cobras, pixies, mice, scorpions, xans, spiders, birds, and unicorns. Next, to become an Earl, you'll need to bring the king the wing of his enemy, the Lord of the Wyverns. Take plenty of fire potions and head south of the tower of the Stars. You see two high mountains just south of there; the west one is the one that will automatically take you down there. You'll fight various sizes of wyverns. From laneholc at earthlink.net Sun Jul 15 12:22:19 2001 From: laneholc at earthlink.net (Lane Holcombe) Date: Thu Jan 13 18:04:04 2005 Subject: [CF List] That name is (still) already in use. Message-ID: <01071512220503.01353@server.unix.home> Hi. I've compiled and installed crossfire twice but each time I try to start the game I get a window that claims: "*** Welcome to Crossfire *** After you have created your character, use the arrows to move around. The command prompt can be accessed by typing ' (single quote). Useful commands are 'help, 'help keys, 'scroll, 'quit. What is your name?" But each time I try to enter my name or my friend's name or my cat's name or any name I make up I get: "That name is already in use." How do I get through this to the game? Thanks From mwedel at scruz.net Tue Jul 17 23:09:17 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:04 2005 Subject: [CF List] Spoilers References: <3B544116.3A3A82A0@cstone.net> Message-ID: <3B550BED.97768622@scruz.net> I didn't look over the entire list, but it seems a lot of it can be condensed down with: 1) Always search for traps on doors and chests before opening them. Search multiple times to increase the likelihood of finding the traps. 2) Kill all monsters in one area before moving to the next area. Don't leave monsters behind that will cause problems later. Especially make sure you eliminate the generators (it may be worth describing what the generators look like) 3) Don't pick up treasure as you go (or if you do, only pick up the good stuff). Instead, clear out the monsters, and then come back and pick everything. Ideally, make one big pile of all your loot - this way similar items group together, so can improve money when selling (See next note) 4) Cast detect curse and detect magic on items before you sell them - if you can't cast the spells yourself, use the altars in the shop. Note that one spell will cover all items on the floor and/or in your inventory. Sell non magical items and cursed items right away. For magic items, it is usually worth it to start identifying them at a pretty early level. If you have skills that identify (jeweler, smithery, bowyer, etc), use these skills. Note only does it save you money, but it gets you exp also. While in many cases the cost of identify may not be recouped when you sell the item, it only takes a few really good items to shift the balance that other way (a +3 sword may cover the costs for a hundred identifications for example) 5) Don't be afraid to retreat if you get too beat up. Best thing is to leave the map with danger on it, as monsters will not follow. This provides a safe way to get your hp/sp/grace up. 6) (this should really be number one): If your character starts with praying skill, look at the gods and become a follower of one ASAP. Some are much better than others, but the benefits of some of the easier ones are very good. Thats just some notes off the top of my head. I don't really mind a detailed description for perhaps a few of the dungeons, but it strikes me at some point you really want to teach how to play the game overall, and not just get through some of those dungeons alive, which is what I think the points above try to do. Also, I'm little worried that a detailed description could pose problems if some of the stuff changes - ie, some new monsters get added to a map, or generation of maps/items somehow changes, or even if the location gets shuffled around some. This is more a problem with just keeping the doc up to date than anything else. From yann.chachkoff at mailandnews.com Fri Jul 20 15:17:51 2001 From: yann.chachkoff at mailandnews.com (Chachkoff Yann) Date: Thu Jan 13 18:04:04 2005 Subject: [CF List] race, profession, guild & titles In-Reply-To: <3B50C607.86CC02F@scruz.net> References: <01071412592300.01564@localhost.localdomain> <3B50C607.86CC02F@scruz.net> Message-ID: <01072016175101.01014@localhost.localdomain> Le Samedi 14 Juillet 2001 18:21, vous avez ?crit : > Chachkoff Yann wrote: > > Maybe implementing a list containing all the titles a character owns is a > > good idea, and quite easy to do, so you can have a character like this: > > While there is only one 'title' string, there is nothing preventing the > use of a very long string, which effectively amounts to multiple titles. > It would probably make sense to make the title a string pointer instead > something of static length, but thats a pretty easy change. > > I don't see the need for a list - if you really need to extract something > from it, you can use strstr or the like. But for most actual events, the > inventory checker and invisible marker objects should probably be what is > used. Optionally, msg values or the like in these marker objects could be > used to generate a title. Note that title is a player only feature > (monsters do not have titles), which may be one reason that using the > marker objects could be better. When I used the term "list", I was quite vague about the way to implement it. It could of course be done in an easier way than a linked list or something like that. > > > Gros the bug keeper, Knight of Scorn, Apprentice of Occidental Mages > > > > where "bug keeper" is just a nickname given by the player with no > > practical use, and the others are titles useful in the game. Then the > > player commands should be modified to something like: > > > > nickname [name] : gives your player the nickname specified (the current > > title command); > > titles : display all your titles in the client log window. > > Is there a big reason for nicknames within the game? Its not a hard > feature to support (since it already exists), I just wonder how much people > care about it or would look at them. > It is a feature most players like to play with. It may just be a little useless toy, but since most people like it and because it does not require lots of resources, I suppose letting it would not harm. It also solves the debate : I want it / Remove it; so we can still have the nickname system for those that find it fun to use alongside with a complex title system used for guild entries, quests, etc. > Presumably, when people still talk/shout, it will just use the base name > (Gros), and not the title information. Otherwise, at higher levels, the > titles would be longer than the message itself, which could prove pretty > annoying. Of course, it is obvious. That's why I suggested a "title" command, so they are not displayed unless you really want to know what they are (much like the list of known spells). Chachkoff Y. From mwedel at scruznet.com Fri Jul 20 17:38:08 2001 From: mwedel at scruznet.com (Mark Wedel) Date: Thu Jan 13 18:04:04 2005 Subject: [CF List] race, profession, guild & titles In-Reply-To: <01072016175101.01014@localhost.localdomain> Message-ID: On Fri, 20 Jul 2001, Chachkoff Yann wrote: > It is a feature most players like to play with. It may just be a little > useless toy, but since most people like it and because it does not require > lots of resources, I suppose letting it would not harm. It also solves the > debate : I want it / Remove it; so we can still have the nickname system for > those that find it fun to use alongside with a complex title system used for > guild entries, quests, etc. Makes sense. Presumably, you will want to make it clear what is the title the character has chosen, and what titles the character has earned. So if you get the title of 'retriever of the kings crown' for some quest, and a player decides to 'title' himself with that, it would be clear what title is really his and what is effectively a nickname. > Of course, it is obvious. That's why I suggested a "title" command, so they > are not displayed unless you really want to know what they are (much like the > list of known spells). Presumably, examining another player (via clicking on them) would show you all the titles they may have. I suppose also that if we allow characters to build monuments, the monument may list their titles. Otherwise, other than cosmetic/fun, do multiple titles have any real efect? I suppose you could have checkers check the characters title, but presuming they got the title from some source, just as easy to add an invisible object that contains the title as well as key for the inventory checker. All in all, this is probably not a hard thing to do, and probably no big reason not to do it. OTOH, if this is a feature most people don't care about or look at, there is then the question if it worth doing at all. From yann.chachkoff at mailandnews.com Sat Jul 21 11:39:19 2001 From: yann.chachkoff at mailandnews.com (Chachkoff Yann) Date: Thu Jan 13 18:04:04 2005 Subject: [CF List] race, profession, guild & titles (Getting tired) In-Reply-To: References: Message-ID: <01072112391901.01204@localhost.localdomain> Le Vendredi 20 Juillet 2001 18:38, vous avez ?crit : > On Fri, 20 Jul 2001, Chachkoff Yann wrote: > > It is a feature most players like to play with. It may just be a little > > useless toy, but since most people like it and because it does not > > require lots of resources, I suppose letting it would not harm. It also > > solves the debate : I want it / Remove it; so we can still have the > > nickname system for those that find it fun to use alongside with a > > complex title system used for guild entries, quests, etc. > > Makes sense. Presumably, you will want to make it clear what is the > title the character has chosen, and what titles the character has earned. > So if you get the title of 'retriever of the kings crown' for some > quest, and a player decides to 'title' himself with that, it would > be clear what title is really his and what is effectively a > nickname. > > > Of course, it is obvious. That's why I suggested a "title" command, so > > they are not displayed unless you really want to know what they are (much > > like the list of known spells). > > Otherwise, other than cosmetic/fun, do multiple titles have any real > efect? I suppose you could have checkers check the characters title, but > presuming they got the title from some source, just as easy to add > an invisible object that contains the title as well as key for the > inventory checker. That I do well understand. But there was a discussion here about adding titles and using them in the game rules. Now you are saying that maybe it is not an interesting stuff ? I'm quite puzzled by this. > > All in all, this is probably not a hard thing to do, and probably no > big reason not to do it. OTOH, if this is a feature most people > don't care about or look at, there is then the question if it worth doing > at all. *sigh* Just only two points: - Titles and nicknames are quite important (to a certain point of course) for many players (Again, I've not seen the question "what players do think about it" put a lot here) do like the title stuff and use it, and would be happy to see it extended in a way or another. So it is certainly worth doing it. - It may be easy to do, and there may be no good reason not to do it. Then why no coder already made a model and published as a patch here so anyone can test it ? Should I or Mich. Toennies go again alone to see it included one day ? Where are all the coders gone ? I admit some discussion is a neccessity to get a good consensus, but there must be a time to take the final decision and go one step further ! If it takes two weeks for a thing as simple as the player title, how long could it take to decide what to do with more important things like new object structure or multiheaded server ? I'm sorry if all this sounds quite "rude", but I and others are becoming upset by seeing how things are getting in Crossfire - should we move to another project maybe less advanced but with more good will to do productive things ? Chachkoff Y. (I think I'll get *lots* of friends with this...) From andi.vogl at gmx.net Sat Jul 21 08:54:08 2001 From: andi.vogl at gmx.net (Andreas Vogl) Date: Thu Jan 13 18:04:04 2005 Subject: [CF List] race, profession, guild & titles (Getting tired) In-Reply-To: <01072112391901.01204@localhost.localdomain> Message-ID: Chachkoff Y. wrote: Just a few non-techincal notes... ;) > [...] > - It may be easy to do, and there may be no good reason not to do it. > Then why no coder already made a model and published as a patch here so > anyone can test it ? Should I or Mich. Toennies go again alone to see it > included one day ? Where are all the coders gone ? Well, Crossfire isn't that large a project. We never had hoards of coders. And besides, it's summertime and some of us (like me) have to make their stand with exams. > I admit some discussion is a neccessity to get a good consensus, but there > must be a time to take the final decision and go one step further! If it > takes two weeks for a thing as simple as the player title, how long could > it take to decide what to do with more important things like new object > structure or multiheaded server ? The critical point is always "who does it?", rather than "is it okay to do it?". Discussing things without anyone having volunteered to code it often ends at a dead point when everything is said and nothing is done. Personally I try to stay out of such kinds of discussions, but opensource means that anyone is welcomed to post ideas and discuss them. To my experience, the best way to go is the following: 1) You have an idea, and post it to the list. Explain why it's cool/neccessary and ask if nobody has any serious reason against it. 2) Code it (or get it coded by a friend). Never expect a "random person" to do it after reading the idea on the list. 3) Post to the list that it's done, explain how it works and that it won't have any big disadvantages. 4) Commit it to cvs. This has always worked fine for me, and never caused inconvenience (well, I hope so). > I'm sorry if all this sounds quite "rude", [...] > (I think I'll get *lots* of friends with this...) Don't worry, I understand your point. When you are in the CF community for a while, you'll get used to these kinda things. It's really not a big deal. Andreas V. From yann.chachkoff at mailandnews.com Sat Jul 21 17:33:55 2001 From: yann.chachkoff at mailandnews.com (Chachkoff Yann) Date: Thu Jan 13 18:04:05 2005 Subject: [CF List] race, profession, guild & titles (Getting tired) In-Reply-To: References: Message-ID: <01072118335500.03527@localhost.localdomain> Le Samedi 21 Juillet 2001 09:54, vous avez ?crit : > Chachkoff Y. wrote: > > Just a few non-techincal notes... ;) > > > [...] > > - It may be easy to do, and there may be no good reason not to do it. > > Then why no coder already made a model and published as a patch here so > > anyone can test it ? Should I or Mich. Toennies go again alone to see it > > included one day ? Where are all the coders gone ? > > Well, Crossfire isn't that large a project. We never had hoards > of coders. And besides, it's summertime and some of us (like me) have to > make their stand with exams. That I understand quite well (I had exams too), but the problem is deeper than that - Sadly, it is not only because it is summertime; it has been so at least for the last year. And I do know quite well that crossfire is not a large project - That's why it is quite strange that decisions are taking so long to take. > The critical point is always "who does it?", rather than "is it okay to do > it?". > Discussing things without anyone having volunteered to code it often > ends at a dead point when everything is said and nothing is done. > Personally I try to stay out of such kinds of discussions, but > opensource means that anyone is welcomed to post ideas and discuss them. > I never contested the principles of OpenSource, and I totally agree when you say everyone is welcome. I never said the contrary. > To my experience, the best way to go is the following: > 1) You have an idea, and post it to the list. Explain why it's > cool/neccessary > and ask if nobody has any serious reason against it. > 2) Code it (or get it coded by a friend). Never expect a "random person" to > do it after reading the idea on the list. > 3) Post to the list that it's done, explain how it works and that it > won't have any big disadvantages. > 4) Commit it to cvs. > I agree with that scheme. It is the one commonly used in OpenSource projects as well as in some "commercial" ones. The problem here is that it seems quite difficult to reach 2). Instead of just "Here is the idea - What do you think" followed by clear answers on the subject, we too often get endless discussion about small details. This is what I am against - I totally agree with the principles you defend here, and I usually follow them. > This has always worked fine for me, and never caused inconvenience > (well, I hope so). This has always worked well for me and others... As long as anyone follows some simple rules, the first being trying to avoid saying "I don't like the idea" without any good explanations. Another one is to never forget what players do think about the program. > > > I'm sorry if all this sounds quite "rude", [...] > > (I think I'll get *lots* of friends with this...) > > Don't worry, I understand your point. > When you are in the CF community for a while, you'll get used to these > kinda things. It's really not a big deal. If you understand my point, it is good. What I fear is that some people could feel I attacked them and take what I said for themselves (which is of course untrue). Chachkoff Y. From mwedel at scruz.net Sun Jul 22 02:54:52 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:05 2005 Subject: New idea integration speed, was Re: [CF List] race, profession, guild & titles (Getting tired) References: <01072118335500.03527@localhost.localdomain> Message-ID: <3B5A86CC.4A8D3674@scruz.net> Here are my relatively quick thoughts on this. Approval speed: This is a balance between doing unnecessary or unused work vs speed of getting this done. People could generate code and post patches without any prior discussion at all. Doing that has a much higher risk of the community at a whole saying that patch is not interesting, and should not go in CVS. The opposite extreme is that there is a long/thought out approval process, but when a yes decision is reached, its pretty much 100% sure that the code will go in CVS. What's the correct approach? Depends on numerous factors. Taking in unsolicited code certainly works, and has happened in the past. But that situation certainly works much better when you have lots of coders with free time on their hands and who won't complain too much if the patch is not accepted. Opposite case is better when you have fewer coders, so that the limited resources efforts are not wasted. Unfortunately, I think we are more in this case than the former. Given that we are in a limited resource situation (IMO), I tend to like to discuss things more. I've probably seen enough ideas recently to keep several people busy a good many hours a week. My last comment on titles was to address that. I don't see any problem with someone doing the code, but the question is then if it is worth it if no one will use it. If you decide that this is still something to do, and what to do it yourself, I have no problem with that code going in. Unfortunately, it is tends to be very hard to know when someone is proposing idea because they will write the code for it, and when someone is proposing an idea that they think should get done, but are hoping someone else will code it. I think approval and discussions will get cut much shorter if you say 'here is an idea I want to code - what do others think?'. This will at least help me out a lot - some of the lengthy discussions I partake is because that is not clear, so without anyone clearly willing to code it, this means it goes in the main queue of things to do which for the most part leaves it to me to do. And given that, I then need to try and prioritize that queue, so I try and see how important the job is. Related, if you are a coder and see someone else post an idea that you are willing to code, please say so. That will once again help things out. And also remember that I may forget the original message saying that person X was going to code it if the conversation goes on too long (sometimes a conversation/idea is idle for a week, and someone comes back from vacation, brings up some new interesting points, which starts a conversation again. From tanner at real-time.com Wed Jul 25 03:45:32 2001 From: tanner at real-time.com (Bob Tanner) Date: Thu Jan 13 18:04:05 2005 Subject: [CF List] Scheduled maintenance 26-Jul-2001 at 2:30am CDT Mailman upgrade Message-ID: <20010725034532.A12053@real-time.com> What : Schedule maintenance When : 26-Jul-2001 02:30 CST Length : estimated 15 mins Why : Upgrading mailman 2.0.5 Details ------- I'll be upgrading mailman to 2.0.5 to keep us current with the latest release and to fix some of the annoying admin bugs. Should be back up in 15 minutes. Thanks. -- Bob Tanner | Phone : (952)943-8700 http://www.mn-linux.org | Fax : (952)943-8500 Key fingerprint = 6C E9 51 4F D5 3E 4C 66 62 A9 10 E5 35 85 39 D9 From lohner at debian.org Fri Jul 27 11:57:43 2001 From: lohner at debian.org (Nils Lohner) Date: Thu Jan 13 18:04:05 2005 Subject: [CF List] First trials Message-ID: <200107271657.SAA27848@topaze.ecf.teradyne.com> Well, I compiled the client and server on Solaris without problems: ~ > uname -a SunOS topaze 5.7 Generic_106541-02 sun4u sparc SUNW,Ultra-5_10 ~ > gcc --version 2.95.2 I had a problem starting the client, but after digging through the mailing list archives a little found the solution: ~ > gcfclient -server 127.0.0.1 This needs to be a FAQ since anyone with a dialup or behind a firewall will not be able to start the server. a -DEBUG option is also needed in the client, to be able to trace where it blocks. I saw the problem with an strace: ... connect(9, {sin_family=AF_INET, sin_port=htons(13326), sin_addr=inet_addr("208.20.202.20")}}, 16 Great game, but for a 1.0.0 version it definitely needs polishing. The basic features are all there; just the way to use them and the intuitiveness needs to be improved IMO. BUGS/COMMENTS: - here's an error in a defaults file Unknown display specication in /u/lohner/.crossfire/gdefaults, xpm - if .crossfire doesnt exist, does it get created? I get errors like Could not open ~/.crossfire/keys, trying to load global bindings ...will it create this after a first run? - after the first character I played, none of my characters have ANY melee weapons skils, no matter which race/type I pick! AAh, I need to pick a type ( paladinl, etc.) before I can have any skill at all. This needs to eb a a FAQ - arrows never seem to get added to my arrow count when I pick them up. Ah. They go in teh quiver (likce the sack). How do I put arrows NOT in the quiver into it, and how do I select which ones I want to fire? - I picked up a cloak once and it didn't appear in my inventory. Ah, the sack. It should indicate how many items are in it (maybe in parentheses?) so you see when something gets added to it. AAh. When the sack is open you can put stuff into it. This needs to be documented somewhere; else its confusing for newbies. - I don't like 'three shortswords'... make it '3 shortswords'. Easier to read. - keys are difficult to figure out. How the heck do you apply it to a door??? It keeps hopping into my sack. I want to be able to click on teh key, then apply and a direction. I can't open the beginner door! - graphically, the 'live' characters need to stand out more from the items lying on the floor. I can't see when I'm being attacked sometimes when clearing out an area! - when wielding/unwielding a locked long spear I got: Could not find match for long spear +1 The wielding etc. worked fine though. - the words 'active' 'open' 'readied' etc. take up a lot of space. Have an option to replace them by single letters. 'worn' and 'wielded' might be the only problem there. Change 'worn' to 'donned' ? - when resizing the inventory window (in single window mode) the map doesn't get redrawn. In fact, any resize seems to do this. I have the latest stable GTK installed. - gravestones seem to stick around for ever. Why? Expire them after a certain number of turns/hours/ etc. Lots of items lying around (esp. in hack-em-up areas) are useless, esp. if you can't eat them and can't really make money off them. Orcs heads etc. They should rot and then disappear - if I can't save and quit everywhere, give me a PAUSE at least! (otherwise it's hard to play at work :) Good game though... can get addicting :) Nils. From yann.chachkoff at mailandnews.com Sat Jul 28 09:11:35 2001 From: yann.chachkoff at mailandnews.com (Chachkoff Yann) Date: Thu Jan 13 18:04:05 2005 Subject: [CF List] First trials In-Reply-To: <200107271657.SAA27848@topaze.ecf.teradyne.com> References: <200107271657.SAA27848@topaze.ecf.teradyne.com> Message-ID: <01072810113500.01335@localhost.localdomain> Le Vendredi 27 Juillet 2001 12:57, vous avez ?crit : > Well, I compiled the client and server on Solaris without problems: > > ~ > uname -a > SunOS topaze 5.7 Generic_106541-02 sun4u sparc SUNW,Ultra-5_10 > ~ > gcc --version > 2.95.2 > I am interested to know more about the server compiled on SunOS/UltraSparc. Do you get warning messages when compiling ? Are the performances good ? > Great game, but for a 1.0.0 version it definitely needs polishing. The > basic features are all there; just the way to use them and the > intuitiveness needs to be improved IMO. > > BUGS/COMMENTS: > > - here's an error in a defaults file > Unknown display specication in /u/lohner/.crossfire/gdefaults, xpm I never seen this. Can you send a copy of your error message ? > > - if .crossfire doesnt exist, does it get created? I get errors like > Could not open ~/.crossfire/keys, trying to load global bindings > ...will it create this after a first run? No, it does not get created (not for me at last). > > - after the first character I played, none of my characters have ANY > melee weapons skils, no matter which race/type I pick! AAh, I need to > pick a type ( paladinl, etc.) before I can have any skill at all. > This needs to eb a a FAQ This seemed quite obvious. But if didn't guessed it, it must certainly go into the FAQ. > > - arrows never seem to get added to my arrow count when I pick them up. > Ah. They go in teh quiver (likce the sack). How do I put arrows NOT > in the quiver into it, and how do I select which ones I want to fire? To put arrows not in the quiver into it, open the quiver (just like a sack) and drop your arrows inside. > - I picked up a cloak once and it didn't appear in my inventory. Ah, > the sack. It should indicate how many items are in it (maybe in > parentheses?) so you see when something gets added to it. > AAh. When the sack is open you can put stuff into it. This needs to > be documented somewhere; else its confusing for newbies. I like the idea of indicating object numbers in the sack. Maybe you are the first to ask for that; I've never crossed that idea before. > - I don't like 'three shortswords'... make it '3 shortswords'. Easier > to read. Maybe, but I'm not sure. Some people prefer "three" instead of "3". > - keys are difficult to figure out. How the heck do you apply it to a > door??? It keeps hopping into my sack. I want to be able to click on > teh key, then apply and a direction. I can't open the beginner door! Simply put keys in your inventory, not in your sack (close the sack before grabbing it). It will be automagically used. > - graphically, the 'live' characters need to stand out more from the > items lying on the floor. I can't see when I'm being attacked > sometimes when clearing out an area! Do you play with XPM or PNG ? If XPM, try PNG instead, they are a little more clearer. > - gravestones seem to stick around for ever. Why? Expire them after a > certain number of turns/hours/ etc. Lots of items lying around (esp. > in hack-em-up areas) are useless, esp. if you can't eat them and can't > really make money off them. Orcs heads etc. They should rot and then > disappear Not that although gravestones are useless, orc heads are not (try alchemy). And they get erased when the map gets reset. > - if I can't save and quit everywhere, give me a PAUSE at least! > (otherwise it's hard to play at work :) Pause is quite impossible (remember that the game uses client-server and there may be many other people playing). > > > Good game though... can get addicting :) > > Nils. From lohner at debian.org Sat Jul 28 05:08:54 2001 From: lohner at debian.org (Nils Lohner) Date: Thu Jan 13 18:04:05 2005 Subject: [CF List] First trials In-Reply-To: <01072810113500.01335@localhost.localdomain> ; "yann.chachkoff@mailandnews.com on Sat, 28 Jul 2001 10:11:35 EDT" Message-ID: <200107281008.MAA29145@topaze.ecf.teradyne.com> On Sat, 28 Jul 2001 10:11:35 -0400, Chachkoff Yann wrote: >Le Vendredi 27 Juillet 2001 12:57, vous avez =E9crit : >> Well, I compiled the client and server on Solaris without problems: >> >> ~ > uname -a >> SunOS topaze 5.7 Generic_106541-02 sun4u sparc SUNW,Ultra-5_10 >> ~ > gcc --version >> 2.95.2 >> >I am interested to know more about the server compiled on SunOS/UltraSpar= >c.=20 >Do you get warning messages when compiling ? Are the performances good ? Warning messages: gcc -g -O2 -I../include -I./../include -c metaserver.c metaserver.c: In function `metaserver_update': metaserver.c:136: warning: passing arg 5 of `sendto' from incompatible pointer type ...that's all. Installation sugestion: - have the 'maps' archive unpack into crossfire-> Great game, but for a 1.0.0 version it definitely needs polishing. The >> basic features are all there; just the way to use them and the >> intuitiveness needs to be improved IMO. >> >> BUGS/COMMENTS: >> >> - here's an error in a defaults file >> Unknown display specication in /u/lohner/.crossfire/gdefaults, xpm >I never seen this. Can you send a copy of your error message ? That _is_ the error message. ~ > gcfclient -server 127.0.0.1 -h Unknown display specication in /u/lohner/.crossfire/gdefaults, xpmDo not understand option -h Usage of cfclient: -server - Connect to instead of localhost. -port - Use port instead of the standard port number ...etc... The client needs to support a -h or -help option too, and a -debug would be good to see where it fails with connections (i.e. connectiong to server:port etc.) The server also should print a message telling which port it listens on. I couldn't find that anywhere. Here's the file: ~ > cat .crossfire/gdefaults # This file is generated automatically by cfclient. # Manually editing is allowed, however cfclient may be a bit finicky about # some of the matching it does. all comparissons are case sensitive. # 'True' and 'False' are the proper cases for those two values. port: 13327 server: 127.0.0.1 display: xpm cacheimages: False split: False showicon: False scrolllines: 36 scrollinfo: False sound: True colorinv: True colortext: True tooltips: True The performance seems slow, both with PNG and XPM (PNG looks nicer though... it also seems a little bigger). Do you have any performance-measuring code in the client or server? That would be useful... I think that the game may have slowed down when lots of items were left lying around, even when I'm not directly on that map. Not sure though. >> - if .crossfire doesnt exist, does it get created? I get errors like >> Could not open ~/.crossfire/keys, trying to load global bindings >> ...will it create this after a first run? >No, it does not get created (not for me at last). Hm. Should it be? The messages it printed out made me wonder. I guess it's harmless though. It probably gets created when you save your gdefaults. >> - after the first character I played, none of my characters have ANY >> melee weapons skils, no matter which race/type I pick! AAh, I need to >> pick a type ( paladinl, etc.) before I can have any skill at all. >> This needs to eb a a FAQ >This seemed quite obvious. But if didn't guessed it, it must certainly go= >=20 >into the FAQ. Better yet: put a panel in front of the exit with the info, and a gate that the player needs to open. That should take care of it. >> - arrows never seem to get added to my arrow count when I pick them up. >> Ah. They go in teh quiver (likce the sack). How do I put arrows NOT >> in the quiver into it, and how do I select which ones I want to fire? >To put arrows not in the quiver into it, open the quiver (just like a sac= >k)=20 >and drop your arrows inside. I figured that out. Its not obvious though... also: once a quiver and sack are active, everything goes inside, right? >> - I picked up a cloak once and it didn't appear in my inventory. Ah, >> the sack. It should indicate how many items are in it (maybe in >> parentheses?) so you see when something gets added to it. >> AAh. When the sack is open you can put stuff into it. This needs to >> be documented somewhere; else its confusing for newbies. >I like the idea of indicating object numbers in the sack. Maybe you are t= >he=20 >first to ask for that; I've never crossed that idea before. > >> - I don't like 'three shortswords'... make it '3 shortswords'. Easier >> to read. >Maybe, but I'm not sure. Some people prefer "three" instead of "3". Easy. It's client-side, so make it a configurable option. Same for 'readied' 'worn' etc. I'd like abbreviations once I know what the possible statuses are so that the window takes less space. >> - keys are difficult to figure out. How the heck do you apply it to a >> door??? It keeps hopping into my sack. I want to be able to click o= >n >> teh key, then apply and a direction. I can't open the beginner door! >Simply put keys in your inventory, not in your sack (close the sack befor= >e=20 >grabbing it). It will be automagically used. Ah. I was wondering why keys in my sack vibrated when I got close to doors. Another FAQ maybe? >> - graphically, the 'live' characters need to stand out more from the >> items lying on the floor. I can't see when I'm being attacked >> sometimes when clearing out an area! >Do you play with XPM or PNG ? If XPM, try PNG instead, they are a little = >more clearer. Yes, PNG is better. >> - gravestones seem to stick around for ever. Why? Expire them after >> a certain number of turns/hours/ etc. Lots of items lying around >> (esp. in hack-em-up areas) are useless, esp. if you can't eat them >> and can't >> really make money off them. Orcs heads etc. They should rot and >> the= >n >> disappear >Not that although gravestones are useless, orc heads are not (try >alchemy=).=20 And they get erased when the map gets reset. > >> - if I can't save and quit everywhere, give me a PAUSE at least! >> (otherwise it's hard to play at work :) >Pause is quite impossible (remember that the game uses client-server >and=20 there may be many other people playing). Hm. True... maybe there could be an 'amulet of pause' or something that teleports you to a safe location until you unpause? Nils. From Philipp.Currlin at t-online.de Sat Jul 28 06:17:07 2001 From: Philipp.Currlin at t-online.de (Philipp Currlin) Date: Thu Jan 13 18:04:05 2005 Subject: [CF List] First trials In-Reply-To: <01072810113500.01335@localhost.localdomain> References: <200107271657.SAA27848@topaze.ecf.teradyne.com> <01072810113500.01335@localhost.localdomain> Message-ID: <15QS5j-2IXNmiC@fwd07.sul.t-online.com> > > > - after the first character I played, none of my characters have ANY > > melee weapons skils, no matter which race/type I pick! AAh, I need to > > pick a type ( paladinl, etc.) before I can have any skill at all. > > This needs to eb a a FAQ > > This seemed quite obvious. But if didn't guessed it, it must certainly go > into the FAQ. There is no real FAQ yet, but I'll start one after this reply because I also have some IRC logs with more questions. > > > - arrows never seem to get added to my arrow count when I pick them up. > > Ah. They go in teh quiver (likce the sack). How do I put arrows NOT > > in the quiver into it, and how do I select which ones I want to fire? > > To put arrows not in the quiver into it, open the quiver (just like a sack) > and drop your arrows inside. I think if you mark the arrows they get fired when you use the bow. To mark something: hold and press the middle mouse button on the object > > - keys are difficult to figure out. How the heck do you apply it to a > > door??? It keeps hopping into my sack. I want to be able to click on > > teh key, then apply and a direction. I can't open the beginner door! > > Simply put keys in your inventory, not in your sack (close the sack before > grabbing it). It will be automagically used. Better solution: type "usekeys containers" (or help usekeys) > > - if I can't save and quit everywhere, give me a PAUSE at least! > > (otherwise it's hard to play at work :) > > Pause is quite impossible (remember that the game uses client-server and > there may be many other people playing). It is possible to save and then to close the client. But it's better to use the spell "word of recall" (either learn it or read the scroll) and then to teleport back to your last savebed. From lohner at debian.org Sat Jul 28 06:28:43 2001 From: lohner at debian.org (Nils Lohner) Date: Thu Jan 13 18:04:05 2005 Subject: [CF List] more general comments Message-ID: <200107281128.NAA29513@topaze.ecf.teradyne.com> SOme more comments and suggestions on what I'd like to see and what's missing from the perspective of someone who's just started playing hte game. The suggestions are things I'd really think would make the game a lot better, and a lot of them are implementable on the client side withoug a loss of speed I assume. Nils. - when I apply to bed of reality, and then select quit I get: Got error on read (error 0) gtk_main exited, returning from event_loop - the game is too slow for me to play well on an ultra 5. This means that I have typeahead, and I don't always know when which keystrokes will be used. It should at least be an option to empty the keyboard buffer every move, so that only the current keystroke is used. This is a great help when trying to escape in battle - along the same lines, have a blood spot or something when someone dies. Its tough to read the 'grazed' etc. message to realize that something has or hasn't died. Something quick and visual would be a great help. That way you know who you've killed and who to attack next (i.e. not the monster that juat took the place of what you killed but something else already weakened for example). - Also: when creating a monster, have a flash or something at the generator so that one can guess at what frequency the monsters get generated. - in the quiver, how do you select which arrows you're using??? - sometimes I can't fire my bow even when its readied. Why not? It would make sense that 'fire' automatically readies the skill etc. for the range weapon selected. - when picking up items that can get added to something outside of the sack (or quiver) add them outside. THis avoids 10 arrows in the quiver and 20 outside for example. - is ther a way to disable the sack? Once active, I can't disactivate it, and it's annoying to have keys drop into it by default. - what's the 'Count' for in the inventory window??? - have better auto-pickup selections: allow for all-edible, coins and gems, missile weapons (daggers, arrows, etc). It's a pain to pick up individual daggers and arrows all the time!!! I think you understand what I mean. Also, right now they're exclusive, they should be individually selectable (i.e. automatically grab missile weapon stuff, magic items and coins). - wishlist: draw all explored areas in the window, and just grey out the ones you can't see at the moment. This would help you see where you are. You could even leave the artifacts, and just update them the next time you 'see' them. Anything alive should not be displayed if you can't see it of course. - wishlist: allow for a bigger viewing area. You can really play this cgame in several ways: nethack (strategic goal based) or gauntlet (hack-em-up) and for both a bigger display would be nice. From mwedel at scruz.net Tue Jul 31 23:39:05 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:05 2005 Subject: [CF List] First trials References: <200107281008.MAA29145@topaze.ecf.teradyne.com> Message-ID: <3B6787E9.315758D6@scruz.net> Nils Lohner wrote: > Installation sugestion: > - have the 'maps' archive unpack into crossfire- the installer install them automatically. $datadir is defined there. > I had a problem with that too: according to some docs it would seem to > want $pregix/games/maps, but in reality it seems to look in > $prefix/share/crossfire/maps (which makes more sense). THis is > probably just an INSTALL or README cleanup. I don't see any real ambiguous notes in the INSTALL about the maps - it just says they need to be unpacked into whatever datadir is, but doesn't really mention where that may be. IMO, there is no real reason to unpack the maps into the server area, and then copy them over. Doing so results in twice the amount of disk space (and the maps are the biggest user of disk space) and would lengthen the install time (copying 30 MB of data will pretty much always take a non trivial amount of time). Notes about how to install the maps could be better (and in fact, adding a note such that after you run 'make install', the last thing it says is something like 'the maps should be unpacked into x/y/z' - the makefile can give the real path for this, since it has gone through the variable substitution that the README has not. > The client needs to support a -h or -help option too, and a -debug would > be good to see where it fails with connections (i.e. connectiong to > server:port etc.) It does support -help. OTOH, if you enter any invalid command, you get the usage message - the only different about -help is that it does not complain about an invalid command. The error message about xpm is pretty bizarre. I'm not going to worry about it too much, as xpm support should probably get removed from everything in the not too distant future. > The performance seems slow, both with PNG and XPM (PNG looks nicer > though... it also seems a little bigger). Do you have any > performance-measuring code in the client or server? That would be > useful... I think that the game may have slowed down when lots of items > were left lying around, even when I'm not directly on that map. Not > sure though. Best measure is probably top. Note that crossfire is not a really fast action game. The server basically does 8 turns/second. Performance on the client has no great measure. From what work I have done, most is actually spent on the map redraws (as of now, the client makes no real use of hardware accelleration, as it is just basicaly blatting bits to the screen). the SDL client could use texture map or other hardware assistance for drawing. > Hm. Should it be? The messages it printed out made me wonder. I guess > it's harmless though. It probably gets created when you save your > gdefaults. Yes, it should be created once it needs to save something there. > > >> - after the first character I played, none of my characters have ANY > >> melee weapons skils, no matter which race/type I pick! AAh, I need to > >> pick a type ( paladinl, etc.) before I can have any skill at all. > >> This needs to eb a a FAQ > >This seemed quite obvious. But if didn't guessed it, it must certainly go= > >=20 > >into the FAQ. > > Better yet: put a panel in front of the exit with the info, and a gate > that the player needs to open. That should take care of it. The problem was that sometime characters that already have chosen popped back on that map after a save, so they needed some way to get out. If no one has seen that recently, removing the bypass that lets you get out without choosing would also be a valid solution. > Hm. True... maybe there could be an 'amulet of pause' or something that > teleports you to a safe location until you unpause? As a multiplayer game, this of course gets tricky. If a player is able to pause whenever in danger and wait for the calvary to arrive, life gets very easy. If we're going to allow someone to effectively pause via amulet or whatever else, the actual mechanism doesn't make that much difference (it would not be hard to add logic to the server which basically says monsters ignore paused characters and paused character can't take damage). But consider this abuse: Player has such abilities, and casts a whole bunch of fireball spells, which say will engulf where the character is. Character engages gismo, and thus won't take damage from the spells himself, yet the spells will still expand and kill everything nearby. Player then unpauses, and grabs whatever loot. This isn't to say that it would certainly be nice to be able to pause things - more than once I have wanted to do so. My main point here is that this is something pretty tricky to do without opening up a lot of abuses. From mwedel at scruz.net Tue Jul 31 23:50:58 2001 From: mwedel at scruz.net (Mark Wedel) Date: Thu Jan 13 18:04:05 2005 Subject: [CF List] First trials References: <200107271657.SAA27848@topaze.ecf.teradyne.com> <01072810113500.01335@localhost.localdomain> Message-ID: <3B678AB2.2B41E7E7@scruz.net> Chachkoff Yann wrote: > I am interested to know more about the server compiled on SunOS/UltraSparc. > Do you get warning messages when compiling ? Are the performances good ? I'll probably be compiling on solaris 8/ultrasparc, but I'll be using the workshop tools. From my past experience, server runs fine. Client performance does not seem as good - I don't think it is inherently slower because of the OS, but mostly because the hardware I was using (U10) isn't as fast as the faster PC's now days. I have compiled the server in 64 bit mode in the past, with no real problems, and in fact did so with the client. The biggest problem with the both of those, especially the client, is that 64 bit versions of all the dependancy libs are needed. For the server, this used to be nothing, now it is just the guile lib. For the client, this is a lot of stuff, so is a pretty big pain to do. > > - I picked up a cloak once and it didn't appear in my inventory. Ah, > > the sack. It should indicate how many items are in it (maybe in > > parentheses?) so you see when something gets added to it. > > AAh. When the sack is open you can put stuff into it. This needs to > > be documented somewhere; else its confusing for newbies. > I like the idea of indicating object numbers in the sack. Maybe you are the > first to ask for that; I've never crossed that idea before. Question - is this the number of different items in the sack, the number of total items, or both? Ie, suppose I have a quiver with 10 normal arrows, 15 +1, 20 +2, 5 arrows of slaying, etc. Should the value be printed as '50', as there are 50 total arrows, or as 4, as there are 4 varieties, or something like 4/50, noting there are 4 varieties, for a total of 50 items? I'm pretty sure this would all be a client change. I'm not positive if the nrof values for objects in containers always get updated if the container is not open. > > > - I don't like 'three shortswords'... make it '3 shortswords'. Easier > > to read. > Maybe, but I'm not sure. Some people prefer "three" instead of "3". This is a pretty trivial change. Look at get_number in item.c (client). Its just a matter of always using the sprintf logic if some global is set, and modifying the client to support a command line switch to select that, and optionally the loading/saving of that in the defaults file. Nils Lohner wrote: > ~ > gcfclient -server 127.0.0.1 > > This needs to be a FAQ since anyone with a dialup or behind a firewall > will not be able to start the server. a -DEBUG option is also needed > in the client, to be able to trace where it blocks. I saw the problem > with an strace: If your actually compiling from source, the cconfig.h file should be modified to turn metaserver off. I was going to make it so command line options could turn this on/off also, but never got around to it. Anyone want to take care of this?