Total servers: 4
[Army of Glory] - [AoG] ([AoG]) by Morby May 22, 2013, 10:33:37 pm
- Like a Boss - (Clan threads) by Morby May 22, 2013, 10:30:55 pm
Old community member outreach (LieroX2 General Discussion) by JasonB May 21, 2013, 12:50:52 pm
Saturday Nights (Graveyard [RIP]) by MiLeC May 19, 2013, 01:10:07 am
Thread for anything (Chat/Spam topic) (The World Outside) by Sebbe May 18, 2013, 05:28:04 pm
classic 24/7
Liero v1.0 – 100lt
IP: 37.205.11.54
Game Mode: Death Match
Lives: 7
Max Kills: 15
Version: OpenLieroX 0.58 rc3
Players:
Kurko's testlab
Liero v1.0 – 20lt
IP: 91.156.42.210
Game Mode: Death Match
Lives: 5
Max Kills: 20
Version: OpenLieroX 0.58 rc3
Players:
Cruel Mod by iRod
Cruel v0.96 – 50lt
IP: 69.255.183.244
Game Mode: Death Match
Lives: 5
Max Kills: 0
Version: OpenLieroX 0.58 rc3
Players:
iRod(0 lives, 0 kills)
[CPU]I'm Not A Human(4 lives, 1 kills)
[CPU]I'm Not A Human(4 lives, 0 kills)
58.96.63.10
Unknown
Unknown – 0lt
IP: 58.96.63.10
Game Mode:
Lives: 0
Max Kills: 0
Version: LieroX 0.56b
Players:
Pages: 1 [2]  All   Go Down

Author Topic: Community features  (Read 2679 times)

AnubisBlessing

Re: [REQ] Player accounts, clans as a game feature and XMPP
« Reply #20 on: February 27, 2011, 06:25:27 pm »
And that is why I think it's better - it's an external application. I bet there are a lot of people online at some points of the day, thinking about playing, but as there is no server available or friend online they do something else instead. X-fire opens up at window startup (for me, can be disabled) and it can passively stay like that on the background. Internal IM can be only used when OLX is running and I don't think people keep OLX running just to wait til someone asks to play or invite one to do something else.
If it gets popular I don't see why it would be short-term solution. I take my example from Call of Duty which is the only game I play besides LX. There are a lot of players (it used to be the most popular online game for long time). In a clan which I am, there is a group which I joined and people have it running on background when they are on. We are not that many, perhaps 6-7 active players that take part in wars, but it's very easy to ask everyone to war when they are on, 2-3 players say yes, we join our server, then the warmaster (me) will find an enemy either from X-fire or IRC channel and boom, games can be organized in a few minutes.
It reminds me a bit of the Fightbox MSN (when it was popular 2-3 years ago), when someone hosted FB and there were like 15 people in that group chat being invited to Fightbox. The difference is that only the owner of FB MSN saw those people, but if all 15 saw all others online, it would be lot easier to join game.

Of course it's not popular among LX players cause there was no need for it unless they played other games which had it popular. But there are not so few LX players left as it seems, so if a big bunch of players took the initiative to download and use it, I'm sure slowly one by one others would follow who still wish to play. But I just thought of it cause it works well in CoD, no idea about this. I let others decide.

These are all valid points, and in a way the XMPP interface requires an external application as well. But I think it would open up for a whole interesting features.
The thing with XMPP (Jabber) is that you can get a notification that some player logged in on OLX to your regular XMPP client (gtalk, pidgin ...) as well as manage all your other normal contacts (MSN, Yahoo, whatever). You could also chat with people in different OLX chats through your XMPP client even if you are not currently in the LX client. Every player would have an "jid" being something like tafka@players.openlierox.net, a clan could have a group chat with the jid t3@clans.openlierox.net. Depending on how much you would want to rip out you could even make the chat in a server a group chat, you could XMPP could publish results from clanwars, changes in rankings and other kinds of cool services.You could also notify players outside when you are ingame or not. Personally I think these features would be pretty epic. Personally I don't use XFire, even though I have heard it's pretty nice.

Of course, this is only a crazy dreaming dudes ramblings of what could be done. If any of this would be implemented, some parts would be even further into the future. This costs time and effort from the people involved. But implementing either an XMPP backend or interface would at least provide us with a base for something like this in the future. Presence and messaging in and out of olx, though, I think should be in the first step of such an implementation.


Edit:
We could even make our own small OLX notifier and chat client, actually :P This would not be as versatile as XMPP or XFire, but it would do the job. You would get the presence information and would be able to chat with game clients as normal ;D
« Last Edit: February 27, 2011, 06:33:33 pm by AnubisBlessing »

Tafka

Re: [REQ] Player accounts, clans as a game feature and XMPP
« Reply #21 on: February 27, 2011, 08:23:27 pm »
I agree it would be nicer with those features you mentioned.

