Jump to content


Photo

Announcement: Pond


  • Please log in to reply
43 replies to this topic

#16 AireTamStorm

AireTamStorm

    Unix Addict

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 942 posts

Posted 15 October 2008 - 12:46 PM

QUOTE(Multiplex @ Oct 14 2008, 12:20 PM) View Post
Is this a competitor to that recursive acronym thing, or more of a complementary thing?
This is a competitor to TINXL. TINXL more seems focused on the community aspect rather than the under-the-hood functionality, though. If POND gets to a mature state the creators of TINXL could use POND as a means of connection. If TINXL does end up doing do many of things I've boasted for a featureset, there may be a possibility of future interconnectivity. Right now, I want to get my own stuff running.

It comes down to the fact that I'm using alot more existing standards. This sounds impressive on a level, but really most of this code it already written for me. I'll just write the appropriate server plugins for a GPL'd Jabber server and redistribute the source so that anyone can host, compile, or modify a server. The client is the biggest about of work, but libpurple makes up for ALL of the communication connection code. Beyond that, standard TCP / UDP and APF for the port forwarding. I'm just gluing a bunch of projects together.

Now, I need to figure out which GPL'd Jabber Server to use : )

For people who do not want to release their code via GPL: I will have a wrapper available to separate GPL'd code from PONC. PONC will likely be a daemon and the code you plop into your application will be public domain. This also allows for PONC to be updated by itself.

@PSyPastR:

Not quite there yet, but if you can code web interfaces it would be a big plus for server management.

#17 MarcelP102

MarcelP102

    Member

  • Members
  • PipPip
  • 28 posts
  • Location:Netherlands

Posted 15 October 2008 - 02:25 PM

This could be very usefull! Can't wait to play some old classics against other pandora users

#18 xnopasaranx

xnopasaranx

    Superbad!

  • X-treme Team
  • 2369 posts
  • Gender:Male

Posted 15 October 2008 - 02:29 PM

only thing that I'd want would be some sort of online score tracking implemented for multiplayer matches... but I guess that goes a little too far as we'd need a server and someone who maintains it.

I really like your idea though. I thought about something similar recently and you basically read my mind. Hope you are getting somewhere with your concept. I am sure there is a lot of people willing to help out with code and such.

#19 Mithrildor

Mithrildor

    I Haz Custom Title

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 1335 posts
  • Location:Nijmegen, The Netherlands

Posted 15 October 2008 - 06:48 PM

Great! That would be nice. Just 5 things

1. IRC client!
2. Being able to chat on IRC/it's own chat when searching for games.
3. Being able to search for matchs for multiple games
4. Inbuild updater (to update all your games)
5. Gamertags, show others your skills and how much games you won on a tag.

#20 conso

conso

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 732 posts

Posted 15 October 2008 - 07:30 PM

huh.gif Jabber has it's own, much more powerfull multi-user-chat implemented! It's called MUC ^^ - IRC is completely unnecessery here, but maybe there is some way to tunnel a MUC through IRC.


#21 AireTamStorm

AireTamStorm

    Unix Addict

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 942 posts

Posted 16 October 2008 - 04:27 AM

I'll consider allowing PONClient connect to other communication protocols- since I'm planniing on using libpurple, anything supported in pidgin (AIM, MSN, Yahoo, ICQ, etc) will fairly easily work. Do NOT ask for skype, though. Some features will only be available on POND Jabber servers, like automatic TCP / UDP tunneling through remote servers.

As for stat tracking, that depends entirely on the game developer to implement, even if I wrote all the code for it. I will see about it, however that is an immense amount of work all by itself. There is alot of encryption and security to consider so that people do not cheat, for instance. As such, such functionality would likely require a separate team of developers, as it has nothing to do with connection negotiation. Volunteers? smile.gif Some of these features you are casually requesting are no small feat. Doesn't mean it isn't doable... My priorities are just elsewhere at the moment, and that is making connections as smooth sailing as possible.

#22 lardman

lardman

    GP32 User

  • Members
  • PipPipPip
  • 88 posts

Posted 16 October 2008 - 01:22 PM

Would be good to add Bonjour (avahi) functionality to allow people to play/talk/etc. directly without needing to join a network.

#23 AireTamStorm

AireTamStorm

    Unix Addict

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 942 posts

Posted 16 October 2008 - 01:50 PM

QUOTE(lardman @ Oct 16 2008, 09:22 AM) View Post

Would be good to add Bonjour (avahi) functionality to allow people to play/talk/etc. directly without needing to join a network.


