The "Moving Forward" Situation

The original, free Ace of Spades game powered by the Voxlap engine. Known as “Classic,” 0.75, 0.76, and all 0.x versions. Created by Ben Aksoy.
92 posts Page 1 of 7 First unread post
StackOverflow
Head Admin / Co-founder
Head Admin / Co-founder
Posts: 216
Joined: Sat Sep 22, 2012 8:13 am


This was originally going to be a response to another thread, but it kind of trailed off a bit so I'm posting it in a separate thread. Besides, you can never have enough 0.75/0.76/OpenSpades/Iceball threads, right?

I tend to avoid these topics because they often go nowhere. Hopefully I can summarize a few things here that could possibly be used for reference.

As a bit of a preface, let me just say this. The notion of "x is better than y because y is different from x" is not a good one. It's very easy to make the assumption that just because something is different from what you're used to, it is inherently better. I mean this mainly in regards to the 0.75 vs 0.76 discussions that occur day after day.

First the 0.x issue...

Anybody who has been in this community for even a short while has seen the amount of hatred towards 0.75. But why is there so much animosity towards it? Well, for starters it has been the primary release since March 2012. It has had long-term exposure and has been ran through nearly every edge case possible.

In contrast, 0.76 has had nowhere near the amount of exposure so we can't say for certain which one is "better" than the other. It's a bit of a catch 22. 0.76 has it's own quirks and just blindly asserting that it's superior to 0.75 is a bit baseless. This isn't to say that we should ignore 0.76. Instead, we should be trying to seamlessly introduce users to 0.76 without much (if any) real work on their part. This is where the idea for the BnS Launcher stemmed from.

In regards to Iceball...

