vorkosigan
Posts: 28
Joined: 4/27/2004 From: Barcelona, Spain Status: offline
|
quote:
ORIGINAL: ZOOMIE1980 Sounds like the starting material for a SourceForge project??? Why not? But let's develop the discussion a bit further... quote:
ORIGINAL: Grotius These posts are on the second page of the thread entitled "AI/No AI" in the WIF forum. See http://www.matrixgames.com/forums/tm.asp?m=640847 I will read that. quote:
ORIGINAL: ZOOMIE1980 And once again, his "memory" take seems taylor made for employing the use of an RDBMS and a client-server architecture. quote:
ORIGINAL: Mr. Frag Storage of data has nothing to do with code function at all. Frankly, as long as the data structure is fast, it has no bearing on anything. It could just as simply be stored in XML or as java objects quote:
ORIGINAL: Oznoyng I am suprised Zoomie hasn't nailed you on this one. The value of an RDBMS implementation is in the flexibility that it gives you for manipulation of data. How much space it takes, and even how fast it is are secondary to how quickly you can write the code. quote:
ORIGINAL: Mr. Frag In a war game you have a set number of things that you use based on time. The only way to change a unit is to go back in time before the unit was ever used to allow it to be used. Sorry, but that is the very nature of time based games. You can't undo a problem in the past without throwing away everything beyond that point in time (restart). by the way, anyone who talks about using relational databases to handle a lousy 2 megs of data is a space cadet quote:
ORIGINAL: ZOOMIE1980 The primary use of the RDBMS is for the AI. With today's high performance RDBMS system we can store litterally TRILLIONS of rows of AI data with near INSTANIOUS access. All these AI concepts we;ve seen folks talk about here recently require massive data storage with quick access for AI purposes. We can also store thousands of users individual game data elements and do so on powerful multi processor XEON based or powerful Unix servers. And that includes the graphic elements of these games as well. quote:
ORIGINAL: Oznoyng For those of you wondering why Frag gets so much flak from some of us, it is for comments like this. Yes, he has spent a great deal of time helping the player community. Yes, he knows a lot about the game. None of that entitles him to belittle an opinion and it invites name calling and threads spiraling out of control. Nuff said. As for the issue of whether it makes sense to use an RDBMS for 2 megs of data? There is only one litmus test for using an RDBMS: Would it make it faster to program the game? Many of the enhancement requests I've seen have been for showing more data and allowing for more filtering. Want to add more data to a display, like adding the airops, landcombat, surface, admin, and aggressiveness ratings to the leader selection window? Here is what I would have to do: I am always marveled on the amount of lag one gets on discussions when several TZ's away I agree with both Oznoyng and Zoomie on the RDBMS issue: RDBMS are perfect for becoming the 'storage facility' of a 'high-tech' AI agent knowledge-base. The idea is not new: when people working on machine reasoning grew tired of brown-outs wiping out several hours of 'knowledge programming' they turned to the efficient persistence offered by DBMS. I agree with Mr. Frag that someone that buys an Oracle license (or sets up a PostgreSQL server or even a MySQL server) for managing 2 megs of data is a 'space cadet' (a donkey we would say here on Spain). But: i/ You will be managing more than 2 megs of data. Apart from the obvious (the OOB) there is the information one gathers as you play the game. For instace: "I got four hits on the Lexington and was set aflame" or "a convoy of AK's was detected on x,y heading west". If you have this information efficiently stored and properly indexed for fast retrieval you can set on top of that a reasoner - something simple like Prolog - and get the AI to make 'smart' chainings like: 'Since I beat the crap out of Lexington, it might be that now we have carrier superiority in the area' or 'I will dispatch two B-25 squadrons for a night raid over Rabaul port facilities, since Rabaul is in a straight line from (x,y) to the west'. Plain, unstructured blobs sequentially stored on a file is right for storing an FPS texture DB - but in this case something more sophisticated is needed. ii/ You can use a 'lightweight' RDBMS - such as SQLite. I have personally worked with it and it's fast, SQL compliant an most important, easy to adapt to your needs. And last but not least, it sports LGPL. PS: I appreciate very much Mr. Frag combativeness.
|