While I haven't read the entire book, a scan through its contents pages doesn't reveal anything about storing or handling map data.
By "efficient" I presume you mean "uses little memory". If you have to store only one level in memory at a time, I wouldn't worry too much about it. You can store the map as a raster image - an array of 1024*1024 bytes - and it will occupy only 1Mb. This is not a huge amount for a modern machine. To store data about buildings as well as terrain types, I would use a separate array, as this simplifies access to it.
If your buildings are small compared to the size of the map, and there aren't a huge number of them, you could use a quadtree to store their coordinates. A quadtree is the two-dimensional equivalent of a binary tree, and is a reasonably efficient way of answering the question "What objects exist within this range of coordinates?" Given that a player's location determines what they can see and interact with, you'll need to answer this question a lot. I don't know you'd go about implementing a quadtree, but Google is your friend;-)
If you're concerned about how much space the raster form of the map will take up on disk (or it has to be downloaded from a server), then just compress it with gzip or a similar algorithm. Most maps of terrain types tend to have large areas of the same value, and so will compress quite well.
Plus which every PC has one of these speakers in it, so any Linux-using PC owner can try the driver straightaway. And if you make a mistake while you're hacking it, there's at least the possibility that it won't render your screen unreadable, or trash your hard disk;-)
We use PL/SQL quite a lot where I work. It's a programming language (which is what the PL stands for) with SQL access built in. Mainly what it's good for is writing code that needs to do something in the database that's more complex than one select, insert, update or delete statement.
What we find it's useful for is (1) keeping audit trails and (2) filtering and summarising raw data for presenting to a user. New data is arriving all the time in our database, so we use triggers (which call PL/SQL procedures) to make sure that the audit and summary tables are always up-to-date.
While I think PL/SQL is very useful, and very good at what it does, I agree that you couldn't write a complete application in it. It gives you full access to everything in the database (subject to access privileges, of course) and almost none to anything outside. For a long time, I was convinced it didn't even have a print statement. (It does, but it's not obvious how to use it.)
As for an open-source equivalent, Python claims to be embeddable in just about anything. Could it be (or has it been) embedded in MySQL and/or Postgres?
I also have to ask - aren't many if not all song/album titles (and not just the songs themselves) copyrighted?
I don't know about the US, but here in the UK, titles of works don't have copyright protection. The reasoning is that they're short enough that two people could independently come up with the same title. For example, there are about ten songs called Tonight, all different.
A big database of song titles, OTOH, can be copyrighted, as several people pointed out in the recent discussion on CDDB denying access to some clients.
While I haven't read the entire book, a scan through its contents pages doesn't reveal anything about storing or handling map data.
By "efficient" I presume you mean "uses little memory". If you have to store only one level in memory at a time, I wouldn't worry too much about it. You can store the map as a raster image - an array of 1024*1024 bytes - and it will occupy only 1Mb. This is not a huge amount for a modern machine. To store data about buildings as well as terrain types, I would use a separate array, as this simplifies access to it.
If your buildings are small compared to the size of the map, and there aren't a huge number of them, you could use a quadtree to store their coordinates. A quadtree is the two-dimensional equivalent of a binary tree, and is a reasonably efficient way of answering the question "What objects exist within this range of coordinates?" Given that a player's location determines what they can see and interact with, you'll need to answer this question a lot. I don't know you'd go about implementing a quadtree, but Google is your friend ;-)
If you're concerned about how much space the raster form of the map will take up on disk (or it has to be downloaded from a server), then just compress it with gzip or a similar algorithm. Most maps of terrain types tend to have large areas of the same value, and so will compress quite well.
Plus which every PC has one of these speakers in it, so any Linux-using PC owner can try the driver straightaway. And if you make a mistake while you're hacking it, there's at least the possibility that it won't render your screen unreadable, or trash your hard disk ;-)
We use PL/SQL quite a lot where I work. It's a programming language (which is what the PL stands for) with SQL access built in. Mainly what it's good for is writing code that needs to do something in the database that's more complex than one select, insert, update or delete statement.
What we find it's useful for is (1) keeping audit trails and (2) filtering and summarising raw data for presenting to a user. New data is arriving all the time in our database, so we use triggers (which call PL/SQL procedures) to make sure that the audit and summary tables are always up-to-date.
While I think PL/SQL is very useful, and very good at what it does, I agree that you couldn't write a complete application in it. It gives you full access to everything in the database (subject to access privileges, of course) and almost none to anything outside. For a long time, I was convinced it didn't even have a print statement. (It does, but it's not obvious how to use it.)
As for an open-source equivalent, Python claims to be embeddable in just about anything. Could it be (or has it been) embedded in MySQL and/or Postgres?
I think perhaps what he meant was that the EU paid for it, since Tim Berners-Lee and his colleagues were working at CERN at the time.
No. I'm not sure exactly when the EU adopted its present name, but the EEC (which was what it was called at first) dates from the mid-1950s.
I don't know about the US, but here in the UK, titles of works don't have copyright protection. The reasoning is that they're short enough that two people could independently come up with the same title. For example, there are about ten songs called Tonight, all different.
A big database of song titles, OTOH, can be copyrighted, as several people pointed out in the recent discussion on CDDB denying access to some clients.