haneefmubarak / Aixen

A partially distributed online multiplayer service
MIT License
13 stars 0 forks source link

Better communication? #8

Closed MayeulC closed 10 years ago

MayeulC commented 10 years ago

Hello, I followed the discussions, and as I am really interested in Xenia, and your project, I am willing to help you the best I can ;-) That's it for the presentations.

It seems to me that the issues are not a good way to share designs, etc... A better way of communication should be implemented (mailing list, google group, forum or whatever). This is just my opinion. What do you think?

haneefmubarak commented 10 years ago

Well, firstly @MayeulC, you ought to know that while Aixen does seek to provide a multiplayer service for the Xenia project, the projects are independent, and Aixen does also seek to support more than just Xenia in the long run.

As for communication, for quick messages, I will likely create an IRC room in the near future, but for other forms of communication:

Mailing Lists:

libgit2/libgit2#1739:

It isn't just Librelist that is a shitshow, but rather mailing lists in general

Google groups waste time and take forever to read, plus they are messy and don't allow us to easily cite code, commits, other issues, other projects, or really do any other sort of formatting.

Forums take a while to setup and then require supervision/maintenance, and are complex to read through.

And all of those (and anything else, really), all have in common that you have to leave the site in order to use, and that wastes time.

haneefmubarak commented 10 years ago

Here's some more info on GitHub Issues: http://guides.github.com/overviews/issues/

haneefmubarak commented 10 years ago

And as for contributions, I'd love you to be able to contribute. What exactly are you relatively good at?

General guidelines for contributing are that:

Hope that helps. Happy coding, @MayeulC!

MayeulC commented 10 years ago

Thank you for your answers, @haneefmubarak ! Firstly, I wasn't aware that the issues system was designed to be a general purpose communication mean. Thank you for pointing this out. As for everything else you wrote in your first post, I totally agree with you. It would be great to have an emulator-independent XBL emulation (maybe more than yust XBL). I can even imagine implementing this functionality within other emulators, like cxbx (even if I did not see much activity on this side, recently). One can even imagine to implement a live replacement for the first Xbox (I own one of these, softmoded).

Now, I will try to answer your last post. Just keep in mind I am an undergraduate student, willing to learn as much as he can about computer science ;-)

I also like to do some reverse-engeneering (wireshark, etc...). But what I prefer (and this is the main reason I post here) is to learn new things. And I am really good at it !

Then, some downsides :

MayeulC commented 10 years ago

IMO, the hardest part isn't to emulate the XBL functionnality, but more the matchmaking and hosting functionalities the XBL offers (as far as I know). Hopefully, benvanik could fe of some use to us on this side. We shoul research what exactly must be implemented. I know for sure that some games uses a p2p protocol, but these games relies on XBL functionalities for peer discovery, etc...

That said, you are right to begin by writing a general XBL infrastructure implementation. Let's get that working, first.

haneefmubarak commented 10 years ago

Coolio. Yep, possibly support more emulators and maybe even individual new games. The project is pure C, so just try to remember not to use C++ and also to always use hard tabs for indents.

For DBs, check out the discussion in #3. Not being able to do SQL is fine, because we get to use NoSQL DBs!

UI design - cool, perhaps designing some test code (with help, of course) might be up your alley. We can't really use QT for various reasons, but perhaps have a look at SDL2 (from my experiments, it seems to be shaping up rather well). Play with it and see what you can come up with. I have some skeleton code for that if you'd like.

Designing the communications protocol - perhaps, I work on networking atm - so when that comes up I'll get back to you on that (we're still in the barebones stage atm :smile:).

RevEng: we want to implement something from scratch because Aixen should be more than just an XBL emulation, it ought to be a full-on multiplayer network (something like Steam comes to mind, but more open-ended). However RevEng will likely become useful when we finally connect Xenia to Aixen, so you'll have to be patient on that end.

I'm a student too! I understand that people have very little free time, so I tend to expect little from anyone anyways.

My friends say I underestimate everyone anyways, so don't worry about me overestimating :laughing:. That said, if I do assign you to something that you feel you do not have the requisite skills for yet, try searching out a tutorial (I can help you find one too); or tell me and we'll see what we can do.

As for the master/slave/client model that we use, have a look at #5.

MayeulC commented 10 years ago

About the UI design : I understand that some restrictions (if you want less dependencies) can forbid you to use Qt. That's sad, because it is one of the best-looking and fully-featured cross-platform toolkits out there. That said, SDL is surely one of these too. I do not have any experience with SDL2, only SDL 1.2. But I can have a look, it should not be so different. What are you thinking about when saying "test code" ? Unit tests with a GUI? or more a control panel, or user panel?

haneefmubarak commented 10 years ago

By test code I meant perhaps a small application that would connect to the server and use various functions. A GUI control panel sounds cool too though.

MayeulC commented 10 years ago

Also, what is RevEng ? Sorry, I did not understand this. I also have a server running 24/7 for a VPN purpose, with a dyndns name (it's actually a raspberry Pi, so not very powerfull, and with just ~ 340 MB free, but this should be sufficient to run a light slave, and host some keys) Well, I will see what I can do, but I would be surprised if I could come up with something this week. Are you sure about Qt?

haneefmubarak commented 10 years ago

RevEng stands for reverse engineering. Yeah I'm pretty certain about SDL2 instead of QT, especially considering the dependencies.

haneefmubarak commented 10 years ago

I'll give you push access in a few hours when I get back to my computer.

MayeulC commented 10 years ago

Thank you, I will go to my bed, then :smile: Let's see what we can do!