Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Author
Message
Mike Johnson
TGC Developer
21
Years of Service
User Offline
Joined: 13th Sep 2002
Location: United Kingdom
Posted: 27th Aug 2009 17:32
A new plugin has been released today.

Dark Data is a library that gives one the ability to create a database with keyed filing systems, and resuable direct access records. With it, you can create things such as an invoice system for your customers, a planetary system for your space game... whatever your imagination brings that requires fast record seeking and database storage.

Features

* Keyed lookup via a custom built B-Tree system typical of what is used in most modern databases
* Fast retrieval
* Always sorted
* Scroll backwards or forwards from any position and remain in order
* Multiple keyed systems per file allowed
* Records automatically resued after deletion so no packing of space is necessary
* All commands are simple to use straight from your program.
* Both KFS and DFS can work independently from each other.

Commands are split between KFS for the Keyed Filing System and DFS for the Dynamic File System. KFS is the index or lookup file. DFS is your actual database. You can have a customer database called Customer.DAT and three indexes for easy search and sorts like CustName.KFS, CustID.KFS, CustPostal.KFS for example. Mix and match. If you only need to report by the customer name, you only need to open the customer name index and the customer file. The overhead of having multiple files open is unnecessary.

Lastly, let's say you delete ten records. What happens to that empty space? With a built-in double linked list, it gets reclaimed so that there is no unnecessary waste of disk space! Efficient, fast, and easy to use.

For more details please visit http://darkbasicpro.thegamecreators.com/?f=darkkfs
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 27th Aug 2009 17:44
Sounds like an excellent plugin for an amazing price!

Expect an order soon.

Steele
20
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 27th Aug 2009 17:49
Hi all,

I'm the library's author (programmer) so if you have any questions or problems I'll be looking at this thread frequently.

Thanks and hopefully this will be useful to the community as it is to me.

http://www.lanningsoftware.com
Your source for Games and Entertainment
lil marioman
16
Years of Service
User Offline
Joined: 21st Apr 2008
Location: Canada
Posted: 27th Aug 2009 18:07
Quote: "Hi all,

I'm the library's author (programmer) so if you have any questions or problems I'll be looking at this thread frequently.

Thanks and hopefully this will be useful to the community as it is to me."


It looks awesome already! And at the amazing price, ... well that just makes it better. Great job on it!

I'd buy it, but I don't have the money after spending it on CPU upgrades

It's ironic how people don't use signatures for actually 'signing'. Whoops.
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 27th Aug 2009 18:15
Steele
20
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 27th Aug 2009 18:18
Thanks Kaedrobo and enjoy.

Lil Marioman, don't worry. The time will come and you can afford it.

Thanks for the compliments everyone.

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 27th Aug 2009 18:29
Looks very useful and a very good price! I'll be ordering soon!


a.k.a WOLF!
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 27th Aug 2009 18:31
I just got an email saying it will ship first class! When clearly it says its an electronic download. Has there been a mistake somewhere?

Steele
20
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 27th Aug 2009 18:39
Now the shipping thing I don't know about but you are right, it is electronic. There isn't any media associated.

Mike, could you look into that for us?

Thanks,

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
Mike Johnson
TGC Developer
21
Years of Service
User Offline
Joined: 13th Sep 2002
Location: United Kingdom
Posted: 27th Aug 2009 19:02
It is a standard email that goes out. It includes the text:

Some of the products available from our web site are delivered via
email and some are delivered in the post because they are boxed items
with printed manuals. If you are unsure then please check our web site.
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 27th Aug 2009 19:53 Edited at: 27th Aug 2009 21:36
Well the first line might be a little miss leading.

Quote: "Shipping Method: Standard First Class Delivery"


And none of that text you posted is in there. Are you sure that you know whats being sent out?

HavokDelta6
14
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: United Kingdom
Posted: 27th Aug 2009 19:56
...

how does it compair to MySQL, does it have an optermizer. documentation of command set?
anything.

why would i use this when MySQL can be conected with darkbasic.
does it support SQL as a syntax.