One way it would be very nice, it would be part of OLX not some other software, it would make game bigger and more attracting. Then again, OLX is quite heavy already by what it has (640x480 game with such features doesn't make sense).

Other way it would take much time from programmers, while other programs (like X-fire) would be just quick downloads, then again, when it's with OLX, everyone would have it not just some players who choose to download it.

It's up to developers if and when they will start working on it. Right now there are other more important things too I think? (haven't checked to-do list) So it would be very distant future and who knows what might happen by that time.

albert

Re: [REQ] Player accounts, clans as a game feature and XMPP
« Reply #22 on: February 27, 2011, 10:01:59 pm »
Hi,

Not much time currently so I keep myself short:

A while ago, I implemented OpenID in LXA (or more generally in SMF). This was mainly thought for authentication on any game host. The game host can easily check if your OpenID is valid. In case of LXA, your OpenID = your LXA username (an OpenID is just an URL, like http://openlierox.net/user/albert). The advantage of OpenID was that you could also use any other login as well (many other services provide OpenID endpoints, e.g. I also have http://www.google.com/profiles/albzey for my Google account, etc.). Of course, if we don't want that, we could also restrict it to just LXA accounts. That doesn't really matter (and is a political/strategical discussion which I don't want to start here now). OpenID is also easy to implement in OLX; I just didn't had the time yet (but I already have some code). So, anyway, there is no need to invent some own new authentication system: OpenID is already there, it's secure and it works.

Having OLX started from a system like X-fire or so is also easy now. You can start OLX via `openlierox.net -connect <ip:port>` and you would connect to that server. Probably, on the OLX side, we somehow have to register on the X-fire masterserver. I guess this is also simple.

I'm not sure if an XMPP client is overkill in OLX. Or what real advantage it would bring over IRC? If the issue with IRC is the missing authentication: That could be solved also quite easily (e.g. by setting up an own IRC server and again use LXA logins or OpenIDs).

AnubisBlessing

Re: [REQ] Player accounts, clans as a game feature and XMPP
« Reply #23 on: February 28, 2011, 09:27:05 am »
Well great then, I didn't think of that application for OpenID but I suppose if is fairly obvious. Then what remains would be to show the other players that the player is authenticated and then the IM part.
IMO XMPP has several advantages over IRC, the most obvious are the external messaging and presence notification of players and correct display of username. This might be because of character restrictions like not being able to have spaces or something. Also, IRC doesn't follow the users name changes in game and looks ugly to me and, quite frankly, brings my thoughts to emergency hacks.

The embedded IRC thing we use is pretty much useless IMHO. We can't use many of the advantages IRC offers and have basically only inherited its disadvantages. Channels, private chat and all that good jazz is not used at all. You can 'sort of' send a pm, but it depends on whether or not the user has changed his character or not. The only good things it has going for it is the fact that the server is hosted externally which in turn gives the ability to communicate with users 'on the outside'. But even in that sense it is limited considering the amount of people using other IM clients to IRC chat. So, all in all it's just an ugly window to an external chat with unmotivated name limitations that scans the output for some interpretation of your character name.

In making our own system, we will lose the advantage of using an external host for the chat but we will be able to lose the inherent limitations of IRC.Also, I personally find it appealing to have presence and messaging with LX clients with through something like pidgin. Other than through IRC of course. We would also gain a unified system for group and private chats and inherently gives us the possibility to implement an ingame contact system.

This naturally has other costs in terms of development time and an increase in application weight. But there are also XMPP servers and client libraries out there that can (I guess) be used in conjunction with the OpenID login.

AnubisBlessing

Community features
« Reply #24 on: March 04, 2011, 11:35:33 pm »

I made some specifications, but they aren't related to those I brought up earlier in the thread. So I'll rename the thread to be more generic. I'll keep posting some specifications here for discussion as they come up and I think they are polished enough. This one I think is pretty simple and could make quite some difference.

Custom protocol handler:The name is pretty generic, and it might not be what it sounds like so read the description :P Have you ever used Spotify? Say you could make links like theirs work for OLX. Clicking the URL launches spotify with some specific arguments. If spotify is already open, the action will be performed in the active instance of spotify. Spotify specifies a custom protocol handler for the "spotify" protocol. So you can create URIs specific content in their context. Say we create a similar custom protocol "openlierox". There could be two types of links; "game invite" and "content download".You would click the link and OLX would perform the action. The links could then easily be spread through IM, forums and ingame. They would look something like this:

openlierox:game\$ip[:$port]

openlierox:download\$type\$id

Clicking on a game invite link will cause the OLX client to attempt to join the game described by the link. If the client is open, the game will use the opened instance (single game instance). Otherwise, a specific OLX (one specified in the protocol handler) will be launched and will attempt to join the server.In both cases the user will be asked if he wants to join the server and will be allowed to choose which character to join with.

Download links will download the specified file from the filebase and use the game's content downloading function to download and install it properly for the active OLX. Again, the user will be prompted if he wants to download the file (possibly along with a preview of the level or skin). This could have an application in a future built-in filebase etc.

Requirements:Custom protocol handler: In order to handle the custom "openlierox" protocol, the environment must be configured to handle them accordingly. This is different between systems, so several special cases might have to be considered (Windows, OSX, Gnome, KDE...). The protocol handler must be "installed" - that is the system must be told what to run when encountering a URI with a specific protocol. This can be done when OLX is started. When a new instance is successfully created, it will check if the protocol handling needs to be modified.
The protocol handler will be launched when the URI is invoked. It points out an instance of OLX that will be appempted to be launched. This means that extra care must be taken for the protocol handler to attempt to launch the correct OLX "installation".
Single application instance: If the link is supposed to perform the action in an already active application, we would need to limit the amount of open OLX instances to one. I think a practical way of acheiving this is to attempt to bind a specific port to OLX at startup. If the port is already bound, we check if the port is bound by and OLX instance. If not, try another port. If the port is indeed taken by OLX, send a message through the socket with the action to the active instance.
Message sending to OLX application: There needs to be a way for an OLX instance to receive an handle messages from the outside. Possibly restricted to messages from localhost.
Instant game joining: This might be the hardest thing to implement about this request. The client needs to be able to join a new game from any state. Both from an uninstantiated state and ingame. If the game is not instantiated, it will first load everything necessary and then prompt to join the game. The changes here suggest that OLX would use a pre-launch phase where it checks if there is already an instance of OLX loaded. If there is one, a message will be sent there containing the actions to take and then dies. Otherwise, the pre-launcher will make sure the protocol handler loads the correct pre-launcher. The application would thereafter be launched normally.

Note: If a port occupied by a non-lx application at the time of the first check and freed at the time of the second, it would be possible for several instances of OLX to coexist. There is probably a better solution to this. Like process-bound files or Mutex solutions...
« Last Edit: March 09, 2011, 09:24:16 pm by AnubisBlessing »

albert

Re: Community features
« Reply #25 on: March 05, 2011, 11:02:09 am »
Note that a custom protocol URL handler was also already planned since a long time. We already did most of the work on OLX side (i.e. it is possible from any state of the game to join another game). And all the rest you describe is pretty easy, will maybe take one or two days of work. A bit annoying is that this has to be coded separately for each platform (Win/Mac/various Linux/...).

But anyway, where would be the application of this? Such URLs will become invalid pretty soon (most people have dynamic IPs). I guess there would only be rare use-cases for this.

AnubisBlessing

Re: Community features
« Reply #26 on: March 05, 2011, 11:13:16 am »
I'd say that te greatest use of the custom protocol comes with the content links. A click would not only download the file (as is the case with for instance filebase now) but would also install it correctly as well. The same would be valid for say forum threads with new skins, mods or levels. The link doesn't have to instantiate OLX, in fact it would be nicer if it didn't.

It's true that the server links will be invalid pretty quick, but I'd say it's still a pretty nifty feature to have. Say you are playing a game and a friend logs in on your IM. You want to invite him to the game and so just send him the link. Another thing is that it allows easy switching between servers. Say that another friend starts up OLX and notices I'm online. He can then invite me with a PM on IRC with the link.

DarkCharlie

Re: Community features
« Reply #27 on: March 05, 2011, 12:24:31 pm »
This is a nice idea and it wouldn't take much to implement (at least for Windows). The problem is that this task requires admin rights under Windows. So far OLX doesn't require admin rights for anything and I think that's a good thing. Also, when someone deletes OLX, the protocol registration remains. And lastly - how should we handle multiple OLX versions installed?
One possibility is to create an installer for OLX that will register the protocol and unpack OLX. When uninstalling, the protocol would be removed. It's also not a big trouble to have an installer that requires admin rights.

joni

Re: Community features
« Reply #28 on: March 05, 2011, 01:35:20 pm »
Installer wouldn't be a bad idea nether. Thou, when it's installation game, it's not really portable game. (OLX being portable game, is one of the nice things it has, since you don't need to install anything just plug USB in and play etc..)

