why we need to make our own client (among other things)

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.
55 posts Page 2 of 4 First unread post

what client/servers should we use?

48%
voxelwar
10
19%
openspades/psyspades
4
5%
iceball
1
19%
make it from scratch dufus!
4
10%
don't do it.
2

Total votes: 21

LeCom


ReubenMcHawk wrote:
epicfacethe3rd wrote:
ReubenMcHawk wrote:
"We need to do something, but someone else has to do it, I have no desire to learn" - the forums
clearly not the opinions of greasemonkey, yvt, and lecom.
Greasemonkey quit because he was tired of the morons, and even then, those people actually went out and did something instead of just posting some rousing speech about how to save a dying forum.
What did they do?

Btw, here's the post where he announced that he wanted to quit: http://buildandshoot.com/viewtopic.php? ... 1&start=45
Vezok
3 Years of Ace of Spades
3 Years of Ace of Spades
Posts: 566
Joined: Sat Jun 22, 2013 2:16 am


GM plays a pretty big role in the AoS 1.0 community, ad Marisa Kirisame.
Stiivais
Deuce
Posts: 16
Joined: Sat Oct 25, 2014 8:49 am


The following are my ramblings that may or may not be of use to anyone:

Map format.
Okay, i read a bit about .vxl files, and i have to say that they're pretty cleverly made, because the visibility problem is mostly sorted out in the file format itself (rendering all of the voxels would seriously mess with most modern GPUs/CPUs).

However, i think that there's absolutely no way that someone uses them at runtime without interpreting them first - otherwise you'd have to re-write the whole file after each and every single voxel addition / removal. Now, that might not be so bad, because the files tend to be pretty small, but imagine doing that multiple times per second and sending this whole file to connected players every tick. So, your usual arrays must be used for handling things apart from loading/saving the maps.

This brings up a question i have - does UnityScript or C# support arrays or records, like pascal? Since i am not sure that we have figured out how to make >3D arrays ( Green_tongue ), storing the "spans" in records seems pretty logical and efficient to me. Of course, not being restricted to how the VOXLAP engine works, this brings me to question the current file format - in my opinion, the amount of data stored in .vxl format files could be decreased by combining all of the color values (r,g,b,a) into one byte value, that would represent indexed colors - if Unity is used, there is no need for storing data for shading, and since very few maps are likely to use more than 256 colors in them, this seems perfectly reasonable to me. This would lead to file sizes 5/8 of the original, even less if any compression is used. The only downside i can see is incompatibility with the original .vxl maps, but this probably can be averted by creating a simple converter utility, that scraps the file of unneeded values and calculates the closest indexed color by inspecting the r,g,b parameters.

Of course, if i've picked the wrong .vxl specification, then none of this matters. Seriously, there's like 4 of those things floating around there.

Map synchronization.
Probably way too early to talk about this, but i was wondering about how one could synchronize maps like this across the network.

What i have come up with is that the host sends the players .vxl files for the initial map, which can then be saved on the hard drive for later use (saving bandwidth, the name of the file might be its hash value or something), and while in-game the server could create a queue of operations done on the map - whenever a voxel is created or destroyed, an event would be added to this, then, after a certain amount of changes, a new .vxl might be generated - one of all the changes, after the creation of which the queue would be reset. When a new player would connect, they would receive the latest .vxl file, as well as the current queue, which would be applied on top of the .vxl.

Alternatively, instead of a full .vxl file, one that only contains the changes compared to the starting map file could be made, say, one that would overwrite values in the .vxl, although this would require a new format and probably is never happening.


- - -
Will try to make a program that first converts the .vxl file into a plaintext one in pascal tomorrow, and perhaps look for a simple way to fill an array from the file in Unity. No promises, just making a list of what i would like to do.
Also, does anyone have any idea where i could find a decent example of runtime culling in Unity? Perhaps there's any recommended techniques for voxels in general?
Lastly, what are your thoughts on the 128 block draw distance in BnS?
LeCom


Stiivais wrote:
The following are my ramblings that may or may not be of use to anyone:

Map format.
Okay, i read a bit about .vxl files, and i have to say that they're pretty cleverly made, because the visibility problem is mostly sorted out in the file format itself (rendering all of the voxels would seriously mess with most modern GPUs/CPUs).

