STEAM 组
Giant Multiplayer Robot MRobot
STEAM 组
Giant Multiplayer Robot MRobot
17
游戏中
220
在线
成立于
2012 年 3 月 9 日
国家/地区
United States 
Tazzik 2015 年 3 月 26 日 上午 8:28
Multiplayer Robot Mac/Linux Open Source Initiative
As part of the new Multiplayer Robot, we'd like to have desktop apps for Mac and Linux. However, since neither of us have experience developing for Mac or Linux, we're creating open source initiatives in hopes that the community can help to create these apps. To help these apps come along as easily as possible, we're going to put the Windows app on GitHub to use as a reference. This should happen next month as part of the Oracle release (see: Trello[trello.com]). Around the same time, we'll also create official repositories for the Mac and Linux apps.

Here's some of the general ideas we've had regarding the development of these apps:

Use a programming language with an existing SignalR[signalr.net] client library.
• All Multiplayer Robot communications happen over SignalR, so this will make things go much easier.

Match the look and feel of the target platform
• This is the main reason we're making two separate repositories for Mac and Linux, instead of one cross-platform one. We want the app to feel natural and at home on its given system.
• It may make sense, however, to derive a core library of common functionality in its own repository that the individual apps will reference.

Mimic the core features of the Windows app
• Turn notifications, downloads, and uploads are the most important features.

For now, we'd like to get the conversation started for these apps. Here's some topics which we want to discuss:

What languages/frameworks should be used?
• The Windows app is written in C# and targets .Net 4.5. A Mono-compatible core library could be refactored from it that could be used on either Linux or Mac.

What should the interfaces look like?
• The Windows interface is minimalist, allowing users to play turns without ever even looking at its UI. We'd like to carry this over into the other apps.

Would it be beneficial if we added server-side push notifications to the Apple APN to work in conjunction with the Mac app?
• If this is the case, we may need some pointers from Mac developers on how to do this :)

So, if you're a Mac or Linux developer who is interested, sound off below. We need your help!
最后由 Tazzik 编辑于; 2015 年 3 月 26 日 上午 8:34
< >
正在显示第 1 - 15 条,共 51 条留言
gertadam 2015 年 3 月 26 日 下午 4:37 
Hi guys
What a brilliant idea.
I am a Mac user, but unfortunately - that's all I am - I haven't written one single line of serious code since 1997 when I started being tasked as PM.
I will however be on hand, if a thorough Mac-tester is ever needed.
Also - Let me know if there are other menial tasks I could help with :)
最后由 gertadam 编辑于; 2015 年 3 月 26 日 下午 4:41
NullMaster 2015 年 3 月 28 日 上午 10:10 
Thanks Gert, all help will definitely be appreciated and you're certainly welcome to participate as much you'd like!
Kavalor 2015 年 3 月 30 日 上午 10:35 
And here you have a Linux Tester - plan to make the final switch fromWindows to Linux nex month - if everything goes right. But I'm not a developer either.
Silasary 2015 年 7 月 18 日 下午 7:04 
I'm a developer who frequently works with Mono and OSX.
More than happy to help with the Mac Client.
cansanao 2015 年 9 月 15 日 下午 8:00 
I have experience in programming for Linux, Android and iOS. Me and my team strongly believe that the best approach for GMR is to have a single implementation that could work for Linux, Mac, iOS, Android and Windows Phone. We recommend using QT ( www.qt.io ) as it is very robust, widely supported and multiplatform. QT has an open source SignalR client: https://github.com/p3root/signalr-qt

