Page 1 of 2

HaSnip

Posted: Sat Jul 20, 2013 8:11 pm
by Sonarpulse
Image
Intro
So, I am going to rewrite AoS in Haskell. It is going to be network compatible with as many 0.* versions as I can make it (starting with 0.75). AT THE MOMENT THERE IS NOTHING TO PLAY, NUBS.

Some of your also I have another project to port and maintain Voxlap. This may or may not use Voxlap, this may or may not use Iceball's engine (if grease et al. is ok with that), this may use this one guy's thing in pure haskell, I don't know yet. I will do whatever is easier/better. Also, My plan is to make this game ass-backwards:
  1. Networking
  2. Gameplay
  3. 2D overview (think the current map).
  4. Actual 3D Graphics.
Also I may "fix" the rifle giving users of my client an unfar advantage. Mua, ha, ha...

Links

Re: HaSnip

Posted: Sat Jul 20, 2013 8:39 pm
by Sonarpulse
Challenge number 1 (because I am going to be sorta busy until mid august maybe?):

So, to make a network-compatible client we'll need to be friends with PySnip. I made a little dumb client in haskell and tried to connect ....and it didn't connect. Did the same thing in C with same result. Wireshark though shows the server respounding, so maybe pysnip is trying to share the love back and we aren't re-reciprocating.

I'll link both versions. If you can figure out what's needed to fool pyspades for even a second, you get a cookie*.
The Haskell file can be interpreted separately from whatever else is in the HaSnip Repo. Just load it up in GHCI (the interpreter), and call init with an address like this:
Code: Select all
-- some aos://<IP>:<port>
-- yes, you can actually pull out the big IP number from the URL and just put it in directly

ghci> init $ SockAddrInet <port> <IP>

Re: HaSnip

Posted: Sat Jul 20, 2013 11:37 pm
by Mr.CS
Good luck to you.

Re: HaSnip

Posted: Sun Jul 21, 2013 10:33 am
by mylesd98
[Deleted]

Re: HaSnip

Posted: Sun Jul 21, 2013 10:46 am
by MrHaaax
Good luck, Sonar!

Re: HaSnip

Posted: Sun Jul 21, 2013 2:26 pm
by Sonarpulse
mylesd98 wrote:
why dont you start it at 0.76? honestly that would make more sense.
bit like how 0.76 should be set to the recommended version on this site >.<
Yes, 0.76 absolutely is better, but 0.75 has more players, which is critical to getting this off the ground. Remember as this a new client, a lot of the problems with 0.75 don't apply. It's actually a fairly arbitrary decision which protocol version will I support first.

Re: HaSnip

Posted: Sun Jul 21, 2013 4:28 pm
by mylesd98
[Deleted]

Re: HaSnip

Posted: Mon Jul 22, 2013 2:02 am
by danhezee
interesting

Re: HaSnip

Posted: Mon Jul 22, 2013 11:02 pm
by Sonarpulse
Thanks!

Re: HaSnip

Posted: Thu Jul 25, 2013 6:02 am
by Kuma
Hmmm, I am a nub I don't understand this. But anyways good luck!

Re: HaSnip

Posted: Thu Jul 25, 2013 9:57 pm
by Sonarpulse
Thanks!

Re: HaSnip

Posted: Thu Jul 25, 2013 11:54 pm
by Xtra
Well, good luck with this.

Re: HaSnip

Posted: Sat Jul 27, 2013 9:49 pm
by GreaseMonkey
Sonarpulse wrote:
Challenge number 1 (because I am going to be sorta busy until mid august maybe?):

So, to make a network-compatible client we'll need to be friends with PySnip. I made a little dumb client in haskell and tried to connect ....and it didn't connect. Did the same thing in C with same result. Wireshark though shows the server respounding, so maybe pysnip is trying to share the love back and we aren't re-reciprocating.

I'll link both versions. If you can figure out what's needed to fool pyspades for even a second, you get a cookie*.
The Haskell file can be interpreted separately from whatever else is in the HaSnip Repo. Just load it up in GHCI (the interpreter), and call init with an address like this:
Code: Select all
-- some aos://<IP>:<port>
-- yes, you can actually pull out the big IP number from the URL and just put it in directly

ghci> init $ SockAddrInet <port> <IP>
You need to call enet_host_compress_with_range_coder(ENetHost *host) after creating your client "host". The rest looks fine to me, although for Iceball I wait 5 seconds, instead of 3/4.

Re: HaSnip

Posted: Sat Jul 27, 2013 10:18 pm
by Sonarpulse
Awesome, Thanks so much, Grease! I'll try it: if it works I'll finally be able to actually get somewhere with this.

Edit: Works!!! Thanks again!

Re: HaSnip

Posted: Sun Jul 28, 2013 7:33 pm
by ByteBit
GreaseMonkey wrote:
You need to call enet_host_compress_with_range_coder(ENetHost *host) after creating your client "host". The rest looks fine to me, although for Iceball I wait 5 seconds, instead of 3/4.
Thank you very much! Maybe that is the problem why my attemps to connect to E-net servers always fail.
Green_Sunglasses1
Anyway, I think it's not very effective if everybody is making his/her own client.