Jump to content
  • Advertisement
Sign in to follow this  
Baltar

Database for 1st Commercial Game (Access, SQL, SQLite?) Help?

This topic is 4265 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have a problem. I have a fairly data-centric game that it intended for Commercial Publication. With that in mind I can't use open-source and such so I was looking for some database options and am confused about some things. SQLite looked good, but I need to use C# and it seems that any easy way to use SQLite involved getting a wrapper that is not available for commercial use. So thats out unless there is something I am missing or dont know about. I am extremely SQL Server knowledgeable to the point of even being certified, so I looked at SQL Server Express Edition. Turns out its free even to redistribute BUT after going through the install and looking at it I just cannot comprehend deploying this as part of my game. Its simply way way too much no? Do any other games out there put SQL Server Express on your PC?? It is the replacement for MSDE but still. So I ruled that out. Should I reconsider? I thought perhaps MS Access, but I know zero about it. Never had to use it. So I had some questions about it. 1. If I have an Access database and use C# ADO.NET type access does the end-user need a copy of Access installed on their machine (I'm assuming so)? 2. If so can I redistribute some type of Access database viewer/reader etc. or how is this done for MS Access based applications (Sorry for the stupidity). What should I be using? I like the idea of data binding and such also.. Many Thanks.

Share this post


Link to post
Share on other sites
Advertisement
1) Nope, they don't have to have Access installed for you to use a .mdb file, and they're very easy to connect to with .Net
2) As far as redistribution goes, its been a few years since I looked at it, but at the time it simply required owning a copy of one of the higher-end versions of Office (which was about $1000 at the time). Once you owned it, you could redistribute in an unlimited fashion.

Share this post


Link to post
Share on other sites
What isn't making sense to me is how come I can obtain a full fledged MS SQL Server for free and redistribute it for free, yet in order to redistribute a much "simpler" access database I have to pay $745 apparantly for what is now called "Microsoft Visual Studio 2005 Tools for the Microsoft Office System".

It looks like it does install some sort of access runtime module.

I'm reading an older MS article though

http://msdn2.microsoft.com/en-us/library/aa167800(office.11).aspx

It seems like I could just save $745 and just use SQL Server Express. What am I missing? (Though as I said above I can't imagine SQL is what other Game Developers are actually using).

Share this post


Link to post
Share on other sites
I, too, am wondering if one can just write to a database file and not have to download SQL Server or even have the user need Access installed. The initial response seems like one can use a plain .mdb and not have to have the user download SQL Server or have Access installed. If so, yea!

Share this post


Link to post
Share on other sites
Different businesses make different decisions. Microsoft is a very large corporation, with lots of departments that don't always talk to each other.

If you think your game can include MS SQL Server Express, then you can include that. However, I would recommend against it -- users don't like having arbitrary services (with known vulnerabilities) installed on their machines!

I would recommend going with SQLite. If all you need is to run SQL text, and get an array of array of strings back, the API is really simple to wrap.

Or, perhaps even better, develop the data in SQL, but flatten it out to a big binary file that you load into RAM. Then run your queries in RAM the old-fashioned way (linear scanning) -- it'll probably be faster than a SQL database, unless you're talking hundreds of megabytes of game data.

Share this post


Link to post
Share on other sites
Quote:
Original post by hplus0603
Different businesses make different decisions. Microsoft is a very large corporation, with lots of departments that don't always talk to each other.

If you think your game can include MS SQL Server Express, then you can include that. However, I would recommend against it -- users don't like having arbitrary services (with known vulnerabilities) installed on their machines!

I would recommend going with SQLite. If all you need is to run SQL text, and get an array of array of strings back, the API is really simple to wrap.

Or, perhaps even better, develop the data in SQL, but flatten it out to a big binary file that you load into RAM. Then run your queries in RAM the old-fashioned way (linear scanning) -- it'll probably be faster than a SQL database, unless you're talking hundreds of megabytes of game data.


I need ADO.NET and .NET 2.0 Data Binding support.

Share this post


Link to post
Share on other sites
I would advise a word of caution using Access, as I have run into issues from machine to machine, depending on the libraries they have or even the versions of Access they have (if they have it).

I would also advise against installing SQL Server and/or MySQL on the end user's machines, especially for a game. No one appreciates having to require such large services on their machines for a game.

Share this post


Link to post
Share on other sites
Quote:
Original post by Flimflam
I would advise a word of caution using Access, as I have run into issues from machine to machine, depending on the libraries they have or even the versions of Access they have (if they have it).

I would also advise against installing SQL Server and/or MySQL on the end user's machines, especially for a game. No one appreciates having to require such large services on their machines for a game.

Since you effectively annilihated all the options [smile], what do you suggest?

Share this post


Link to post
Share on other sites
Quote:
Original post by Alpha_ProgDes
Quote:
Original post by Flimflam
I would advise a word of caution using Access, as I have run into issues from machine to machine, depending on the libraries they have or even the versions of Access they have (if they have it).

I would also advise against installing SQL Server and/or MySQL on the end user's machines, especially for a game. No one appreciates having to require such large services on their machines for a game.

Since you effectively annilihated all the options [smile], what do you suggest?


Ah, true =) I'm at work and in a rather big hurry to get my rounds done online. The Paranoia of SCEA is somewhat scary sometimes, especially with the PS3 release coming.

Personally, I haven't done much data storage in C# or any .NET language really. I wrote a simple inventory management system for someone to help manage their eBay store inventory, and I used Access there. Decided I'd never do that again when it came to using the program on machines other than mine.

I honestly don't know much more on what to use. I'd probably look into a free wrapper for SQLite, or write his own wrapper. The library is pretty nice.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!