Board Games (generic)
I am currently creating a project (in C#) in which you will be able to create any board game and play online. There are not much kind of programs like this, though I believe there is at least already one out there.
It will provide the basic functionalities that are common for all games. The basic program will provide pawns, cards, dices and in general all the basic stuff. The idea is you could play any game as long as you provide the images for the cards, pawns etc. The players will be responsible to play with the rules and place pawns correctly, as you would do in real life.
Also, using this code you could make a games with rules that will check how valid each move is and provide advanced functionality depending on the game. You will just have to provie the extra code.
It is rather a small project and an easy one, but for many board game lovers I believe it will be useful. I am creating the game board logic and I would like somebody to create the connection logic. Someone will be the server and players will connect to him/her. Each player will be able to issue a command which can be a string for now. Like "Move this piece there". The command will be issued to everybody so everyone's board will be updated.
1) So looking for someoneone to create the connection part
2) Ideas about the project? Useful? Sounds good?
How good is C# at/with networking?
Anyways, nice idea ;)
Very good. The .NET libraries provide everything necessarily and even more. As a language it is highly object oriented so it makes things easier in that sense also.
The language doesn't really matter for such projects. It would be more or less as easy in C++ or Java. Even in C it would be fairly simple. What matter is the libraries since they do most of the work :)
yeah I tried C#, I even did some teaching in it. It's not as bad as most people claim. But I'm working on another project, so I won't be able to help, even tho I prolly wouldn't be able to help anyways, if I had nothing else to do xP
If this were C++ I'd have liked to have a look at it, but unfortunately I'm not very familiar with C#.
[Strangely enough, I've just been creating a networking system which will allow different clients to communicate, even though there's no game or anything on top of it just yet. Just the opposite of you. :) It's somewhat more complicated than you need, though, and anyway has different design goals. Not to mention being written in C++.]
From what it sounds like, you should be able to just establish a simple TCP connection between your clients. A TCP connection guarantees that all data you send down the connection will arrive (eventually), and will arrive in the correct order. It should make your life a lot easier. (Of course, TCP can be significantly slower than the alternatives [such as UDP], but this shouldn't matter for a board game.)
Anyway, I'm sure C# has support for all this and more behind some nice classes that are very easy to use . . . so if you want to you can start figuring it out for yourself (or wait until another C# programmer shows up). I should warn you that it's usually a lot easier to get multiplayer working if you start adding support for it early on in the life of a project.
True, it is really easy to do so. I have done it before, but I was hoping somebody would save me the time. Every project needs its time, its testing etc etc and even if this would take me less than a week to complete...I am a bit bored and need help :)
In any case, if nobody gets interested I will complete it solo and come back with the code for testing.