Original Post
Hello, its been a while since I have done any real programming. Especially dealing with games. The last attempt was console apps in c++ which turned out nicely but that was years ago. Lately Ive been disappointed with the games Ive been playing and thus sparked the research Ive been doing in recent weeks. I have fundamental ideas as to what is involved in a full featured multiplayer game. Heres where Im technically at a loss. I know there are various...for lack of a better term...components of a game that I will need to tackle but for me its like having a bunch of puzzle pieces without knowing how they fit together or even if I have them all. So here goes.
Graphics
Networking
Physics
Input
AI
These are the obvious and basic ones I can think of. Ive been working with the Irrlicht graphics engine which is user friendly and nice. Raknet is my choice for networking although it will take a bit more learning. Physics will have to wait until I understand how the data will be pipelined through the engine. I know this may not be the most approved way of learning theory but for me I need to learn by doing. Little sample apps and tutorials are handy when learning various aspects of the various components, but without seeing how the pieces fit together the information is lost in the bookshelf that is my brain. Anyway. When it comes to game data. For instance, lets use World of Warcraft since most people are familiar with it at least to some extent. A game of that nature has a lot of data that needs to be stored. I dont mean player data, I mean the quests, monsters stats, item stats, etc. This is where Im drawing a blank. Ive fiddled with sql, thought about simple text files, but then thought about excel databases. My question is what would be a user/developer friendly way to create such a large database of various game data that is static at load time, but subject to chance during game play (ie. each instance of a monster may have different health values at different times, although a static starting value)?
Additionally, for a multiplayer game, this static information would be on the server side if Im not mistaken, though the models and skins and such would be client side. Logically for me this makes sense but need some professional confirmation.
Basically Im trying to get the idea straight in my head of how the various pieces fit in the big picture and get pointers on how to proceed. Be gentle please. Im working in c++ and prefer to stay as object oriented as possible. Any help and/or suggestions are greatly appreciated.
Graphics
Networking
Physics
Input
AI
These are the obvious and basic ones I can think of. Ive been working with the Irrlicht graphics engine which is user friendly and nice. Raknet is my choice for networking although it will take a bit more learning. Physics will have to wait until I understand how the data will be pipelined through the engine. I know this may not be the most approved way of learning theory but for me I need to learn by doing. Little sample apps and tutorials are handy when learning various aspects of the various components, but without seeing how the pieces fit together the information is lost in the bookshelf that is my brain. Anyway. When it comes to game data. For instance, lets use World of Warcraft since most people are familiar with it at least to some extent. A game of that nature has a lot of data that needs to be stored. I dont mean player data, I mean the quests, monsters stats, item stats, etc. This is where Im drawing a blank. Ive fiddled with sql, thought about simple text files, but then thought about excel databases. My question is what would be a user/developer friendly way to create such a large database of various game data that is static at load time, but subject to chance during game play (ie. each instance of a monster may have different health values at different times, although a static starting value)?
Additionally, for a multiplayer game, this static information would be on the server side if Im not mistaken, though the models and skins and such would be client side. Logically for me this makes sense but need some professional confirmation.
Basically Im trying to get the idea straight in my head of how the various pieces fit in the big picture and get pointers on how to proceed. Be gentle please. Im working in c++ and prefer to stay as object oriented as possible. Any help and/or suggestions are greatly appreciated.