However, i think that there's absolutely no way that someone uses them at runtime without interpreting them first - otherwise you'd have to re-write the whole file after each and every single voxel addition / removal. Now, that might not be so bad, because the files tend to be pretty small, but imagine doing that multiple times per second and sending this whole file to connected players every tick. So, your usual arrays must be used for handling things apart from loading/saving the maps.

This brings up a question i have - does UnityScript or C# support arrays or records, like pascal? Since i am not sure that we have figured out how to make >3D arrays ( Green_tongue ), storing the "spans" in records seems pretty logical and efficient to me. Of course, not being restricted to how the VOXLAP engine works, this brings me to question the current file format - in my opinion, the amount of data stored in .vxl format files could be decreased by combining all of the color values (r,g,b,a) into one byte value, that would represent indexed colors - if Unity is used, there is no need for storing data for shading, and since very few maps are likely to use more than 256 colors in them, this seems perfectly reasonable to me. This would lead to file sizes 5/8 of the original, even less if any compression is used. The only downside i can see is incompatibility with the original .vxl maps, but this probably can be averted by creating a simple converter utility, that scraps the file of unneeded values and calculates the closest indexed color by inspecting the r,g,b parameters.
No. There was a reason why 8-bit graphics didn't exist for so long after the tech was ready for something better. If you try to compress .vxl colours in any way, it will get fucked up. There are many maps which use a fricking lot more than 256 colours (AFAIK classicgen too), so you can cross it out. What you can try is a different compression algorithm.
Stiivais wrote:
Of course, if i've picked the wrong .vxl specification, then none of this matters. Seriously, there's like 4 of those things floating around there.
Stiivais wrote:
Map synchronization.
Probably way too early to talk about this, but i was wondering about how one could synchronize maps like this across the network.

What i have come up with is that the host sends the players .vxl files for the initial map, which can then be saved on the hard drive for later use (saving bandwidth, the name of the file might be its hash value or something), and while in-game the server could create a queue of operations done on the map - whenever a voxel is created or destroyed, an event would be added to this, then, after a certain amount of changes, a new .vxl might be generated - one of all the changes, after the creation of which the queue would be reset. When a new player would connect, they would receive the latest .vxl file, as well as the current queue, which would be applied on top of the .vxl.

Alternatively, instead of a full .vxl file, one that only contains the changes compared to the starting map file could be made, say, one that would overwrite values in the .vxl, although this would require a new format and probably is never happening.
Maybe just transfer the rows that got changed, or parts of them. But transferring maps isn't that slow imho and seems ok as it is.
Stiivais wrote:
- - -
Will try to make a program that first converts the .vxl file into a plaintext one in pascal tomorrow, and perhaps look for a simple way to fill an array from the file in Unity. No promises, just making a list of what i would like to do.
Also, does anyone have any idea where i could find a decent example of runtime culling in Unity? Perhaps there's any recommended techniques for voxels in general?
Lastly, what are your thoughts on the 128 block draw distance in BnS?
The vxlform.txt file contains a very good example of how to read .vxl
epicfacethe3rd
Deuced Up
Posts: 395
Joined: Fri Sep 27, 2013 11:07 pm


LeCom wrote:
ReubenMcHawk wrote:
epicfacethe3rd wrote:
ReubenMcHawk wrote:
"We need to do something, but someone else has to do it, I have no desire to learn" - the forums
clearly not the opinions of greasemonkey, yvt, and lecom.
Greasemonkey quit because he was tired of the morons, and even then, those people actually went out and did something instead of just posting some rousing speech about how to save a dying forum.
What did they do?

Btw, here's the post where he announced that he wanted to quit: http://buildandshoot.com/viewtopic.php? ... 1&start=45
greasemonkey: iceball, first open source clone of AoS. yvt, creater of openspades. if you don't know what lecom did, we have a problem.
epicfacethe3rd
Deuced Up
Posts: 395
Joined: Fri Sep 27, 2013 11:07 pm


Stiivais wrote:
since very few maps are likely to use more than 256 colors in them, this seems perfectly reasonable to me.
first law of coding: if it can happen, make a way for it to happen. (error or otherwise.)
Lincent
Veterans
Veterans
Posts: 693
Joined: Wed Mar 27, 2013 9:47 pm


