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:
Networking
Gameplay
2D overview (think the current map).
Actual 3D Graphics.
Also I may "fix" the rifle giving users of my client an unfar advantage. Mua, ha, ha...
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:
-- 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>
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.
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:
-- 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.
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.
Anyway, I think it's not very effective if everybody is making his/her own client.