Going to add that functionality for bluetooth, and WiFi if the chip supports ad-hoc (I doubt it will not). I will not actually code anything to manage the hardware beyond perhaps a simplistic script, but once there is an open path for connections, I'll try to make it as easy and transport-irrelevant as possible.

#24 MrShleee

MrShleee

    Member

  • Members
  • PipPip
  • 3 posts

Posted 17 October 2008 - 01:32 AM

I would love to see some kind of community style modules...

In-game chat, Friend lists and achievements biggrin.gif

#25 AireTamStorm

AireTamStorm

    Unix Addict

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 942 posts

Posted 23 October 2008 - 12:28 AM

Status Update on this project:

Base Network Library
I've decided to go with HawkNL ( http://www.hawksoft.com/hawknl/ ) for the base network library. Why?
QUOTE
HawkNL has been tested on Windows® 9x/ME/NT/2000/XP/CE, Linux®, Solaris™, IRIX®, AIX®, BSDs, Mac OS®.
In other words, any platform that the Emulator or game can run on, PONC will too, and all clients will be able to communicate with each other regardless of platform. Are you ready for PC vs Pandora vs (modded) PSP gaming? I am, and I'm going to commit to cross platform compatibility. HawkNL is the fastest way to that goal.

Licensing and technical information
The entire client and server will be licensed under GPL. As said before, there will be a wrapper library that is public domain you compile into your application, or alternatively, be run completely separately of the application to create the tunnels. You don't even have to recompile your applications to work- if they can connect to 127.0.0.1 / localhost on the PONC port, they can connect via POND. Both methods aim to be full function.

On another note, I'd like to see where TINXL is, status-wise.

#26 slygamer

slygamer

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 791 posts
  • Location:Brisbane, Australia

Posted 23 October 2008 - 12:41 PM

QUOTE(AireTamStorm @ Oct 23 2008, 10:28 AM) View Post

Base Network Library
I've decided to go with HawkNL ( <a href="http://www.hawksoft.com/hawknl/" target="_blank">http://www.hawksoft.com/hawknl/ )</a> for the base network library. Why?

Be aware that HawkNL development has been stopped for a few years now and is no longer an active project.

#27 Gaspo

Gaspo

    Newbie

  • Purgatory
  • Pip
  • 1 posts

Posted 24 October 2008 - 12:52 AM

My two cents...

What you need to create, problably, is not a XMPP server, it's a XMPP Component.

With a Component you will need just to extend the protocol to your needs, like google did to create jingle extension, not re-implementing all the XMPP protocol.

With a component you can use any XMPP server (that supports this feature).

Here..

http://www.igniterea...whack/index.jsp

you can take a look at component library made in java. I know, java sucks, but I giving this as a reference implementation.

Jabber component protocol:
http://xmpp.org/exte...s/xep-0114.html

Python Library with component implementaton:
http://pyxmpp.jajcus.net/

People at the project OLPC has proposed a component extension:

http://wiki.laptop.o...XMPP_Extensions

Besides that, I think they have created serverless xmpp communication too.


Sorry for my terrible english smile.gif

#28 phrosty

phrosty

    GP32 User

  • Members
  • PipPipPip
  • 43 posts

Posted 24 October 2008 - 12:51 PM

How about using asio for networking. It's got a nice modern c++ design, and supports async.

Edited by phrosty, 24 October 2008 - 12:51 PM.


#29 Arialia

Arialia

    GP32 Hardcore

  • GP32 Hardcore
  • PipPipPipPip
  • 203 posts
  • Location:Land of French Mustard

Posted 24 October 2008 - 03:40 PM

Very good idea AireStorm, like it smile.gif

#30 Wertigon

Wertigon

    Member

  • Members
  • PipPip
  • 28 posts

Posted 28 October 2008 - 06:03 PM

Not a bad idea, however, I'd like to suggest one thing; instead of making it an XMPP *server*, make it an XMPP *client* with support for Jingle and PEP (Personal Event Publishing) and where one can simply "connect" the desired game.

I've been thinking about something similar for quite a while for PC gaming but I've never gotten around to implementing it. My basic idea was to establish a duplexed Jingle stream for the data and let XMPP handle the communication stuff (voice, video, text). That way, all you sent over the data channel would be things related to your game world. If your app were XMPP aware, it could also use PubSub to display, oh I dunno, scores perhaps? Or that it's installed on your PC? And you could get challenges to your XMPP client natively...

Anyhow, it's a solid idea, and I think XMPP is the right technology for it. You just need to make it happen, and like others have said, make it a client/component instead of a server.