0
\$\begingroup\$

Hi I have studied c# for good few months and I'm at intermediate level at the moment.
And few days ago I decided to make simple 2D Games like "Mr Jump" after studying Unity.
So my question is as follow :

1)Should I study database to make simple mobile games? and if so what would be good language to study?

2)And if you have played "Mr.Jump", can you tell me if that game required complicated database coding and a lot of knowledge?

3)Also when we play the game, our best score and new characters get saved in our phone. Is that something to do with database?

4)Could tell me examples of database in games?

5)Should I study database as much as c#?

\$\endgroup\$
  • \$\begingroup\$ Possible duplicate of Use a SQL Database for a Desktop Game \$\endgroup\$ – Elva Oct 1 '15 at 15:05
  • 1
    \$\begingroup\$ If you don't know if you need it, you probably don't need it. \$\endgroup\$ – Anko Oct 7 '15 at 17:58
-1
\$\begingroup\$

1)Should I study database to make simple mobile games? and if so what would be good language to study?

2)And if you have played "Mr.Jump", can you tell me if that game required complicated database coding and a lot of knowledge?

No. A game like Mr. Jump could easily be made without any database knowledge.

3)Also when we play the game, our best score and new characters get saved in our phone. Is that something to do with database?

There might be a database involved, but you don't need to know how to work with it directly. There are API calls for iOS, Android, and Windows Phone that will do all of the database work for you.

4)Could tell me examples of database in games?

An MMORPG like World of Warcraft would use a database to store all of its player data on the server.

5)Should I study database as much as c#?

Definitely not. Learning the language you're programming is far, far more important. I wouldn't bother studying databases at all until you hit a point in your development where you find a need for them.

| improve this answer | |
\$\endgroup\$
2
\$\begingroup\$

Not really. There are very, very few games that require a full featured database engine.

A database engine is a very general piece of software, capable of storing nearly anything, reading and writing to it, and ensuring things like referential integrity.

A game does not care about that. It typically has 2 kinds of data; the first of which is game data which is not changed by the game.

It's the level, textures, models, sounds, (some) game logic, etc. This is quite often a case of "Load this data directly from memory and fix up some references, done" or "Parse this fixed format text file and bail on an error". A database engine is way overpowered for that and slow (not to mention large in size due to being generic).

The other type is player save game data, this is usually also a custom format and does need to be written to by the game engine, a more likely target for something small like PostgreSQL but still not exactly common in my experience.

That is not to say that they can't be useful, they're probably the best target for things like storing online achievements and statistics; however that's not really part of the game, that's hidden behind a web service somewhere.

| improve this answer | |
\$\endgroup\$
1
\$\begingroup\$

I would highly recommend learning the basics of databases and how they work if you are going to follow a career in the game industry. Data is essential to most games today and understanding how the data works, is queried and put together is certainly useful.

Many game developers nowadays though are using BaaS (Backend as a Service) offerings such as GameSparks, which provide you with a database in the cloud for your game to connect to, instead of storing data on the device. There are many benefits to this, namely...

1.) If a player's device is lost, they can install the game on a new device, authenticate, and be back in the game where they left off

2.) Having the game data and configuration data on a server allows the developer to configure game settings/difficulty etc easily without having to push game updates to the clients. The client would simply open the game and download the updated config/settings data.

| improve this answer | |
\$\endgroup\$
0
\$\begingroup\$

Databases are designed to handle vast amounts of data. There are many types, with different ideas behind them; but in general they are for A LOT of data. Because of this, databases do require at least some complicated set up and a fair amount of knowledge.

However, they are not what you need right now. If you are saving the data of just one player locally, there is no need for a database. There are plenty of other solutions out there that will work fine and not require extensive set up. Here is a good tutorial for Unity: https://unity3d.com/learn/tutorials/modules/beginner/live-training-archive/persistence-data-saving-loading

| improve this answer | |
\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.