Oh i'll do it later -.-
Steele
20
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 27th Aug 2009 20:20 Edited at: 27th Aug 2009 20:31
It's kind of an "apples to oranges" kind of thing. It doesn't use SQL although I am toying with the idea of creating an internal database language for it now.

I'll give you an example: I am working on a game that has a huge database of planets with positions, descriptions, etc. Since I only visit one planet at a time, my key is the planet's name. I use that to look up the data in the main file.

MySQL is probably overkill for something like this. Besides, having to push an SQL syntax through an interpreter and retrieve the results should be more CPU intensive than if all I want to do is:


Simple lookup, simple retrieval.

[Edit]
I just looked at the MySQL threads briefly and there are a lot of questions on how to use, set up and so-forth. Dark Data is made to be simple to use and easy to set up. It's designed to give native database capability to the programmer.

http://www.lanningsoftware.com
Your source for Games and Entertainment
HavokDelta6
14
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: United Kingdom
Posted: 27th Aug 2009 20:55 Edited at: 27th Aug 2009 20:59
ah i see its for people who cant be asked to do

select id,px,py,pz from planet_list where name="Test Planet"

makes perfect sense....

also i doubt its anywhere near as fast as mysql, not a memory, or MyISAM table; nor as versatile.

does it have an optermizer, what about embedded seearches

like

select app_id from api_list where key= any (select key from api_keys where owner = (select id from members where name="Havok"))

also it shows indexes, what colomns are indexed and how are they maintained?
will it support a primary key
will it quie updates?

why should i choose this over a free and well respected and really quick with loads of thick books on it database system like "MySQL"

[edit thanks for the quick reply, and i am not attacking it, just wondering why you tried to reinvent the wheel, especially when the mysql wheel is so tuned as it is]
[edit two my embedded select example was naff and pointless i know, best i could do on shortnotice, but mysql would also see that and simplfy it, to select app_id from api_keys where owner=(select id from members where name="havok")]

Oh i'll do it later -.-
Steele
20
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 27th Aug 2009 21:41 Edited at: 27th Aug 2009 21:56
Here is a snippet from your most recent post regarding MySQL:

Quote: "first of all, get Castlerustlers mysql dll (if he posts here and says i can, i'd like to host a perma link on one of my domains - redundancy )

Next you need the OBDC drivers - this is a connected, it allows the windows shell (like a ball where your db apps are inside, if you will) to "talk" to a MySQL Instance.

PHP has its own connector too, which runs in the PHP shell

(apps are run in shells because it allows them to be easily managed, like with php, after the script hits a certian execution time (normally 60 secs) the shell is closed - ending the script)

So i used the more modern (and will work with my function set) mysql connect, 5.1

MAKE SURE YOU GET THE RIGHT ONE FOR YOUR OS, I USE WINDOWS 7 x64 AND 32 BIT (x86) VERSIONS WILL NOT WORK ON IT

the connected can be found here:

http://dev.mysql.com/downloads/connector/odbc/5.1.html...
"


Your explanation takes about two pages on how to just get it set up.

ODBC, getting it connected, learning SQL... It's fine if needed. However, Dark Data is self-contained. No ODBC, no extra drivers, only it's library.

Indexing? It's fast. I have a friend who uses it for a list with about a million records, give-or-take. It hasn't been benchmarked but it looks practically instantaneous as well as giving that list in a particular order.

It uses a B-Tree system which is what most database systems use these days. ISAM we used to refer to (in my former company) as "Incredibly Slow Accessing Method" although it's probably been fine tuned in the past decade or so.

Quote: "with loads of thick books on it database system like "MySQL"


If you need loads of thick books too use something, it doesn't sound to easy to use does it?

I've used SQL and I like it. I do plan on creating one for this little thing. But as for why trying to reinvent the wheel? For the same reason that we went from one made of stone, reinvented to one made of wood, to one with spokes... all the way up to a steel belted radial.

