Game Development Community

back at it

by J Sears · 12/04/2006 (12:36 am) · 3 comments

Well I had to take some time away from my card game due to holidays and working hard on a website I have been trying to launch (it has nothing to do with programming or games so I won't put a shamless plug in for it here) but now I'm ready to get back at it, thanks to david and tom I got usemouseobjects working in my game and got it to choose the top card in the stack as opposed to the bottom thanks to someone letting my know about pickpoint() which wasn't how I'd hoped to do things but it works just fine.

Now I'm at the point I have to figure out exactly how I'm going to make this game. I know all the rules to the game so that's not hard the problem is the method to program it. It's a 3-6 player card game that will be networked. (I eventually hope to set it up as a master server with a chat room that all the players enter then form up into games from there, I have server spots to host this permanently from so should be neat)

I do eventually hope to add AI players but that is the last thing. So how do I program it to check everything I can't ask 5 random people to connect up with me everytime I want to test out new steps and bug fixes. So I was thinking at first making it 6 players on one comp that take their turns and then when it's all bug free try to switch that over into networked code. I don't know if that's the most efficient way to do it though. Also with networked I want the person at the comp to always be the bottom set of cards but I'm hoping this will be easy as assigning player 1 -6 to all connected then put all the dealt out cards assigned to a player 1 - 6 simset and putting for each player his cards at the bottom of the screen and then rotating the numbers from his spot around. Sounds easy to write it out just hope it will be that easy.

So current steps I will be working on tomorrow hopefully. I have a deal currently to one player and have mouseobjects on so that when he double clicks a card it moves to center, so now I want to deal out one extra card to set the trump suit and then script in the rules and a second player deal with turn taking. And script in that the second player to go has to play a valid card and the turn is assigned by who wins the hand. All that should keep me busy for the day I think

Future steps:
Make it playable for 6 players
Setup Score keeping
Setup Network play
Make a main lobby for the network play (including all the gui involved for that)
Finish up some new graphics needed for this game, might have to hire someone for that my skills are BAD

those steps each include a lot of parts to them so I have my work cut out but hopefully I'll make a big leap tomorrow now that I'm back at it

#1
12/04/2006 (1:00 am)
Cool! looking forward to seeing how this works out!
#2
12/04/2006 (1:19 am)
Glad to hear it, was afraid you had given up!
#3
12/05/2006 (7:50 pm)
@J, I would not suggest making it 6 players on one system and then attempt to port that over to network code -- it may 'sound' simple, but is actually alot of work, especially if your initial code base for local play is not done in a networked model.

If you need more systems to test network play, Microsoft Virtual PC, VMWare and a number of other solutions are available -- depending on your dev machines 'uNF' they'd be suitable for testing network code --

For the massive-multiplayer aspect of having chat rooms, etc, with a master server to connect too, I would not suggest using TGB to make this server -- I would write the server in C++, .NET or some scripting langauge such as Perl, Python, etc --

The bonus to writing the server outside of TGB is this, you can host the server on a system that does not support TGB -- your server does not have to sit in a gameloop consuming all your resources (ie; it can multitask and serve web pages too) and, you can write all your game logic into the server -- rules, card dealing, etc ... and all you have to do on the client-side is write interaction code that responds to the player and the servers commands (draw objects, react to input, make a rule decision, etc)

If the server's written outside of TGB, you can also test your code by telneting to the server and sending commands that way -- to validate rules, etc -- and then you only need one TGB instance to actually test the client-side aspect -- To do 4 players, you'd have 3 telnet windows and one TGB window -- have the TGB window do all the UI stuff for a single player, and have the 3 telnet windows just respond to commands like 'move card X to spot stack A', etc ...

Just a few thoughts ...

Glad to see your still working on this though, hope to hear more about it.