Sockets in AGS

Started by CTxCB, Mon 23/01/2017 10:54:08

Previous topic - Next topic

CTxCB

I'm looking for a way to do Sockets (TCP/IP Networking) in AGS v3.4.x -- I am trying to make a prototype for a revival of Sierra's ImagiNation Network which ran from 1991 to 1996. I have tried other engines, and have got a considerable amount of basic sprites created based on the original source material. But one problem I have is networking, I know perfectly well how to use sockets, but not how to code the functionality of it, the underlying network and how it interacts with the computer itself (as a module most likely).

Crimson Wizard

Are you planning to code sockets in the engine, or in the game script?

AGS does not have its own sockets support, but there was a socket plugin that allowed to script networking in AGS:
http://www.adventuregamestudio.co.uk/forums/index.php?topic=48937.0

CTxCB

Quote from: Crimson Wizard on Mon 23/01/2017 11:12:47
Are you planning to code sockets in the engine, or in the game script?

AGS does not have its own sockets support, but there was a socket plugin that allowed to script networking in AGS:
http://www.adventuregamestudio.co.uk/forums/index.php?topic=48937.0
I was hoping to code the actual socket code (as in networking stuff) in the game itself, but have the socket management stuff via a plugin or module. I did see this plugin and was interested in checking it out, but my worry is that it's in alpha and probably doesn't have finished functionality, also it's three years old and is probably made for an older AGS whereas certain things may have changed (especially with the release of v3.4.x) and the download doesn't exist anymore, brings up a 404 Not Found.

Crimson Wizard

I was using that plugin back couple years ago with older 3.4.0 pre-release version, and almost made a working multiplayer game with it. It's difficult to say how stable it would be in real test though.
Plugin's author (WyZ) seem to be around, so it might have sense to send him a message.

I also heard that people are using some network plugin to make AGS Awards Ceremony (in a game form), but I am not certain which one. Hopefully someone who knows will reply here.

CTxCB

Quote from: Crimson Wizard on Mon 23/01/2017 11:28:18
I was using that plugin back couple years ago with older 3.4.0 pre-release version, and almost made a working multiplayer game with it. It's difficult to say how stable it would be in real test though.
Plugin's author (WyZ) seem to be around, so it might have sense to send him a message.

I also heard that people are using some network plugin to make AGS Awards Ceremony (in a game form), but I am not certain which one. Hopefully someone who knows will reply here.
I've sent a message to WyZ, hopefully he responds. Also, it was probably: http://www.adventuregamestudio.co.uk/site/games/game/1408/ -- This is listed on his profile.

Snarky

Yeah, that's the one, but we've been using the same sockets plugin in every AGS Awards Ceremony since, and have never had any problems with it. You can get the source and resources here.

I talked with Wyz about this a couple of years ago. There are two socket plugins, both of them written by him: there's the one used by the AGS Awards Ceremony, which was never released as a standalone plugin, and there's the one that's in alpha (which is a rewrite with a different API).

The newer one is cross-platform, but I don't know that it's ever been tested in real use. The Awards one is proven to work, but is Windows-only.

Wyz

Has it already been three years? Ouch.. (roll) Well it is still on my mind and I do want to finish the alpha at some point.

As Snarky pointed out: there are two plugins. The one used for the ceremony was made specifically for that purpose, and does not have a really reliable buffer. Fine for IRC (what it was used for) but probably unstable for more intense uses, especially when using binary protocols. That's why I set out to make a new plugin that is fully threaded. In fact the alpha already has most basic functionality in, and that part is stable. I had a quick peek at the source: binary messages/data and socket options are not yet implemented, the rest more or less is, and the API is not likely to change.

The warnings are there because a clear versioning system has not yet been put in: when I release a new version I can not guarantee previous games will break especially when those DLLs start floating around on the web. If you're just making a prototype you can ignore the warning and use the alpha. If you want it to be part of a more serious release you could use the old plugin (depending on what the protocol requires). There is also an in-between solution: I could compile a special version of the alpha you could use for a release; the functionality would not differ.

Anyways, yes, I want to finish it and release it properly, but since I'm pretty busy these days, it might take a while before I'll have time; probably June or July. :-\

I hope that works for you! :)

And I saw your PM btw: I though I'd better just respond here I case some folks were wondering too :)
Life is like an adventure without the pixel hunts.

CTxCB

Quote from: Wyz on Tue 24/01/2017 01:18:19
Has it already been three years? Ouch.. (roll) Well it is still on my mind and I do want to finish the alpha at some point.

As Snarky pointed out: there are two plugins. The one used for the ceremony was made specifically for that purpose, and does not have a really reliable buffer. Fine for IRC (what it was used for) but probably unstable for more intense uses, especially when using binary protocols. That's why I set out to make a new plugin that is fully threaded. In fact the alpha already has most basic functionality in, and that part is stable. I had a quick peek at the source: binary messages/data and socket options are not yet implemented, the rest more or less is, and the API is not likely to change.

The warnings are there because a clear versioning system has not yet been put in: when I release a new version I can not guarantee previous games will break especially when those DLLs start floating around on the web. If you're just making a prototype you can ignore the warning and use the alpha. If you want it to be part of a more serious release you could use the old plugin (depending on what the protocol requires). There is also an in-between solution: I could compile a special version of the alpha you could use for a release; the functionality would not differ.

Anyways, yes, I want to finish it and release it properly, but since I'm pretty busy these days, it might take a while before I'll have time; probably June or July. :-\

I hope that works for you! :)

And I saw your PM btw: I though I'd better just respond here I case some folks were wondering too :)
Yeah, that works for me. I'll probably spend most of this year finding people who can do a lot of the general character art and board game art, I've done a huge chunk of GUI, but to be honest, I'm not much of an artist when it comes to drawing things that aren't that... Especially detailed things, people don't want stick figures in their game. :-D

SMF spam blocked by CleanTalk