I've asked a question similar to this before, but I think I worded it improperly. So here goes...
I am trying to build and online 3d Dominoes multiplayer gaming site using C#. The problem is i don't know where to start much less how to finish something of this magnitude.
If you're going to offer some advice, please tell what type of information I am supposed to look for on the web instead of telling me to "just google it".
I am a beginner at C# but I have a passion for it, so too much advice will suit me just fine.
Please help, and any advice is much appreciated. Thank you
Any software project should start with a good design. Start looking into and making decisions about how you are going to structure your game. For example, the previous solution mentions flash and Silverlight. You need to understand how both of those will impact your players with respect to the platform(s) they will be able to play the game on, the devices they will be able to use, and what their overall user experience will be.
You need to decide if you want your game to be desktop, mobile, or both? That has a huge impact on the platform you will need to build your game on. What is the purpose of your web site? Do players play your game in-browser or is the web site used to help players find the download for their device while also displaying scores or helping people find games to play?
How are you going to accomplish the game state sync between clients? For example, if 4 people are playing a game of Mexican Train, how do you pass game state between those 4 players? Will it be direct connect? Wi-Fi? Web Service to a back-end server? Again, the decision here has a huge impact on how you will architect your solution.
Your enthusiasm is great... don't lose that... take it and use it to drive this project because it is very doable. I suggest you start by reading some articles on multi-player game development. You need to understand the appropriate architectures and their advantages/disadvantages compared to what you are trying to accomplish.
If it were me approaching this, I would decide almost immediately if I wanted to support "local" games (all players on the same IP subnet - no central server) or if I wanted to support global matching. For global matching you would need to write the back-end services to maintain players, scores, leaderboards, etc as well as game matching and game state. Global games provide a much richer game experience but the drawback is your clients would need an always-on connection and you would need to maintain those backend servers.
Finally, be aware that an iterative development process is a really good idea. Maybe you start writing the game as multi-player on the same device (so the device is passed to each player), then work on sync'ing game state between two devices or with a backend server so players can play on different devices. When that is working, go to 4 players, etc... you get the idea. Once you have the overall architecture designed, you can build the app in stages like this keeping the ultimate structure in mind.
Good luck! When you launch your game, PM me here... I'd love to have a look.
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)