It could also be said of Dark BASIC. Why reinvent BASIC? Why not just use C++? Go ahead and use OpenGL or OGRE or whatever else is free.

Simplicity. Some of us just want to get in there and do things, not worry about ODBC's and so-on.

Lastly, here is your statement in Dark Basic Pro with SQL:


Here's DarkDATA's version:


Sorry it's long winded but you asked me to extol the virtues. MySQL has it's place and I like it. It's just overkill for something like this.

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
HavokDelta6
14
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: United Kingdom
Posted: 27th Aug 2009 21:52 Edited at: 27th Aug 2009 22:17
very valid point, however, with the book thing, there not needed to use it, they just explain how to best use it.

anyway that doesnt answer my question

why should i choose it over MySQL

all you've shown so far is that:

1) its quicker to set up
2) DB supports backslash escapeing (i didn't know it did that thanks)

another thing there, is it a seperate file per database colomn.

also i said MyISAM, totally differnt btw

[edit, on that intro i used alot of explaining and highlighted the donts, and left a line between everything XD, and went on that tangent about application shells]

but my point still stands, why sacrifice a few lines of code, agains the preformance of a database system, another advantage mysql has, it's independant from applications.

so you'd have to create a darkbasic server.

the MySQL in darkbasic argument also has the advantage of intefacing directly with the server (which could be at a webhost) and due to its usability, be read by a host of other applications

created in languages such as PHP, ASP, Python, C++, Unity3d and c# to list a few...

EDIT: removed C sharp from the list
'cos its "C#"

GCSE results:
2 a's 3 b's AND
5 (FIVE) a*'s ^_^
HavokDelta6
14
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: United Kingdom
Posted: 27th Aug 2009 21:59 Edited at: 27th Aug 2009 22:17
Post 2 (so it gets special attention)

please dont feel that i am ripping it appart, i am mainly asking really, why do i want it, dark physics i can understand because it offers stuff things like Newton dont (softbodies, cloth, ect) and darkVidio (i dont belive there's actually an alternative)

but i dont see why you choose to make bascially a set of read and array commands, when SQL is really easy with a near english syntax, and MySQL in areas is the fastest database quering system on the planet (there's much debate, but in instances it beats all its competitors)

[i as the consumer]

GCSE results:
2 a's 3 b's AND
5 (FIVE) a*'s ^_^
Steele
20
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 27th Aug 2009 22:02 Edited at: 27th Aug 2009 22:12
Okay, Dark Basic is a game programming language. Are you going to have your customers install ODBC and set it up every time they make a purchase? Probably. That's a fast way to go out of business. "Play Star Warp! All you need is a server, an ODBC driver and connection..."

What I am saying is, again, self-contained, fast, easy to use, and efficient. Also, since I'm supporting it I'm able to make updates that the community might suggest. Buy it because it suits your needs. If MySQL, YourSQL, or HerSQL works for you and anyone else by all means, use it. I would. I just prefer the simplicity, that's all.

[Edit] It isn't a separate file per field. Each file has a field header contained. Each index is its own file, this is true. It was designed to only open the files needed to minimize overhead. For example, if I have three index files but only need one to search, I only need to open the one. For updating, yes, I would update all three. MySQL would do that automatically. Heck, I use Progress 4 G/L on the job and it beats SQL in many ways. But it would be overkill for game creation as well, not to mention extremely expensive.

I guess what I'm saying is, weigh the costs and benefits and make a decision. I'm not trying to compete with the big boys, only to carve a small niche in a vast empire.

[Edit again]
Quote: "
but i dont see why you choose to make bascially a set of read and array commands, when SQL is really easy with a near english syntax, and MySQL in areas is the fastest database quering system on the planet (there's much debate, but in instances it beats all its competitors"


It isn't a series of array commands, it's a B-Tree system that resides on the disk. It only reads and writes to the block that is needed. Any in memory storage is temporary. I could have put the whole planetary system in memory and beat this and MySQL for speed. But I could use the memory for other purposes.

Again, it is a B-Tree system that reads and writes to disk, not an in-memory array system.
Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
HavokDelta6
14
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: United Kingdom
Posted: 27th Aug 2009 22:10 Edited at: 27th Aug 2009 22:12
thats actually something i didnt think of, i didn't think of stand alone applications actually... i thought of networked things with a server, and that server having your database application running on it.

anyway, in that case, may we have some preformance stats, with documented tests, and i'm happy to write somethign that will compair them to MySQL, also, may i correct you on one thing, YourSQL and HerSQL don't exist..... yeah.


also define efficent please. One of my teachers at school gave me serveral of these thick books on MySQL (it facinates me) and i'd like to know how you made it efficent, MySQL's optermizer as i am sure you know are extreamly advanced.

assuming i use your product for a client server application, why would i want it over MySQL; what advantages does it bring, also. how have you stored the data, i get the impression you have "colomn" files. and read them one row at a time to get a row? am i right, in which case what stops me from creating my own, where i have a system like so:

//open files here
while file end(index_file_no) <> 1
read file_colomn_1,col_1$
read file_colomn_2,col_2$

if col_2$ = search_string$
result$ = col_1$
exit
endif

sort of thing, you see what i mean? you could delete rows from that and have a null marker, there's a plugin around somewhere, that has great file I/O functions, that could speed up deletes

then its just add a "skip row if col_x$ = "" " sort of thing.

do you see my point?

[edit]
you could also add some basic form of encryption / decryption with reading strings from files, i doubt your plugin set will be able to support that unless you encyrpt the search string. am i right in assuming that?

[sorry for my spelling btw, i understand how auful and dull it is, dislxic power FTW lol]

Oh i'll do it later -.-
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 27th Aug 2009 22:11
Quote: "created in languages such as PHP, ASP, Python, C++, C sharp, Unity3d and c# to list a few...
"


Just thought that I should point that out...



Also, can this system write databases? if so, I think it will be useful if you give an example of that too.

Flatlander
FPSC Tool Maker
17
Years of Service
User Offline
Joined: 22nd Jan 2007
Location: The Flatlands
Posted: 27th Aug 2009 22:25 Edited at: 27th Aug 2009 22:28
I like MySQL and have used it for a long time and am very,very comfortable with it.

That said, I think I would rather use something like this for developing stand-alone games and games that require a DB on the gamer's machine. I had known this was coming out from Lee and have been waiting for it. However, what I am doing right now is modifying the FPSC source code to add RPG functionality. I am actually done with the coding (I had to use UDT variables to store all the information required. It works but can still be limited. This would unleash the limitations I should think.

However, here is the question. If I purchase this, what would be the copyright limitations for implementing this into a source code that could possibly be used by more than one developer. Of course, right now I am creating this mod for myself but there is a possibility of letting it go public.

There are two possibilities and each might have different copyright issues. The first is giving the modded exe file away for free. The other would be if I would sell it. What say you?

-----------------------------------------------
Steele
20
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 27th Aug 2009 22:46
Quote: "Also, can this system write databases? if so, I think it will be useful if you give an example of that too."


Let's define "database". A database is a system that holds data. There are small databases that reside solely in memory in arrays. Some are just flat files. Still others are relational.

This system gives you the ability to mix and match. If you want a relational system for instance, you could make one. Simply do what has to be done regardless of the database system used, link the key field to the index and retrieve.

But to give an example:

I just created an empty database with four fields and an index. It is on the disk. You can close your program and start a new one that has:


It's a simple example although you would actually create a screen to enter the information and store it but it shows that it indeed creates a database on a disk drive.

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 27th Aug 2009 22:59 Edited at: 27th Aug 2009 22:59
Awesome!!

I'm still waiting for it to clear. I shall really put this to the test when it does.

trogdor
21
Years of Service
User Offline
Joined: 15th Apr 2003
Location: Portsmouth, VA, USA
Posted: 27th Aug 2009 23:53
Ordered

Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.
KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 28th Aug 2009 01:07
"Apples to Oranges" is exactly right.

For a database system built into a game client, this is quite nice, and I suspect it performs just fine. No sense comparing it to anything else because other solutions either aren't designed for client use, or have restrictions on distribution (MS Access).

For server use, you would use MySQL, MS SQL, or something along those lines due to the power of those products, and the volume of data you would be working with on a server. For something like this you would use one of CattleRustler's plugins, or my ODBC plugin.
http://forum.thegamecreators.com/?m=forum_view&t=156094&b=5

Looks great, carry on.

Steele
20
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 28th Aug 2009 01:33
Quote: "However, here is the question. If I purchase this, what would be the copyright limitations for implementing this into a source code that could possibly be used by more than one developer. Of course, right now I am creating this mod for myself but there is a possibility of letting it go public.

There are two possibilities and each might have different copyright issues. The first is giving the modded exe file away for free. The other would be if I would sell it. What say you?"


Hi Flatlander. Sorry for the delay. We had a big storm in the area and I thought it would be a good thing to shutdown the computer until it passed.

Anyway, I have no problems with selling the executable and selling it. I'm kind of following the same guide lines with the spirit of TGC. For multiple developers, that's a good question and one I've not entertained before. If you are like me, you don't care much for complication so I'll probably follow the same guide lines as TGC does when it sells DarkBasic or FPSC.

However, the sales are solely responsible by TGC as I get a royalty so it may be best to ask them how they would handle it. I don't mind working out an arrangement on multiple licenses but they would have to be a part of the discussion.

So, to sum it up. Whatever games you create that use it, is yours to sell. Multiple licenses need Mike, Rick, and Lee's input as I am under contract.

I hope this answers your questions. If not, please feel free to post or to write me as you have privately.

Thanks,

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 28th Aug 2009 02:31
Quote: "why should i choose it over MySQL"


This really is along the lines of "Should I buy a bicycle or a Boat".
For the size of the projects involved, I don't think efficiency and stats are required.

MySQL has an overhead before you even read a record, both in terms of CPU, memory, services and disk space.
I have MySQL running here, unless all of my customers were full-time database SysAdmins, MySql is a no-go. If any game wants to put an entire db on my hard drive, I won't be installing it, even though I know how to work with it.

Steele
20
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 28th Aug 2009 03:43
Batvink, does a bicyboat count? It's a canoe with two wheels... my next invention.

You do bring up a good point, the overhead. I suspected there would be some but I wasn't sure how much as I don't use it. I do use heavy duty database systems in my job but I'd be hard pressed to put one of those on my machine just so I could play Mario Doom Wars of Wolfenstein IX: Now in 3D Anime. Well, maybe just to see what kind of a setup that would be!

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
Mike Johnson
TGC Developer
21
Years of Service
User Offline
Joined: 13th Sep 2002
Location: United Kingdom
Posted: 28th Aug 2009 13:49
The product page has been updated. Much more information is available. Can find it here http://darkbasicpro.thegamecreators.com/?f=darkkfs
Steele
20
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 28th Aug 2009 16:48 Edited at: 28th Aug 2009 16:50
Thanks Mike. It's good to see this. Maybe it will answer a lot of other questions people may have. Cheers.

Dark Coder:
Quote: "Also, apples to oranges would be Dark AI to Dark Data. SQL and Dark Data both do the same thing at their core, one's just a heavyweight so comparing the things Dark Data does vs SQL seems totally fair, it's not like he asked to benchmark SQL's remote database connection abilities against this."


I beg to differ. An apple and an orange are both fruits, can be used in salads, juices, and so-on. The differences are one is citrus, another is color, the rind, the flavor...

Yes, both are database systems and that's about as far as the similarity goes. They both have their reasons for existing.

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
Steele
20
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 28th Aug 2009 16:57
Sorry for the double post but I wanted to make a separate one thanking Fence World.

Thanks Fence World, hopefully you will find it to your liking.

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 28th Aug 2009 21:12
STOP SPAMMING THIS THREAD!!!

Havok, you have been put back on post approval!
I'm NOT playing this game.


a.k.a WOLF!
Flatlander
FPSC Tool Maker
17
Years of Service
User Offline
Joined: 22nd Jan 2007
Location: The Flatlands
Posted: 28th Aug 2009 22:52 Edited at: 28th Aug 2009 22:54
Thank you Ron.

Also, Darkowen -- well, not worth responding to.

I purchased it, Steele. Thanks again for this great product. I can use it. I don't mind if others don't; but why complain about something you aren't going to buy? This reminds me of the FPSC board when they complain about the model packs in an announcement thread. I would rather see a different thread started called, perhaps, "my whine with Dark Data." If I'm 12 then these whiners must be babies. Sorry, but this is just a pet peeve of mine! I'll let it alone, now. However, seems to me that an announcement thread should just have legitimate questions about the product itself and not whining about what it should have been or why it isn't this way.

-----------------------------------------------
Steele
20
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 29th Aug 2009 00:43
Thanks Flatlander. I agree. Besides, I pegged you at 13 1/2. J/K.

Thanks for everything you said and did. As far as any complaints about what it should or shouldn't do... well, this is version 1.0. There will be updates that you'll be able to download that have more functionality. But every piece of software has to start somewhere and improve over time. As a programmer I'm sure you know the saying, "It's never finished - only done for now."

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
tiresius
21
Years of Service
User Offline
Joined: 13th Nov 2002
Location: MA USA
Posted: 29th Aug 2009 03:08 Edited at: 29th Aug 2009 03:12
Quote: "and what the hell is trolling anyway?"

http://lmgtfy.com/?q=forum+troll
Quote: "Expect an order soon.
http://china-fence.com"

Is that a spambot? I thought new users had to go through a human interface to have posts approved? Who approved that post? LOL.

Back on topic:
I was wondering is this a standard binary tree or a balanced tree? It doesn't really matter as long as the end result is a sorted, searchable tree, but I was just wondering.

I think this plugin could be useful for RPGs where you have tables and tables of data and it is tricky to keep it all together.

I'm not a real programmer but I play one with DBPro!
Steele
20
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 29th Aug 2009 15:43 Edited at: 29th Aug 2009 15:46
It's a balanced tree. Actually, it's a B-Tree which is somewhat different than a binary tree. B-Trees algorithms were developed to make use of reading entire blocks of data and making decisions from there as to which block the next or previous key resides.

But yes, it's always sorted by the key of your choosing, always balanced, and searchable by key.

I had not thought about that with RPGs but you are right. That would be an excellent use for one! Thanks for the tip.

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 29th Aug 2009 19:00
I spent some time cleaning-up all the off-topic posts.


a.k.a WOLF!
David R
20
Years of Service
User Offline
Joined: 9th Sep 2003
Location: 3.14
Posted: 29th Aug 2009 19:32
Thanks for removing my legitimate question

09-f9-11-02-9d-74-e3-5b-d8-41-56-c5-63-56-88-c0
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 29th Aug 2009 19:56
DavidR,

Well, you didn't have a "legitimate" question. If you have a problem with it, send me an e-mail.

Ron


a.k.a WOLF!
HavokDelta6
14
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: United Kingdom
Posted: 29th Aug 2009 20:21
Hey Ron,

Havok here, What counts as a legitimate question, all my queries about how it works and compares to systems that do a similar job were removed.

I am not trying to provoke you or troll now, but you removed nearly everything, and there is very little data on how well it actually preforms, just a little on the syntax.

It was also assumed that I wouldn't buy it therefore I cant ask questions, I'd like to say that I would buy it given I knew what I was buying which I don't.

Now I have money, I have my reward for great GCSE grades; and I can respect the usage for a system like the one offered here, however I'd like statistics. at the current time we have nothing to go on.

Steele if you could just use the timer function, and work out some averages for read and writes and whatnot, I for one would be extremely appreciative, and after knowing the performance of what I would be buying my mind would be at ease should I choose to purchase it.

Would it be possible, as a minimum to provide a working demo, of which we could run the EXE on our computers, and see how fast it can read or right, however many lines in a time frame, I do hope someone gets back to me on this, this is currently a "one-of-a-kind" plug-in, there's no alternative.

Lastly, the fact I have done DarkSQL is likely to hit me in the face here. I'd like to point out that it was inspired as a system of putting and getting data using the SQL syntax. for example loading and saving the game, loading environments, and demonstrating with room for modification, what can be done in DarkBasic. As well as providing an introduction to SQL, and how tables work.

Thanks for your time guys,
~Havok

GCSE results:
2 a's 3 b's AND
5 (FIVE) a*'s ^_^
the_winch
21
Years of Service
User Offline
Joined: 1st Feb 2003
Location: Oxford, UK
Posted: 29th Aug 2009 21:11 Edited at: 29th Aug 2009 21:13
Quote: "No sense comparing it to anything else because other solutions either aren't designed for client use, or have restrictions on distribution (MS Access)."


SQLite is designed for this sort of stuff and is public domain so about as unrestricted as you can get. Makes more sense as a comparison than a big client/server system. It's pretty much the industry standard for this sort of thing so there are plenty of tools for working with the database files. I expect advanced users also be happier using SQL rather than the clunky looking syntax used by this plugin. I'm a bit surprised this plugin doesn't use sqlite behind the scenes.

By way of demonstration, he emitted a batlike squeak that was indeed bothersome.
Flatlander
FPSC Tool Maker
17
Years of Service
User Offline
Joined: 22nd Jan 2007
Location: The Flatlands
Posted: 29th Aug 2009 21:15 Edited at: 29th Aug 2009 21:45
Quote: "Thanks Flatlander. I agree. Besides, I pegged you at 13 1/2."


:ROFL:


Quote: "I had not thought about that with RPGs but you are right. That would be an excellent use for one! Thanks for the tip."


That's where I'm going to use it.

FPSC is a great and easy way for, say, educators to create educational type of games. At least for creating the world with it's model drop-in map capability. Where it lacks is RP capability, although, it is possible to do in a limited way. Therefore, my RPG mod for FPSC.

Because the FPSC game compiler is written in DBP we now have Dark Data's capability. At first I thought this would be pretty cumbersome, however, after giving it more thought, I have come up with a plan. I will create a DBP program to create the database and all of the necessary data that will then be used in FPSC. I will then create FPSC commands -EDIT: which uses DD commands and- that will then access the database. At least I think this should work.

I have purchased -- download not approved yet but this is a weekend unfortunately -- the plug-in and will give this a go. If it works, I will have two mods available, one with and one without DB capability. If it gets that far, then I will need to find out about the legality of selling this to another developer. Because it is a plugin it would be available as it is internal.

My first thought is to be the "seller" of both FPSC and the plugin for those educators who are interested in developing a game for themselves. As long as they purchase my mod of course. They could also purchase my mod without the DB.

OK, I'm starting to get windy and writing out my thoughts. Later.

-----------------------------------------------
Flatlander
FPSC Tool Maker
17
Years of Service
User Offline
Joined: 22nd Jan 2007
Location: The Flatlands
Posted: 29th Aug 2009 21:36 Edited at: 29th Aug 2009 23:48
Quote: "users also be happier using SQL rather than the clunky looking syntax used by this plugin"


I've created a lot of front-end programs that use an SQL database. Have you ever written the necessary code to create a SQL DB. It's just as "clunky." In fact DD looks a lot easier to use and is similar to MSVB's code to create and run a "type" of flat file indexed DB. For games I am confident that is all you need. Also, it will be much faster that even SQLlite. SQL's are powerful but cumbersome for small databases.

[deleted and edited some text]

-----------------------------------------------
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 29th Aug 2009 21:37
Quote: "Havok here, What counts as a legitimate question, all my queries about how it works and compares to systems that do a similar job were removed.

I am not trying to provoke you or troll now, but you removed nearly everything, and there is very little data on how well it actually preforms, just a little on the syntax."


I just went through EVERY POST of yours that I deleted. Not ONE post of yours that I deleted had a "querie about how it works and compares to systems".

DavidR's post simply said that it would have made more sense to use SQLite than a custom solution. I normally wouldn't have deleted a post like that even though it wasn't at all constuctive. But I was in there cleaning up all of YOUR mess and decided to can that too. So shoot me.

If ANYONE has ANY problem with how any of this has been moderated, then e-mail me. I'll talk to you about it there. If you don't want to do that, then complain to support. Do NOT post here about it.


a.k.a WOLF!
HavokDelta6
14
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: United Kingdom
Posted: 29th Aug 2009 21:59
Hey Ron, email sent.

Steele, do you think you could post those specifications when you get a chance, I would hate for my post to go unnoticed, I feel its important to myself and the community that we know what we are purchasing, as no-one has posted syntax (except you) nor personal experience yet.

~Havok

GCSE results:
2 a's 3 b's AND
5 (FIVE) a*'s ^_^
Steele
20
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 29th Aug 2009 22:02 Edited at: 29th Aug 2009 22:13
Havok,

I don't care to benchmark as I'm not comparing this to anything else. It was never made to compete.

Besides, do you want me to benchmark how fast it writes to a disk and reads? How fast is one's hardware? If you look up B-Trees with Google, you'll see why I chose this as the method. Depending on the size of the key and the size of each node, determines how fast.

Let's say you can store a maximum of 50 keys, each 20 bytes long. Your root node will have fifty keys. The root can branch to fifty nodes if it is full. Each node can branch to fifty more. So a search for a single key out of 125,000 will take at most, two hits on the disk, 6,250,000 takes three, 312,500,000 will take at most four. That's pretty good so again, it depends on the access speed of your disk.

Steele

http://www.lanningsoftware.com
Your source for Games and Entertainment
HavokDelta6
14
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: United Kingdom
Posted: 29th Aug 2009 22:05
Hey Steele,

I dont belive i asked for a benchmark against SQL. My request was for how fast can it read or write data.

Details are in my last post.

~Havok

GCSE results:
2 a's 3 b's AND
5 (FIVE) a*'s ^_^
Steele
20
Years of Service
User Offline
Joined: 25th Oct 2003
Location: Somewhere over the rainbow
Posted: 29th Aug 2009 22:15
Sorry, I edited it after I re-read it.

http://www.lanningsoftware.com
Your source for Games and Entertainment
David R
20
Years of Service
User Offline
Joined: 9th Sep 2003
Location: 3.14
Posted: 29th Aug 2009 22:30 Edited at: 29th Aug 2009 22:40
[Nevermind, missed a post/didn't see double page. Sorry for littering the thread again]

09-f9-11-02-9d-74-e3-5b-d8-41-56-c5-63-56-88-c0
HavokDelta6
14
Years of Service
User Offline
Joined: 22nd Aug 2009
Location: United Kingdom
Posted: 29th Aug 2009 22:32
Hey Steele, No-problem

Again can we have an actual sample application, (like a trial version would be SUPERB)

which writes x amount of records, then reads and searches.

as i am sure comes though, i am curiouse and entregued (sorry there is no spell check on my laptop) I'd like some "Real" numbers of the system, not compaired to anythng but some raw stats, if that makes sense. prehaps an app we can run which writes so many records and whatnot, you know nothing too advanced, but to give us an idea.

As i am sure you know, the generic way of doing this in DB is to read files in the order variables were written, obvously this is a step up, especially if it can improve, or match the speed of this system.

This system could very likly be faster as its common knoladge that DB's native file commands are highly limited and apauling.

sorry for my spelling, i'll insall a spell check shortly

~Havok

GCSE results:
2 a's 3 b's AND
5 (FIVE) a*'s ^_^

Login to post a reply

Server time is: 2024-04-30 09:32:14
Your offset time is: 2024-04-30 09:32:14