Multiplayer

Discussions about the internal structures of the game. You can also post here if you'd like to know how things really work (and don't know how to read C code).
Post Reply
vector
Posts: 449
Joined: Sat Dec 18, 2004 11:26 pm
Location: Australia, Victoria

Multiplayer

Post by vector »

Obviously for ver 1.9 ;)

Just had my brother here and we both wished we could play multiplayer.
I had a quick? think on how we could implement this real easy.
I realised there was no topic on the forum so I started one ;)

It goes something like this.
  • 1) Its played once a week just like the current version but a week is a week in real time. (keeps it slow, realistic and managable for everyone)
    2) Deadline. You must have your team and changes "committed" to the server by say friday eve.
    3) Once commited you cant change them.
    4) Results are available monday morning.
    5) No live game (but maybe make a history for it)
    6) No half time, substitutes etc.
All we actually have to do is this.
We create "three files".(same format as the saved games are now)
current, tomerge and playday
All players have access to current, which is last weeks results and fixtures for next week.
Once you commit changes thats it.These changes are commited to the tomerge file for that multiplayer.
The tomerge and playday files are not player accessable. This stops people waiting to the last minute to see what the opponent is going to do.

All easy so far. we are just simply uploading and downloading files all the actuall calcs and stuff are done user side.

The tricky bit.
we have a file called playday (on the server) which is mostly just like any normal save game zip. There will be a "tomerge" file. one for each multiplayer. and only the bits that are specific for his team are kept here.

On play day we merge the team specifics (tomerge file) for each player into the playday file.
and run the server game.
therserver saves it as current and puts it in the download area.

easy ;)
I think I can offer a server which is on 99% of the time and i suspect we wont have tens of people playing early on, so it wont upset the access too much It certainly will be ok for trial purposes.

what I dont have is the knowledge of how to merge and seperate the xml files and how to make an easy secure file transfer.

Yes, no, thougths?

:arrow: Join the "ban vector from this forum club" ? ;)
"There are two ways to score. Dribble it over the line or smash it into the back of the net."
What type are you?
gyboth
Site Admin
Posts: 1421
Joined: Sat Dec 18, 2004 8:42 am
Location: Passau, Germany
Contact:

Re: Multiplayer

Post by gyboth »

vector wrote:Obviously for ver 1.9 ;)
obviously? :shock: yes, obviously for 2.9 :lol:
1) Its played once a week just like the current version but a week is a week in real time. (keeps it slow, realistic and managable for everyone)
this is the biggest drawback, i think. there are games that are deep enough to be played like this, eg. i heard of one called vga planets, but Bygfoot isn't, in my opinion. it gets boring if you're done with your actions within 5 minutes and then have to wait a week until there's some consequence.
5) No live game (but maybe make a history for it)
6) No half time, substitutes etc.
in other words, throw away one of the main new features of 1.9 :-P
All easy so far. we are just simply uploading and downloading files all the actuall calcs and stuff are done user side.
what kind of calcs can be done user side? i mean, matches and transfer list stuff obviously has to be done by the server.
easy ;)
sounds easier than it is, probably.
Yes, no, thougths?
thoughts:
  • i don't think a such a weekly game would be exciting enough.
  • as far as i could see when i took a quick look at the functions for internet access from within C, they're rather complicated (a library that's got something to do with socks.. or sockets :-D). but then it might be easier than it looks.
  • i don't think football manager games are very online-multiplay-adequate. manager games are mostly played by single users.
  • if there'll ever be an online multiplayer version of Bygfoot, most of the calculations will have to be done on the server, i think.
  • if there'll ever be an online multiplayer version of Bygfoot, it should be real-time stuff, like, every player makes his actions, and when everyone's done, a green light flashes and the results are calculated.
  • i rather tend to implement hotseat-multiplayer functionality; in my opinion that'd be easier to do and more fun than playing over internet.
  • whatever we do, it's something for a late version, eg. 2.9.
:arrow: Join the "ban vector from this forum club" ? ;)
no, i wouldn't like to make 90% of all the posts myself :-)

gyözö
Press any key to continue or any other key to quit.
vector
Posts: 449
Joined: Sat Dec 18, 2004 11:26 pm
Location: Australia, Victoria

Post by vector »

gyboth you dig too deep ;)
Switch to think real simple mode.
I think it would only take a couple of hours to implemnt this :roll:
Id give it a go if only I knew how xml works. (ie stripping from and merging to an xml file)
in my opinion. it gets boring if you're done with your actions within 5 minutes and then have to wait a week until there's some consequence.
thats exactly why this works!
the same interface, different files. Like going outside and kicking a ball around for real, yet waiting once a week for Bayern to win. You can play a complete season any day you want against the computer but to do battle with real people aa ahahahah :D the anticipation builds over time. So many games have lost this. Bang bang all over. How do you feel watching the news or sports results , waiting for the scores to come up, waiting to see how your team did. Its the wait that makes it worth it.