Iceball, in my opinion, is not a viable alternative. It has basically turned into something separate from Ace of Spades. There seems to be no clear sense of direction or design. (Reinventing the wheel doesn't count, nor does delegating over insignificant details/micro-optimizations).

New users are easily discouraged by the intentional roadblocks left in place to keep them out. There is little to no sense of support for said users.

The transition from Voxlap to Iceball is far from seamless. With new protocols/file formats etc, users are playing a new game. This was something I warned about early on and is a big reason why Iceball has not been adopted. Sure, it might seem like a bit of an inhibition at first, but nobody is going to adopt it unless there is a seamless transition.

And OpenSpades...

OpenSpades is what a lot of people have been waiting for. An open-source client implementation that has a clear sense of direction. It adheres to the existing protocols (0.75/0.76) seamlessly and uses file formats that players are used to. Upon initial public release, it was already in a relatively stable state. Plus it looks sexy.

Basically, the entry level is extremely low. The only real trade-off is system requirements. Voxlap requires next to nothing to run, meanwhile OpenSpades' requirements are a bit higher.

While OpenSpades is compatible with existing protocols, it's only natural for people to want to extend that. Users want to see new features added, which would require changes to said protocol. This would in turn break backwards compatibility with Voxlap clients. You would essentially have OpenSpades servers and Voxlap servers, which could be a bit confusing for new users. Fragmentation is hardly ever a good thing, but it's only natural for people to want to extend the game.

While on the subject, something else that should be noted about OpenSpades is the double-edged sword that is open-source. With relative ease, a user could fork OpenSpades, modify it with cheats baked into the client and build it. We've considered this and will probably limit OpenSpades usage to only yvt's builds via the launcher.

So what are we supposed to do?

As stated, OpenSpades is pretty ideal for what we want. The key isn't to instantly jump to a new version/implementation, but try to seamlessly support as much as we possibly while simultaneously avoiding severe fragmentation.

Ideally, there would be something like a separate PySnip fork for OpenSpades servers that wish to extend the protocol. OpenSpades servers should be separated from Voxlap servers on the serverlist, to help avoid confusion.

This is where the master server suggestion comes into play. It's something that has been discussed before and I have no objection to it. The master server is very flexible and I could easily add an extra flag check for OpenSpades servers. This way we could differentiate between the two flavors of servers and go from there.


I know I'm forgetting to mention a few things, I'll probably think of them shortly and will append accordingly.
EldredChandler
Build and Shoot's 1st Birthday
Build and Shoot's 1st Birthday
Posts: 730
Joined: Mon Nov 05, 2012 5:09 pm


I agree.
MKU
Artist
Artist
Posts: 383
Joined: Wed Oct 31, 2012 12:20 am


1ST!
ThisFrickinSite
Deuced Up
Posts: 553
Joined: Mon Nov 05, 2012 8:45 pm


About seamlessly introducing users to .76 and .75, and how the bns launcher plays into that. Why not have the bns launcher come packaged with .76 and .75, and install them both when you run the launcher installer? That would make it easier and less confusing for new players by a lot, and I'd imagine that it would be pretty simple to update the launcher to do this, too.
StackOverflow
Head Admin / Co-founder
Head Admin / Co-founder
Posts: 216
Joined: Sat Sep 22, 2012 8:13 am


ThisFrickinSite wrote:
About seamlessly introducing users to .76 and .75, and how the bns launcher plays into that. Why not have the bns launcher come packaged with .76 and .75, and install them both when you run the launcher installer? That would make it easier and less confusing for new players by a lot, and I'd imagine that it would be pretty simple to update the launcher to do this, too.
Launcher update planned for tomorrow. Includes integrated downloader with a list of mirrors for game versions.
Arkger
League Participant
League Participant
Posts: 371
Joined: Sat Nov 02, 2013 6:31 pm


I agree totally with StackOverflow ^_^

I'm glad people see OpenSpades as the way to go... my only concern is that of the low spec users.

Other than that, I'm glad someone of higher place in the organization say something about it.
StackOverflow
Head Admin / Co-founder
Head Admin / Co-founder
Posts: 216
Joined: Sat Sep 22, 2012 8:13 am


Arkger wrote:
I agree totally with StackOverflow ^_^

I'm glad people see OpenSpades as the way to go... my only concern is that of the low spec users.

Other than that, I'm glad someone of higher place in the organization say something about it.
System requirements are a definite concern, especially with this game considering its popularity is partially due to its low resource footprint. One way or another, OpenSpades is going to expand. Fragmentation is going to happen regardless so we might as well try to make it as painless as we can.
Jdrew
Mapper
Mapper
Posts: 4808
Joined: Tue Oct 30, 2012 10:48 pm


I think we should try and lower the OpenSpades requirements to openGL 1.2 so that more people can use it. I do like your ideas though. Maybe have OpenSpdes only events?
Vezok
3 Years of Ace of Spades
3 Years of Ace of Spades
Posts: 566
Joined: Sat Jun 22, 2013 2:16 am


jdrew wrote:
I think we should try and lower the OpenSpades requirements to openGL 1.2 so that more people can use it. I do like your ideas though. Maybe have OpenSpdes only events?
Explain to me exactly how you would do this.
Jdrew
Mapper
Mapper
Posts: 4808
Joined: Tue Oct 30, 2012 10:48 pm


Vezok wrote:
jdrew wrote:
I think we should try and lower the OpenSpades requirements to openGL 1.2 so that more people can use it. I do like your ideas though. Maybe have OpenSpdes only events?
Explain to me exactly how you would do this.
Maybe redo the graphics?
Vezok
3 Years of Ace of Spades
3 Years of Ace of Spades
Posts: 566
Joined: Sat Jun 22, 2013 2:16 am


jdrew wrote:
Vezok wrote:
jdrew wrote:
I think we should try and lower the OpenSpades requirements to openGL 1.2 so that more people can use it. I do like your ideas though. Maybe have OpenSpdes only events?
Explain to me exactly how you would do this.
Maybe redo the graphics?
I meant the event portion.
Jdrew
Mapper
Mapper
Posts: 4808
Joined: Tue Oct 30, 2012 10:48 pm


OpenSpades servers would have a different protocol so that normal clients that only use 0.76/0.75 protocol could not connect. The protocol should be 0.77. Of course a new server would be needed.
Vezok
3 Years of Ace of Spades
3 Years of Ace of Spades
Posts: 566
Joined: Sat Jun 22, 2013 2:16 am


jdrew wrote:
OpenSpades servers would have a different protocol so that normal clients that only use 0.76/0.75 protocol could not connect. The protocol should be 0.77. Of course a new server would be needed.
So, effectively make someone else do all the work to make it do this and then have them host a master server for a single event?
StackOverflow
Head Admin / Co-founder
Head Admin / Co-founder
Posts: 216
Joined: Sat Sep 22, 2012 8:13 am


jdrew wrote:
OpenSpades servers would have a different protocol so that normal clients that only use 0.76/0.75 protocol could not connect. The protocol should be 0.77. Of course a new server would be needed.
Ideally, before something like that is done, there would be a standardized protocol in place for communication between an OpenSpades server and the master server. Not that it's anything complicated, but we don't want to have 20 different variations. All we should need is an identifier to show that it is an OpenSpades server and perhaps the ability to detect what specific version the server supports.

Something similar to this should suffice:
Code: Select all
OS_IDENTIFIER = 0x7983

def is_openspades(connect_data):
	return (connect_data >> 16) & 0xFFFF == OS_IDENTIFIER

def get_os_version(connect_data):
	return connect_data & 0xF
Vezok wrote:
jdrew wrote:
OpenSpades servers would have a different protocol so that normal clients that only use 0.76/0.75 protocol could not connect. The protocol should be 0.77. Of course a new server would be needed.
So, effectively make someone else do all the work to make it do this and then have them host a master server for a single event?
The master server would ideally be used by all [public] OpenSpades servers and wouldn't just be something centered around events. It'd be a permanent solution that would allow differentiation between Voxlap and OpenSpades servers at the lowest/most singular possible level.
tungdil
League Participant
League Participant
Posts: 517
Joined: Mon May 06, 2013 4:28 pm


StackOverflow wrote:
Ideally, there would be something like a separate PySnip fork for OpenSpades servers that wish to extend the protocol. OpenSpades servers should be separated from Voxlap servers on the serverlist, to help avoid confusion.

This is where the master server suggestion comes into play. It's something that has been discussed before and I have no objection to it. The master server is very flexible and I could easily add an extra flag check for OpenSpades servers. This way we could differentiate between the two flavors of servers and go from there.
This would be perfect in my opinion.
92 posts Page 1 of 7 First unread post
Return to “Ace of Spades 0.x Discussion”

Who is online

Users browsing this forum: No registered users and 45 guests