epicfacethe3rd wrote:
it's not that we need a new client, we need one that constantly gets updated.
Indeed, but this wouldn't control the hackers, what we should do is make an anti hacker script for the servers like VAC.
epicfacethe3rd
Deuced Up
Posts: 395
Joined: Fri Sep 27, 2013 11:07 pm


ReubenMcHawk wrote:
epicfacethe3rd wrote:
ReubenMcHawk wrote:
"We need to do something, but someone else has to do it, I have no desire to learn" - the forums
clearly not the opinions of greasemonkey, yvt, and lecom.
Greasemonkey quit because he was tired of the morons, and even then, those people actually went out and did something instead of just posting some rousing speech about how to save a dying forum.
Reuben, your speeches don't help either. So shut up, and try to get people moving in a good direction. as quoted in the first paragraph, we need to stop whining and be more constructive.
Lincent
Veterans
Veterans
Posts: 693
Joined: Wed Mar 27, 2013 9:47 pm


I would like someone to make this:
Image
This is the game I wanted and the direction it was going.
LeCom


Lincent wrote:
I would like someone to make this:
Image
This is the game I wanted and the direction it was going.
AoS 1.0
Lincent
Veterans
Veterans
Posts: 693
Joined: Wed Mar 27, 2013 9:47 pm


LeCom wrote:
Lincent wrote:
I would like someone to make this:
Image
This is the game I wanted and the direction it was going.
AoS 1.0
No, the AoS JaGex didn't release.
Stiivais
Deuce
Posts: 16
Joined: Sat Oct 25, 2014 8:49 am


Okay, first steps weren't totally disasterous - made a command-line utility that converts the binary data into text. http://buildandshoot.com/viewtopic.php?f=13&t=12298
Tai
Deuced Up
Posts: 61
Joined: Fri Aug 22, 2014 1:06 pm