But for this protocol installation would be nice, and sure it would make the game nicer. You wouldn't need to open OLX 'manually', atleast I hate it when I see server is on in LXA that i'd like to play. I first need to locate OLX from my pc and open it, and then check the serverlist. When again it would be lots of faster by only clicking at LXA "join" button that would faster connect to the server that I want.

AnubisBlessing

Re: Community features
« Reply #29 on: March 05, 2011, 02:27:37 pm »
I guess one solution would be to make a portable with the feature disabled and one on protocol-enabled non-portable version. no?

DarkCharlie

Re: Community features
« Reply #30 on: March 05, 2011, 02:48:56 pm »
I guess one solution would be to make a portable with the feature disabled and one on protocol-enabled non-portable version. no?

Yes, definitely. There are people who hate installers because it's not transparent what they do with your system. The portable version shouldn't install any protocols.

AnubisBlessing

Re: Community features
« Reply #31 on: March 05, 2011, 09:35:37 pm »
I guess one solution would be to make a portable with the feature disabled and one on protocol-enabled non-portable version. no?

Yes, definitely. There are people who hate installers because it's not transparent what they do with your system. The portable version shouldn't install any protocols.

Definately, and I'm one of those. We could opt to give some instructions on how to install the support manually or supply a script or something that would do the same to accompany the portable version.