To allow for the per platform look and feel, it is easy to design different interfaces for multiple platforms (using QML: http://doc.qt.io/qt-5/qtqml-index.html) while keeping the core implementation the same.

I personally consider that mobile apps with APNS and Google Cloud Messaging notifications are essential. I have used node-pushserver for that ( https://www.npmjs.com/package/node-pushserver ) but I'm not sure how comfortable you'd be to integrate with the server (GMR runs on Azure, right?). Even if you'd rather implement it in C# there might be some libraries for that, I do not recommend implementing it yourself because mapping device IDs to users can be more complicated than it looks.
NullMaster 2015 年 9 月 17 日 下午 8:23 
Thanks for the feedback BlackXIII!

I agree that it would be great to have a single, cross-platform desktop client! I'd never heard of QT before. It seems fairly professional and robust with lots of options. I'm not so sure about having the client be in C++, I'm fluent in it but prefer higher level languages in general. Also am I correct in understanding that QT is a paid for tool, on a subscription? Is there a "no strings attached" version of the framework and tools?

I also really like your idea of supporting pushing to mobile apps and would be willing to integrate a node-pushserver into our web infrastructure.
Kavalor 2015 年 9 月 18 日 上午 11:25 
Yes there is - Qt is duallicensed , commercial in case and LGPL to my knowledge . For Example the Plasma Desktop (KDE) is based on Qt . But I'm afraid I'm not a Lawyer so I don't know if you can use the LGPL Version .
I would be very happy with a Qt Version

btw. its Qt - pronoucend cute (afaik) - i think QT would be Quicktime
but this is just a nitpick :D
最后由 Kavalor 编辑于; 2015 年 9 月 18 日 上午 11:27
NullMaster 2015 年 9 月 19 日 下午 6:57 
Haha, thanks, I'll be sure to refer to it properly in the future! And an LGPL license sounds promising, I'll look into it some more. This might be a good way to go!
NullMaster 2015 年 9 月 21 日 上午 5:44 
So reviewing the LGPL license for Qt I believe it would work just fine for what we're doing. I've also done some research into the libraries available and I believe it could easily support all of the key features I feel the desktop app needs to have, including:

  • SignalR Client
  • Filesystem Monitoring
  • System Task Tray Icon
  • Toast Notifications

I think Qt is a strong option for developing a cross-platform desktop client for the new MR, even replacing what we've already done for Windows. Before we take off in that direction though are there any other libraries or frameworks we could consider that would also work?
Kavalor 2015 年 9 月 21 日 上午 10:07 
not sure as I'm not a developer but I can easily be a betatester.
Witwenmacher 2015 年 9 月 21 日 上午 11:19 
I'm also glad to help out as a tester on Linux if needed.
bleissem 2015 年 9 月 27 日 上午 5:09 
Hello guys,
I developed a (very small) client for GMR at
https://yagmrc.codeplex.com/
I used .Net with WinForms, because it runs under Linux with the Mono framework.
Do you plan to opensource the server components too ?
Regards
Alex B.
Kavalor 2015 年 9 月 28 日 上午 7:48 
Mono works on Linux but I'm not sure how well it is maintained . To my knowledge its only maintained by a small Team and I'm not sure where their focus is. .net is still very microsoftcentric
Andruh 2015 年 10 月 1 日 上午 6:05 
Hello!

I'm skilled C++-programmer, and have some experience with Qt. But only with desktop apps, not phone. I agree with BlackXIII that it is good choice for cross platform client.

Unfortunately, I have little time to ensure my participation in development. But I would like to have access to the description of the protocol communications with the server over SignalR. Another option - to get the source code for the client running Windows, for understanding the communication protocol with the server.

The ability to gain access to the protocol or application on Windows, will give an impetus to the development of a cross platform prototype. If not me, then someone else will do it.
NullMaster 2015 年 10 月 7 日 下午 7:56 
Thanks Andruh! We have open sourced the new Windows client on GitHub here: https://github.com/n7software/MRobot.Windows

You can see the SignalR and API methods we use in the source for it. We hoped it would be a good starting place for developing a cross-platform client.

@bleissem: That's awesome! I had no idea you were working on a Linux client. Is it fully functional? We're not planning on open sourcing the server at this time.
< >
正在显示第 1 - 15 条,共 51 条留言
每页显示数: 1530 50

发帖日期: 2015 年 3 月 26 日 上午 8:28
回复数: 51