0 Members and 2 Guests are viewing this topic.
Thanks all ^^Quote from: DJ Omnimaga on August 22, 2014, 03:08:31 pmNow make sure to add Reuben as character. Lol, I'll make a tuto and you'll be able to make it if you want I have some time now but when September comes, I am not sure I'll be able to do anything more so I plan on working on the engine (and I make Fox to test the engine) but I don't plan on making characters.
Now make sure to add Reuben as character.
Good luck! Hopefully you can finish the engine and main stuff such as menus before you have to put the axe into the project so that hopefully people can make their own characters. Maybe this could be submitted to the OPRT thing to gather more interest. That said, there will definitively be a news about this if it gets further so it could result into more interest.
Suggestion for a (very simple) protocol to establish one calculator as a master and the other as a slave:Wait for a pseudorandom amount of time (to mitigate the chance of both calculators entering the next steps within microseconds of each other).Read the link port.If in its default state (0b11), pull one line low and wait. This calculator will become the master (or the slave).If not in its default state, unless the other calculator is running some other code, this should mean the other calculator is waiting in the state above. Pull the other line low and wait for at least 100 microseconds to make sure the signal is received. This calculator will become the slave (or the master).Release the link lines.All further transmissions can then be guided by each calculator knowing its role in the transmission (sender or receiver).
Text(0,,"Waiting for other calc")DispGraphWhile 1 randplotdot1->P Text(0,,P>Dec) Send(P,°Delay) While 1 If getKey(15):Goto RET:End Receive() EndIf +1 -1->Q Send(P,°Delay)EndIf P-QClrDrawText(0,,"You are P",P++>Dec)DispGraphPause 3600Pause P*20+1
!If |port 1->|port While 1 If getKey(15):Goto RET:End Receive() EndIf +1 -1->{P xor 1+°PInput} Pause 20 Send({P+°PInput},°Delay) Else Pause 20 Send({P+°PInput},°Delay) While 1 If getKey(15):Goto RET:End Receive() EndIf +1 -1->{P xor 1+°PInput} End
While 1Text(0,,port>Dec)EndIf getKey(54)2->portWhile 1Text(0,,port>Dec)EndIf getKey(15)0->port
!If P-1 While 1 If getKey(15):Goto RET:End Receive() EndIf +1 -1->{P xor 1+°PInput} Send({P+°PInput},65535) Else Send({P+°PInput},65535) While 1 If getKey(15):Goto RET:End Receive() EndIf +1 -1->{P xor 1+°PInput} End
!If P-1 °A-2->r1 For(3) While 1 .If getKey(15):Goto RET:End Receive() EndIf +1 -1->{r1+2->r1} End (A and B) or (B and C) or (C and A) ->{P xor 1+°PInput} For(3) Send({P+°PInput},65535) End Else For(3) Send({P+°PInput},65535) End °A-2->r1 For(3) While 1 .If getKey(15):Goto RET:End Receive() EndIf +1 -1->{r1+2->r1} End (A and B) or (B and C) or (C and A) ->{P xor 1+°PInput} End
So, if I understand it correctly, you send keypresses to the other calc and hope that the movements stay synced on both cacls, right?I think it would be better to send actions to the other calc when the player does them, together with the coordinates at which the actions were started. For example: jump: first send a byte that represents the jump action (for example $0C (just a random number)), and then the coordinates, for example (5,10). That way, if the calcs aren't fully synced, they should resync because it now knows the coordinates.But I haven't tried something like this yet, so I don't know how well it would word, or how slow it would be.
Btw will there be single player support? In North America it's very rare to see more than 1 student in one single school who care about calc games, so by being multiplayer-only the game would basically be out of reach from most of North America, especially Canada.