without making a long post, I guess i am duplicating my life, as i watch my real team(spurs). we have no football on TV here (unless you have cable or satelite) so all i have; is to login, read the previews then wait and login for the final results, see how we did etc. Ocasionaly if timing is right i can "watch" or catch the game on "ESPNs" gamecast". Its like going back in time ( well, I remember listening to events on shortwave) Our modern world has lost the art of anticipation.

Everbody has gone overboard on stimuli. action action action. STOP I have spent long hours searching for games that are "setup or configure some variables then let it be and see what it builds" I like things that build on there own, maybe a tweak from me occasionlay but it dosent constantly seek my attention. ( I have kids for that ;) when I first played bygfoot it struck me as being a perfect candidate for this style.

The muliplayer ver is not a, "I feel like playing a game now", its like waking up in the morning and reading the newspaper or logging in to see what email you have. "Ill just check my bygfoot results". (I probably have a team in each league if I am a real game nut)
Its just a "2bit show" just something you look fwd too, it happens and thats that.
5) No live game (but maybe make a history for it)
6) No half time, substitutes etc.
in other words, throw away one of the main new features of 1.9
not quite! I was keeping it simple. to feed info from a server like this would bevery tricky. but!! just like gamecast it can be recorded (its only text after all) and replayed. no doubt XML could handle this.
Sure if we can work out how to stream the info we would have live games. But which games would you record?...all of them?... I can see that eating up HD space and being very difficult "keep it gyboth", " keep it simple" :)

what kind of calcs can be done user side? i mean, matches and transfer list stuff obviously has to be done by the server.
Match results only. sure it would be nice to work out a way of having a real transfer list but again for now let the user side do all this. I mean its all random and dice rolling anyway.

Go in to basic simple mode !.
Im literally talking about uploading and downloading the gamezip file. Of course as a user I would only need to upload my teams player setup, positions, style etc. so it would be very quick. the server would merge that with the real game zip.
internet access from within C, they're rather complicated
and thats why I didnt even want to try it that way. We are simply uploading and downloading snipets of files. It dosent even have to be done from within bygfoot.
  • * you login to the net download the latest "current_file.zip"
    * you open your bygfoot and select load game. and load "curent_file.zip"
    set your team up , do the stadium things, check your TL all done as user side calcs.
    * you save current_file.zip (somewhere here, you either run a seperate "split user info from file script" or its an option in the bygfoot game.) and * upload this file (just your changesetc) to the bygfoot server.
    * the server merges this file with playday_file.zip
    * on playday, bing, it runs bygfoot without a gui, saves the resluts as latest_file.zip and puts it on the web.
users donwload it and see the results.