Edit: Do we have anywhere we sync this kind of work? Like what needs to be done and what is already done. I'd like to contribute any way I can. And implementationwise, how would we go about the single instance thing? I suppose it's necessary for this kind of thing.
« Last Edit: March 05, 2011, 09:38:47 pm by AnubisBlessing »

albert

Re: Community features
« Reply #32 on: March 07, 2011, 04:17:28 pm »
I hate installers. They make it so complicated. :) I like the MacOSX approach: Just copy it to your hard disk.

Usually, MacOSX applications handle pretty well in cases they need to register something in the system: When you start the app, it just check if it is already registered and if not, it registers it.

OLX could do just the same. On Windows/Mac, it means that probably some window will pop up and ask for admin privileges. If you deny that, OLX could also remember that and don't annoy you again (but still giving you the option to do so somewhere).

On Linux, this is the task for the package manager.

AnubisBlessing

Re: Community features
« Reply #33 on: March 07, 2011, 11:06:54 pm »
I hate installers. They make it so complicated. :) I like the MacOSX approach: Just copy it to your hard disk.

Usually, MacOSX applications handle pretty well in cases they need to register something in the system: When you start the app, it just check if it is already registered and if not, it registers it.

OLX could do just the same. On Windows/Mac, it means that probably some window will pop up and ask for admin privileges. If you deny that, OLX could also remember that and don't annoy you again (but still giving you the option to do so somewhere).

On Linux, this is the task for the package manager.
Agreed, that would be the best option. As for windows, it's probably only necessary to prompt for registration once. Unless you start OLX from different locations. It would probably need to update the registry then (unless you've told it not to). Unless you point the registry to a file that knows from what location OLX was loaded from last ;> That could work.

AnubisBlessing

Re: Community features
« Reply #34 on: March 08, 2011, 11:54:36 am »
Okay, I've decided to put up my little mockups here. They aren't quite as polished as I'd like them to be, but I thought maybe it's better if they have some flaws to point out. What I'm most interested in here is some sort of PM system frontend. There is no assumptions as for how the backend is implemented, and therefore only functionality and usability is taken into consideration. So I've imagined this all displayed on like a "top layer" on top of most things. I'll explain the features as I go. Okay, so here goes:

The first screen is what is shown when you start the game and haven't yet logged in on the system, here called "BattleCry". You can ignore it or click it to log in.


Once logged in you will see any news about your account. New invitations like clans and friend related things, OLX news, group chats, ranking changes or whatever would be cool. Clicking these will take you to your profile view where you can manage some account related settings. This part is not done yet. But it could well a web interface like LXA opened in an external browser or a separate menu in the client.

Moving on to the network screen, there is alot more here that would need to be discussed. First of all, I've compacted the server list to the left to make space for the conversation icons. This might not be necessary though, as the list can be collapsed for minimal disturbance. The chat box up top would work pretty much the same way that the IRC box works now, but it would have a tab for group conversations you are in. Chats can be dragged between the conversation widget and the chat box. Conversations in the chat box are always visible in the conversation widget (unless closed). Some chats could be special like OLX chat should always be in the chat box, and clan chats should reappear when someone writes a message on it. In the top right widget, the user can control his presence, like current character and online status (available, busy, away, offline).

When ingame, the conversation widged will be displayed in the top right corner. It's not semi-transparent as not to block vision too much. It can still be compacted to hide even less. Typing is done normally by pressing the chat button, but there should be a 'cycle recipient' key that will change who you write to. In a team game, the team could have its own chat, so it would cycle over that as well before cycling the chats in the widget.
As shown in the first image, events like people logging in and other accouncements pop up in the lower right corner. Clicking them will open the corresponding chat. A message of someone logging in will open his chat, a clans victory in a CW will open that clan's chat, news from LXA will open that chat and so on. Clicking on a chat icon will expand it and show the latest chat history for more extensive chatting. All chat icons can also be closed.


Like I said, this is not done yet and any further ideas are very much welcome. This probably won't be implemeted soon, but it would be fun to see what could be done ;>
Pages: 1 [2]  All   Go Up
 

anything