epicfacethe3rd wrote:
we are playing a game that has not been updated for two years,has a dying community, has few servers with people, has a high percentage of hackers, and is generally f*cked..
Game doesn't need updating, it needs regression back to the superior iteration of 0.70. Whether we abandon sprinting is up for a separate discussion (although I think sprinting was a brilliant change due to it's reintroducing the importance of roads). A traditional 'rifle only' gameplay mode would likely also be appreciated and keep some of the older players around (though that was before my time so I can't really comment.).

Every new client that has been released or announced for development has suffered the projected biases of older players and the developer. The weapon balance was absolutely perfect in 0.70. Rifle was severely nerfed in 0.75 and that made the SMG disproportionately powerful. Adding unnecessary or poorly conceived features is another problem. A game that constantly updates (Think Minecraft) will eventually become too bloated for certain users. The fact is, we attract a huge portion of our playerbase by being a low-resource game.

Community is dying to mismanagement because there are no standards for servers and the votekick limit has been set far too high on most all of them. The influx of Brazilians and South Americans has only made that problem worse, because hardly any of them speak English and as a result even if they want to read the instructions they can't.

We need better documentation if a new client is released. I would be willing to work on that but it's going to be somewhat useless if it's not translated. The reality of the situation is a huge portion of our player base is now foreign (IE outside of the US/UK/Canada). Polish, German, Brazilian-Portugese, and Spanish would all be important languages to have present.

There certainly are cheaters but they are easy enough to deal with; reinstate the GBL, lower votekick limits on servers, have a few mods (easier said than done), and hand out longer (but not permanent) bans. Since AoS became BaS, the problem far more often than not has been with false accusations of cheating than actual cheats. I've seen players get banned from servers with ratios of less than 1. This happened in AoS, too, but it was far less likely, and there were far more servers so it didn't really matter if you got banned from one for a few minutes.

We've always had a culture of extremely shitty players accusing the extremely skilled players of cheating, but just as well, we've always had a culture of skiddies cheating. I want to say the solution to this is something like a few whitelisted servers, but we all know that we don't have the community to support something like that anymore.


Let's fix build and shoot

http://buildandshoot.com/viewtopic.php?f=5&t=12279
LeCom


Firstly, players are really bored of 0.75, nobody will play 0.70 . Secondly, there's this problem with headshot spammers now, which didn't exist at that level when 0.60-0.70 were released.

If spaniards or brazilians don't understand a word in English, there's no place for them here. It's them who mainly use hacks, they aren't really fun to play with and are often under 14 years old. Polaks and germans at least go to school, where they learn basic English.

Concerning hacks, servers just need admins. Nobody except aloha has been hosting really neatly organized servers for a while. I still remember the best server ever, hosted by StormWind. When it was still an alive and big clan, more than half of its members had an admin account. Hackers didn't have the slightest chance, because there was often somebody around. We also do have pretty good hack detection scripts, which partly automatically ban hacks of specific types. The problem is just that nobody is using them, because nobody gives a fuck.
And, if you don't want the game to be developed, there would be much more hacks than if the game code was changing all the time.
Tai
Deuced Up
Posts: 61
Joined: Fri Aug 22, 2014 1:06 pm


LeCom wrote:
Firstly, players are really bored of 0.75, nobody will play 0.70 . Secondly, there's this problem with headshot spammers now, which didn't exist at that level when 0.60-0.70 were released.
LeCom I'm not sure of how long you've been playing but AoS always had disproportional headshots to other games for the simple reason that the head is 1/3rd of the body and is what everyone is aiming for. It's profoundly easier to kill someone by shooting them in the head. 0.70 was the exact same, probably 'worse' because the rifle had pinpoint accuracy.

Players are certainly not bored of 0.75. We have more game modes available than ever - which yes, does result in a decline in the traditional format. That's an issue of community scale though, not community quality. Constant updates attract exactly the kind of CoD kiddy that has been so toxic to our community. They're not needed. The game was perfect at 0.70 in terms of weapon balance, and while 0.75 vastly improved on some things (IE sprinting brought back roads and made maps less gargantuan, click and drag building made it easier for people to deal with SMG spam) it also missed the mark on the weapon balance by seeking to make the SMG more powerful because it's simply easier to use in the first place.

Most kiddies don't realize this but the rifle was an all-around better weapon in 0.70 for absolutely any application (though the SMG and shotgun had their place). This was the first instance of bending to popular vote and it completely ruined the balance of the game and took 2 guns that were mostly just novelties to experienced players and made them the dominant weapons in the game. TL;DR: We don't need updates. We don't need to appeal to the lowest common denominator of players.
If spaniards or brazilians don't understand a word in English, there's no place for them here. It's them who mainly use hacks, they aren't really fun to play with and are often under 14 years old. Polaks and germans at least go to school, where they learn basic English.
I used to think exactly like this but the fact is that these players enjoy the game and they mostly cause problems because they spill into our servers and are simply more noticeable than domestics (IE you'll only remember the aimbots from Brazil, not Virginia - guess why). Most of these kids are just that; kids, and most are probably pretty dirt-poor, so it's reasonable they wouldn't have their own servers. The one Brazilian server we have is usually quite high on the list during peak hours. Like I said; it's an issue of scale. If more people play, more people will make servers.

Additionally, documentation is extremely important. I set up a blog hosting my old guide a long time ago and it got a lot of visitors from all over the world. A lot of these people probably can speak English, but it's easier for them to understand things in their native language (the same way I wouldn't give you the directions to Monopoly in French). I wrote a guide for 0.70 back in 2011 and while it's outdated, it's not a large document. It could be easily translated by any bilingual players we have in under a day.
Concerning hacks, servers just need admins. Nobody except aloha has been hosting really neatly organized servers for a while.
I agree. The most important things Stack/Izzy could do for us is institute a featured server list with a list of standards. This ignores the larger problem that we are a very small community largely dependent on school-aged children to bolster our numbers. If we have more players, we will have more potential hosts, and better potential servers.
We also do have pretty good hack detection scripts, which partly automatically ban hacks of specific types. The problem is just that nobody is using them, because nobody gives a fuck.
Again, I agree. The Badmin script from SLoW was great. Adding these as defaults to a server file could be helpful, but I think that's a legal grey area because we aren't allowed to manipulate the server file.
And, if you don't want the game to be developed, there would be much more hacks than if the game code was changing all the time.
That's sort of a misnomer. Hacks are just exploits (and the major ones we deal with are the result of AoS's code being pretty poorly thought out on Ben's part). What you're talking about isn't so much 'development' as patching existing problems. Adding new features doesn't magically make old exploits go away.
55 posts Page 2 of 4 First unread post
Return to “Ace of Spades 0.x Discussion”

Who is online

Users browsing this forum: No registered users and 61 guests