Indeed you shouldnt take time away from 1.9 to do this. I just had a thought with my brother and felt it would be 'way cool" if it could be done.
In my spare time (ha work next week :() Ill look at xml i reckon I can split and merge (id use python tho "c" is beyond me)
What i will need however, is a striped version of bygfoot that just loads the game file, calcs the results and saves the game file. this may take time, I dont know how its written and so I dont know if this could be achieved.
"There are two ways to score. Dribble it over the line or smash it into the back of the net."
What type are you?
gyboth
Site Admin
Posts: 1421
Joined: Sat Dec 18, 2004 8:42 am
Location: Passau, Germany
Contact:

Post by gyboth »

vector wrote:gyboth you dig too deep ;)
Switch to think real simple mode.
i'll try :-)
I think it would only take a couple of hours to implemnt this :roll:
and i think that hello world is the only program that takes less than a couple of hours.
Id give it a go if only I knew how xml works. (ie stripping from and merging to an xml file)
hm... i'd say one has to read both files and write the appropriate parts into a new file. i don't believe there are libraries for this.
in my opinion. it gets boring if you're done with your actions within 5 minutes and then have to wait a week until there's some consequence.
thats exactly why this works!
i've reconsidered. my proposition of real-time playing wouldn't work well either because season's are quite long.
Its the wait that makes it worth it.
all right, maybe you're right.
without making a long post,
vector? you? long post? impossible! :-D
5) No live game (but maybe make a history for it)
6) No half time, substitutes etc.
in other words, throw away one of the main new features of 1.9
not quite! I was keeping it simple. to feed info from a server like this would bevery tricky. but!! just like gamecast it can be recorded (its only text after all) and replayed. no doubt XML could handle this.
Sure if we can work out how to stream the info we would have live games. But which games would you record?...all of them?... I can see that eating up HD space and being very difficult "keep it gyboth", " keep it simple" :)
in fact the way i've done the live game in 1.9 (mind you, it's far from being complete), it should be rather easy to export a complete game and replay it later.
Match results only. sure it would be nice to work out a way of having a real transfer list but again for now let the user side do all this. I mean its all random and dice rolling anyway.
and how do you suppose to calculate an encounter between two user teams? can't be calculated on both systems if you don't want to have two different results.
and thats why I didnt even want to try it that way. We are simply uploading and downloading snipets of files. It dosent even have to be done from within bygfoot.
yes, a very good idea. i didn't think of this earlier, but it's really simpler than using the c funcs.
Indeed you shouldnt take time away from 1.9 to do this. I just had a thought with my brother and felt it would be 'way cool" if it could be done.
i won't :-) i don't even have 20% of 1.9, so this is daydreaming here :-)
In my spare time (ha work next week :() Ill look at xml i reckon I can split and merge (id use python tho "c" is beyond me)
What i will need however, is a striped version of bygfoot that just loads the game file, calcs the results and saves the game file. this may take time, I dont know how its written and so I dont know if this could be achieved.
question is, which version do you use? 1.7 wouldn't make much sense because of the feature freeze; after some debugging it'll become 1.8 (stable), and stable versions don't get new features, only bug fixes. so you'd have to take 1.9, which isn't done yet :-P i'd rather advise you to wait until there's a first version of 1.9 that is more or less playable and try your ideas then.

gyözö
Press any key to continue or any other key to quit.
vector
Posts: 449
Joined: Sat Dec 18, 2004 11:26 pm
Location: Australia, Victoria

Post by vector »

question is, which version do you use? i'd rather advise you to wait until there's a first version of 1.9 that is more or less playable and try your ideas then.
okldoke I just wanted to have it "warming" the back of your head as it may determin how you do things :)
hm... i'd say one has to read both files and write the appropriate parts into a new file. i don't believe there are libraries for this.
there seems to be alot in python but im not sure what im doing yet so I cant confirm.
vector? you? long post? impossible!
yeahh sorry :cry:
1.9... it should be rather easy to export a complete game and replay it later.
see! Im allready working on your subconscious :D
to calculate an encounter between two user teams?
hmm my post wasnt long enough, it seems. This bit is hard to describe ;)
thats the one calc done at the server. Im not sure how your code inards work. Im assuming it gets the computer team info(skill etc) from the zip file? currently a match is; my team v one of the computer teams or computer v computer.
The special bygfoot server ver sees no users, just computer v computer players. (the user team has allready been merged it looks just like any of the computer teams) anyway we clear this up later. I know what i mean :) and i think its easy enough. and you have plenty of real things todo :)
"There are two ways to score. Dribble it over the line or smash it into the back of the net."
What type are you?
gyboth
Site Admin
Posts: 1421
Joined: Sat Dec 18, 2004 8:42 am
Location: Passau, Germany
Contact:

Post by gyboth »

vector wrote:okldoke I just wanted to have it "warming" the back of your head as it may determin how you do things :)
i can assure you, it is right now :-)
there seems to be alot in python but im not sure what im doing yet so I cant confirm.
and i'm not sure it's necessary. i've thought a bit about this, and in my opinion, it should work like this:
  1. users have an interface just like the current one (or like the one in 1.9, anyway), only they can't click on new week (and maybe some other forbidden things like buy a player not on the transfer list).
  2. the server maintains the fixtures and the transfer list.
  3. each week, players upload information about their team and some actions:
    • player list
    • stadium actions
    • transfer list actions
  4. as for the transfer list, the useres are ordered, and bids for the same player on the transfer list are taken in this order; the order changes each week, ie. the player on top becomes the one at the bottom and all others move up
  5. as you mentioned, the server just runs a normal bygfoot program (except for some tweaks like the transfer list user order); each week the fixtures are computed, the transfer list is updated etc.
  6. users can download then the results, possibly some recorded live games, whether their transfer bid was successful, how the stadium works are proceeding, whether they're fired etc.
seems simple, but what small experience i gained as a programmer tells me that things that look simple aren't in 99,9% of the cases.
vector? you? long post? impossible!
yeahh sorry :cry:
wasn't meant as a rebuke ;-)
you have plenty of real things todo :)
yes; i'd say let's finish 1.9 first, then we can continue the multiplayer discussion. but your ideas are very interesting, for sure. i won't forget them.

gyözö
Press any key to continue or any other key to quit.
Post Reply