   Lobby server & Game Project
  Hey guys!My name is Marcelo, I come from Brazil, and I want to produce a game. (cliché?)Unfortunately, I think the idea is pretty good, so I'll have to apologize here but I just can't release it... yet :DI have two weird questions here, although they all relate to game programming and I think you can answer me without knowing the whole game idea.So the game I want to create would be 2D (if I said 3D you'd flame me lol).I also hope to gather a medium sized team. Anything between 5-10 programmers, but could add more if you guys judge it necessary).1st- Is it possible to make a 'sub-game' as a lobby server? (ok lemme rephrase that lol) I want to know if it's possible for one to have a character in a very small "graphical" game world that is the lobby server itself. Meaning this player would interact with players and NPCs in a 'graphical' way and be able to create a 'virtual' room and transport him and all his 4 fellas to an instance. So again, you have say 1000 players in a small game world. Each of them has the ability to create a 'fictional' room (he doesn't see it, that'd be server side thingy) and as his friends join him, they all go to an 'instance' in the server,an actual dungeon where only the player and his friends would go. Then after a while the dungeon ends, him and his friends get back to the 'graphical' lobby.(Ok I think that already reveals a lot about the idea itself, but I kinda need to know this stuff XD)The second question, well you probably get this a lot but here goes:2nd- Can I initially design an offline RPG with a slight MMO perspective and turn it online later on? I mean I do know there's a huge gap between being offline and online but I'm talking about using Raknet engine later on. As for the 'slight MMO perspective', that means designing the framework (players, items, npcs, monsters), but trying to add as much support as possible to the 'future' online part.You might ask why would I want to do that, and the answer is the obvious one. I currently lack knowledge to make the whole online programming. I think I have a good idea of how a client-server achitecture works. I've read about TCP/IP, UDP, sockets, client functions, server functions, messages, latency, security, etc. But I still need practical knowledge and even some more theory on that. On the other hand, I dare say I can build an offline RPG in C++ with some good OOD design. I've studied all the chapters in my book, and I can work with polymorph, data structures, inheritance, dynamic memory, etc etc. Also for the graphical part I'll use SDL, which I have some practical knowledge on.So the big question is, can I start the MMORPG project (with a nice team) and begin the offline part, and then go for the online part? In the meantime of coordinating the team, I'd be gathering the necessary knowledge to use Raknet then pass it to the team. I'm about to learn how to code a chat server lol. Getting close XD That being said, there's still the SQL part. And I suppose I'll need to do some data binding studies, but perhaps that's what SQL APIs are for right??Sorry if I sounded arrogant, but I am determined. I really want to do this project, I'm aware of all the hardships, especially of a "do-while-learning" project. And that's why I came to the best game development community everto seek guidance. Any references, comments are greatly appreciated. Thank you very much!   
  Regarding your first question about the lobby server and then teleporting the party to an instance, that's exactly how guild wars works and it uses that model pretty successfully!I think thats a neat way to do it because you get a lot of the game play of an MMO without all the headaches of making an MMO.Regarding your 2nd question, you could make it single player first then change it to multiplayer but going that route is a TON of work and you'll end up having to throw a lot of your work away and re-write it.What you are better off doing is designing the game as if it's multiplayer from the start, and consider single player a special case of multiplayer that only has 1 player.You don't have to use SQL for your chat server, but it is an ok option.Also hey heres some advice for something that used to kill my own personal game projects and which sounds like you might fall into as well.Instead of programming all the things you think you might possibly need for your game, code what you need as you need it.After a few years makin games on my own and then later going pro, i found that i was wasting a TON of time making code that i never actually used, just because i thought it was cool to make or thought that maybe we'd need it.Also, don't worry about optimizing too much (making code run faster) until you know it's a bottleneck.  Basically... make things work, THEN worry about making them run fast, and only if you need to.Hope this helps!   ;  What Atrix256 said + for heavens sake use profiler to find those "slow spots". Intuition fails miserably in finding them most of the time. ( Unless its that O(n^n) algorithm, that is killing the framerate with n size 500 ).   ;Quote:Original post by Apsi91Unfortunately, I think the idea is pretty good, so I'll have to apologize here but I just can't release it... yet :DI think you can answer me without knowing the whole game idea.Just for future posts.. try searching around on those keywords there, you'll soon discover that nobody cares, at all. Nobody's going to 'steal your idea', chances are they have their own idea which they wanna implement, why in the world would they wanna make Yours?  Failing that, you could simply exclude the first paragraph all together and concentrate on the question/issue. :)Anyhow, Atrix256 answered pretty well, but id stress the lack of need for an SQL server, as its only possible purpose for the chat would be server-side logging.   